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éelle | Complexe | ||
---|---|---|---|---|
Symétrique | Asymétrique | Hermitienne | Non 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
DGEEV and ZGEEV, lorsque la matrice A n'est ni symétrique ni hermitienne.
DSYEV and ZHEEV, lorsque la matrice A est symétrique ou hermitienne.
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
- eigs — calculates largest eigenvalues and eigenvectors of matrices
- bdiag — bloc-diagonalisation, vecteurs propres généralisés
- schur — [ordered] Schur decomposition of matrix and pencils
- colcomp — compression de colonnes, noyau
- det — déterminant
- poly — définition d'un polynôme selon racines ou coefficients, ou caractéristique d'une matrice carrée
Report an issue | ||
<< psmall | Eigenvalue and Singular Value | sva >> |