Wie erhält man dieselben Eigenvektoren eines entarteten Eigenwerts, wenn sich die Matrix leicht entwickelt?

Ich habe ein N × N symmetrische normale komplexe Matrix, die immer hat 2 3 N entartete Eigenwerte. ( N hat immer die Form von 3 k k = 1 , 2 , . . . )

Zum Beispiel im 6 × 6 falls es Eigenwerte hat λ 1 , λ 2 , λ 3 , λ 3 , λ 4 , λ 4 .

Ich weiß, dass ein entarteter Eigenwert a erzeugen wird 2 D Raum von Eigenvektoren, die ihm zugeordnet werden können. Ich muss die Entwicklung dieser Eigenvektoren messen, da sich die Matrix bei jedem Schritt sehr geringfügig ändert (mit einer Schleifenvariablen namens ω ), wofür ich einen Computercode geschrieben habe. Es berechnet die folgende Formel für Eigenvektoren und Diagramme τ ω .

F ich J ( a , β ) = l = 1 N F ( ω , λ l ) ich a | l l ¯ | J β l | l ¯

τ ich J ( ω ) = C ( ω ) a β | F ich J ( a , β ) | 2

Wo ich a | Und | J β sind Grundlage einer N D Raum, l ¯ | ist die Notation für Eigenvektor | l transponiert (nicht konjugiert), ( ich , J ) sind Indizes aus 1 Zu N , also hätten wir N 2 Werte von τ ändern als ω Änderungen. (Und τ ich J = τ J ich )

Das Problem ist, dass der Computercode einen von unendlich vielen möglichen Eigenvektoren für entartete Eigenwerte in jeder Iteration als auswählt ω ändert sich also das Finale τ ω Handlung hat Geräusche.

Das erste Bild zeigt das Ergebnis und das zweite zeigt das Problem. Dies sind keine High-Res-Ausgaben, aber ich denke, dass sie den Job machen.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Diese Geräusche verschwinden, wenn ich nur die nicht entarteten Eigenwerte und Vektoren verwende oder wenn ich eine sehr schlechte Annäherung verwende, um die Matrix hermitesch zu machen. Hier liegt also das Entartungsproblem vor.

Frage: Gibt es eine Möglichkeit, dieses Problem zu umgehen, um das Verhalten degenerierter Eigenvektoren zu überwachen, wenn sich die Matrix geringfügig ändert?

(Ich benutze LAPACK, um Eigenvektoren zu berechnen, wenn es darauf ankommt)

Wenn die Matrixelemente analytische Funktionen eines Parameters sind, dann sind die Eigenvektoren analytische Funktionen des Parameters.

Antworten (2)

Angenommen die Vielheit k eines Eigenwertes λ ich fest und bekannt ist, kann man das darstellen k -dimensionaler Eigenraum als eindeutige Linie 0 in der äußeren Kraft k ( v ) von dir N -dimensionaler Raum (welche Kraft Dimension hat ( N k ) ). Dann können Sie die Linie durch einen der beiden enthaltenen Einheitsvektoren darstellen; hoffentlich können Sie auf vernünftige Weise steuern, welche ausgewählt wird. Damit unterdrücken Sie die Willkür der Wahl einer Basis für den Eigenraum.

Weitere Einzelheiten dazu finden Sie unter Plücker-Einbettung und Grassmann-Koordinaten.

(Zu lang für einen Kommentar.)

Angenommen, Sie können die Eigenwerte verfolgen und die Multiplizität jedes Eigenwerts bleibt unverändert. Das heißt, nehme an A ( T ) ist eine normale Matrix, die sich zeitlich kontinuierlich ändert T , Und λ ( T ) ist einer seiner Eigenwerte, der sich kontinuierlich ändert T und deren Multiplizität über ein gewisses Zeitfenster unverändert bleibt. Lassen B Und C Seien zwei Matrizen mit jeweils orthonormalen Spalten, so dass die Spalten von B sind die Einheitseigenvektoren von λ ( T 1 ) und die Spalten von C eine aufspannende Menge für den Eigenraum für ist λ ( T 2 ) irgendwann T 2 nahe bei T 1 . Dann fragen Sie im Wesentlichen, wie Sie einen Satz von Einheitsvektoren finden, der den Spaltenraum überspannt C und ist auch in der Nähe der Spalten von B . Mit anderen Worten, Sie müssen eine unitäre Matrix finden Q das minimiert die Frobenius-Norm von B C Q .

Wenn dies der Fall ist, lautet die Lösung des obigen klassischen Problems der kleinsten Quadrate Q = v U , Wo U S v ist eine Singulärwertzerlegung des Matrixprodukts B C . Sie können also die Spalten von auswählen B als Eigenvektoren für λ ( T 1 ) und die Spalten von C Q als Eigenvektoren für λ ( T 2 ) .

Unschöner wird es allerdings, wenn sich die Eigenwertpfade kreuzen.

Ich bin mir nicht sicher, ob die Multiplizität jedes Eigenwerts unverändert bleibt. Ich suche eher nach einer allgemeinen Lösung, da ich möglicherweise die Multiplizität oder die Kreuzung von Pfaden in kleinen Matrizen überprüfen kann, aber diese Matrix wird in echten Berechnungen riesig sein ( N > 3000 )