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:
    1. A*A# = (A*A# )H
    2. A# * A = ( A# * A)H
    3. A* (A# * A) = A
    4. 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:
    alpha = ?
    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:

Eingabeformular SVD

    Und hier zum Ebenenfit:

Eingabeformular Ebenenfit

 
 

Zurück: Lineare Gleichungssysteme

 
Back to the top!

18.11.2008