Analyse numérique du calcul des coefficients d’amplification
La méthode d’itération permet de trouver la plus grande valeur propre (en module) et le plus grand vecteur propre d’une matrice réelle diagonaîisable à valeurs propres réelles. Pour notre problème, ¡es valeurs propres de l’opérateur de propagation sont des nombres complexes de module 1. Mais on peut rechercher soit la partie réelle des valeurs propres, soit la partie imaginaire, en utilisant les formules développées dans le chapitre 3. Comme on a vu que les coefficients d’amplification qui conduisent à une amplification des vibrations sont proches de 1, on choisit d’utiliser ¡a formule donnant la partie réelle des valeurs propres, avec translation spectrale pour calculer la partie réelle de la valeur propre ia plus proche de 1. L’algorithme de diagonaiisation par itération a été programmé, il a été testé avec des matrices antisymétriques quelconques. I! ne converge pas vite si les valeurs propres sont trop rapprochées. Les approximations successives sur les vecteurs propres font qu’on ne peut pas calculer un grand nombre de coefficients d’amplification. Pour l’instant, les vecteurs propres calculés sont des combinaisons linéaires de la partie réelle et de ia partie imaginaire des vecteurs propres de l’opérateur de propagation, associés à des valeurs propres conjuguées. D’après la propriété 9, on calcule les vecteurs propres de l’opérateur de propagation à partir de ce sous espace en diagonaiisant une matrice 2×2. Cependant, s’il faut calculer un grand nombre de vecteurs propres de l’opérateur de propagation, cet algorithme n’est pas efficace. C’est pour cela qu’on va rechercher une méthode de diagonaiisation différente.
Comme la matrice J.L — LT.J est symétrique, et que la matrice J est antisymétrique, on peut se ramener à la codiagonalisation de deux opérateurs symétriques. En reprenant les calculs développés La matrice iGr est hermitienne, et la matrice ¿J Test aussi, on donc affaire à la codiagonalisation de deux opérateurs hermitiens. En revanche, on ne sait pas si elles sont positives. Pour cette raison, on n’a pas utilisé la méthode classique de Lanczos. On fait d’abord une translation spectrale. On va s’intéresser aux valeurs propres de L proches de 1 et aux vecteurs propres associés. On écrit donc le problème de la recherche de la partie réelle des valeurs propres sous la forme : L’idée consiste à construire un sous-espace contenant les premiers vecteurs propres de KD, associés aux plus grandes valeurs propres. Par conséquent, on fait d’une part ressortir les vecteurs propres associés aux plus grandes valeurs propres par itérations successives. D’autre part, il faut faire en sorte que le sous espace qu’on construit soit « presque » stable par KJD>: le dernier vecteur est calculé de façon à ce qu’il soit orthogonal au sens deD aux autres vecteurs construits. Si la procédure converge, les vecteurs propres de KD associés aux grandes valeurs propres sont dans le sous-espace construit, et par conséquent le dernier vecteur ne contiendra plus de composantes dans ces directions. On construit la séquence de Lanczos symplectique par itération de KD sur chacun des deux vecteurs initiaux. On obtient dans chaque cas une composante qui appartient à l’espace des vecteurs de Lanczos déjà construits, et la direction du nouveau vecteur de Lanczos.
Le réel ÜQ est choisi te! que qf .D.q0 = 0. En multipliant cette formule à gauche par SiT et par c\, on trouve que cette condition est équivalente à (ci^.Si) JD.q0 = 0. En remplaçant le premier terme du membre de gauche par sa valeur donnée par la formule 6.1, on trouve une équation qui ne porte que sur CLQ : o itération numéro 2 : On construit les deux nouveaux vecteurs de Lanczos par itération de KD sur chacun des vecteurs du couple qr On obtient dans chaque cas une composante qui appartient à l’espace des vecteurs de Lanczos déjà construits, et la direction du nouveau vecteur de Lanczos. On a bien comme résultat i’orthogonalité du dernier vecteur avec tous les vecteurs précédents. Cependant, les erreurs numériques font perdre cette orthogonalité. On pourra éliminer une composante sur un vecteur de Lanczos de couple de rang p — 1 — j en utilisant la formule suivante. Si qp+1 les composantes suivantes inconnues sur les vecteurs de Lanczos déjà calculés: En entrée de ce programme, il faut fournir l’opérateur de propagation libre sans dissipation. On a programmé l’algorithme Hüber-Hughes-Taylor qui est suffisamment souple pour permettre un calcul sans instabilité numérique et sans trop de dissipation.