Ich habe eine Matrix wie in diesem Beispiel (meine tatsächlichen Matrizen können viel größer sein)
A = [-1 -2 -0.5;
0 0.5 0;
0 0 -1];
die nur zwei linear unabhängige Eigenwerte hat (der Eigenwert -1 wird wiederholt). Ich möchte eine komplette Basis mit generalisierten Eigenvektoren erhalten. Eine Möglichkeit, wie ich dies tun kann, ist mit der jordan
-Funktion in der Symbolic Math-Toolbox von Matlab, aber ich würde etwas bevorzugen, das für numerische Eingaben konzipiert ist (tatsächlich scheitert jordan
bei großen Matrizen mit zwei Ausgängen: "Fehler im MuPAD-Befehl: Ähnlichkeitsmatrix zu groß."). Ich benötige nicht die Jordan-Kanonische Form, die in numerischen Kontexten bekanntermaßen instabil ist, sondern einfach eine Matrix generalisierter Eigenvektoren. Gibt es eine Funktion oder Kombination von Funktionen, die dies auf numerisch stabile Weise automatisiert oder muss man die generische manuelle Methode verwenden (wie stabil ist ein solches Verfahren)?
HINWEIS: Mit "generalisierten Eigenvektor" meine ich einen Nicht-Null-Vektor, der verwendet werden kann, um die unvollständige Basis einer sogenannten defekten Matrix zu ergänzen. Ich meine nicht die Eigenvektoren, die den Eigenwerten entsprechen, die aus der Lösung des generalisierten Eigenwertproblems mit eig
oder qz
erhalten werden (obwohl diese letztere Verwendung ziemlich verbreitet ist, würde ich sagen, dass es am besten vermieden werden sollte). Es sei denn, jemand kann mich korrigieren, ich glaube nicht, dass die beiden gleich sind.
UPDATE 1 – Fünf Monate später:
Siehe meine Antwort hier um generalisierte Eigenvektoren symbolisch für Matrizen größer als 82x82 zu erhalten (die Grenze für die Testmatrix in dieser Frage).
Ich bin immer noch an numerischen Verfahren interessiert (oder wie solche Verfahren instabil sein könnten, wenn sie alle mit der Berechnung der Jordan-Form zusammenhängen). Ich möchte nicht blind das lineare Algebra 101-Verfahren implementieren, das als Duplikat dieser Frage markiert wurde, da es kein numerischer Algorithmus ist, sondern vielmehr eine Bleistift-und-Papier-Methode, die zur Bewertung von Studenten verwendet wird (ich nehme an, dass sie jedoch symbolisch implementiert werden könnte). Wenn jemand mir entweder eine Implementierung dieses Schemas zeigen kann oder eine numerische Analyse davon, wäre ich daran interessiert.
UPDATE 2 – Feb. 2015: Alles oben Genannte ist immer noch gültig, wie in R2014b getestet.