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:
"Eigen"
(les vecteurs caractéristiques sont taggués par "Char").
où M désigne le polynôme minimal de la matrice A. La dernière matrice de ce polynôme-liste est la comatrice de A au signe près si l'ordre est pair.
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
correspondants à
.
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.
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).
en un peu moins d'une minute, on obtient les 3 valeurs propres
et 2 de vecteurs propres associés
et (1,1,-1).
{ { 1 A }
{ A 1 } }
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'}COLC ou FCTR, et
on appelle enfin DIAG pour terminer la diagonalisation:
(les vecteurs propres ne dépendent pas de a).
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).