Nom

spec — valeurs propres d'une matrice

Séquence d'appel

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)

Paramètres

A

matrice carrée réelle ou complexe

E

matrice carrée réelle ou complexe de même dimensions que A

evals

vecteur réel ou complexe

diagevals

matrice carrée diagonale réelle ou complexe (les éléments diagonaux sont les valeurs propres)

al

vecteur réel ou complexe, al./be donnes les valeurs propres

be

vecteur réel ou complexe, al./be donnes les valeurs propres

X

matrice carrée inversible réelle ou complexe, matrices des vecteurs propres.

Q

matrice carrée inversible réelle ou complexe, matrices des vecteurs propres à gauche.

Z

atrice carrée inversible réelle ou complexe, matrices des vecteurs propres à droite.

Description

spec(A)

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

spec(A,B)

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 iiè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.

Exemples

 
// 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
 

Voir Aussi

poly , det , gspec , schur , bdiag , colcomp , dsaupd , dnaupd

Fonctions Utilisées

Le calcul des valeurs propres des matrices est basé sur les routines Lapack DGEEV and ZGEEV.