spec — valeurs propres d'une matrice
evals=spec(A) [X,diagevals]=spec(A) evals=spec(A,E) [al,be]=spec(A,E) [al,be,Z]=spec(A,E) [al,be]=spec(A,E) [al,be,Q,Z]=spec(A,E)
matrice carrée réelle ou complexe
matrice carrée réelle ou complexe de même dimensions que A
vecteur réel ou complexe
matrice carrée diagonale réelle ou complexe (les éléments diagonaux sont les valeurs propres)
vecteur réel ou complexe, al./be donnes les valeurs propres
vecteur réel ou complexe, al./be donnes les valeurs propres
matrice carrée inversible réelle ou complexe, matrices des vecteurs propres.
matrice carrée inversible réelle ou complexe, matrices des vecteurs propres à gauche.
atrice carrée inversible réelle ou complexe, matrices des vecteurs propres à droite.
evals=spec(A)
retourne dans le vecteur
evals
les valeurs propres de A
.
[evals,X] =spec(A)
retourne de plus les vecteurs
propres (s'ils existent). Voir aussi bdiag
evals=spec(A,E)
retourne le spectre du faisceau
s E - A
, c'est à dire les racines du déterminant de
la matrice de polynômes s E - A
.
[al,be] = spec(A,E)
retourne le spectre du faisceau
s E - A
, c'est à dire les racines du déterminant de
la matrice de polynômes s E - A
. Les valeurs propres
sont données par al./be
. Si be(i) = 0
la
i
ième valeur propres est à l'infini. (Pour E =
eye(A), al./be
est spec(A)
).
[al,be,Z] = spec(A,E)
retourne de plus la matrice
Z
des vecteurs propres généralisés à droite.
[al,be,Q,Z] = spec(A,E)
retourne de plus les matrices
Q
et Z
des vecteurs propres généralisés à
droite et à gauche.
Pour les grosses matrices pleines / creuses, vous pouvez utiliser le module Arnoldi.
// MATRIX EIGENVALUES A=diag([1,2,3]);X=rand(3,3);A=inv(X)*A*X; spec(A) x=poly(0,'x'); pol=det(x*eye()-A) roots(pol) [S,X]=bdiag(A); clean(inv(X)*A*X) // PENCIL EIGENVALUES A=rand(3,3); [al,be,Z] = spec(A,eye(A));al./be clean(inv(Z)*A*Z) //displaying the eigenvalues (generic matrix) A=A+%i*rand(A);E=rand(A); roots(det(%s*E-A)) //complex case