Finden des

8

Bei einer großen Matrix A mit Eigenwerten σ1σ2 möchte ich nur eine Teilmenge dieser Werte bestimmen, z. B. σ5,σ8 und σ19 . Gibt es einen Algorithmus, der dies kann, oder ist es am besten, die Top-19-Eigenwerte zu finden?

dexter04
quelle
Hat Ihre Matrix spezielle Eigenschaften? Kennen Sie ungefähr die Werte für , σ 8 und σ 19 ? σ5σ8σ19
Nicoguaro
Nee. Sie können mich jedoch gerne informieren, wenn Ergebnisse vorliegen, die besondere Eigenschaften voraussetzen.
Dexter04
Siehe auch : stackoverflow.com/questions/12167654/… Vielleicht können Sie die Methode hinter den Kulissen dort bestimmen.
Carlosvalderrama
Ich würde etwas in die Richtung erraten, in die Krylov-Subraum-, Arnoldi- oder Lanczos-Iteration erforderlich ist.
Carlosvalderrama
2
Wenn Ihre Matrix hermitisch ist, besteht die Garantie, dass Sie Ihre geordnete Menge von Eigenwerten haben, da alle real sind. Wenn Sie die Werte ungefähr kennen, können Sie auch versuchen, die Shift-Invert-Methode zu verwenden. Letztendlich denke ich, dass es einfacher sein könnte, die ersten Eigenwerte zu finden . n
Nicoguaro

Antworten:

6

Nein, soweit ich weiß, gibt es nichts, es sei denn, Sie kennen ungefähr den Ort dieser Eigenwerte. Was Methoden betrifft, die eine Teilmenge des Spektrums einer Matrix berechnen können, kenne ich nur Methoden, die Folgendes erzeugen können:

  • Eigenwerte aus "den Extremen des Spektrums", z. B. diejenigen mit dem größten Absolutwert oder mit dem negativsten Real- / Imaginärteil. Zum Beispiel Arnoldi / Subraum-Iteration (entsprechend verschoben).
  • Eigenwerte, die einem bestimmten Punkt in der komplexen Ebene am nächsten liegen, z. B. die kleinsten im Modul (am nächsten bei Null). Zum Beispiel (rationales) Verschieben und Invertieren von Arnoldi oder die inverse Potenziteration.
  • [1,1]×[1,1]

[1,1]μ12[12,1][μ,1][1,μ]

Ich glaube nicht, dass irgendetwas davon mit Vanille LAArnoldi konkurrieren würde, wenn Sie 300 durch 19 ersetzen, wie in Ihrem Beispiel. Und vielleicht auch nicht mit 300.

Federico Poloni
quelle