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
).