<< psmall Eigenvalue and Singular Value sva >>

Scilab Help >> Algèbre Lineaire > Eigenvalue and Singular Value > spec

spec

valeurs propres, et vecteurs propres d'une matrice ou d'un faisceau de matrices

Séquence d'appel

evals          = spec(A)
[R, diagevals] = spec(A)

evals               = spec(A, B)
[alpha, beta]       = spec(A, B)
[alpha, beta, Z]    = spec(A, B)
[alpha, beta, Q, Z] = spec(A, B)

Paramètres

A, B
Matrices carrées réelles ou complexes, de mêmes tailles.

evals
Vecteur réel ou complexe

diagevals
Matrice carrée diagonale réelle ou complexe : les éléments diagonaux sont les valeurs propres.

R
Matrice carrée inversible réelle ou complexe des vecteurs propres à droite.

alpha, beta
Vecteurs de mêmes tailles: valeurs propres généralisées du faisceau de matrices A - s.B. alpha./beta donne les valeurs propres. alpha est à valeurs réelles ou complexes. beta est à valeurs réelles.

Q
Matrice carrée inversible réelle ou complexe des vecteurs propres généralisés à gauche.

Z
Matrice carrée inversible réelle ou complexe des vecteurs propres généralisés à droite.

Description

evals = spec(A) calcule les valeurs propres de A et les fournit dans le vecteur evals.

[R, diagevals] = spec(A) fournit les valeurs propres sur la diagonale de la matrice diagonale diagevals. La matrice R produite contient les vecteurs propres à droite (s'ils existent). Voir Aussi bdiag(…).

Lorsque spec(A) est utilisée pour une seule matrice, le caractère réel ou complexe des résultats est le suivant :
matrice A RéelleComplexe
SymétriqueAsymétriqueHermitienneNon hermitienne
Valeurs propres réelles complexes réelles complexes
Vecteurs propres réels complexes complexes complexes

Une matrice complexe hermitienne est égale à sa transposée conjuguée.

Faisceau matriciel A - s.B

evals = spec(A, B) retourne le spectre du faisceau A - s.B, c'est à dire les racines du déterminant de la matrice de polynômes A - s.B.

[alpha, beta] = spec(A, B) retourne les valeurs propres généralisées alpha et beta du faisceau, telles que alpha./beta sont les valeurs propres usuelles, c'est à dire les racines du déterminant de la matrice de polynômes s E - A. La matrice A - alpha./beta × B est alors singulière. Si beta(i) = 0, la ième valeur propre est infinie.

Pour B = eye(A), alpha./beta est égal à spec(A).

[alpha, beta, Z] = spec(A, B) produit en outre la matrice Z des vecteurs propres généralisés à droite.

[alpha, beta, Q, Z] = spec(A, B) permet finalement d'obtenir la matrice Q des vecteurs propres généralisés à gauche.

Pour les matrices denses ou creuses de grande taille, la fonction eigs peut être utilisée.

Fonctions utilisées

Le calcul des valeurs propres des matrices est basé sur les programmes Lapack

Le calcul des valeurs propres des faisceaux est basé sur les programmes Lapack routines DGGEV et ZGGEV.

Exemples

// Valeurs propres d'une matrice
A = diag([1,2,3]);
X = rand(3,3);
A = inv(X)*A*X;
spec(A)

x = poly(0,'x');
pol = det(x*eye(3,3)-A)
roots(pol)

[S,X] = bdiag(A);
clean(inv(X)*A*X)

// Valeurs et vecteurs propres d'un faisceau de matrices
A = rand(3,3);
[al, be, Z] = spec(A,eye(A));al./be
clean(inv(Z)*A*Z)    // affiche les valeurs propres (matrice générique)
A = A+%i*rand(A);
E = rand(A);
roots(det(%s*E-A))   // cas à valeurs propres complexes

Voir aussi


Report an issue
<< psmall Eigenvalue and Singular Value sva >>