Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Valeurs propres

Décomposition d'une matrice en éléments propres

Une valeur propre et un vecteur propre d’une matrice carrée A sont, respectivement, un scalaire λ et un vecteur non nul υ qui satisfont à

= λυ.

Avec les valeurs propres sur la diagonale d’une matrice diagonale Λ et les vecteurs propres correspondants qui forment les colonnes d’une matrice V, vous avez

AV = .

Si V est non singulière, cette expression devient la décomposition en éléments propres

A = VΛV–1.

La matrice de coefficients de l’équation différentielle dx/dt = Ax est un bon exemple :

A =
     0    -6    -1
     6     2   -16
    -5    20   -10

La solution à cette équation est exprimée en terme d’exponentielle de matrice x(t) = etAx(0). L’instruction

lambda = eig(A)

donne un vecteur colonne contenant les valeurs propres de A. Pour cette matrice, les valeurs propres sont complexes :

lambda =
     -3.0710         
     -2.4645+17.6008i
     -2.4645-17.6008i

La partie réelle de chacune des valeurs propres est négative, donc eλt s’approche de zéro lorsque t augmente. La partie imaginaire non nulle de deux des valeurs propres, ±ω, fait contribuer le composant oscillatoire, sin(ωt), à la solution de l’équation différentielle.

Avec deux arguments de sortie, eig calcule les vecteurs propres et stocke les valeurs propres dans une matrice diagonale :

[V,D] = eig(A)
V =
  -0.8326         0.2003 - 0.1394i   0.2003 + 0.1394i
  -0.3553        -0.2110 - 0.6447i  -0.2110 + 0.6447i
  -0.4248        -0.6930            -0.6930          

D =
  -3.0710                 0                 0         
        0           -2.4645+17.6008i        0         
        0                 0           -2.4645-17.6008i

Le premier vecteur propre est réel et les deux autres vecteurs sont des conjugués complexes l’un de l’autre. Les trois vecteurs sont normalisés de manière à avoir une longueur euclidienne, norm(v,2), égale à 1.

La matrice V*D*inv(V), qui peut être écrite de manière plus brève V*D/V, est dans la marge d'erreur d'arrondi de A. Et inv(V)*A*V, ou V\A*V, est dans la marge d'erreur d'arrondi de D.

Valeurs propres multiples

Certaines matrices n’ont pas de décomposition en éléments propres. Ces matrices ne sont pas diagonalisables. Par exemple :

A = [ 1    -2    1 
      0     1    4 
      0     0    3 ]

Pour cette matrice

[V,D] = eig(A)

produit

V =

    1.0000    1.0000   -0.5571
         0    0.0000    0.7428
         0         0    0.3714


D =

     1     0     0
     0     1     0
     0     0     3

Il existe une double valeur propre à λ = 1. La première et la deuxième colonne de V sont identiques. Pour cette matrice, il n’existe pas d’ensemble complet de vecteurs propres linéairement indépendants.

Décomposition de Schur

De nombreux calculs matriciels avancés ne nécessitent pas de décompositions en éléments propres. Ils s’appuient plutôt sur la décomposition de Schur

A = USU ′ ,

U est une matrice orthogonale et S est une matrice triangulaire supérieure par blocs avec des blocs de 1 x 1 et de 2 x 2 sur la diagonale. Les valeurs propres sont révélées par les éléments de la diagonale et les blocs de S, tandis que les colonnes de U fournissent une base orthogonale, qui a des propriétés numériques bien meilleures qu’un ensemble de vecteurs propres.

Par exemple, comparez les décompositions de Schur et en éléments propres de cette matrice défectueuse :

A = [ 6    12    19 
     -9   -20   -33 
      4     9    15 ];

[V,D] = eig(A)
V =

  -0.4741 + 0.0000i  -0.4082 - 0.0000i  -0.4082 + 0.0000i
   0.8127 + 0.0000i   0.8165 + 0.0000i   0.8165 + 0.0000i
  -0.3386 + 0.0000i  -0.4082 + 0.0000i  -0.4082 - 0.0000i


D =

  -1.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   1.0000 - 0.0000i
[U,S] = schur(A)
U =

   -0.4741    0.6648    0.5774
    0.8127    0.0782    0.5774
   -0.3386   -0.7430    0.5774


S =

   -1.0000   20.7846  -44.6948
         0    1.0000   -0.6096
         0    0.0000    1.0000

La matrice A est défectueuse, car elle ne comporte pas d’ensemble complet de vecteurs propres linéairement indépendants (les deuxième et troisième colonnes de V sont identiques). Étant donné que toutes les colonnes de V ne sont pas linéairement indépendantes, elle a un nombre de conditions élevé environ égal à 1e8. Cependant, schur peut calculer trois vecteurs de base différents dans U. Étant donné que U est orthogonale, cond(U) = 1.

La matrice S comporte la valeur propre réelle comme première entrée sur la diagonale et la valeur propre répétée représentée par le bloc inférieur droit de dimension 2 x 2. Les valeurs propres du bloc de 2 x 2 sont également les valeurs propres de A :

eig(S(2:3,2:3))
ans =

   1.0000 + 0.0000i
   1.0000 - 0.0000i

Voir aussi

|

Sujets associés

Sites web externes