Berechnen von Eigenvektorkomponenten eines gegebenen Vektors

8

Ich habe einen Vektor V der in den Eigenraum des hermitischen Sparse-Operators zerlegt werden kann :M

V=ivim^i

Gibt es eine Möglichkeit, den (den Eigenvektor selbst) zu finden, der dem größten (in der Größe) entspricht?m^ivi

Ich möchte im Wesentlichen die größten paar Terme der Summe, einschließlich der Eigenvektoren von , die ich vorher nicht kenne.M

Insbesondere möchte ich gleichzeitig die Eigenvektoren von , die dem größtenzusammen mit dem Finden des größten . Vorzugsweise ohne zuerst die gesamten Spektren von .| v i | v i M.M|vi|viM

Einige Möglichkeiten, über die ich nachgedacht habe:

Wir können die Matrix mit dem Gegenteil von "Wieldant's Deflation" "aufblasen":

M1=M+σ[Σivim^i]VH=M+σVVH

Die Eigenwerte für verschiedene werden verschobenm^iλi+σ|vi|2 . Ich glaube, wir können dannσ und extrahieren,viweil sich die Eigenvektoren nicht ändern. Das Problem ist, dass das äußere Produkt vonV dicht ist.

andere Möglichkeit:

Die Potenzmethode (multipliziere M mit unserem Vektor V bis zur Konvergenz) findet die Komponente von V mit dem größten Eigenwert. Der Nachteil dieser Methode ist, dass wir die Größe von nicht kontrollieren vi, so dass wir am Ende ALLE Komponenten und dann die größten finden würden.

Gibt es eine Möglichkeit, dies so zu steuern, dass wir nur auf die größte Komponente konvergieren?

Andrew Spott
quelle
Ich denke in der realen Welt, also denke ich, dass es eine stochastische Simulation erfordert. Sie haben einen Vektor und möchten seinen Platz in einem Unterraum finden. Der Unterraum wird von den Eigenvektoren überspannt. Der Trick ist, dass Sie nicht alle Eigenvektoren haben, nur einige von ihnen. Mit dem Punktprodukt können Sie sehen, welche der Eigenvektoren Sie zu dem oder den Vektoren beitragen, die Sie haben. Wenn Sie Glück haben, können Sie Ihren Vektor mit einer Teilmenge der Eigenvektoren überspannen. Wenn nicht, können Sie Ihren Vektor in die Eigenvektoren zerlegen, die Sie haben, und Vektoren finden, die Sie nicht haben.
EngrStudent
Eine Lösung finden Sie unter scicomp.stackexchange.com/questions/28111/… ! Ich habe der Frage einige Details der Lösung hinzugefügt.
as2457

Antworten:

1

Da die Matrix hermitisch ist, können Sie sie als Hamilton-Matrix verwenden, um sie in imaginärer Zeit zu verbreiten. Lösen Sie also das folgende Differentialgleichungssystem:

idVdt=MV

Die allgemeine Lösung hierfür lautet:

V(t)=V0eiMt

Dann nehmen Sie Ihre , Fourier-Transformation, und die Höhe und Platzierung der Peaks zeigt Ihnen die Komponenten entlang verschiedener Eigenvektoren und ihre zugehörigen Eigenwerte. Dies wird in der ultraschnellen Atomphysik manchmal als "Spektralmethode" bezeichnet.V(t)V(0)

Sobald Sie die Eigenwerte haben, finden Sie die Eigenvektoren mit dem von Ihnen bevorzugten spezifischen Eigenwertlöser.

Dan
quelle
Können Sie ein Lehrbuch, Vorlesungsunterlagen oder eine Quelle empfehlen, die eine Einführung in diese "Spektralmethode" enthält? Die Google-Suche lieferte für mich keine wirklich zufriedenstellenden Ergebnisse.
Marco Breitig
@ Marco Breitig: Ich habe auch noch nie einen gefunden. Es ist wohl nur ein Teil der mündlichen Tradition der Atomphysik.
Dan
0

Sicher. Lasse M eine Matrix derart sein , dass jede Spalte eine bestimmte Eigenvektor des hermiteschen Operator ist M ; sie folgt aus der Hermitezität von M , dass M invertierbar ist. Um die zu erhaltenM^MMM^viM^v=Vimaxj|vj|=|vi|iM^vi

Geoff Oxberry
quelle
1
V
2
@ AndrewSpott: Fügen Sie diese Anforderung Ihrer Frage hinzu. Das Finden von Eigenvektoren bei gegebenen Eigenwerten (oder das Finden eines Eigenvektors für einen Eigenwert maximaler Größe) ist unkompliziert. Es ist auch einfach, einen besten Näherungswert mit niedrigem Rang in Bezug auf eine gegebene Basis zu finden. Hier müssen Sie jedoch nach einer Eigenbasis suchen und gleichzeitig einen besten Näherungswert mit niedrigem Rang finden. Es mag machbar sein, aber es fällt mir nicht sofort ein Algorithmus ein.
Geoff Oxberry
ist es jetzt klarer?
Andrew Spott