spec
autovalores, e autovetores de uma matriz ou feixes
Seqüência de Chamamento
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)
Parâmetros
- A, B
- Matrizes quadradas de números reais ou complexos, de mesmos tamanhos.
- evals
- Vetor de reais ou complexos : os autovalores.
- diagevals
- Matriz diagonal de reais ou complexos : autovalores ao longo da diagonal.
- R
- Matriz quadrada de reais ou complexos invertível : autovetores direitos da matriz.
- alpha, beta
- Vetores dos mesmos tamanhos : autovalores generalizados do feixe de matriz
A - s.B
(s é a variável). alpha./beta fornece os autovalores usuais.alpha
são valores reais ou complexos.beta
são valores reais. - Q
- Matriz quadrada de reais ou complexos invertível : autovetores esquerdos do feixe de matriz.
- Z
- Matriz quadrada de reais ou complexos invertível : autovetores direitos do feixe de matriz.
Descrição
evals = spec(A)
retorna no vetor evals
os autovalores.
[R, diagevals] = spec(A)
retorna na matriz diagonal diagevals
os autovalores e em
R
os autovetores direitos. Ver também bdiag(…)
.
Ao usar uma sintaxe spec(A)
com uma única matriz, a
realidade dos resultados é a seguinte:
matriz A | Real | Complexa | ||
---|---|---|---|---|
Simétrica | Não simétrica | Hermitiana | Não hermitiana | |
Autovalores | reais | complexos | reais | complexos |
Autovetores | reais | complexos | complexos | complexos |
Uma matriz Hermitiana é igual à sua transposta conjugada.
Feixe de matriz A - s.B
evals = spec(A, B)
retorna o espectro do feixe de matrizes A - s.B
, i.e. as
raízes da matriz de polinômios s.B - A
.
[alpha, beta] = spec(A, B)
retorna o espectro do feixe de matrizes A - s.B
,
i.e. as raízes da matriz de polinômios A - s.B
.
Auto valores generalizados alpha
e beta
são tais que a matriz A - alpha./beta × B
é uma matriz singular.
Os autovalores são dados por alpha./beta
e se
beta(i) = 0
o i-ésimo autovalor está no infinito.
Para B = eye(A)
, alpha./beta
é
spec(A)
). É usualmente representado pelo par
(alpha,beta), já que há uma interpretação razoável para beta=0, e
até mesmo para os dois sendo zero.
[alpha, beta, Z] = spec(A, B)
retorna, ainda, a matriz Z
de autovetores
direitos generalizados do feixe.
[alpha, beta, Q, Z] = spec(A, B)
rretorna ainda a matriz Q
e
Z
de autovetores esquerdos e direitos
generalizados do feixe.
Programas usados
As computações de autovalores de matrizes são baseadas nas rotinas Lapack :
DSYEV e ZHEEV quando as matrizes são simétricas or hermitianas.
DGEEV e ZGEEV quando as matrizes não são simétricas nem hermitianas.
As computações de autovalores de feixes são baseadas nas rotinas Lapack DGGEV e ZGGEV.
Exemplos
// AUTOVALORES DA MATRIZ 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) // AUTOVALORES DO FEIXE A = rand(3,3); [al, be, R] = spec(A,eye(A)); al ./ be clean(inv(R)*A*R) // exibindo os autovalores (matriz genérica) A = A + %i*rand(A); E = rand(A); roots(det(A-%s*E)) // caso de complexos
Report an issue | ||
<< psmall | Eigenvalue and Singular Value | sva >> |