3.9. Die QR-Zerlegung einer Matrix - in.tum.de · 3.9. Die QR-Zerlegung einer Matrix Schon vorher...
Transcript of 3.9. Die QR-Zerlegung einer Matrix - in.tum.de · 3.9. Die QR-Zerlegung einer Matrix Schon vorher...
3.9. Die QR-Zerlegung einer Matrix
Schon vorher haben wir bemerkt:
- cond(U) in der Gauß-Elimination ev. groß, auch
bei kleinem cond(A);
- falls A schlecht konditioniert: was ist der Rang von A?
Welche Pivotelemente werten wir als 0?
- cond(AT A) oft sehr groß.
71
Andererseits: cond(QA) = cond(A), falls Q orthogonal.
Also sind orthogonale Matrizen sehr gut für äquivalente
Umformungen von A geeignet (vgl. LU-Zerlegung).
Außerdem gilt: Q–1 = QT .
Also sind Gleichungssysteme in Q sehr leicht zu lösen.
72
Versuche daher, analog zur LU-Zerlegung A=LR ,
eine Zerlegung der Form
A = QR
zu bestimmen mit
Q orthogonal
R obere Dreiecksmatrix
Vorteile:
- numerisch stabiler als LU
- ähnliche Kosten
- Systeme in Q und R leicht zu lösen
73
)cos()sin(
)sin()cos(
G
;10
01
)(cos)(sin)sin()cos()cos()sin(
)cos()sin()sin()cos()(sin)(cos
)cos()sin(
)sin()cos(
)cos()sin(
)sin()cos(
22
22
GGGGT
3.9.2 Elementare orthogonale Matrizen
Orthogonale 2 x 2 – Matrix :
heißt Givensreflexion. Denn
Frage: orthogonale 1 x 1 – Matrix?
74
Wilkinson, Givens, Forsythe, Householder, Henrici, F.L.Bauer
75
)cos()sin(
)sin()cos(
Alternativ Givensrotation:
0)cos()sin()cos()sin(~!
2111
21
11
21
aa
a
aa
Dazu muss gelten:
2221
1211
~~
~~~
aa
aaGAA
G ist eindeutig bestimmt durch den ‘Winkel’ .
Bestimme nun so, dass
obere Dreiecksmatrix wird.
76
;)cot(21
11
a
a
21
11
a
aarcctg
11
21
a
aarctg
Lösung:
oder
Ist a21 =0, so ist keine weitere Transformation nötig!
Numerisch stabilere Art der Berechnung :
(a21 oder a11 könnten fast 0 sein):
;)sin(;)cos(;)( 21112
21
2
1111
aa
aaasign
;1;0)cos()sin(
2
11
2
2121
1111
212111
aaa
aa
aaa
3.9.3. Givens-Reflexion für den
allgemeinen n x n – Fall:
n-dimensionale Givens-Reflexion ist im Wesentlichen wie
die Einheitsmatrix, bis auf den gerade zu betrachtenden
2 x 2 – Block.
Dieser Block wird wieder - wie oben definiert - abhängig
von bestimmt.
77
Man eliminiert wieder in der ersten Spalte a2,1,…,am,1,
und dann entsprechend in der zweiten Spalte die
Unterdiagonale, usw. wie bei Gauss.
78
i
j
Gij
1
1
)cos()sin(
1
1
)sin()cos(
1
1
j i
Gestalt der allgemeinen Givens-Matrix
Zur Elimination eines Elementes aij der Matrix A
multiplizieren wir Gij A .
Dieses Produkt verändert nur die i-te und die j-te Zeile von A.
Es genügt, vom Gesamt-System nur diesen 2 x 2 – Teil zu
betrachten. Also muss wieder
gesetzt sein wie oben. (1 j und 2 i )
79
ij
jj
a
aarcctg
cs
scG
I
GG
)cos()sin(
)sin()cos(,
0
021
Mit einer solchen Matrix G21 wird dann im ersten Schritt
a21 zu Null gemacht.
verändert nur j-te und i-te Zeile;
i-te Zeile: für k=j,...,n
speziell: soll Null werden
Legt daher fest.
80
ikjkik casaa
!0 ijjjij casaa
Genauere Analyse eines allgemeinen Eliminationsschritts:
AG
aa
aa
cs
sc
i
j
ji
iiij
jijj
,
0
00
0
j-te Zeile: für k=j,...,n
mit c und s zu obigen ikjkjk sacaa
Keine Pivotszeile!
k
81
13121 ,,, nGGG
13121 ,,, naaa
24232 ,,, nGGG 221 , nnnn GG 1nnG
24232 ,,, naaa 221 , nnnn aa1nna
Verwende der Reihe nach
, ..... , , und
um , ..... , , und
zur Bearbeitung der ersten Spalte,
also um zu Null zu machen,
und danach
zu Null zu machen.
Jeweils nötig ist eine Multiplikation mit Givens-Reflexion
G i,j , i=1,...,n-1 und j=i+1,...,n.
Also benötigt man insgesamt n(n-1)/2 Givensreflexionen
um eine quadratische n x n –Matrix auf Dreiecksgestalt zu
transformieren. 82
Die Reihenfolge, in der die aj,i zu Null gemacht werden,
ist gegeben durch:
.2/)1(321
.
.2
.1
..
nnnn
n
83
2112,12,1,: GGGGGQ nnnnnnn
T
RAGGGGGAQ nnnnnnn
T 2112,12,1,
Man benutze also immer das Diagonalelement ajj und eine
Kombination von i-ter/j-ter Zeile, um aij zu Null zu machen.
mit einer oberen Dreiecksmatrix R.
1,121 nnn GGGQ ij
T
ij GG und A=Q*R.
Daher ist
, da
Q ist gegeben durch die einzelnen Gij;
jedes Gij ist eindeutig gegeben durch das ij, das nötig war,
um genau ein aij zu eliminieren.
Wie bei der Gauss-Elimination eliminiert man also mit den
Diagonalelementen der Reihe nach sämtliche
Unterdiagonalelemente.
84
Genauso kann man für eine m x n Matrix A (m>n) mit
rank(A)=n eine QR- Zerlegung berechnen
A = Q . R
Der Vorteil der QR-Zerlegung:
cond(A) = cond(QR) = cond(R)
Gut für schlecht konditionierte Systeme
Anwendbar auf rechteckige Systeme
Andere Orthogonalisierungsverfahren:
- Gram-Schmidt (orthonormalisiere Vektoren)
- Householder (erzeuge in einem Schritt eine
ganze Nullspalte). H = I – 2 u uT
R ist obere Dreiecksmatrix der R1
Dimension m x n und vollen R =
Ranges n.
85
3.9.4. Anwendung bei Linearer Ausgleichsrechnung:
22
22
minmin
minmin
bQRxbQRxQ
bQRxbAx
T
x
T
x
xx
da Q orthogonal und euklid’sche Norm.
0
86
211min
2
11min
1min
~~~
~
00
2
2
2
2
2
2
2
2
bbxRb
bxRbQx
Rxxx
T
11
~bxR
Das obige Minimum erhält man wegen
aus der Lösung des Dreieckssystems
22
~bDer Wert des Minimums ist gegeben durch
.
87
Beispiel: QR-Zerlegung für Least Squares:
Erster Schritt: a21 0 :
2
2
min
1
0
0
10
11
11
min bAxx xx
4/,2/1 sc
mit
10
00
22
1010
11
11
100
0
0
cscs
scsc
cs
sc
88
00
10
22
0
0
22
10
00
22
0
0
001
c
s
cs
sc
2/,1,0 sc
Zweiter Schritt: a32 0 :
mit
00
10
22
10
11
11
100
02/12/1
02/12/1
010
100
001
QT A = R
89
010
2/102/1
2/102/1
QAlso
22
22
1
0
10
22min
0
1
0
10
22
min
1
0
0
02/12/1
100
02/12/1
00
10
22
min
1
0
0
min
xx
xAx
xx
xx
Anwendung auf Minimierungsproblem :
Lösung x als Lösung des Dreiecksgleichungssystems:
90
1
1x
In diesem Fall liefert x sogar eine genaue Lösung von Ax=b,
da der Fehlerterm ||b2|| gleich Null ist.
QR-Zerlegung ist in dieser Form anwendbar für beliebige
rechteckige Matrix A, so lange A vollen Rang besitzt.
Kosten des QR-Verfahrens mit Givens für n x n – Matrix:
2n3 + O(n2) (also teuerer als Gauss-Elimination mit 2n3/3)
Ein Eliminationsschritt bei Spalte k:
(2 mult +1 add)2k = 6k flop
Insgesamt:
Bei m x n – Matrix mit m>n und Rang(A)=n: n2 (3m-n)
91
2
1
23 )(26*)1(nk
nOnkk
Anwendung des QR-Verfahren bei
- schlecht konditioniertem Gleichungssystem
- überbestimmtem Gleichungssystem mit vollem Rang
(an Stelle der Normalgleichung), wie oben beschrieben
- allgemeinem nichtquadratischen System in der Form
QAP = R mit Permutation P zum Vertauschen von Spalten.
(P ist nötig, um einen Block vollen Ranges nach vorne/oben zu
transportieren)
Beispiel:
92
10
00
00
- Entdeckung fast linear abhängiger (eigentlich
überflüssiger) Gleichungen oder Unbekannter
(numerische Bestimmung des Rangs von A)
- Reduktion der Matrix auf den wesentlichen Teil
(Noise-reduction)
93
SQRQSRQSR
QQA 111210
)(
3.10 Regularisierung
In vielen praktischen Anwendungen hat man zwar ein
überbestimmtes lineares Gleichungssystem vorliegen, aber so,
dass die Normalmatrix ATA auch noch (fast) singulär ist!
Dadurch erhält man bei der Lösung dieses Problems einen
Vektor x, der extrem groß ist:
Ist in Bx=b die Matrix B (fast) singulär
||inv(B)|| sehr groß
|| x || = || inv(B)*b || sehr groß
94
Durch Mess/Rundungsfehler enthält aber die rechte Seite b
viele kleine Störungen (noise, Rauschen), die in der
berechneten Näherungslösung x dann sehr groß werden, so
dass - selbst bei exakter Rechnung - x unbrauchbar ist.
95
bBxbBbBbbBx 1111 )(~
Störanteil
Viel größer als x
96
2
2
22
2min xbAxx
Ausweg:
Suche ‚vernünftige’ Least Squares Lösung durch
Minimierung mit Nebenbedingung:
‚x soll nicht zu groß werden’.
bAxIAA TT 2
Minimerung Nullstelle der Ableitung führt auf das sog.
regularisierte Gleichungssystem
Idee: Verschiebe ATA durch Aufaddieren von 2 I , so dass
die neue Matrix besser konditioniert ist.
Dann ist
Daher führen in dem neuen Gleichungssystem die Rausch-
komponenten in b nicht mehr zu einem extremen Anwachsen
der Lösung x.
Man weiß, dass die gesuchte Lösung x nicht zu groß sein
kann, und dies wird durch die Regularisierung gewährleistet.
97
22
2 )( AAinvIAAinv TT
γ heißt Regularisierungsparameter und die hier
beschriebene Methode heißt
Tikhonov-Regularisierung.
Regularisierung muss häufig angewendet werden bei
Problemen der Bildverarbeitung
(z.B. bei verrauschten, unscharfen Bilder)
98
- Gauss-Elimination,
- Normalengleichung und QR-Zerlegung,
- Regularisierung
sind die wichtigsten Werkzeuge zur direkten Lösung von
Ax=b.
Regularisierende Zusatzbedingungen:
- Beschränktheit der Lösung ||x||
- Ev. Dünnbesetztheit der Lösung (x1,0,…0,xk,0,…,0)
- Ev. Glattheit der Lösung Δxi ≈ 0
- Nähe zu schon bekannter Näherungslösung ||x-xapprox||
IV. Interpolation und Quadratur
4.1. Interpolation
4.1.1. Beispiel: Interpolation mit Tafelwerken für exp, sin, cos, log
Gesucht: exp(0.454) ;
Tabelliert: exp(0.45) und exp(0.46)
Lineare Interpolation.
1
x:
exp(x):
0.42
...
0.43
...
0.44
...
0.45
1.5683
0.46
1.5841
4.1.2. Allgemeine Problemstellung:
Gegeben:
Punktepaare (xj, yj), j=0,1,...,n , paarweise verschieden,
und linear unabhängige Funktionen gk(x) , k=0,1,...,n
Gesucht: Koeffizienten ck , k=0,1,...,n mit
für j=0,1,...,n
2
n
k
jjkkj yxgcxG0
!
)()(
nnnnn
n
y
y
c
c
xgxg
xgxg
00
0
000
)()(
)()(
(n+1)(n+1) lineares Gleichungssystem
3
Interpolation führt auf quadratisches Gleichungssystem!
Genauso viele Bedingungen wie Freiheitsgrade.
Man unterscheide Interpolation und Approximation!
Beispiel zu Approximation:
Ausgleichsgerade führt auf überbestimmtes Gleichungssystem
(Normalgleichung, QR)
4.1.3. Spezialfall Polynom-Interpolation:
Ansatzfunktionen gk(x) sind Polynome xk
Gesucht: Koeffizienten ck , k=0,1,...,n mit
für j=0,1,...,n
4
n
k
j
k
jkj yxcxp0
!
)(
nn
n
nn
n
y
y
c
c
xx
xx
0000
1
1
n+1 Gleichungen für n+1 Unbekannte: Teuer! O(n3)
4.1.4. Lösung mit Lagrange-Polynomen
Definiere geschickt Basis-Polynome:
n+1 Polynome vom Grad n, besser als 1, x, x2, .., xn
5
)())(()(
)())(()(:)(
110
110
,0 njjjjjj
njjn
jii ij
ij
xxxxxxxx
xxxxxxxx
xx
xxxL
jifalls
jifallsxL ij
0
1)(
Eigenschaften der Lagrange-Polynome: Grad n mit
n
jjj
xLcxp0
)()(Gesucht
das die Interpolationsbedingungen erfüllt.
6
nnnnnn
n
y
y
c
c
c
c
xLxL
xLxL
000
0
000
10
01
)()(
)()(
Aus diesen Eigenschaften ergibt sich zur Lösung des
Interpolationsproblems ein lineares Gleichungssystem für die
Koeffizienten:
1 -
0 -
Die Lösung ist cj = yj ; daher ist das Interpolationspolynom:
denn es ist .
Damit ist die Existenz eines interpolierenden Polynoms gezeigt!
Eindeutigkeit?
7
Hauptsatz der Algebra:
Jedes Polynom p(x) vom Grad n kann als Produkt von n
linearen Faktoren (den ev. komplexen Nullstellen zk )
geschrieben werden in der Form
)())(()(21 n
zxzxzxxp
n
j
jj xLyxp0
)()(
iiii
n
j
ijji yxLyxLyxp
)()()(0
Annahme: Es gibt zwei Polynome p und q vom Grad <= n,
die beide die Interpolationsbedingungen erfüllen.
Definiere neues Polynom h(x) := p(x) - q(x) . Dann gilt
und für j=0,1,...,n
8
)())(()(21 n
zxzxzxxh
0)()(:)( jjj xqxpxh
Lagrange zur Lösung der Interpolation nicht geeignet,
da numerisch problematisch und teuer.
Daher hat das Polynom h(x) den Grad n und n+1 Nullstellen.
Aus dem Hauptsatz der Algebra folgt daher, dass
= 0 sein muss, und daher ist h(x) 0, oder
p(x) q(x).
Also es existiert genau ein Interpolationspolynom!
9
Setze dazu als das interpolierende Polynom vom
Grade l, das genau an den Stellen die
Interpolations-Bedingungen erfüllt.
Zur Bestimmung von verwende die interpolierenden
Polynome vom Grade l-1 und , die
zu den Stützstellen , bzw. , gehören.
liii xxx ,,, 1
lii xx ,,1 1,, lii xx
4.1.5. Berechnung des Interpolationspolynoms
Löse nicht das lineare Gleichungssystem, da dies zu teuer ist!
Außerdem wird oft nur der Wert des Polynoms an einer einzigen
Stelle gesucht!
Idee: Berechne induktiv interpolierende Polynome für immer
mehr Stützstellen.
10
)()()()()(
)( 1,,,,1
,,
ili
liililiii
liixx
xpxxxpxxxp
li
ili
liilililii y
xx
yxxxp
0)()(,,
Wesentliche Formel :
i
ili
iliiilii y
xx
yxxxp
)(0)(,,
Beweis: Nachprüfen der Interpolationsbedingung.
und für alle anderen j mit i < j < i+l :
j
ili
jlijjij
jlii yxx
yxxyxxxp
)()()(,,
Wegen der Eindeutigkeit des interpolierenden Polynoms ist
jedes der so definierten Polynome genau die eindeutige
Lösung des jeweiligen Interpolationsproblems!
Daher ist die gesuchte Lösung!
11
)(,, xp lii
Anwendung der Formel (*) zur punktweisen Auswertung des
Interpolationspolynoms an einer Stelle :
Eingabe: Stützwerte (xj , yj ), j=0,...,n und Stelle ;
Ausgabe: .
x
x
?)( xp
)(,, xp lii
xTableau-artige Berechnung der Interpolationspolynome
aufsteigenden Grades, aber nur an der Stelle .
Erste Spalte sind konstante interpolierende Polynome, also
genau die jeweils vorgegebenen Werte yi .
Zweite Spalte sind interpolierende lineare Polynome zu
jeweils zwei benachbarten Stützstellen.
Letzte Spalte enthält das interpolierende Polynom zu allen
vorgegebenen Stützstellen. 12
Neville-Tableau:
Neue Stützstelle x_4 mit Wert y_4 kann in das Tableau
eingefügt werden und führt zu einer neuen ‚Zeile’ und einer
neuen Endspalte p_01234(x).
Auswertung des Tableaus jeweils nur an einer festen Stelle
x möglich.
13
1,0 00 yx
3,1 11 yx 2,3 22 yx
Beispiel: ,
,
Auswertung des interpolierenden Polynoms an der Stelle x=2
mit Lagrange, bzw. Neville-Tableau:
14
)30)(10(
)3)(1()(0
xxxL
)31)(01(
)3)(0()(1
xxxL
)13)(03(
)1)(0()(
2
xxxL
Lagrange:
, und
3
10
3
123
3
1)2(2)2(3)2(1)2( 210012 LLLp
153
10
03
5)32(2
5)02()2(012
pund daher auch
2
5
13
3)32(2)12()2(12
p
501
1)12(3)02()2(01
p
Neville-Tableau:
Da nach (*)
01
011001
)2()2()2()2()2(
xx
pxpxp
16
Folge von Interpolationspolynomen
zu 3 und 4 Stützstellen:
interpol.m