Wie finde ich die inneren Eigenwerte mit der Krylov-Subraummethode?

10

Ich frage mich, wie man die Eigenwerte einer spärlichen Matrix in einem gegebenen Intervall [a, b] durch iterative Methode findet. Nach meinem persönlichen Verständnis ist es offensichtlicher, die Krylov-Subraummethode zu verwenden, um die extremen Eigenwerte zu finden, anstatt die inneren.

Willowbrook
quelle
Haben Sie die hier gegebenen Antworten berücksichtigt ?
Todesatem
Ich bin neugierig ... Wie groß ist deine Matrix? Benötigen Sie alle inneren Eigenwerte oder solche, die einem bestimmten Wert am nächsten kommen?
Paul
@Paul Dies ist nur eine laufende Untersuchung, die Größe wird Milliarden für Milliarden spärliche Matrizen betragen, und wir benötigen nur wenige Eigenwerte in bestimmten Intervallen, um die Modellierung durchzuführen.
Willowbrook
@Deathbreath Vielen Dank für Ihre Erinnerung. Ich habe diese Antworten berücksichtigt.
Willowbrook
Vielleicht kennen Sie diese Ressource bereits, aber sie kann trotzdem nützlich sein ... www-users.cs.umn.edu/~saad/eig_book_2ndEd.pdf Grüße, Tom
Tom

Antworten:

10

Die folgende Strategie heißt Shift and Invert und hängt von zwei wichtigen Fakten ab:

  1. hat das gleiche Spektrum wie A , ist jedoch um τ nach unten verschoben, dh wenn λ σ ( A ) ist, dann ist λ - τ σ ( A - τ I ) .AτIAτλσ(A)λτσ(AτI)
  2. Unter der Annahme, dass invertierbar ist, hat die Matrix A - 1 ein Spektrum, das gleich der elementweisen Umkehrung des Spektrums von A ist , dh wenn λ σ ( A ), dann 1 / λ σ ( A - 1 ) .AA1Aλσ(A)1/λσ(A1)

Da werde den Teil desSpektrumsvonAverschoben haben, dernahe ana+b liegtAa+b2IA in der Nähe des Ursprungs die Eigenwerte vonA in derNähe vona+ba+b2A wird in(A-a+b)sehr groß seina+b2, und daher ist zu erwarten, dass ein Krylov-Algorithmus sie aufnimmt.(Aa+b2I)1

Jack Poulson
quelle
Meine Frage ist, dass wir durch Verschieben und Invertieren alle Eigenwerte in der Nähe von a verstärken können, was natürlich die unerwünschten Werte einschließt, die ursprünglich kleiner als a waren, und dann, wie diese Eigenwerte herausgefiltert werden können. Die andere Frage ist, wie der andere Endpunkt b in der Interaktion verwendet wird.
Willowbrook
1
Es ist möglich, bestimmte Eigenwerte mithilfe von Polynomfiltern herauszufiltern. Für einen zugänglichen Überblick über diese Technik siehe Sorensen: "Numerische Methoden für große Eigenwertprobleme" in Acta Numerica journals.cambridge.org/action/…
Reid.Atcheson
c=(a+b)/2