Calcular os menores vetores próprios de uma matriz

8

Parece que o Matlab eigsestá me dando más aproximações dos menores vetores próprios de uma matriz.

Suponho que posso usar alguns métodos mais lentos que também seriam mais precisos ...

Estou procurando encontrar o segundo menor vetor próprio de uma matriz lapalciana (conhecido como vetor "fiedler"). Sei, é claro, que o menor vetor próprio de uma matriz laplaciana é o vetor constante.

Alguma sugestão para um método mais preciso?

PS Em todas as situações acima, quando digo "menor autovetor", quero dizer o autovetor associado ao autovalor de menor magnitude.

olamundo
fonte

Respostas:

5

Existe uma maneira direta de explorar seu conhecimento a priori do menor par de autovalores: você pode simplesmente projetar o componente da estimativa atual do vetor próprio na direção do vetor constante em cada iteração, por exemplo, iteração inversa. Você deve esperar que a iteração converja para o vetor próprio correspondente ao segundo menor valor próprio, seu vetor Fiedler desejado.

UMA-1

Jack Poulson
fonte
1

Você pode obter a composição completa do eigend com eig(full(A))

Aron Ahmadia
fonte
obrigado, mas irrelevante para uma enorme matriz esparsa 100000X100000 :)
olamundo
@noam Por favor, edite sua pergunta para incluir informações importantes como essa.
David Ketcheson