Menor autovalor sem inverso

11

Suponha que ARn×n é uma matriz definida positiva e simétrica. A é grande o suficiente para ser caro resolver Ax=b diretamente.

Existe um algoritmo iterativo para encontrar o menor autovalor de A que não envolva a inversão de A em cada iteração?

Ou seja, eu teria que usar um algoritmo iterativo como gradientes conjugados para resolver Ax=b , de modo que aplicar repetidamente A1pareça um "loop interno" caro. Eu só preciso de um único vetor próprio.

Obrigado!

Justin Solomon
fonte
1
Você já tentou usar a decomposição de Cholesky? Você teria que fatorar A em LLT com L sendo uma matriz triangular. Depois de ter a fatoração (você só faz isso uma vez), você pode usá-lo em todas as iterações para resolver o sistema muito rapidamente, substituindo-as novamente.
Juan M. Bello-Rivas
A é uma matriz esparsa?
Tolga Birdal 02/01
A
Se você estiver usando matlab ou oitava, use a eigsrotina- É um método iterativo. Existem opções para especificar qual o valor próprio que você deseja, por exemplo, o menor real .
sebastian_g
AA

Respostas:

13
  1. λmaxAeigs('lm')

  2. λ^maxM=AλmaxIeigs('lm')

  3. λ^max+λmax=λmin(A)

  4. Encontre seu vetor próprio resolvendo .( A - λ m i n I ) v = 0v(AλminI)v=0

GoHokies
fonte