Supposons que est une matrice définie symétrique positive. est suffisamment grand pour qu'il soit coûteux de résoudre directement .
Existe-t-il un algorithme itératif pour trouver la plus petite valeur propre de qui n'implique pas l'inversion de à chaque itération?
Autrement dit, je devrais utiliser un algorithme itératif comme les gradients conjugués pour résoudre , donc l'application répétée de A - 1 semble être une «boucle interne» coûteuse. Je n'ai besoin que d'un seul vecteur propre.
Merci!
linear-algebra
eigensystem
eigenvalues
iterative-method
Justin Solomon
la source
la source
eigs
routine. C'est une méthode itérative. Il existe des options pour spécifier la valeur propre que vous souhaitez, par exemple le plus petit réel .Réponses:
Calculez la valeur propre de plus grande amplitude de A (avec, disons ).λmax A
eigs('lm')
Calculer alors la plus grande amplitude (négative) de valeurs propres λ m un x de M = A - λ m a x I (encore une fois, par un appel à la norme ).λ^max M=A−λmaxI
eigs('lm')
Observer que λ m a x + λ max = λ m i n ( A ) . La raison pour laquelle cela tient est expliquée ici .λ^max+λmax=λmin(A)
Trouvez votre vecteur propre en résolvant ( A - λ m i n I ) v = 0 .v (A−λminI)v=0
la source