Schmidtsches Orthonormierungsverfahren
Das Schmidtsche Orthonormierungsverfahren basiert auf der Idee, die Matrix Z in das Produkt
mit einer Rechtsdreiecksmatrix R so zu zerlegen, dass für die Matrix Y die Beziehung
gilt ("B-orthonormierte" Spalten).
Rechts wird dies mit dem Falkschen Schema für diese Matrizenmultiplikation veranschaulicht, wobei zu beachten ist, dass nur Z vorgegeben ist. Y und R müssen so bestimmt werden, dass Y der oben angegebenen Gleichung ("B-Orthonormierung") genügt.
Es wird angenommen, dass die Spalten 1 bis k-1 der Matrix Y bereits orthonormiert sind. Die k-te Spalte von Z muss sich dann aus dem Produkt der ersten k Spalten von Y mit den k Elementen rik der k-ten Spalte von R ergeben:
Wenn man diese Beziehung von links mit yiTB multipliziert, dann fallen auf der rechten Seite wegen der "B-Orthonormiertheit" der Spalten alle Produkte bis auf das mit yi, das den Wert 1 hat, weg:
gestattet die Berechnung aller rik der k-ten Spalte von R für i < k (das Hauptdiagonalelement fehlt noch, weil yk noch nicht bekannt ist). Mit den nunmehr bekannten rik kann die oben angegebene Beziehung folgendermaßen umgestellt werden:
gestattet die Berechnung einer vorläufigen (zu den übrigen Spalten orthogonalen, aber noch nicht normierten) k-ten Spalte der Matrix Y. Die Forderung der "B-Orthonormiertheit" kann so formuliert werden:
Damit kann der noch fehlende Normierungsfaktor nach
berechnet werden und damit die noch fehlende k-te Spalte von Y:
Weil die p Spalten von Y gegen die Eigenvektoren der kleinsten p Eigenwerte konvergieren, werden die rik für i < k (die Elemente oberhalb der Hauptdiagonalen) mit fortschreitender Konvergenz immer kleiner. Diese können ja als "Säuberungsfaktoren" aufgefasst werden, die jeweils alle Komponeten der vorläufigen Eigenvektoren yi mit i < k aus dem vorläufigen Eigenvektor yk herausfiltern. Das bedeutet, dass R gegen eine Diagonalmatrix konvergiert, deren Hauptdiagonalelemente die reziproken Eigenwerte enthalten (vgl. die hier angegebene Iterationsvorschrift).
Der hier schrittweise entwickelte Algorithmus wird noch einmal zusammengefasst:
Inverse Simultaniteration für das Allgemeine Eigenwertproblem mit symmetrischen Matrizen:
Start mit einer p-spaltigen Matrix Y (p - Anzahl der zu berechnenden kleinsten Eigenwerte), danach bis zur Konvergenz:
Die Berechnung der Elemente der Dreiecksmatrix R und der Spalten der Matrix Y kann nach dem Schmidtschen Orthonormierungsverfahren erfolgen, hier aufgeschrieben für die Elemente der jeweils k-ten Spalte (k = 1 ... p), der Algorithmus startet für die 1. Spalte mit Schritt 3:
Bei diesem Algorithmus können Bandstrukturen der beiden Matrizen A und B voll ausgenutzt werden.
|
|
|
Dieser Algorithmus ist realisiert in einem C-Programm isiasb_m.c, für das ein Interface (Mex-File) existiert, mit dem es aus Matlab aufgerufen werden kann. Eine Beschreibung, ein Beispiel und die Möglichkeit zum Download über diesen Link.
|