Berechnen Sie die kleinsten Eigenvektoren einer Matrix


8

Es scheint, dass Matlab's eigsmir schlechte Annäherungen an die kleinsten Eigenvektoren einer Matrix gibt.

Ich gehe davon aus, dass ich einige langsamere Methoden verwenden kann, die auch genauer wären ...

Ich suche nach dem zweitkleinsten Eigenvektor einer Lapalcian-Matrix (bekannt als "Fiedler" -Vektor). Ich weiß natürlich, dass der kleinste Eigenvektor einer Laplace-Matrix der konstante Vektor ist.

Irgendwelche Vorschläge für eine genauere Methode?

PS Wenn ich in all dem oben genannten "kleinster Eigenvektor" sage, meine ich den Eigenvektor, der dem Eigenwert kleinster Größe zugeordnet ist.

Antworten:


5

Es gibt eine einfache Möglichkeit, Ihr A-priori-Wissen über das kleinste Eigenpaar zu nutzen: Sie können einfach die Komponente der aktuellen Eigenvektorschätzung in Richtung des konstanten Vektors in jeder Iteration von beispielsweise inverser Iteration projizieren. Sie sollten dann erwarten, dass die Iteration gegen den Eigenvektor konvergiert, der dem zweitkleinsten Eigenwert, Ihrem gewünschten Fiedler-Vektor, entspricht.

EIN- -1



1

Sie können die vollständige Eigenzusammensetzung mit erhalten eig(full(A))


danke, aber irrelevant für eine riesige spärliche 100000X100000 Matrix :)
olamundo

@noam Bitte bearbeiten Sie Ihre Frage, um wichtige Informationen wie diese aufzunehmen.
David Ketcheson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.