Combinaison de fonctions de Hermite

Superposition of Hermite functions


Size of Hermite basis                                 Auto-adjust                 Target function
La possibilité de décomposer une fonction \(\psi(x)\) dépendant d'une variable continue \(x\) comme une somme discrète des vecteurs de base est une propriété remarquable des bases hilbertiennes. L'objet de cette simulation interactive est d'illustrer cette propriété dans le cas de la base des fonctions de Hermite \(\{\varphi_n(x)\}\), constituée des états propres de l'oscillateur harmonique. On décomposera dans cette base la fonction \(\psi(x)\), représentée ci-dessus à droite en rouge.
On cherche donc à approcher \(\psi(x)\) à l'aide de la fonction \(\varphi(x)\) (représentée en bleu) définie comme \[ \varphi(x) = \sum_n c_n \varphi_n(x) \] où les coefficients \(c_n\) peuvent être supposés réels puisque la fonction \(\psi(x)\) est elle-même réelle (de même que les \(\varphi_n(x)\)). Le panneau de gauche vous permet d'ajuster au mieux chacun des coefficients \(c_n\) (pour \(n\leq9\)) en attrapant puis en déplaçant verticalement le haut de chaque barre verticale à l'aide de la souris. On définit le résiduel R (affiché en haut à droite du graphe) comme la distance entre les deux fonctions, normalisé par la norme de \(\psi\), soit \[ R = \frac{\left\| |\delta \varphi \rangle \right\|}{\left\| |\psi\rangle \right\|} = \sqrt{\frac{ \langle \delta \varphi | \delta \varphi \rangle}{\langle \psi | \psi \rangle}} \] où \(|\delta \varphi\rangle = |\varphi\rangle - |\psi\rangle\). Alors qu'il est assez délicat d'optimiser les coefficients en regardant l'allure globale de la fonction \(\varphi(x)\), on peut y parvenir très efficacement en cherchant directement à minimiser le résiduel. En effet, si l'on appelle \(a_n=\langle \varphi_n | \psi \rangle\) les coefficients de la décomposition de \(|\psi\rangle\) dans la base, on peut écrire \[ \langle \delta \varphi | \delta \varphi \rangle = \sum_n \left( c_n - a_n \right)^2 \] Supposons maintenant que l'on soit en train d'optimiser un coefficient donné \(c_n\). On peut écrire \[ \langle \delta \varphi | \delta \varphi \rangle = \left( c_n - a_n \right)^2 + \sum_{m\neq n} \left( c_m - a_m \right)^2 \] Le résiduel, proportionnel à la racine carrée de la quantité ci-dessus, admet son minimum lorsque \(c_n\) est égal à \(a_n\), soit précisément la quantité recherchée. D'un point de vue géométrique, on peut dire que l'on minimise la longueur du vecteur \(|\delta \varphi\rangle\) en modifiant uniquement sa projection sur \(|\varphi_n\rangle\), soit \(\langle \varphi_n | \delta \varphi\rangle = c_n - a_n\). D'après le théorème de Pythagore, il est clair que le minimum est atteint lorsque \(|\delta \varphi\rangle\) est orthogonal à \(|\varphi_n\rangle\). On peut ainsi optimiser l'un après l'autre chacun des coefficients \(c_n\). En pratique, il est préférable d'effectuer un second passage car le nombre de chiffres significatifs affichés pour le résiduel n'est pas suffisant pour obtenir le vrai minimum dès le premier passage.
The blue curve shown in the right panel is the the superposition \[\varphi(x) = \sum_n c_n \varphi_n(x)\] of Hermite functions, with coefficients \(c_n\) (here assumed to be real) that you can adjust using the mouse in the plot shown in the left panel. The - obviously finite - size of the basis used in the simulation can be adjusted using the dropdown control in the toolbar. By adjusting coefficients \(c_n\) you can attempt to find the best approximation of the target function \(\psi(x)\) shown in red. This adjustment can also be achieved automatically through the appropriate controls in the toolbar, using the relation \(c_n = \langle \varphi_n | \psi\rangle\). The target function can be tuned by dragging a few hotspots with the mouse in the right panel.
Background
The fact that a function \(\psi(x)\) depending on a continuous variable \(x\) can be written as the discrete linear combination of basis vectors is a remarkable property of a Hilbert space. The purpose of the above simulation is to illustrate this property using the Hermite basis \(\{\varphi_n(x)\}\), consisting of the eigenstates of the harmonic oscillator. This will be achieved by writing a given function, \(\psi(x)\), (shown in red in the right panel) as a linear combination of the Hermite functions. We thus approximate \(\psi(x)\) using the function \(\varphi(x)\) defined above (shown in blue). Note that coefficients \(c_n\) can be assumed to be real quantities as the function \(\psi(x)\) is itself assumed to be a real function (as well as the eigenfunctions \(\varphi_n(x)\)). The residual \(R\) (displayed in the upper right corner) is defined as the distance between the two functions, normalized with respect to the norm of \(\psi\): \[ R = \frac{\left\| |\delta \varphi \rangle \right\|}{\left\| |\psi\rangle \right\|} = \sqrt{\frac{ \langle \delta \varphi | \delta \varphi \rangle}{\langle \psi | \psi \rangle}} \] where \(|\delta \varphi\rangle = |\varphi\rangle - |\psi\rangle\). Although a direct optimization of the coefficients based only on the general shape of \(\varphi(x)\) is rather delicate, the task can be easily performed by minimizing the residual while adjusting sequentially each coefficient. The efficiency of this approach can be easily explained. Let us consider the coefficients \(a_n=\langle \varphi_n | \psi \rangle\) corresponding to the decomposition of \(|\psi\rangle\) in the Hermite basis. We can then write \[ \langle \delta \varphi | \delta \varphi \rangle = \sum_n \left( c_n - a_n \right)^2. \] When optimizing a specific coefficient \(c_n\), we can write \[ \langle \delta \varphi | \delta \varphi \rangle = \left( c_n - a_n \right)^2 + \sum_{m\neq n} \left( c_m - a_m \right)^2 \] The residual, proportional to the square root of the above quantity, reaches its minimum value when \(c_n = a_n\), which is exactly our aim. From a geometric point of view, we can say that we are minimizing the length of \(|\delta \varphi\rangle\) while changing only its projection on \(|\varphi_n\rangle\), or \(\langle \varphi_n | \delta \varphi\rangle = c_n - a_n\). According to Pythagore's theorem, it is clear that the minimum is achieved when \(|\delta \varphi\rangle\) is orthogonal to \(|\varphi_n\rangle\). The different coefficients \(c_n\) can thus be optimized sequentially. In practice, a second pass will be useful as the number of displayed digits is not quite sufficient to achieve the true minimum in a single pass.

(c) 2019-2024 Manuel Joffre, all rights reserved