next up previous contents
Next: Déterminant. Up: Réduction et diagonalisation des Previous: Réduction des matrices par

Diagonalisation (algorithme de Laguerre-Souriau-Faddeev).

  Le programme DIAG permet de diagonaliser (ou de mettre sous forme de Jordan) une matrice. Vérifiez que l'indicateur 13 est armé.

Vous fournissez au niveau 1 de la pile la matrice et le programme renvoie aux niveaux:

Exemples:
  1. displaymath1858

    le programme renvoie après environ 40 secondes (en mode symbolique):

    7: 0
    6: { { '1/0' '1/0' '1/0' }
         { '1/0' '1/0' '1/0' }
         { '1/0' '1/0' '1/0' } }
    5: { {{1 0 0}  {{-2 -1 0}  {{1 1 1}
          {0 1 0}   {0 -2 -1}   {1 1 1}
          {0 0 1}}  {-1 0 -2}}  {1 1 1}} }
    4: {1 -3 3 0}
    3: {1 -3 3 0}
    2: { :0: {1 1 1}
         :<<(3,0)/2 (0,1)/2 3>>: {1 '(-1,0)/2+(0,-1)/2*V3' '(-1,0)/2+(0,1)/2*V3'}
         :<< (3,0)/2 (0,-1)/2 3>>: {1 '(-1,0)/2+(0,1)/2*V3' '(-1,0)/2+(0,-1)/2*V3'}
    1: {0 '(3,0)/2+(0,1)/2*V3' '(3,0)/2+(0,1)/2*V3' }
    Donc A possède 3 valeurs propres tex2html_wrap_inline1885 , et une base de vecteurs propres est donnée par:

    displaymath1859

    correspondants à tex2html_wrap_inline1887 . Le polynôme minimal et le polynôme caractéristique sont ici identiques (c'est le cas générique) et valent X3-3X2+3X. La matrice n'est pas inversible (les coefficients de l'inverse sont invalides), son déterminant au niveau 7 est nul.

  2. Pour la matrice identité I2, on obtient en 10 secondes:
    7: 1
    6: { { 1 0 } { 0 1 } }
    5: { [[1 0]
          [0 1]] }
    4: {1 -2 1}
    3: {1 -1}
    1: { :1, Eigen: { 0 1 } :1, Eigen: { 1 0 } }
    2: {1 1}
    ici le polynôme minimal est X-1, il est différent du polynôme caractéristique (X-1)2=X2-2X+1. Les deux vecteurs propres calculés sont { 1 0 } et { 0 1 } (Eigen est là pour Eigenvector c'est-à-dire vecteur propre, ce qui diffère de Char pour vecteur caractéristique cf. infra l'exemple de bloc de Jordan).
  3. displaymath1860

    en un peu moins d'une minute, on obtient les 3 valeurs propres tex2html_wrap_inline1897 et 2 de vecteurs propres associés tex2html_wrap_inline1899 et (1,1,-1).

  4. Un exemple avec paramètres qui est traité automatiquement en 12 secondes:
    { { 1 A }
      { A 1 } }
  5. Pour les matrices à paramètres de dimension supérieure ou égale à 3, il peut être nécessaire d'appeler MAD, et de factoriser séparément le polynôme caractéristique (par exemple avec l'instruction FCTR de ALG48), avant d'appeler DIAG. On peut ainsi diagonaliser
    { { 1 1 A }
      { 1 A 1 }
      { A 1 1 } }
    directement en tapant DIAG (1 minute environ) ou en suivant la procédure par étapes décrite ci-dessous: On appelle MAD qui renvoie en le polynôme caractéristique:
    'X^3+(-A-2)*X^2+(-A^2+2*A-1)*X+A^3-3*A+2'}
    On factorise avec COLC ou FCTR, et on appelle enfin DIAG pour terminer la diagonalisation:

    displaymath1861

    (les vecteurs propres ne dépendent pas de a).

  6. Un exemple de bloc de Jordan:

    displaymath1862

    donne:

    7: -4
    6: : { { '1/4' '1/4' '-1/4' }
           { '-3/4' '5/4' '-1/4' }
           { '-1/2' '1/2' '1/2'  } }
    5: { [[ 1 0 0]  [[ -2 -1  1]  [[ 1 1 -1]
          [ 0 1 0]   [  2 -5  1]   [-3 5 -1]
          [ 0 0 1]]  [  1 -1 -3]]  [-2 2  2]] }
    4: {1 -5 8 -4}
    3: {1 -5 8 -4}
    2: { :2, Char: { 2 2 1 }  :2, Eigen:{ 1 1 0 }  :1: { 0 1 1 } }
    1: { 2 2 1}
    ce qui signifie que 1 est valeur propre simple et 2 valeur propre double mais l'espace propre associé est de dimension 1 (engendré par (1,1,0)). Le vecteur (2,2,1) est caractéristique, son image par A-2I est le vecteur suivant de la chaîne(i.e. (1,1,0)). Les chaînes de Jordan commencent par un vecteur caractéristique (Char) et se terminent par un vecteur propre (Eigen).

  rem549


next up previous contents
Next: Déterminant. Up: Réduction et diagonalisation des Previous: Réduction des matrices par