|
Das Mises-Wielandt-Verfahren |
|
- Das Verfahren von von Mises bzw. Wielandt ist ein sehr einfaches Verfahren zur
Bestimmung des betragsmäßig größten bzw. kleinsten
Eigenwertes einer beliebigen Matrix A.
- Die direkte Vektoriteration nach v.Mises liefert den
betragsmäßig größten Eigenwert und die
inverse Iteration nach Wielandt den betragsmäßig kleinsten
(über seinen Reziprokwert), wenn der Shift zu null gewählt wird,
sonst den dem Shift am nächsten gelegenen Eigenwert (jeweils über den
zugehörigen Eigenvektor).
- Beide Iterationen sind im Prinzip gleich. Die inverse Iteration ist
lediglich die Anwendung der direkten, v.Mises Iteration auf die inverse
Matrix. Der betragsmäßig größte Eigenwert von
A-1 ist der Reziprokwert des betragsmäßig kleinsten Eigenwertes von
A. Die Inverse wird aber nicht explizit gebildet, vielmehr wird
mit Gleichungslösung und Gausselimination gearbeitet.
- Zusätzlich kann das Spektrum mit entsprechend zu wählendem
Shift mu so verschoben werden, daß verschiedene Eigenwerte aus dem
Spektrum von A auf die betragsmäßig kleinsten der Matrix
A - mu I abgebildet werden.
- Die Konvergenz des Verfahrens ist i.A. sehr langsam, deshalb hat es in
der Praxis nur geringe Bedeutung, mit variablem Shift gehört es jedoch
zu den Grundlagen des QR- und QL-Verfahrens.
- Es gibt zwei Eingabeseiten, da die Eingabe sonst zu lang ist:
4 Faelle und
Eingabe einer eigenen Matrix
|
|
|
|
|
|
Die Eingaben: Predefined Variante |
|
- Zunächst muß die Art der Iteration gewählt werden. Direkt
= v.Mises Vektoriteration = betragsmäßig größter
Eigenwert oder Invers = Wielandt-Iteration = betragsmäßig kleinster
Eigenwert.
- Zur Auswahl stehen vier vordefinierte Matrizen, mit bekannten
Eigenwerten. Die genauen Beschreibungen befinden sich bei den Auswahlpunkten.
- Ein Startvektor für die Iteration kann entweder angegeben werden, oder es
besteht die Möglichkeit einen zufälligen Startvektor bestimmen zu
lassen.
- Der Shift mu muß angegeben werden.
- Der Parameter eps steuert den Abbruch der Iteration. Die
Berechnung wird beendet, wenn der relative Fehler im zu bestimmenden Eigenwert
kleiner als eps ist. Wichtig: 1.E-11 <= eps <= 1.E-2 !
- Die maximale Anzahl von Iterationen iter. Wichtig: iter
<= 10000 !
- Wird die Ausgabe der Matrix A gewünscht ?.
- Wird die Ausgabe des approximierten Eigenvektors gewünscht ?.
|
|
|
Die Ausgaben : Predefined Variante |
|
- Ausgegeben wird die Matrix A, falls dies gewünscht war.
- Die Anzahl der Iterationen.
- Der approximative Eigenwert, falls kein Programmabbruch aufgetreten ist.
- Der approximative Eigenvektor, falls dies gewünscht war und
kein Programmabbruch aufgetreten ist.
- Eine Grafik, die den dekadischen Logarithmus des relativen Fehlers im
Eigenwert und den dekadischen Logarithmus der Normen der Änderungen der
Eigenvektornäherungen angibt.
|
|
|
Fragen: Predefined Variante ?! |
|
- Wie hängt die Konvergenzrate vom Shift ab ?
- Was passiert, wenn viele Eigenwerte in der Nähe des zu bestimmenden
liegen? Was bei mehrfachen?
?
- Was passiert bei komplexen Eigenwerten ?
- Was passiert bei "falscher" Startvorgabe und niedriger bzw. hoher
Genauigkeitsforderung ?
|
|
|
|
|
|
Die Eingaben: User defined Variante |
|
- Zunächst muß die Art der Iteration gewählt werden. Direkt
= v.Mises Vektoriteration = betragsmäßig größter
Eigenwert und Invers = Wielandt-Iteration = betragsmäßig kleinster
Eigenwert (von A-mu*I).
- Die Dimension n der Matrix A. Wichtig: 2 <= n <= 30 !
- Zur Auswahl stehen zwei Möglichkeiten:
- Die Eingabe von n Eigenwerten, aus denen mit einer festen
Eigenvektormatrix die Matrix A erzeugt wird und
- die Eingabe einer eigenen n x n Matrix.
- Ein Startpunkt der Iteration kann entweder angegeben werden, oder es
besteht die Möglichkeit, einen zufälligen Startvektor bestimmen zu
lassen.
- Der Shift mu muß angegeben werden.
- Der Parameter eps steuert den Abbruch der Iteration. Die
Berechnung wird beendet, wenn die relative Änderung im Eigenvektor
kleiner als eps ist. Wichtig: 1.E-11 <= eps <= 1.E-2 !
- Die maximale Anzahl von Iterationen iter. Wichtig: iter
<= 10000 !
- Wird die Ausgabe der Matrix A gewünscht ?.
- Wird die Ausgabe des approximierten Eigenvektors gewünscht ?.
|
|
|
Die Ausgaben : User defined Variante |
|
- Ausgegeben wird die Matrix A, falls dies gewünscht war.
- Die Anzahl der Iterationen.
- Der approximative Eigenwert, falls kein Programmabbruch aufgetreten ist.
- Der approximative Eigenvektor, falls dies gewünscht war und kein
Programmabbruch
aufgetreten ist.
- Eine Grafik, die den dekadischen Logarithmus der Normen der Änderungen der
Eigenvektornäherungen angibt.
|
|
|
Fragen: Userdefined Variante ?! |
|
- Wie hängt die Konvergenzrate vom Shift ab ?
- Wie hängt die Konvergenz von der Eigenwertverteilung ab ?
- Was passiert bei komplexen Eigenwerten ?
- Was passiert bei Eigenwertclustern ?
- Was passiert bei "falscher" Startvorgabe und niedriger bzw. hoher
Genauigkeitsforderung ?
|
|
|
|
|
|
|