Sie sind auf Seite 1von 53

Einführung in Numerical Computing

Linear Least Squares

G. Uchida, W. Gansterer

Universität Wien

Wintersemester 2020

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 1 / 53


Methode der kleinsten Quadrate
Inhalt

I Ausgleichsrechung, Data Fitting


I Existenz und Eindeutigkeit
I Sensitivität und Kondition
I Problem-Umformungen
I Orthogonalisierung
I Singulärwertzerlegung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 2 / 53


Methode der kleinsten Quadrate

I Messfehler sind unvermeidlich


I Man kann oft Fehler duch Mittelung glätten, muss dann aber mehr
Messungen vornehmen, um Parameter bestimmen zu können
I Die entstehenden Systeme sind überbestimmt, daher gibt es im
allgemeinen keine eindeutige Lösung
I Es werden höher-dimensionale Daten auf einen
niedriger-dimensionalen Raum projiziert, um irrelevante Details
auszublenden
I Diese Projektion kann man gut mit der Methode der kleinsten
Quadrate (Linear Least Squares) erreichen

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 3 / 53


Methode der kleinsten Quadrate

I Lineare Gleichungssysteme sind überbestimmt wenn gilt

Ax = b mit m × n Matrix A, m > n

I Wir schreiben oft Ax ∼ = b, weil Gleichheit im allg. nicht genau


erfüllbar ist für m > n
I Die ”Kleinste Quadrate” Lösung minimiert das Quadrat der Norm
des Residuen-Vektors r = b − Ax

minkrk22 = minkb − Axk22


x x

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 4 / 53


Methode der kleinsten Quadrate
Ausgleichsrechung (Data Fitting)
I Gegeben m Datenpunkte (ti , yi ). Gesucht wird ein
n-dimensionaler Parameter-Vektor x, der die (vorgegebene)
Modellfunktion f (t, x) möglichst gut annähert
m
X
min (yi − f (ti , x))2
x
i=1

I Das Problem ist linear, wenn die Funktion f linear in den


Komponenten von x ist

f (t, x) = x1 φ1 (t) + x2 φ2 (t) + · · · + xn φn (t)

mit Funktionen φj nur von t abhängig


I Man kann das Problem in Matrixform Ax ∼
= b schreiben, mit
aij = φj (ti ) und bi = yi
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 5 / 53
Methode der kleinsten Quadrate
Ausgleichsrechung (Data Fitting)

I Polynomial Fitting

f (t, x) = x1 + x2 t + x3 t2 · · · + xn tn−1

I Exponential Fitting ist ein nichtlineares Problem

f (t, x) = x1 ex2 t + · · · + xn−1 exn t

I Betrachten zunächst nur Lineare Probleme

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 6 / 53


Methode der kleinsten Quadrate
Ausgleichsrechung (Data Fitting)

I Beispiel: Fitting eines Quadratischen Polynoms an 5 Datenpunkte


ergibt folgendes Linear Least Squares Problem

1 t1 t21 
   
y1
 1 t2 t22  x1

 y2 

 2
  
Ax =  1 t3 t3  x2 = 
   
 y3  = b

2
 1 t4 t  x3  y4 
4
1 t5 t52 y5

I Eine Matrix deren Spalten (oder Zeilen) fortlaufende Potenzen


einer unabhängigen Variablen sind, heißt Vandermonde Matrix

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 7 / 53


Methode der kleinsten Quadrate
Ausgleichsrechung (Data Fitting)
Beispiel mit Daten
I Daten:
t −1.0 −0.5 0.0 0.5 1.0
y 1.0 0.5 0.0 0.5 2.0
I ergibt das überbestimmte lineare 5 × 3 System
   
1 −1.0 1.0   1.0
 1 −0.5 0.25  x1  0.5 

   
Ax =  1
 0.0 0.0  x2 = 
  
 0.0 =b

 1 0.5 0.25  x3  0.5 
1 1.0 1.0 2.0
I Die Lösung ist (werden wir später berechnen)
x = (0.086, 0.4, 1.4)T
und ergibt somit das Polynom
p(t) = 0.086 + 0.4t + 1.4t2
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 8 / 53
Methode der kleinsten Quadrate
Ausgleichsrechung (Data Fitting)
Beispiel mit Daten: Man erhält folgende Kurve. Auch die Originaldaten
werden angezeigt

Abbildung: aus Heath, M., Scientific Computing - An Introductory Survey

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 9 / 53


Methode der kleinsten Quadrate
Existenz und Eindeutigkeit

I Das Problem Ax ∼ = b hat mit der Methode der kleinsten Quadrate


immer eine Lösung
I Die Lösung ist eindeutig genau dann, wenn die Spalten von A
linear unabhängig sind, d.h. wenn Rang(A)=n für A eine
m × n-Matrix
I Wenn Rang(A) < n, dann besitzt A ein Rang-Defizit und die
Lösung ist nicht eindeutig
I Wir nehmen jetzt einmal an Rang(A)=n, also voller Spalten-Rang

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 10 / 53


Normalgleichungen

Um die quadrierte Euklidische Norm des Residuen-Vektors zu


minimieren
krk22 = rT r = (b − Ax)T (b − Ax)
= bT b − 2xT AT b + xT AT Ax
leiten wir nach x ab und setzen gleich 0

2AT Ax − 2AT b = 0

Damit erhalten wir ein lineares n × n Gleichungssystem von


Normalgleichungen
AT Ax = AT b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 11 / 53


Normalgleichungen

I Wenn Ax = b nicht lösbar ist, dann liegt b nicht in dem von den
Spalten der Matrix A aufgespannten Raum span(A)
I Ein Vektor y = Ax in span(A) liegt bezüglich der Euklidischen
Norm zum Vektor b am nächsten, wenn das Residuum r = b − Ax
orthogonal auf span(A) ist

0 = AT r = AT (b − Ax)

I Das führt unmittelbar auch wieder zu den Normalgleichungen

AT Ax = AT b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 12 / 53


Orthogonalität, Projektion

Abbildung: aus Heath, M., Scientific Computing - An Introductory Survey

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 13 / 53


Orthogonalität, Projektion

I Eine Matrix P entspricht einer Orthogonalen Projektion, wenn sie


idempotent (P 2 = P ) und symmetrisch (P T = P ) ist
I Orthogonale Projektion auf das orthogonale Komplement
span(P )⊥ ist gegeben durch P⊥ = I − P
I Für jeden Vektor v gilt

v = (P + (I − P ))v = P v + P⊥ v

I Für das Least Squares Problem Ax ∼


= b gilt, wenn rank(A)=n, dass

P = A(AT A)−1 AT

eine orthogonale Projektion auf span(A) ist und

b = P b + P⊥ b = Ax + (b − Ax) = y + r

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 14 / 53


Pseudoinverse

I m × n- Matrizen (nicht-quadratisch) besitzen keine Inversen im


üblichen Sinn
I Wenn rank(A)=n, definiert man die Pseudoinverse als

A+ = (AT A)−1 AT

I Die Kondition ist cond(A) = kAk2 · kA+ k2 , wobei üblicherweise


cond(A) = ∞ gesetzt wird, wenn rank(A) < n
I Die Lösung des Least Squares Problems Ax ∼ = b ist gegeben
durch
x = A+ b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 15 / 53


Sensitivität, Kondition

I Die Sensitivität des Least Squares Problems Ax ∼= b hängt von A


und b ab
I Sei der Winkel θ zwischen b und y = Ax definiert

kyk2 kAxk2
cos(θ) = =
kbk2 kbk2
I Eine Schranke für die Störung ∆x der Lösung x wegen Störungen
∆b von b ist gegeben durch

k∆xk2 1 k∆bk2
≤ cond(A)
kxk2 cos(θ) kbk2

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 16 / 53


Sensitivität, Kondition

I Bei einer Störung E der Matrix A erhält man

k∆xk2 k∆Ek2
/ ([ cond(A)]2 tan θ + cond(A))
kxk2 kAk2
I Die Konditionszahl für die Lösung des Least Square Problems ist
etwa von der Grössenordnung cond(A), kann aber eventuell auch
viel grösser werden

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 17 / 53


Normalgleichungen-Methode

I Wenn die m × n-Matrix A Rang n hat, dann ist die symmetrische


n × n-Matrix AT A positiv definit
I Die Cholesky Faktorisierung LLT kann genutzt werden um die
Lösung x des Gleichungssystems

AT Ax = AT b

zu bestimmen, welches die gleiche Lösung hat wie das Linear


Least Squares Problem Ax ∼=b
I Bei der Methode der Normalgleichungen transformiert man die
Matrix in folgenden Schritten

rechteckig → quadratisch → dreieckig

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 18 / 53


Normalgleichungen-Methode Beispiel
Für das Beispiel von vorhin erhält man
 
  1 −1.0 1.0
1 1 1 1 1  1 −0.5 0.25 

AT A =  −1.0 −0.5 0.0 0.5 1.0  
 1 0.0 0.0 
1.0 0.25 0.0 0.25 1.0  1 0.5 0.25 
  1 1.0 1.0
5.0 0.0 2.5
=  0.0 2.5 0.0  ,
2.5 0.0 2.125
 
  1.0  
1 1 1 1 1  0.5 
 4.0
AT b =  −1.0 −0.5 0.0 0.5 1.0  
 0.0  =  1.0 

1.0 0.25 0.0 0.25 1.0  0.5  3.25
2.0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 19 / 53


Normalgleichungen-Methode Beispiel

I Cholesky Faktorisierung der symmetrischen positiv definiten


Matrix AT A ergibt
 
5.0 0.0 2.5
AT A =  0.0 2.5 0.0 
 2.5 0.0 2.125  
2.236 0 0 2.236 0 1.118
= 0 1.581 0  0 1.581 0 
1.118 0 0.935 0 0 0.935
= LLT

I Durch Lösung des unteren Dreieckssystems Lz = AT b erhält man


z = (1.789 0.632 1.336)T
I Durch Lösung des oberen Dreieckssystems LT x = z erhält man
x = (0.086 0.400 1.429)T

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 20 / 53


Normalgleichungen
I Durch das Bilden von AT A und AT b kann Information verloren
gehen
I Beispiel: Sei
 
1 1
A=  0 
0 

mit  < mach
I In Gleitpunktarithmetik erhält man dann

1 + 2
   
T 1 1 1
A A= =
1 1 + 2 1 1

Die Matrix ist singulär


I Die Sensitivität der Lösung verschlechtert sich also, weil

cond(AT A) = [cond(A)]2

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 21 / 53


Augmentiertes System

I Eine andere Möglichkeit, das System”quadratisch” zu machen:


Definition des Residuums und Orthogonalitätsbedingung ergeben
das folgende ”Augmentierte” (m + n) × (m + n) System
    
I A r b
=
AT O x 0

I Diese ”Augmentierte” System ist nicht positiv-definit, ist grösser


als das Originalsystem und braucht zwei Kopien von A
I Es gibt uns aber mehr Möglichkeiten zu Pivotisieren bei der
Berechnung der LDLT oder LU Faktorisierung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 22 / 53


Augmentiertes System

I Fügen einen Skalierungsparameters α für das Residuum ein


    
αI A r/α b
T =
A O x 0

α gibt uns die Möglichkeit, die beiden Subsysteme für die Wahl
des Pivots relativ zu gewichten
I Daumenregel für die Wahl des Skalierungsparameters

α = max |aij |/1000


i,j

I Augmentierte Systeme können manchmal nützlich sein, brauchen


aber mehr Speicherplatz

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 23 / 53


Orthogonale Transformationen

I Alternative Methode gesucht, die numerische Schwierigkeiten bei


Normalgleichungen vermeidet
I Brauchen numerisch stabile Transformationen, die ein einfacher
zu lösendes Problem ergeben, die Lösung des Originalproblems
aber nicht verändern
I Frage: Welche Transformationen lassen ”Least Squares”
Lösungen unverändert?
I Multiplikation mit einer orthogonalen Matrix erhält die Euklidische
Norm
kQvk22 = (Qv)T Qv = v T QT Qv = v T v = kvk22
I Also verändert die Multiplikation mit einer orthogonalen Matrix die
Lösung des Least Squares Problems nicht.

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 24 / 53


Orthogonale Transformationen

I Wünschenswert bei Linearen Gleichungssystemen war eine


Dreiecksform
I Für ”Linear Least Squares” wird folgende Form interessant sein
   
R b1
x∼
=
O b2

wobei R eine obere n × n Dreiecksmatrix ist und b auch


entsprechend partitioniert ist.
I Residuum
krk22 = kb1 − Rxk22 + kb2 k22

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 25 / 53


Orthogonale Transformationen

I Über den zweiten Term kb2 k22 haben wir keine Kontrolle, aber der
erste Term wird Null, wenn x das n × n Dreieckssystem

Rx = b1

erfüllt. welches durch Rückwärtssubstitution bestimmt werden


kann
I Man erhält mit x eine Lösung des Linear Least Squares Problems,
mit folgender minimaler Quadratsumme

krk22 = kb2 k22

I Strategie ist daher, das allgemeine Linear Least Squares Problem


mit Hilfe orthogonaler Transformationen in so eine Dreiecksform
zu transformieren, die die Lösung erhält

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 26 / 53


QR Faktorisierung
I Sei eine m × n Matrix A mit m > n gegeben. Wir suchen eine
orthogonale m × m Matrix Q mit
 
R
A=Q
O

mit R einer oberen n × n Dreiecksmatrix


I Das Linear Least Squares Problem Ax ∼ = b wird dann
transformiert in
   
T R ∼ c1
Q Ax = x= = QT b
O c2

I Dieses System hat die selbe Lösung, da


   
2 2 R 2 T R
krk2 = kb − Axk2 = kb − Q xk2 = kQ b − xk22
O O

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 27 / 53


QR Faktorisierung

I Wenn wir die orthogonale Matrix so partitionieren, dass


Q = [Q1 Q2 ], mit Q1 m × n Matrix, dann wird
   
R R
A=Q = [Q1 Q2 ] = Q1 R
O O

als ”reduzierte QR Faktorisierung” von A bezeichnet


I Die Spalten von Q1 bilden eine Orthonormalbasis für span(A) und
die Spalten von Q2 bilden eine Orthonormalbasis für span(A)⊥
I Q1 QT1 bilden eine Orthogonalprojektion auf span(A)
I Die Lösung des Least Squares Problems Ax ∼ = b ist gegeben
durch die Lösung des Systems

QT1 Ax = Rx = c1 = QT1 b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 28 / 53


QR Faktorisierung

I Um die QR Faktorisierung der m × n Matrix A mit m > n zu


bestimmen, werden wir sukzessive die subdiagonalen Einträge zu
Null transformieren, um eine obere Dreiecksform zu erreichen
I Wir gehen vor wie bei der LU Faktorisierung bei Gauss’scher
Eliminiation, nur verwenden wir statt der Elementarmatrizen jetzt
orthogonale Transformationen
I Mögliche Methoden dazu sind etwa
I Householder Transformation
I Givens Rotation
I Gram-Schmidt Orthogonalisierung

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 29 / 53


Householder Transformation
I Die Householder Transformation hat die Form
vv T
H =I −2
vT v
für Vektoren v 6= 0
I H ist orthogonal und symmetrisch: H = H T = H −1
I Sei ein Vektor a gegeben. Wir wählen v so, dass
   
α 1
 0   0 
Ha =  .  = α  .  = αe1
   
 ..   .. 
0 0
I Wir setzen in der obigen Formel für H

v = a − αe1
und α = ±kak2 (Vorzeichen kann gewählt werden)
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 30 / 53
Householder Beispiel
I Sei a = [2 1 2]T , dann wählen wir
       
2 1 2 α
v = a − αe1 =  1  − α  0  =  1  −  0 
2 0 2 0
mit α = ±kak2 = ±3
I Wählen      
2 −3 5
v= 1 −
   0 = 1 
 
2 0 2
(da a1 positiv ist, wählen wir für α das negative Vorzeichen, um
Auslöschungen zu vermeiden)
I Sehen uns jetzt die Transformation an:
     
2 5 −3
vT a 15
Ha = a − 2 T v =  1  − 2  1  =  0 
v v 30
2 2 0
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 31 / 53
Householder QR Faktorisierung

I Bestimmen QR Faktorisierung von A mit Hilfe von Housholder


Transformationen, wobei wir subdiagonale Matrixeinträge eine
Spalte nach der anderen auf Null transformieren
I Jede Householder Transformation wird auf die gesamte Matrix
angewendet. Sie beeinflusst aber schon bearbeitete Spalten nicht,
die bisher erhaltenen Nulleinträge bleiben erhalten
I Anwendung einer Housholder Transformation auf einen beliebigen
Vektor u ergibt

vv T vT u
Hu = (I − 2 )u = u − (2 )v
vT v vT v
(benötigt dafür nur den Vektor v und nicht die volle Matrix H)

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 32 / 53


Householder QR Faktorisierung

I Auf die eben beschriebene Art erhalten wir die Faktorisierung


 
R
Hn · · · H1 A =
O

wobei R eine n × n obere Dreiecksmatrix ist


 
R
I Setzen wir Q = H1 · · · Hn , dann ist A = Q
O
I Um die Lösung des Linear Least Squares Problems zu erhalten,
muss natürlich auch die ”rechte Seite” b entsprechend
transformiert werden.
I Dann löst man das Least Squares Problem in Dreiecksform
 
R
x∼
= QT b
O

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 33 / 53


Householder QR Faktorisierung
Beispiel: Polynomales Fitting Beispiel von vorher
I    
1 −1.0 1.0 1.0
 1 −0.5 0.25   0.5 
   
A=  1 0.0 0.0  ,b =  0.0
 

 1 0.5 0.25   0.5 
1 1.0 1.0 2.0
I Der Householder Vektor v1 für die Transformation der
subdiagonalen Einträge der ersten Spalte ist
     
1 −2.236 3.236
 1   0   1 
     
v1 =  1  − 
   0 =
  1 

 1   0   1 
1 0 1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 34 / 53


Householder QR Faktorisierung
I Wendet man die entsprechende Householder Transformation H1
jetzt auf A und b an, erhält man
   
−2.238 0 −1.118 −1.789

 0 −0.191 −0.405  
 −0.362 
 
H1 A =  0 
 −0.862 
0.309 −0.655  , H1 b =  
 0 0.809 −0.405   −0.362 
0 1.309 0.345 1.138
I Der Householder Vektor v2 für die Transformation der
subdiagonalen Einträge der zweiten Spalte ist
     
0 0 0
 −0.191   1.581   −1.772 
     
 0.309  − 
v2 =  0 
 =  0.309
   

 0.809   0   0.809 
1.309 0 1.309

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 35 / 53


Householder QR Faktorisierung
I Wendet man die entsprechende Householder Transformation H2
jetzt auf H1 A und H1 b an, erhält man
   
−2.238 0 −1.118 −1.789

 0 1.581 0 

 0.632 
 
H2 H1 A =  0 
 −1.035 
0 −0.725  , H2 H1 b =  
 0 0 −0.589   −0.816 
0 0 0.047 0.404
I Der Householder Vektor v3 für die Transformation der
subdiagonalen Einträge der dritten Spalte ist
     
0 0 0

 0  
  0  
  0 

v3 = 
 −0.725  −  0.935  =  −1.660
   


 −0.589   0   −0.589 
0.047 0 0.047

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 36 / 53


Householder QR Faktorisierung

I Wendet man die entsprechende Householder Transformation H3


jetzt an, erhält man
   
−2.238 0 −1.118 −1.789

 0 1.581 0 

 0.632



H3 H2 H1 A =   0 0 0.935  , H3 H2 H1 b =  1.336
 


 0 0 0   0.026 
0 0 0 0.337

I Löst man jetzt das obere Dreieckssystem Rx = c1 durch


Rückwärtssubstitution, so erhält man x = [0.086 0.400 1.429]T

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 37 / 53


Givens Rotation
I Mit Givens Rotation kann man einzelne Nullstellen in Matrizen
erzeugen
I Gegeben sei ein Vektor [a1 a2 ]T , wähle c und s so, dass
    
c s a1 α
=
−s c a2 0
p
mit c2 + s2 = 1 (oder äquivalent α = a21 + a22 )
I Kann obiges System umschreiben zu
    
a1 a2 c α
=
a2 −a1 s 0
I Durch Gauss Elimination, erhält man
    
a1 a2 c α
=
0 −a1 − a22 /a1 s −αa2 /a1

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 38 / 53


Givens Rotation

I Rückwärtssubstitution ergibt
αa2 αa1
s= und c =
a21+ a22 a21+ a22
p
I Da aber c2 + s2 = 1 bzw. α = a21 + a22 , gilt
a1 a2
c= p 2 und s = p 2
a1 + a22 a1 + a22

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 39 / 53


Givens Rotation
Beispiel:
I Sei a = [4 3]T
I Um den zweiten Eintrag auf Null zu transformieren, berechnen wir

a1 4 a2 3
c= p 2 2
= = 0.8 und s = p 2 2
= = 0.6
a1 + a2 5 a1 + a2 5

I Rotation ist gegeben durch


   
c s 0.8 0.6
G= =
−s c −0.6 0.8

I Wirkung der Rotation auf a = [4 3]T


    
0.8 0.6 4 5
Ga = =
−0.6 0.8 3 0

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 40 / 53


Givens Rotation

Beispiel:
I Allgemein: um eine bestimmte Komponente auf Null zu
transformieren, ”rotiert” man sie mit einer anderen Komponente
    
1 0 0 0 0 a1 a1
 0 c 0 s 0    a2   α 
   

 0 0 1 0 0   a3  =  a3 
   
 
 0 −s 0 c 0   a4   0 
0 0 0 0 1 a5 a5

I Mit Givens Rotationen können wir durch gezielte Transformation


von Stellen auf Null eine obere Dreiecksform erreichen
I Jede Rotation ist orthogonal, ihre Produkte sind orthogonal. So
können wir eine QR Zerlegung erreichen

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 41 / 53


Gram-Schmidt Orthogonalisierung
I Wenn die Vektoren a1 und a2 vorgegeben sind, werden zwei
orthonormale Vektoren q1 und q2 gesucht, die den selben Raum
aufspannen
I Dies kann man erreichen, indem man vom zweiten Vektor seine
Projektion auf den ersten Vektor abzieht und beide Vektoren
normalisiert

Abbildung: aus Heath, M., Scientific Computing - An Introductory Survey

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 42 / 53


Gram-Schmidt Orthogonalisierung

I Man kann diesen Prozess auf beliebig viele Vektoren ausdehnen


und orthogonalisiert sukzessive die Vektoren gegenüber allen
vorhergehenden: Klassisches Gram-Schmidt Verfahren
I for k = 1 to n do
qk = ak
for j = 1 to k − 1 do
rjk = qjT ak
qk = qk − rjk qj
end for
rkk = kqk k2
qk = qk /rkk
end for
I Mit den dabei entstehenden qk und rjk lässt sich eine QR
Zerlegung von A erreichen

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 43 / 53


Gram-Schmidt Orthogonalisierung

I Bei endlicher Genauigkeit, kann genau Orthogonalität nicht bis


zum Schluss gewähleistet werden
I Brauchen getrennten Speicherplatz für A, Q, R
I Kann das mit dem Modifizierten Gram-Schmdt Verfahren
überkommen

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 44 / 53


Gram-Schmidt Orthogonalisierung

Modifiziertes Gram-Schmdt Verfahren


I for k = 1 to n do
rkk = kak k2
qk = ak /rkk
for j = k + 1 to n do
rkj = qkT aj
aj = aj − rkj qk
end for
end for

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 45 / 53


Rang Defizit

I Wenn Rang(A) < n, dann existiert QR Zerlegung, aber die obere


Dreiecksmatrix R ist singulär und die Lösung ist nicht eindeutig
I Oft wählt man ein Minimum mit kleinstem Residuum aus
I Lösung kann mit QR Faktorisierung (mit Spalten-Pivotierung) oder
durch Singulärwert-Zerlegung (SVD) bestimmt werden
I Der Rang einer Matrix ist in der Praxis oft auch nicht ganz klar
definiert, verwendet Toleranzwerte, um den Rang zu bestimmen.

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 46 / 53


Rang Defizit
Beispiel
I Betrachte folgende 3 × 2 Matrix
 
0.641 0.242
A =  0.321 0.121 
0.962 0.363
I Man bestimmt die QR Faktorisierung und erhält
 
1.1997 0.4527
R=
0 0.0002
I R ist ”fast”singulär
I Verwendet man R zur Lösung des Linear Least Squares
Problems, erhält man Lösungen, die sehr sensitiv auf Störungen
reagieren
I In der Praxis wird man hier also wohl eher von Rang(A)=1, als von
Rang(A)=2 ausgehen
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 47 / 53
Rang Defizit

I Für Rang(A)=k < n erhält man nach k Schritten (evtl. mit


Spalten-Umordnung) eine orthogonale Faktorisierung der Form
 
T R S
Q AP =
O O

wobei R eine k × k obere Dreiecksmatrix ist, nichtsingulär, P eine


Permutationsmatrix

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 48 / 53


Singular Value Decomposition
I Die Singulärwertzerlegung (Singular Value Decomposition SVD)
einer m × n Matrix A hat die Form

A = U ΣV T

wobei U eine orthogonale m × m Matrix, V eine orthogonale


n × n Matrix ist und Σ ist eine m × n Diagonalmatrix mit

0 für i 6= j
σij =
σi ≥ 0 für i = j

I Diagonal-Elemente σj werden Singulärwerte von A genannt und


sind üblicherweise angeordnet

σ1 ≥ σ2 ≥ · · · ≥ σn

I Die Spalten ui von U und vi von V heissen linke bzw. rechte


Singulärvektoren
G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 49 / 53
Singular Value Decomposition

Beispiel
 
1 2 3
 4 5 6  T
I SVD von A = 
 7 8 9  ist gegeben durch U ΣV =

10 11 12

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 50 / 53


Anwendungen SVD

I Die Minimum-Norm Lösung von Ax ∼


= b ist gegeben durch
X uT b
i
x= vi
σi
σi 6=0

Für schlecht konditionierte oder Probleme mit Rang-Defizit


können Summanden mit ”kleinen” Singulärwerten weggelassen
werden.
I Euklidische Matrixnorm: kAk2 = σmax
I Euklidische Konditionszahl einer Matrix: cond(A) = σmax
σmin
I Rang einer Matrix: Anzahl der Singulärwerte ungleich Null

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 51 / 53


Pseudoinverse

I Die Pseudoinverse einer allgemeinen m × n Matrix A ist gegeben


durch
A+ = V Σ + U T
wobei für Σ+ die Matrix Σ transponiert wird und jeder Wert σi
durch σ1i ersetzt wird (für σi 6= 0)
I Die Pseudoinverse existiert immer, auch für nicht quadratische
Matrizen oder wenn der Rang nicht voll ist
I Für eine quadratische, nichtsinguläre Matrix gilt A+ = A−1
I Die Minimum Norm Lösung von Ax ∼ = b ist gegeben durch
x = A+ b

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 52 / 53


Orthogonale Basen

I Die SVD einer Matrix A = U ΣV T ergibt orthogonale Basen für


relevante Subräume
I Die Spalten von U , die Singulärwerten ungleich Null entsprechen,
bilden eine Orthonormalbasis für span(A)
I Die restlichen Spalten von U bilden eine Orthonormalbasis für das
orthogonale Komplement span(A)⊥
I Die Spalten von V , die Singulärwerten gleich Null entsprechen,
bilden eine Orthonormalbasis für den Nullraum von A
I Die restlichen Spalten von V bilden eine Orthonormalbasis für das
orthogonale Komplement des Nullraums von A

G. Uchida, W. Gansterer (Uni Wien) Numerische Mathematik Wintersemester 2020 53 / 53

Das könnte Ihnen auch gefallen