6.50.4 Matrice de Jordan rationnelle : rat_jordan
rat_jordan a comme argument une matrice A d’ordre n à
coefficients rationnels.
rat_jordan renvoie :
-
en mode Xcas, Mupad ou TI
une séquencee composée de deux matrices : une matrice
de changement de base P, suivie de la matrice de Jordan J associée à
A si celle-ci est rationnelle ou de la matrice dont les blocs de Jordan sont
remplacés par les matrices compagnons associées au facteur non
rationnellement reductible du polynôme caractéristique de A (c’est la
matrice la plus reduite à coefficient dans le corps de A, ou le corps
complexifié de A si on est en mode complexe).
- en mode Maple
la matrice de Jordan J associée à A si celle-ci est rationnelle ou de
la matrice dont les blocs de Jordan sont remplacés par les matrices compagnons
associées au facteur non rationnellement reductible du polynôme
caractéristique de A. On peut cependant obtenir la matrice de changement de
base P, dans une variable passée en second argument, par exemple
rat_jordan([[1,0,0],[1,2,-1],[0,0,1]],’P’)
On a :
J=P−1AP avec J est à coefficients rationnels.
Remarques
-
La syntaxe Maple est aussi valable dans les autres modes, par
exemple, en mode Xcas, on tape :
rat_jordan([[4,1,1],[1,4,1],[1,1,4]],’P’)
On obtient :
[[1,-1,1/2],[1,0,-1],[1,1,1/2]]
puis P renvoie :
[[6,0,0],[0,3,0],[0,0,3]]
,
- Les coefficients de P et de J appartiennent au corps des
coefficients de A.
Par exemple, en mode Xcas, on tape :
rat_jordan([[1,0,1],[0,2,-1],[1,-1,1]])
On obtient :
[[1,1,2],[0,0,-1],[0,1,2]],[[0,0,-1],[1,0,-3],[0,1,4]]
On tape (on met -pcar(...) car l’argument de companion doit être un polynôme unitaire (cf 6.50.11)
companion(-pcar([[1,0,1],[0,2,-1],[1,-1,1]],x),x)
On obtient :
[[0,0,-1],[1,0,-3],[0,1,4]]
On tape :
rat_jordan([[1,0,0],[0,1,1],[1,1,-1]])
On obtient :
[[-1,0,0],[1,1,1],[0,0,1]],[[1,0,0],[0,0,2],[0,1,0]]
On tape :
factor(pcar([[1,0,0],[0,1,1],[1,1,-1]],x))
On obtient :
-(x-1)*(x^
2-2)
On tape :
companion((x^
2-2),x)
On obtient :
[[0,2],[1,0]]
- Lorsque A est symétrique et a des valeurs propres d’ordre multiple,
Xcas renvoie des vecteurs propres orthogonaux mais pas forcément
normés i.e. tran(P)*P est une matrice diagonale de diagonale le carré
de la norme des vecteurs propres.
On tape :
rat_jordan([[4,1,1],[1,4,1],[1,1,4]])
On obtient :
[[1,-1,1/2],[1,0,-1],[1,1,1/2]],[[6,0,0],[0,3,0],[0,0,3]]
On tape en mode Xcas, Mupad et TI:
rat_jordan([[1,0,0],[1,2,-1],[0,0,1]])
On obtient :
[[0,1,0],[1,0,1],[0,1,1]],[[2,0,0],[0,1,0],[0,0,1]]
On tape en mode Xcas, Mupad et TI:
rat_jordan([[4,1,-2],[1,2,-1],[2,1,0]])
On obtient :
[[[1,2,1],[0,1,0],[1,2,0]],[[2,1,0],[0,2,1],[0,0,2]]]
En mode complexe et en mode Xcas, Mupad et TI, on tape :
rat_jordan([[2,0,0],[0,2,-1],[2,1,2]])
On obtient :
[[1,0,0],[-2,-1,-1],[0,-i,i]],[[2,0,0],[0,2-i,0],[0,0,2+i]]
On tape en mode Maple :
rat_jordan([[1,0,0],[1,2,-1],[0,0,1]],’P’)
On obtient :
[[2,0,0],[0,1,0],[0,0,1]]
puis on tape :
P)
On obtient :
[[0,1,0],[1,0,1],[0,1,1]]