pcar (ou charpoly) a un (resp deux)
argument(s).
pcar (ou charpoly) a comme argument une matrice A
d’ordre n (resp une matrice A d’ordre n et un nom de variable
formelle).
pcar (ou charpoly) renvoie le polynôme caractéristique P de A écrit selon la
liste de ses coefficients (resp le polynôme caractéristique P de A
écrit sous forme symbolique en utilisant le nom de variable donnée en
argument).
Le polynôme caractéristique P de A est défini par
P(x)=det(x.I−A) |
On tape :
On obtient :
Donc le polynôme caractéristique de [[4,1,-2],[1,2,-1],[2,1,0]] est
x3−6x2+12x−8 |
On peut aussi avoir la forme symbolique en tapant :
normal(poly2symb([1,-6,12,-8]))).
On tape :
On obtient :
^
3-6*X^
2+12*X-8On peut spécifier par un argument optionnel l’algorithme utilisé pour faire ce calcul, parmi :
lagrange
: calcul par interpolation de Lagrange, en
donnant à x les valeurs comprises entre 0 et la dimension.^
3+6*x^
2-12*x+8hessenberg
: calcul par réduction sous forme
tri-diagonale puis formule de récurrence, efficace sur
un corps fini.fadeev
: calcul simultané du polynôme
caractéristique et de la comatrice de xI−A
On tape :
pmin
: calcul du polynôme minimal relatif à un
vecteur pris au hasard, c’est le polynôme caractéristique
s’il est de degré maximal.
Pour les matrices à coefficients entiers, l’algorithme utilisé par
défaut est modulaire, on calcule le polynôme caractéristique
modulo plusieurs nombres premiers, soit par le polynôme minimal,
soit par Hessenberg, et on reconstruit par les restes chinois
coefficient par coefficient. Le test d’arrêt est probabiliste,
lorsque le polynôme reconstruit ne varie plus pour des nombres
premiers dont le produit est supérieur à l’inverse de
la valeur de proba_epsilon
(que l’on peut modifier
dans la configuration du cas). Si proba_epsilon
est nul,
le résultat est déterministe (une majoration à priori des
coefficients est alors utilisée). Dans tous les cas, le temps
de calcul est en O(n4ln(n)), mais il est plus rapide avec la méthode
probabiliste.