• Aucun résultat trouvé

Relation d’orthogonalité dans la méthode de Lanczos

Dans le document Méthodes numériques et simulations (Page 70-74)

MÉTHODES POUR MATRICES CREUSES

Théorème 8.1 Relation d’orthogonalité dans la méthode de Lanczos

La relation de récurrence (8.13), qui peut être considérée comme une définition des vecteurs|φn〉, avec les coefficients donnés en (8.14), entraîne que ces vecteurs sont mutuellement orthogonaux.

Preuve Supposons que la séquence de vecteurs construits, jusqu’à|φn〉 inclus, soit déjà orthogo- nale. Démontrons alors que le vecteur suivant,|φn+1〉, est orthogonal aux vecteurs précé- dents, en vertu des relations (8.13) et (8.14). Commençons par le produit

〈φn|φn+1〉 = 〈φn| ˆH|φn〉 − an〈φn|φn〉 − bn2〈φn|φn−1〉 (8.15) Le dernier terme à droite s’annule par orthogonalité, et les deux premiers se compensent en vertu de l’expression de an. Donc le produit s’annule. Considérons ensuite le produit

〈φn−1|φn+1〉 = 〈φn−1| ˆH|φn〉 − an〈φn−1|φn〉 − bn2〈φn−1|φn−1〉 (8.16) Le premier terme du membre de droite peut être récrit comme suit, en utilisant la relation de ré- currence (8.13) appliquée à n au lieu de n+ 1 et en la conjuguant :

〈φn−1| ˆH|φn〉 == 〈φn| + an−1〈φn−1| + bn−12 〈φn−2| |φn〉 = 〈φn|φn〉 (8.17) Il reste donc

〈φn−1|φn+1〉 = 〈φn|φn〉 − bn2〈φn−1|φn−1〉 (8.18) ce qui s’annule en vertu de (8.14). Enfin, considérons le produit

〈φn−2|φn+1〉 = 〈φn−2| ˆH|φn〉 − an〈φn−2|φn〉 − bn2〈φn−2|φn−1〉 (8.19) Les deux derniers termes s’annulent par orthogonalité. Le premier terme du membre de droite s’an- nule aussi, car〈φn−2| ˆH ne contient pas de terme proportionnel à〈n|. Il est manifeste que les pro- duits avec les états précédents de la séquence sont nuls pour la même raison.

Pour compléter la démonstration, il faut également considérer les deux premiers termes de la sé- quence, qui est particulière en raison de l’inexistence de−1〉. Spécifiquement,

1〉 = ˆH|φ0〉 − a0|φn〉 (8.20)

La même démonstration que ci-dessus s’applique pour montrer que〈φ10〉 = 0.

À chaque étape du calcul, trois vecteurs sont gardés en mémoire (φn+1,φn etφn−1). Ces vecteurs ne sont pas normalisés, mais on peut définir les vecteurs normalisés suivants :

|n〉 = |φnp〈φn|φn

(8.21) En fonction de ces vecteurs orthonormés, la relation de récurrence (8.13) prend la forme suivante :

Si on tronque l’espace de Krylov à l’étape M , l’action de la matrice H sur les vecteurs de base (8.21) peut être représentée par la matrice d’ordre M suivante :

T = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ a0 b1 0 0 · · · 0 b1 a1 b2 0 · · · 0 0 b2 a2 b3 · · · 0 0 0 b3 a3 · · · 0 .. . ... ... ... ... ... 0 0 0 0 · · · aM−1 ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ (8.23)

Il est alors très simple de diagonaliser cette matrice tridiagonale, dont l’ordre est petit par rapport à N , et dont les valeurs propres extrêmes convergent rapidement vers les valeurs propres extrêmes de ˆH .

8.C.1 Convergence vers les valeurs propres extrêmes

Comment peut-on démontrer de manière heuristique que les valeurs propres de la matrice T convergent vers les valeurs propres extrêmes de la matrice H ? Ceci est en fait une propriété de l’espace de Krylov. On constate sans peine les deux propriétés suivantes du sous-espace de Krylov : 1. K (σφ0,τH ,M ) = K (φ0, H , M). Autrement dit, multiplier le vecteur de départ ou la matrice par une constante ne change pas le sous-espace. C’est une conséquence de la définition d’un sous-espace vectoriel.

2. K (φ0, H + σ,M ) = K (φ0, H , M). Autrement dit, ajouter une constante à la matrice H ne change pas l’espace de Krylov. Ceci est une conséquence immédiate de la définition de l’es- pace de Krylov : la puissance(H + σ)j est, après développement, une combinaison linéaire des puissances de H qui sont égales ou inférieures à j , et donc qui font déjà partie de l’espace de Krylov.

En vertu de ces deux propriétés, il n’y a aucune perte de généralité à supposer que les deux valeurs propres extrêmes de H sont−1 et 1, toutes les autres valeurs propres étant contenues entre ces deux valeurs. En effet, on peut toujours trouver les constantesσ et τ appropriées afin que les valeurs propres extrêmes deτH + σ soient ±1, et l’espace de Krylov est le même pour τH + σ que pour H . Soit maintenant les vecteurs et valeurs propres exacts de la matrice H :

ˆ

H|ei〉 = ei|ei〉 (8.24)

Le vecteur de départ0〉 peut être développé sur une base des vecteurs propres de H : 0〉 =

i

γi|ei〉 (8.25)

et l’application de la puissance ˆHm sur0〉 donne ˆ

Hm|φ0〉 = ∑

i

γieim|ei〉 (8.26)

Quand m est suffisamment grand, on constate que ˆHm|φ0〉 est dominé par les deux vecteurs propres|1〉 et | − 1〉. Donc ces deux vecteurs propres seront bien représentés dans l’espace de Kry- lov : leur projection sur ce sous-espace convergera rapidement vers l’unité en fonction du nombre d’itérations M .

0 20 40 60 80 100 -15 -10 -5 0 5 10 15 FIGURE8.2

Illustration de la convergence des valeurs propres dans la procédure de Lanczos, en fonction du nombre d’itérations effectuées, jusqu’à M = 100. La matrice ˆH a une dimension N = 600. On constate que les

valeurs propres extrêmes convergent rapidement. À chaque itération, une valeur propre additionnelle s’ajoute à l’ensemble. On note aussi qu’à l’itération 72, un valeur propre superflue apparaît, qui se fond avec la valeur propre la plus basse un peu après ; ceci est la manifestation d’une fuite d’orthogonalité.

8.C.2 Calcul des vecteurs propres

À chaque itération de la procédure de Lanczos, on doit calculer les valeurs propres et vecteurs propres de la matrice tridiagonale (8.23). Une procédure efficace de complexitéO (M ) est disponible au sein de LAPACK pour ce type de diagonalisation. On doit ensuite utiliser un critère de conver- gence pour arrêter la procédure. Une critère heuristique est que le changement relatif de la valeur propre la plus basse (ou la plus élevée) d’une itération à l’autre est inférieur à une limite donnée. Un meilleur critère, que nous ne démontrerons pas ici, est de cesser les itérations quand le résidu de Ritz

|R 〉 := ˆH|e0〉 − e0|e0〉 (8.27)

est suffisamment petit. Dans cette expression e0est la valeur propre la plus petite estimée à l’étape

M , et|e0〉 le vecteur propre correspondant. On montre qu’une estimation de la norme de ce résidu est donnée par la dernière composante du vecteur propre de T associé à la valeur propre la plus basse, multipliée par bM−1.

Une fois la convergence atteinte, on peut obtenir quelques vecteurs propres estimés de H (ceux associés aux valeurs propres extrêmes et quelques autres qui leur sont proches) à l’aide des vecteurs propres de la matrice T (qui sont connus dans la base de Lanczos (8.21)) et des vecteurs de cette base.

Remarques :

F Même si la relation de récurrence (8.13) garantit en principe l’orthogonalité des vecteurs de Lanczos, les erreurs d’arrondi vont éventuellement briser cette orthogonalité : il y aura des «fuites d’orthogonalité» et les M vecteurs résultants ne seront pas tous orthogonaux. Il est en fait assez courant que les états propres extrêmes soient représentés plus d’une fois dans la base de Lanczos. Ceci n’est pas grave si on ne cherche que les deux vecteurs propres extrêmes. F La méthode de Lanczos ne peut pas déterminer la dégénérescence des valeurs propres : si les valeurs propres extrêmes sont dégénérées, alors un seul vecteur par sous-espace propre sera généralement trouvé.

F La convergence vers les vecteurs propres extrêmes est d’autant plus rapide que la différence entre ces valeurs propres et les suivantes est grande.

F La méthode de Lanczos est également valable pour estimer quelques valeurs et vecteurs propres sous-dominants (c’est-à-dire la deuxième plus grande ou petite, la troisième, etc.), mais la précision se détériore rapidement quand on s’éloigne des valeurs extrêmes.

F Une généralisation de l’algorithme de Lanczos existe pour traiter le problème aux valeurs propres généralisé A x= λM x .

Boîte à outils

Le modulescipy.sparse.linalgoffre des fonctionnalités basées sur la bibliothèque ARPACK, qui implémente principalement la méthode d’Arnoldi, une généralisation de la méthode de Lanczos aux matrices non symétriques également basée sur le sous-espace de Krylov.

En particulier, les fonctionseigseteigshpermettent de calculer les valeurs propres extrêmes de matrices respectivement non-hermitiennes et hermitiennes. Le problème aux valeurs propres généralisées peut aussi se traiter en fournissant la matrice définir positive M en argument option- nel.

Dans le document Méthodes numériques et simulations (Page 70-74)