10.2.3 La métho<strong>de</strong> <strong>de</strong> HessenbergPour les matrices à coefficients <strong>de</strong> taille bornée (modulaires par exemple) onpréfère la métho<strong>de</strong> <strong>de</strong> Hessenberg qui est plus efficace, car elle nécessite <strong>de</strong> l’ordre<strong>de</strong> n 3 opérations sur les coefficients.On se raméne d’abord à une matrice triangulaire supérieure à une diagonaleprès qui est semblable à la matrice <strong>de</strong> départ puis on applique une formule <strong>de</strong>récurrence pour <strong>calcul</strong>er les coefficients du polynôme caractéristique.Algorithme <strong>de</strong> réduction <strong>de</strong> Hessenberg :Dans une colonne m donnée <strong>de</strong> la matrice H, on cherche à partir <strong>de</strong> la ligne m+1un coefficient non nul. S’il n’y en a pas on passe à la colonne suivante. S’il y en aun en ligne i, on échange les lignes m + 1 et i et les colonnes m + 1 et i. Ensuitepour tout i ≥ m + 2, soit u = H i,m /H m+1,m , on remplace alors la ligne L i <strong>de</strong> Hpar L i −uL m+1 et la colonne C m+1 par C m+1 +uC i ce qui revient “à remplacer levecteur e m+1 ( <strong>de</strong> la base par ) le vecteur e m+1 +ue i ” ou plus précisément ( ) à multiplier1 01 0à gauche paret à droite par la matrice inverse (en utilisant−u 1u 1les lignes et colonnes m + 1 et i au lieu <strong>de</strong> 1 et 2 pour ces matrices). Ceci a poureffet d’annuler le coefficient H i,m dans la nouvelle matrice.On obtient ainsi en O(n 3 ) opérations une matrice H ′ semblable à H <strong>de</strong> laforme : ⎛H 1,1 ′ H 1,2 ′ ... H 1,n−2 ′ H 1,n−1 ′ H ′ ⎞1,nH 2,1 ′ H 2,2 ′ ... H 2,n−2 ′ H 2,n−1 ′ H ′ 2,n0 H 3,2 ′ ... H 3,n−2 ′ H 3,n−1 ′ H ′ 3,n0 0 ... H 4,n−2 ′ H 4,n−1 ′ H 4,n′ ⎜⎟⎝ . . ... . . . ⎠0 0 ... 0 H n,n−1 ′ H n,n′On <strong>calcul</strong>e alors le polynôme caractéristique <strong>de</strong> H ′ par une récurrence qui s’obtienten développant le déterminant par rapport à la <strong>de</strong>rnière colonne :h n (λ) = <strong>de</strong>t(λI n − H) = (λ − H ′ n,n)h n−1 (λ) − (−H ′ n−1,n)(−H ′ n,n−1)h n−2 (λ) ++(−H ′ n−2,n)(−H ′ n,n−1)(−H ′ n−1,n−2)h n−3 (λ) − ...où les h i s’enten<strong>de</strong>nt en gardant les i premières lignes/colonnes <strong>de</strong> H ′ . On peutécrire cette formule pour m ≤ n :m−1∑h m (λ) = (λ − H m,m)h ′ m−1 (λ) −H m−i,m′i=1 j=1∏i−1H m−j+1,m−jh ′ i−1 (λ)Pour effectuer cette récurrence <strong>de</strong> manière efficace, on conserve les h m (λ) dans untableau <strong>de</strong> polynômes et on utilise une variable produit contenant successivementles ∏ H ′ m−j+1,m−j .10.2.4 La métho<strong>de</strong> <strong>de</strong> Leverrier-Fad<strong>de</strong>ev-SouriauCette métho<strong>de</strong> permet le <strong>calcul</strong> simultané <strong>de</strong>s coefficients p i (i = 0..n) du polynômecaractéristique P(λ) = <strong>de</strong>t(λI − A) et <strong>de</strong>s coefficients matriciels B i (i =84
0..n − 1) du polynôme en λ donnant la matrice adjointe (ou comatrice) B(λ) <strong>de</strong>λI − A :(λI − A)B(λ) = (λI − A)k≤n−1B ∑k λ k = ( ∑ p k λ k )I = P(λ)I (23)k≤nRemarquons que cette équation donne une démonstration assez simple <strong>de</strong> Cayley-Hamilton puisque le reste <strong>de</strong> la division euclidienne du polynôme P(λ)I par λI−Aest P(A).Pour déterminer simultanément les p k et B k , on a les relations <strong>de</strong> récurrence :B n−1 = p n I = I, B k − AB k+1 = p k+1 I (24)Il nous manque une relation entre les p k et B k pour pouvoir faire le <strong>calcul</strong> parvaleurs décroissantes <strong>de</strong> k, on va montrer le :Théorème 8 La dérivée du polynôme caractéristique P ′ (λ), est égale à la trace<strong>de</strong> la matrice adjointe <strong>de</strong> λI − Atr(B) = P ′ (λ)Le théorème nous donne tr(B k ) = (k + 1)p k+1 . Si on prend la trace <strong>de</strong> (24), on a :tr(B n−1 ) = np n , (k + 1)p k+1 − tr(AB k+1 ) = np k+1donc on <strong>calcul</strong>e p k+1 en fonction <strong>de</strong> B k+1 puis B k :p k+1 = tr(AB k+1)k + 1 − n ,B k = AB k+1 + p k+1 IDémonstration du théorème :Soient V 1 (λ), ...V n (λ) les vecteurs colonnes <strong>de</strong> λI − A et b i,j (λ) les coefficients<strong>de</strong> B, on a :P ′ (λ 0 ) = <strong>de</strong>t(V 1 (λ), V 2 (λ), ..., V n (λ)) ′ |λ=λ 0= <strong>de</strong>t(V 1(λ ′ 0 ), V 2 (λ 0 ), ..., V n (λ 0 )) + <strong>de</strong>t(V 1 (λ 0 ), V 2(λ ′ 0 ), ..., V n (λ 0 )) ++... + <strong>de</strong>t(V 1 (λ 0 ), V 2 (λ 0 ), ..., V n(λ ′ 0 ))Il suffit alors <strong>de</strong> remarquer que V ′i (λ 0) est le i-ième vecteur <strong>de</strong> la base canoniquedonc :<strong>de</strong>t(V 1 (λ 0 ), V 2 (λ 0 ), ..., V ′i (λ 0 ), ..., V n (λ 0 )) = b i,i (λ 0 )Finalement :P ′ (λ 0 ) =n∑b i,i (λ 0 ) = tr (B(λ 0 ))Remarque :En réin<strong>de</strong>xant les coefficients <strong>de</strong> P et B <strong>de</strong> la manière suivante :i=1P(λ) = λ n + p 1 λ n−1 + p 2 λ n−2 ... + p nB(λ) = λ n−1 I + λ n−2 B 1 + ... + B n−185