Ich habe ein symmetrische normale komplexe Matrix, die immer hat entartete Eigenwerte. ( hat immer die Form von
Zum Beispiel im falls es Eigenwerte hat .
Ich weiß, dass ein entarteter Eigenwert a erzeugen wird 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 .
Wo Und sind Grundlage einer Raum, ist die Notation für Eigenvektor transponiert (nicht konjugiert), sind Indizes aus Zu , also hätten wir Werte von ändern als Änderungen. (Und )
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.
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)
Angenommen die Vielheit eines Eigenwertes fest und bekannt ist, kann man das darstellen -dimensionaler Eigenraum als eindeutige Linie in der äußeren Kraft von dir -dimensionaler Raum (welche Kraft Dimension hat ). 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 ist eine normale Matrix, die sich zeitlich kontinuierlich ändert , Und ist einer seiner Eigenwerte, der sich kontinuierlich ändert und deren Multiplizität über ein gewisses Zeitfenster unverändert bleibt. Lassen Und Seien zwei Matrizen mit jeweils orthonormalen Spalten, so dass die Spalten von sind die Einheitseigenvektoren von und die Spalten von eine aufspannende Menge für den Eigenraum für ist irgendwann nahe bei . Dann fragen Sie im Wesentlichen, wie Sie einen Satz von Einheitsvektoren finden, der den Spaltenraum überspannt und ist auch in der Nähe der Spalten von . Mit anderen Worten, Sie müssen eine unitäre Matrix finden das minimiert die Frobenius-Norm von .
Wenn dies der Fall ist, lautet die Lösung des obigen klassischen Problems der kleinsten Quadrate , Wo ist eine Singulärwertzerlegung des Matrixprodukts . Sie können also die Spalten von auswählen als Eigenvektoren für und die Spalten von als Eigenvektoren für .
Unschöner wird es allerdings, wenn sich die Eigenwertpfade kreuzen.
Keith McClary