|
Singulaerwertzerlegung |
|
- Eine für jede Matrix mögliche Zerlegung ist die sogenannte
Singulärwertzerlegung einer Matrix
A = U S VH
Dabei ist S eine Matrix der gleichen Gestalt wie A,
die aber höchstens auf der Hauptdiagonalen Einträge ungleich null
(und >= 0) besitzt, die sogenannten
Singulärwerte, während U und V
unitäre Matrizen sind, mit der gleichen Zeilen- bzw. Spaltenzahl wie
A.
- Bei geeigneter konsistenter Numerierung kann man die Spalten von
U bzw. V als Eigenvektoren von A * AH bzw.
AH*A erhalten und die Nichtnulleinträge von S
als Wurzeln der Nichtnulleigenwerte von AH*A .
Dies ist aber nicht der Weg, den die Berechnung in der Praxis einschlägt.
Hier gehen wir über eine vorgeschaltete Transformation auf Bidiagonalform J
durch Householdertransformationen von links und rechts (im Wechseltakt) und
anschliessend "im Prinzip" das QL-Verfahren für die Tridiagonalmatrix
JHJ (ohne deren explizite Bildung)
- Diese Zerlegung hat mannigfache Anwendungen, u.a. kann sie zur
Berechnung der Moore-Penrose-Pseudoinversen A# dienen. Diese ist durch
folgende vier Forderungen eindeutig festgelegt:
- A*A# = (A*A# )H
- A# * A = ( A# * A)H
- A* (A# * A) = A
- A# *( A*A#) = A#
- Man rechnet leicht nach, dass die durch
A# = V*S#*UH
definierte Matrix, worin S# aus S entsteht, indem
man die
Nichtnullelemente reziprok nimmt, diese Forderungen erfüllt.
- In der linearen Ausgleichsrechnung wird die euklidische Länge
des Residuenvektors
r = Ax - b
zu gegebener Matrix A und rechter Seite b bezüglich
x minimiert. Hier ist die Anwendung der Singulärwertzerlegung
oft die ultima ratio, z.B. immer dann, wenn A sehr schlecht konditioniert ist.
Insbesondere im Fall, dass A nicht den vollen Spaltenrang hat und die
Lösung dieser Aufgabe daher nicht eindeutig ist, liefert die
Anwendung der Pseudoinversen, also
x* = A# b
die eindeutig bestimmte Lösung mit minimaler euklidischer Norm.
- In der Praxis kann man wegen der Rundungsfehler die Rangentscheidung
nicht auf der Abfrage s(i)=0 aufbauen, was zum Begriff des
"numerischen Rangs" einer Matrix führt. Man setzt man
s(i) def=0 wenn
s(i) <= alpha*max {s(j)}
mit einem vom Nutzer vorgegebenen Wert alpha .
Diesen Vorgang nennt man auch "Regularisierung".
- Will man einen Datensatz von Punkten im dreidimensionalen Raum
durch eine Ebene so approximieren, dass die Quadratsumme der Abstände
der Punkte von dieser Ebene minimal ist, dann leistet die Singulärwertzerlegung
der Matrix mit den Zeilen (xi,yi,zi,1)
das Gewünschte: die Spalte von V, die zum kleinsten Singulärwert
gehört, ergibt die Koeffizienten der Hessenormalform dieser Ebene, wenn
man sie so normiert, dass die euklidische Länge der ersten drei Einträge
1 wird. D.h. man löst im Prinzip die Aufgabe ||Ac||=minc und
normiert c dann wie erforderlich.
|
|
|
Die Eingaben |
| Version auswählen: nur Matrixzerlegung,
Matrixzerlegung und Ausgleichsproblem oder Ebenenfit |
| Im Fall des Ebenenfits: die Anzahl der Punkte und diese selbst,
sowie die Betrachtungswinkel für die graphische Ausgabe.
Sonst: |
| |
| Sollen die Matrizen ausgedruckt werden oder nicht? |
| Zeilen- und Spaltenzahl der Matrix |
| Matrix oder Matrix und rechte Seite gemeinsam, zeilenweise |
|
|
Die Ausgaben |
|
- Im Fall des Ebenenfits die Gleichung der Ebene in der Hesse-Normalform und
eine Grafik mit dieser Ebene und den Datenpunkten.
- Wurde eine eigene Matrix mit rechter Seite eingegeben, dann die
Matrixzerlegung (wenn gewünscht), der Lösungsvektor x und die Norm des Residuums.
- Andernfalls nur die Matrixzerlegung, mindestens aber die Singulärwerte.
|
|
|
Fragen ?! |
|
- Wie beeinflussen Änderungen in der Matrix oder der rechten Seite
die Zerlegung bzw. die Lösung der Ausgleichsaufgabe?
- Welchen Einfluss hat alpha auf die Lösung und das Residuum?
|
|
| Hier gehts zur Matrixzerlegung/Ausgleichsrechnung:
|
|
|
| |
|
|
|
|
|