Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - 日本語 - Русский
Ajuda do Scilab >> Linear Algebra > Eigenvalue and Singular Value > spec

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 RealComplexa
SimétricaNão simétricaHermitianaNã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
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:35:22 CET 2022