22
8 Numerik von Eigenwertproblemen 8.1 Das Lanczos-Verfahren Mit dem Lanczos-Verfahren bestimmt man f¨ ur eine hermitesche Matrix A n×n eine unit¨ are Matrix U mit U H AU = T, wobei T eine reelle symmetrische Tridiagonalmatrix ist, T = δ 1 γ 2 0 γ 2 . . . . . . . . . . . . γ n 0 γ n δ n Die Eigenwerte von T onnen dann mit einem anderen Verfahren berechnet werden. Zur hermiteschen A und q n \{0} definieren wir die Krylov-R¨aume K i (q,A) = span (q,Aq,...,A i1 q), K 0 (q,A)= {0}. Sei m der gr¨ oßte Index, so dass q,Aq,...,A m1 q linear unabh¨ angig sind. Dann gilt A : K m (q,A) K m (q,A), denn A m q asst sich nach Voraussetzung als Linearkombination der A i q,0 i < m, darstellen. Die Idee des Lanczos-Verfahrens besteht darin, eine Orthonormalbasis q 1 ,...,q i von K i (q,A) zu konstruieren, mit der sich A auf eine einfache Matrix transformieren l¨ asst. Sei |q| = 1. Setze als Start q 1 = q, q 0 =0. Konstruiere Vektoren q i , die der Rekursion (8.1) Aq i = γ i q i1 + δ i q i + γ i+1 q i+1 , i 1 gen¨ ugen mit δ i =(Aq i ,q i ) γ i+1 = |r i |, r i = Aq i γ i q i1 δ i q i q i+1 = r i γ i+1 falls γ i+1 =0. Es gilt dann γ i+1 0 und δ i =(Aq i ,q i ) ist reell, weil A als hermitesch vorausgesetzt wurde. Weiter ist |q i | =1. Satz Durch (8.1) werden eindeutige Vektoren q 1 ,...,q m bestimmt, so dass q 1 ,...,q i eine Ortho- normalbasis von K i (q,A) f¨ ur i =1,...,m bilden. Es gilt γ m+1 = 0, so dass (8.1) nach i = m abbricht. Beweis: Wir zeigen die Behauptung durch Induktion ¨ uber j . Offenbar ist q 1 eine Orthonormal- basis von K 1 (q,A). Im Induktionsschritt nehmen wir an, dass q 1 ,...,q i eine Orthonormalbasis von K i (q,A) bilden f¨ ur 1 i j und dass γ i > 0, also r i = 0, erf¨ ullt ist f¨ ur i<j . are r j = 0, so h¨ atte Aq j eine Basisdarstellung in K j (q,A), also dim K j +1 = dim K j , was nur ur j = m sein kann. F¨ ur j<m gilt daher r j =0. Damit ist q j +1 in (8.1) eindeutig bestimmt mit |q j +1 | = 1 sowie (γ j +1 q j +1 ,q j )=(Aq j ,q j ) (γ j q j 1 ,q j ) (δ j q j ,q j ) =(Aq j ,q j ) 0 (Aq j ,q j ) · 1=0, 77

8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

  • Upload
    buidan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

8 Numerik von Eigenwertproblemen

8.1 Das Lanczos-Verfahren Mit dem Lanczos-Verfahren bestimmt man fur eine hermitescheMatrix A ∈ Cn×n eine unitare Matrix U mit

UHAU = T,

wobei T eine reelle symmetrische Tridiagonalmatrix ist,

T =

δ1 γ2 0

γ2. . .

. . .. . .

. . . γn0 γn δn

Die Eigenwerte von T konnen dann mit einem anderen Verfahren berechnet werden.

Zur hermiteschen A und q ∈ Cn \ {0} definieren wir die Krylov-Raume

Ki(q, A) = span (q, Aq, . . . , Ai−1q), K0(q, A) = {0}.

Sei m der großte Index, so dass q, Aq, . . . , Am−1q linear unabhangig sind. Dann gilt

A : Km(q, A) → Km(q, A),

denn Amq lasst sich nach Voraussetzung als Linearkombination der Aiq, 0 ≤ i < m, darstellen.

Die Idee des Lanczos-Verfahrens besteht darin, eine Orthonormalbasis q1, . . . , qi von Ki(q, A)zu konstruieren, mit der sich A auf eine einfache Matrix transformieren lasst.

Sei |q| = 1. Setze als Startq1 = q, q0 = 0.

Konstruiere Vektoren qi, die der Rekursion

(8.1) Aqi = γiqi−1 + δiqi + γi+1qi+1, i ≥ 1

genugen mit

δi = (Aqi, qi)

γi+1 = |ri|, ri = Aqi − γiqi−1 − δiqi

qi+1 =ri

γi+1falls γi+1 6= 0.

Es gilt dann γi+1 ≥ 0 und δi = (Aqi, qi) ist reell, weil A als hermitesch vorausgesetzt wurde. Weiterist |qi| = 1.

Satz Durch (8.1) werden eindeutige Vektoren q1, . . . , qm bestimmt, so dass q1, . . . , qi eine Ortho-normalbasis von Ki(q, A) fur i = 1, . . . ,m bilden. Es gilt γm+1 = 0, so dass (8.1) nach i = mabbricht.

Beweis: Wir zeigen die Behauptung durch Induktion uber j. Offenbar ist q1 eine Orthonormal-basis von K1(q, A). Im Induktionsschritt nehmen wir an, dass q1, . . . , qi eine Orthonormalbasis vonKi(q, A) bilden fur 1 ≤ i ≤ j und dass γi > 0, also ri 6= 0, erfullt ist fur i < j.

Ware rj = 0, so hatte Aqj eine Basisdarstellung in Kj(q, A), also dimKj+1 = dimKj , was nurfur j = m sein kann. Fur j < m gilt daher rj 6= 0. Damit ist qj+1 in (8.1) eindeutig bestimmt mit|qj+1| = 1 sowie

(γj+1qj+1, qj) = (Aqj , qj)− (γjqj−1, qj)− (δjqj , qj)

= (Aqj , qj)− 0− (Aqj , qj) · 1 = 0,

77

Page 2: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

(γj+1qj+1, qj−1) = (Aqj , qj−1)− (γjqj−1, qj−1)− (δjqj , qj−1)

= (qj , Aqj−1)− γj − 0

= (qj , γj−1qj−2 + δj−1qj−1 + γjqj)− γj

= γj − γj = 0 weil γj reell.

Fur i < j − 1 ist

(γj+1qj+1, qi) = (Aqj , qi)− 0− 0 = (qj , Aqi) = (qj , γiqi−1 + δiqi + γi+1qi+1) = 0.

qj+1 ∈ Kj+1(q, A) folgt aus der Definition von qj+1. Damit bilden auch die Vektoren q1, . . . , qj+1

eine Orthonormalbasis von Kj+1(q, A).

Setze

Q=[q1| . . . |qi], Ji =

δ1 γ2 0

γ2. . .

. . .. . .

. . . γi0 γi δi

Dann kann man die Rekursion (8.1) als Matrixgleichung schreiben

AQi = QiJi + [0| . . . |0|γi+1qi+1](8.2)

= QiJi + γi+1qi+1eTi ,

wobei ei ∈ Ri den i-ten Einheitsvektor bezeichnet. Die j-te Spalte in (8.2) ergibt genau den Schrittj in der Rekursion (8.1). Die Ji sind reell, symmetrisch und unzerlegbar, also γj 6= 0 fur 2 ≤ j ≤ m.Die Matrizen Qi ∈ Cn×i besitzen orthonormale Spalten, QH

i Qi = Ii. Wenn das Verfahren bei mabbricht, ist γm+1 = 0 und daher

AQm = QmJm,

alsoQT

mAQm = Jm.

Die Eigenwerte von Jm sind auch Eigenwerte von A wegen

Jmx = λx ⇒ A(Qmx) = λQmx.

Im Allgemeinen kann man m = n erwarten, womit QTAQ = J erfullt ist. In diesem Fall ist J einezu A ahnliche reelle, symmetrische Tridiagonalmatrix.

Der Vorteil dieses Verfahrens ist der geringe Rechenaufwand vor allem bei schwach besetztenMatrizen. Ist man nur an den Eigenwerten interessiert, braucht nur die aktuelle Rekursion, nichtaber die gesamte Orthonormalbasis gespeichert zu werden. Der Speicherplatzbedarf ist daher sehrgering. Theoretisch bricht das Verfahren mit einem Index i = m ≤ n ab, wenn erstmals γi+1 = 0 ist,doch wird man wegen des Einflusses der Rundungsfehler in der Rechenpraxis kaum jemals ein γi+1 =0 finden. Es ist aber i.a. nicht notig, das Verfahren solange fortzusetzen bis γi+1 verschwindet, oderauch nur genugend klein wird. Man kann namlich unter wenig einschrankenden Bedingungen zeigen,dass fur i → ∞ die großten bzw. kleinsten Eigenwerte sehr rasch gegen den großten bzw. kleinstenEigenwert von A konvergieren. Wenn man nur an den extremen Eigenwerten von A interessiert ist,genugen deshalb relativ wenige Iterationen des Verfahrens, um diese mit ausreichender Genauigkeitdurch die extremen Eigenwerte einer Matrix Ji mit i << n zu approximieren.

Die Eigenwerte von J konnen mit dem Verfahren aus dem nachsten Abschnitt oder mit demQR-Verfahren aus Abschnitt 8.6 bestimmt werden.

78

Page 3: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

8.2 Bestimmung der Eigenwerte einer hermiteschen Tridiagonalmatrix Sei

J =

δ1 γ2 0

γ2. . .

. . .. . .

. . . γn0 γn δn

eine hermitesche Tridiagonalmatrix, insbesondere seien die δi reell. Neben dem QR-Verfahren ausAbschnitt 8.6 konnen die Eigenwerte von T auch direkt aus dem charakteristischen Polynom be-stimmt werden.

Wir konnen J als unzerlegbar voraussetzen, d.h γi 6= 0 fur alle i. Denn andernfalls zerfallt J inzwei Tridiagonalmatrizen, die man separat untersuchen kann. Wir entwickeln

pi(µ) = det(Ji − µIi), Ji =

δ1 γ2 0

γ2. . .

. . .. . .

. . . γi0 γi δi

nach der letzten Spalte:

p0(µ) : = 1, p1(µ) = δ1 − µ

pi(µ) = (δi − µ)pi−1(µ)− |γi|2pi−2(µ).

Fur das Newton-Verfahren bestimmen wir hieraus auch p′(µ) durch

p′0(µ) = 0, p′1(µ) = −1

p′i(µ) = −pi−1(µ) + (δi − µ)p′i−1(µ)− |γi|2p′i−2(µ).

Fur die Wahl des Startwerts verwende

Satz Fur die Eigenwerte λj der Matrix J gilt

|λj | ≤ max1≤i≤n

{|γi|+ |δi|+ γi+1|}, γ1 = γn+1 = 0.

Beweis: Dies ist gerade die Spaltensummennorm (siehe Satz 7.8).

In der Praxis sind diese Matrizen haufig positiv-definit und man mochte nur den kleinstenEigenwert bestimmen. Man hat dann mit x0 = 0 einen guten Startwert fur das Newton-Verfahrenund kann es mit dem Doppelschrittverfahren aus Abschnitt 4.7 beschleunigen. In diesem Fall istdie hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwertebestimmt werden, deutlich uberlegen.

8.3 Reduktion auf Hessenberggestalt

H =

∗ ∗∗ . . .

. . .. . .

0 ∗ ∗

heißt Hessenbergmatrix, es gilt also hij = 0 fur i < j − 1.

79

Page 4: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Fur eine allgemeine Matrix mochte man das gleiche Verfahren wie bei der Gauß-Eliminationanwenden, um A auf Dreiecksgestalt zu bringen. Hier benotigen wir jedoch eine Ahnlichkeitstrans-formation, um die Eigenwerte von A zu erhalten. Statt (abgesehen von Permutationen)

Ai = Li−1Ai−1

mussAi = Li−1Ai−1(Li−1)

−1

verwendet werden. Die Matrix-Multiplikation mit (Li−1)−1 zerstort jedoch die gerade eliminierte

Spalte. Eliminiere daher nur unterhalb der Subdiagonalen. Wie bei der Gauß-Elimination verwendedie Permutationsmatrizen

Pjk =

1. . .

10 · · · · · · · · · 1... 1

...

0...

. . .... 0

... 1...

1 · · · · · · · · · 01

. . .

1

, P−1jk = Pjk

mit Wirkung

PjkA wie A, aber Zeile j wird mit Zeile k vertauscht,

APjk wie A, aber Spalte j wird mit Spalte k vertauscht.

Die Frobenius-Matrizen sind definiert durch

Gj =

1. . . 0

. . .

1

−lj+1 j. . .

0...

. . .

−ln j 1

, G−1j =

1. . . 0

. . .

1

lj+1 j. . .

0...

. . .

ln j 1

.

mit Wirkung

AGj addiert das −lr j-fache der Spalte r auf die Spalte j von A fur k = j + 1, . . . , n

G−1j A addiert das −lr j-fache der Zeile j auf die Zeile r von A fur k = j + 1, . . . , n

80

Page 5: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Algorithmus: Die ersten i− 1 Spalten von Ai−1 habe Hessenberggestalt

Ai−1 =

∗ · · · · · · ∗ ∗ · · · ∗

∗ . . ....

......

. . .. . .

......

...

0 ∗ ∗ ∗ · · · ∗∗ ∗ · · · ∗

0...

...

∗ · · · ∗

Bestimme r mit|ar i| = max

i+1≤j≤n|aj i|

und bildeA′ = P−1

r i+1Ai−1Pr i+1.

P−1r i+1Ai−1 vertauscht wie gewunscht die Zeile i + 1 mit der Zeile r ≥ i + 1. Ai−1Pr i+1 vertauscht

daher die Spalte i+1 mit der Spalte r ≥ i+1, lasst mithin die Spalten 1 bis i unverandert, zerstortalso nicht die in der i-ten Spalte durchgefuhrte Pivotisierung.

Eliminiere nun die i-te Spalte mit Hilfe von a′i+1 i:

Ai = G−1i+1A

′Gi+1.

Auch hier werden durch A′Gi+1 die ersten i Spalten von A′ nicht verandert. Wir erhalten daher

H = T−1AT

mit einer Hessenbergmatrix H.

Analog zur QR-Zerlegung zur Losung eines linearen Gleichungssystems konnen wir A auchdurch Householder-Matrizen auf Hessenberggestalt bringen. Sei

A =

[

a11 cT

b B

]

mit b 6= 0.

Wir bestimmen dann w ∈ Cn−1 mit |w| = 1 und

Q1b = (In−1 − 2wwH)b = ke1.

Mit P1 =

[

1 0T

0 Q1

]

gilt dann

A1 = P1AP1 =

a11 cTQ1

k

0... Q1BQ1

0

.

Die ubrigen Spalten behandelt man ganz analog.

81

Page 6: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

8.4 Bestimmung der Eigenwerte einer Hessenbergmatrix Auch hier konnen die Eigen-werte alternativ mit dem QR-Verfahren aus Abschnitt 8.6 bestimmt werden.

Sei B eine unzerlegbare Hessenbergmatrix, also bi+1 i 6= 0 fur i = 1, . . . , n − 1. Fur µ ∈ Cbestimmen wir α, x1, . . . , xn−1 mit

(B − µI)x = αe1, xn = 1

oder

(8.3)

(b11 − µ)x1 + b12x2 + . . . + b1n−1xn−1 + b1nxn = α

b21x1 + (b22 − µ)x2 + . . . + b2n−1xn−1 + b2nxn = 0

. . .

bnn−1xn−1 + (bnn − µ)xn = 0.

Mit xn = 1 bestimmt man aus der letzten Gleichung xn−1, dann xn−2 und aus der zweiten Gleichungx1. Aus der ersten Gleichung erhalt man das α. Die Großen x1, . . . , xn−1, α sind daher eindeutig be-stimmt. Fasst man das System als Gleichung in x auf fur gegebenes α, so folgt aus der CramerschenRegel

1 = xn =α(−1)n−1b21b32 . . . bnn−1

det(B − µI),

also

α(µ) =(−1)n−1

b21b32 . . . bnn−1det(B − µI).

Damit ist α ein Vielfaches des gesuchten det(B − µI). Wir fassen das System (8.3) als ein Systemin x(µ) auf und differenzieren nach µ

(8.4)

(b11 − µ)x′1 − x1 + b12x′2 + . . . + b1n−1x

′n−1 = α′

b21x′1 + (b22 − µ)x′2 − x2 + . . . + b2n−1x

′n−1 = 0

. . .

bnn−1x′n−1 − xn = 0.

Mit xn = 1 bestimmt man hieraus x′n−1, . . . , x′1 und schließlich α′. Daher

α′(µ) =(−1)n−1

b21b32 . . . bnn−1det(B − µI)′.

Mit den Großen α und α′ kann das Newton-Verfahren durchgefuhrt werden.

8.5 Potenzmethoden

Die einfache Vektoriteration Sei A ∈ Cn×n eine diagonalisierbare Matrix. Fur die Eigenwerteλi in

Axi = λixi, |xi| = 1,

gelte|λ1| > |λ2| ≥ |λ3| ≥ . . . ≥ |λn|.

Sei v0 ein Vektor mit

(8.5) v0 =n∑

i=1

αixi, α1 6= 0.

82

Page 7: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Satz Fur das Verfahrenvj+1 = Avj = Aj+1v0

gilt unter obigen Voraussetzungen

(8.6) limj→∞

1

λj1

vj = α1x1,

oder genauer∣

vj

λj1

− α1x1

≤ c

λ2

λ1

j

.

Beweis: Mit der Darstellung von v0 in (8.5) gilt

vj = Ajv0 =

n∑

i=1

λjiαixi,

daher∣

vj

λj1

− α1x1

=

n∑

i=2

λji

λj1

αixi

≤ c

λ2

λ1

j

In der Praxis normiert man die vj , beispielsweise durch

zj =1

τjvj ,

wobei τj die betragsmaßig großte Komponente von vj ist. Dann folgt aus (8.6)

limτj+1

τj= λ1, lim zj = αα1x1,

wobei α ein Normierungsfaktor ist.

Naturlich konvergiert das Verfahren auch, wenn λ1 ein k-facher Eigenwert mit |λ1| > |λk+1| ist,sofern A nach wie vor diagonalisierbar ist. Wie die obigen Formeln zeigen, konvergiert der normierteVektor vj gegen

∑ki=1 αjxj , der ebenfalls Eigenvektor zu λ1 ist.

Das Verfahren versagt offenbar schon, wenn es mehrere verschiedene Eigenwerte mit maximalemBetrag gibt. Insbesondere lasst sich das Verfahren bei reellen Matrizen nicht verwenden, wenn λ1, λ2

komplex konjugiert sind.

Bestimmung mehrerer Eigenwerte mit der einfachen Vektoriteration Wenn λ1 und x1mit der einfachen Vektoriteration bestimmt wurden, so kann man bei hermiteschen Matrizen aus-nutzen, dass die Eigenvektoren aufeinander senkrecht stehen. Man wahlt daher ein v0 ⊥ x1 undfuhrt mit v0 die einfache Vektoriteration durch. Wegen

vj =n∑

i=2

αiλjixi ⊥ x1

konvergiert vj/λj2 gegen α2x2, sofern α2 6= 0 und |λ2| > |λ3|. Ist λ1 = λ2, so konvergieren die

normierten vj gegen einen weiteren Eigenvektor von λ1.

Aufgrund von Rundungsfehlern ist vj 6⊥ x1. Man bestimmt daher βj aus vj = Avj−1 mit

vj + βjx1 ⊥ x1, vj = vj + βjx1,

83

Page 8: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

was man als Nachorthogonalisieren bezeichnet.

Bei unsymmetrischen Matrizen verwende Matrixdeflation:

Satz Sei A ∈ Rn×n und Ax = λx fur x 6= 0. Mit w = x+ |x|e1 und

H = I − 2wwT

|w|2

gilt dann H = H−1 und

B = HAH =

[

λ bT

0 C

]

Beweis: Fur die Householder-Matrix H gilt bekanntlich H = H−1 = HT . Da w in Richtungx+ |x|e1 zeigt, steht x− |x|e1 auf w senkrecht. Daher gilt H(|x|e1) = x und H−1x = |x|e1. Also

Be1 = H−1AHe1 = HA

(

x

|x|

)

= H

(

λx

|x|

)

= λe1.

Nach Bestimmung von B kann die Vektoriteration mit der Matrix C fortgesetzt werden.

Verwendung des Rayleigh-Quotienten Sei A hermitesch und vj = Ajv0 eine Naherung desersten Eigenvektors aus der Potenzmethode. Mit Hilfe des Rayleigh-Quotienten lasst sich die zu-gehorige Naherung des ersten Eigenwerts erheblich verbessern. Verwende

λ =(Avj , vj)

(vj , vj)=

(vj+1, vj)

(vj , vj).

Dann gilt

|λ− λ1| ≤ c

λ2

λ1

2j

falls α1 6= 0 in v0 =

n∑

i=1

αixi

im Gegensatz zu O((λ2/λ1)j) aus Satz 8.5.

Beweis: Fur v0 =∑

i αixi gilt wie im Beweis von Satz 8.5

vj = Ajv0 =n∑

i=1

λjiαixi,

λ =(Avj , vj)

(vj , vj)=

i |αi|2λ2j+1i

i |αi|2λ2ji

=|α1|2λ1 +

∑ni=2 |αi|2

(

λi

λ1

)2jλi

|α1|2 +∑n

i=2 |αi|2(

λi

λ1

)2j=

|α1|2λ1 + y

|α1|2 + z= f(y, z).

Wegen |λi/λ1| ≤ |λ2/λ1| ist

|y|, |z| ≤ c

λ2

λ1

2j

→ 0 fur j → ∞.

Nach Taylor giltf(y, z) = f(0, 0) + fy(y1, z1)y + fz(y2, z2)z

84

Page 9: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

mit |y1|, |y2| ≤ |y| und |z1|, |z2| ≤ |z|. Wegen

|fy| =∣

1

|α1|2 + z

≤ c fur |z| ≤ 1

2|α1|2

|fz| =∣

|α1|2λ1 + y

| |α1|2 + z|2∣

≤ c fur |z| ≤ 1

2|α1|2

folgt

λ = λ1 +O(∣

λ2

λ1

2j)

.

Also: Bei hermiteschen Matrizen die vorletzte Iterierte der Potenzmethode immer in denRayleigh-Quotienten einsetzen!

Allerdings wir diese Regel relativiert durch folgende Anmerkung. Statt der Potenzmethodekann man mit vergleichbarem Aufwand (eine Matrix-Vektor-Multiplikation pro Schritt) auch dasLanczos-Verfahren durchfuhren. In Ji+1 = UH

i+1AUi+1 bestehen die Spaltenvektoren aus einer Or-thonormalbasis des Krylov-Raum Ki+1(A, v0). Dann gilt

λmax(Ji+1) = maxx 6=0

(Ji+1x, x)

(x, x)= max

x 6=0

(UHi+1AUi+1x, x)

(x, x)= max

x 6=0

(AUi+1x, Ui+1x)

(Ui+1x, Ui+1x),

Im Lanczos-Verfahren wird der Rayleigh-Quotient von A uber den ganzen Krylov-Raum maximiertund nicht nur uber den eindimensionalen Teilraum span vi.

Die inverse Iteration nach Wieland Ist man nur am betragsmaßig kleinsten Eigenwert derregularen Matrix A interessiert, so kann man die inverse Iteration verwenden. Fur einen Startv0 ∈ Cn ist sie definiert durch

vj = A−1vj−1 = A−jv0.

Da dies mit der einfachen Vektoriteration mit Matrix A−1 ubereinstimmt, gilt Satz 8.5 sinngemaß.

Ist λ eine Schatzung des Eigenwerts λk, so verwende

vj = (A− λI)−1vj−1 = (A− λI)−jv0.

Fur diagonalisierbares A folgt aus

v0 =n∑

i=1

αixi, α1 6= 0,

dass

vj =n∑

i=1

αi(A− λI)−jxi =n∑

i=1

αi

(λi − λ)jxi

daher

(λk − λ)jvj = αkxk +n∑

i=1, i 6=k

αi

(

λk − λ

λi − λ

)j

xi.

Ist die Schatzung von λk gut, so konvergiert dieses Verfahren sehr schnell.

85

Page 10: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

8.6 Das QR-Verfahren Das QR-Verfahren ist fur allgemeine Matrizen A ∈ Cn×n definiertund liefert ziemlich sicher alle Eigenwerte von A. In jedem Schritt des Verfahrens muss eine QR-Zerlegung einer Matrix durchgefuhrt werden, dessen Aufwand sich vermindert, wenn die Matrixzuvor auf eine einfachere Gestalt gebracht wurde.

Wir definieren A1 = A und konstruieren schrittweise Matrizen Ai durch

Ai = QiRi, Ai+1 = RiQi,

wobei mit QiRi die Householder-Zerlegung in eine unitare Matrix Qi und eine rechte obere Drei-ecksmatrix Ri gemeint ist.

Satz Die Matrizen Ai, Qi, Ri sowie

Pi = Q1 . . . Qi, Ui = Ri . . . R1

haben die folgenden Eigenschaften:

(a) Ai+1 = QHi AiQi,

(b) Ai+1 = PHi APi, d.h. Ai+1 ist unitar ahnlich zu A,

(c) Ai = PiUi.

Beweis: (a) Aus Ai = QiRi folgt Q−1i AiQi = RiQi = Ai+1.

(b) folgt aus der sukzessiven Anwendung von (a).

(c) Aus (b) folgtQ1 . . . QiAi+1 = AQ1 . . . Qi,

also

PiUi = Q1 . . . Qi−1(QiRi)Ri−1 . . . R1 = Q1 . . . Qi−1AiRi−1 . . . R1

= AQ1 . . . Qi−1Ri−1 . . . R1 = APi−1Ui−1 = . . . = Ai.

Aus Ai+1 = RiQi und (b) folgt

PiRiQi = PiAi+1 = APi.

Wir setzen P0 = I und erhalten aus der letzten Gleichung

(8.7) PiRi = APi−1 fur alle i ≥ 0.

Mit dieser Matrizengleichung untersuchen wir nun, was mit dem”vorderen“ Teil von Pi geschieht.

Fur 1 ≤ r < n setzen wir

Pi =[

P(r)i |P (r)

i

]

, Ri =

[

R(r)i ∗

0 R(r)i

]

mit R(r)i ∈ Cr×r, R

(r)i ∈ C(n−r)×(n−r). Aus APi−1 = PiRi in (8.7) folgt

AP(r)i−1 = P

(r)i R

(r)i .

Wir fassen P(r)i R

(r)i z fur z ∈ Cr als Linearkombination der orthonormalen Spaltenvektoren von

P(r)i auf. Setze

P(r)i = Bild (P

(r)i ) = {P (r)

i z : z ∈ Cr}.Damit ist

AP(r)i−1 ⊂ P(r)

i

mit Gleichheit, wenn A und damit R(r)i regular ist. Also:

86

Page 11: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Der QR-Algorithmus ist eine Potenzmethode fur die Unterraume P(r)i .

Nun betrachten wir den Fall r = 1 genauer. Mit P0 = I folgt fur die erste Spalte in (8.7)

Ae1 = κp1

mit κ = (R1)11. Bezeichnen wir die erste Spalte von Pi mit pi, so folgt

κipi = Api−1 = Aie1,

d.h. abgesehen von der Normierung mit κi, die wegen |pi| = 1 notwendig ist, erhalten wir diePotenzmethode fur den Startvektor e1. Wenn es also nur einen betragsgroßten Eigenwert gibt undder zugehorige Eigenvektor x1 in der ersten Spalte von A vorkommt, so gilt κipi → x1.

Es gibt einen vollig analogen Zusammenhang des QR-Verfahrens mit der inversen Iteration.Aus (8.7) folgt wegen PH

i−1Pi−1 = I fur regulares A

PiRi = APi−1 ⇒ RiPHi−1 = PH

i A ⇒ PHi−1A

−1 = R−1i PH

i

⇒ A−HPi−1 = PiR−Hi ,(8.8)

wobei hier B−H = (B−1)H = (BH)−1 verwendet wurde. R−1i ist auch eine rechte obere Dreiecks-

matrix, somit ist R−Hi eine linke untere Dreiecksmatrix. Bezeichnen wir hier die letzte Spalte von

Pi mit pi, so folgt aus der letzten Spalte in (8.8)

A−Hpi−1 = κipi,

d.h. die pi sind die Iterierten einer inversen Iteration mit Matrix AH .

Satz Sei A diagonalisierbar mit

(8.9) |λ1| > |λ2| > . . . > |λn| > 0.

Es sei A = XDX−1, D = diag (λ1, . . . , λn), und die Matrix Y = X−1 besitze eine LR-Zerlegung.

Dann gilt fur die Elemente a(i)jk von Ai

limi→∞

a(i)jk → 0 fur j > k,

limi→∞

a(i)kk → λk fur k = 1, . . . , n

Bemerkung Die Voraussetzung, dass die Matrix Y eine Dreieckszerlegung besitzt, garantiertlediglich, dass die Eigenwerte im Grenzwert der Große nach auf der Hauptdiagonalen geordnetsind. Aufgrund von Rundungsfehlern durfte sich dies in jedem Fall einstellen.

Beweis: Sei X = QR die QR-Zerlegung von X mit rii > 0 und sei Y = LU die LR-Zerlegungvon Y . Wegen A = XDX−1 = QRDR−1QH gilt

(8.10) QHAQ = RDR−1.

QHAQ ist damit obere Dreiecksmatrix mit Diagonalelementen in der in (8.9) angegebenen Reihen-folge. Weiter ist

Am = XDmX−1 = QRDmLU = QRDmLD−mDmU.

Wegen

(DmLD−m)ij = lij

(

λi

λj

)m

=

0 fur i < j

1 fur i = j

→ 0 fur i > j

87

Page 12: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

istDmLD−m = I + Em mit lim

m→∞Em = 0.

Daher gilt

Am = QR(I + Em)DmU = Q(I +REmR−1)RDmU

=: Q(I + Fm)RDmU mit limm→∞

Fm = 0.

Nach obigem Lemma hangt die QR-Zerlegung (mit positiver Hauptdiagonale in R) stetig von denMatrixelementen ab. Da I = I · I die QR-Zerlegung von I ist, folgt fur die QR-Zerlegung

I + Fm = QmRm, Rm mit positiver Diagonale,

dass Qm → I und Rm → I. Wegen Ai = PiUi ist

Am = (QQm)(RmRDmU) = PmUm,

und da die QR-Zerlegung bis auf die Multipikation mit einer Diagonalmatrix eindeutig ist, folgthieraus: Es existieren unitare Diagonalmatrizen Dm mit

PmDm = QQm → Q.

Daher folgt aus Am+1 = PHmAPm

(8.11) DHmAm+1Dm = DH

mPHmAPmDm → QHAQ

(8.10)= RDR−1,

also

limm→∞

a(m+1)ij

d(m)j

d(m)i

=

{

λi falls i = j

→ 0 falls i > j.

Wegen |d(m)i | = 1 fur alle i also

limm→∞

a(m)ij =

{

λi falls i = j

→ 0 falls i > j.

Beispiel Fur die Matrix

A =

1 0 1

2 3 −1

−2 −2 2

mit den Eigenwerten λ1 = 3, λ2 = 2, λ3 = 1 und den Eigenvektoren

X =

−1 −1 −1

2 1 1

−2 −1 0

, X−1 =

1 1 0

−2 −2 −1

0 1 1

ist die Voraussetzung des letzten Satzes, dass X−1 eine LR-Zerlegung besitzen soll, nicht erfullt.Denn die Hauptuntermatrix X−1[2] ist singular, so dass spatestens im zweiten Schritt des Gauß-Algorithmus eine Zeilenvertauschung stattfinden muss. Nach 30 Schritten des QR-Verfahrens er-halten wir

A30 =

3.0000 −2.0000 2.9999

1.16e− 6 0.9999 −0.9999

1.16e− 6 6.69e− 5 1.9999

88

Page 13: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Die Diagonalelemente scheinen also gegen die Eigenwerte zu konvergieren, wobei diese nicht demBetrage nach geordnet sind. Nach weiteren 40 Schritten erhalt man

A70 =

3.0000 −3.5355 0.7071

1.48e− 13 1.9999 −1.0000

−7.52e− 19 −5.07e− 6 1.0000

Aufgrund von Rundungsfehlern bekommt man schließlich doch noch Konvergenz gegen eine Drei-ecksmatrix mit der Betragsgroße nach geordneten Eigenwerten.

Aus (8.11) folgt, dass die Elemente von Am oberhalb der Diagonale oszillieren und nur demBetrage nach konvergieren. Daher sagt man, dass der QR-Algorithmus

”im Wesentlichen“ konver-

giert.

Ist A eine reelle Matrix, so verlauft der ganze Algorithmus inR. Besitzt A komplexe Eigenwerte,so kann er in der angegebenen Form nicht konvergieren. Die Voraussetzung des obigen Satzes, dassalle Eigenwerte betragsmaßig verschieden sind, ist dann ja auch verletzt.

Ist A hermitesch, so sind wegen Ai+1 = PHi APi auch alle Iterierten hermitesch.

8.7 Rotations- und Reflektionsmatrizen Mit 0 ≤ φ < 2π und c = cosφ, s = sinφ ist dieRotationsmatrix zum Winkel φ auch Givens-Rotation genannt, definiert durch

U12(φ) =

[

c −s

s c

]

.

U12x bewirkt eine Drehung des Vektors x um den Winkel φ. Die Inverse ist naturlich die Drehungum den Winkel −φ, also

U12(φ)−1 = U12(−φ) =

[

c s

−s c

]

Wegen UT = U−1 sind Drehmatrizen orthogonal.

Im R

n setzen wir solche Matrizen ein, um Drehungen in der i, j-Ebene zu beschreiben

Uij = Uij(φ) =

1. . .

1c · · · · · · · · · −s... 1

...

0...

. . .... 0

... 1...

s · · · · · · · · · c1

. . .

1

.

Auch diese Matrizen sind orthogonal mit Uij(φ)−1 = UT

ij (φ). Die Multiplikation mit einer MatrixA hat die folgende Wirkung

UijA wie A, aber die Zeilenvektoren i und j werden verandert,

AUij wie A, aber die Spaltenvektoren i und j werden verandert

89

Page 14: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Solche Drehmatrizen werden zur Elimination von Elementen einer Matrix genutzt. Wir konnenuns auf den Fall n = 2 beschranken und bestimmen fur a, b ∈ C die Großen c, s ∈ C so, dassU12(a, b)

T = (r, 0)T ,

a 6= 0 : U12 =1

|a|2 + |b|2

|a| a

|a|b

− a

|a|b |a|

, r =a

|a|√

|a|2 + |b|2,(8.12)

a = 0, b 6= 0 : U12 =1

|b|

[

0 b

−b 0

]

, r = |b|.

Offenbar sind beide Matrizen unitar bzw. orthogonal, wenn a, b ∈ R.

Mit 0 ≤ φ < 2π und c = cosφ, s = sinφ ist die Reflektionsmatrix zum Winkel φ definiert durch

V12(φ) =

[

c s

s −c

]

Wegen

V12(φ) =

[

c −s

s c

][

1 0

0 −1

]

setzt sich V12x aus einer Spiegelung und einer Drehung zusammen. V12 ist symmetrisch und ortho-gonal, insbesondere V −1

12 = V12.

Im R

n oder Cn verwenden wir entsprechend

Vij = Vij(φ) =

1. . .

1c · · · · · · · · · s... 1

...

0...

. . .... 0

... 1...

s · · · · · · · · · −c1

. . .

1

.

Auch diese Matrizen sind symmetrisch und orthogonal mit Vij(φ)−1 = Vij(φ). Die Wirkung bei der

Multiplikation mit einer Matrix A ist analog zu Uij .

8.8 Beschleunigung des QR Algorithmus Sei A ∈ Cn×n eine beliebige Matrix. Ahnlichwie bei der inversen Iteration kann man durch Einfuhrung eines Shift-Parameters ki den QR-Algorithmus fur die Eigenwerte in der Nahe von ki beschleunigen. Der QR-Algorithmus mit Shift

ist dann: Setze A1 = A sowie

Ai − kiI = QiRi,

Ai+1 = RiQi + kiI.

Es gilt dannRi = QH

i (Ai − kiI)

90

Page 15: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

und

(8.13) Ai+1 = QHi (Ai − kiI)Qi + kiI = QH

i AiQi,

also ist Ai+1 wieder unitar ahnlich zu Ai. Wie zuvor schließt man hieraus, dass Ai+1 auch zu Aunitar ahnlich ist.

Satz SeienPi = Q1 . . . Qi, Ui = Ri . . . R1

Dann gilt

(8.14) PiUi = (A− kiI)(A− ki−1I) . . . (A− k1I).

Beweis: Aus (8.13) erhalten wir

(8.15) Ai+1 = PHi APi.

Wir zeigen (8.14) durch Induktion uber i. Fur i = 1 besagt (8.14)

P1U1 = Q1R1 = A− k1I,

was gerade der erste Schritt des QR-Verfahrens mit Shift ist.

Sei (8.14) fur i− 1 bewiesen. Dann folgt aus der Definition von Ai+1 und (8.15)

Ri = (Ai+1 − kiI)QHi = PH

i (A− kiI)PiQHi = PH

i (A− kiI)Pi−1.

Hieraus erhalt man durch Rechtsmultiplikation mit Ui−1 und Linksmultiplikation mit Pi

PiUi = (A− kiI)Pi−1Ui−1 = (A− kiI)(A− ki−1I) . . . (A− k1I)

nach Induktionsannahme.

Aus (8.14) folgt(AH − kiI)

−1 . . . (AH − k1I)−1en = PiU

−Hi en.

Da mit UHi auch U−H

i eine untere Dreicksmatrix ist, gilt

PiU−Hi en = σiPien

fur ein σi ∈ C. Damit ist die letzte Spalte von Pi ein Vielfaches der i-ten Iterierten des inversenVerfahrens fur die Matrix AH mit Start en und Shifts k1, . . . , ki.

Man kann also schnelle Konvergenz erwarten, wenn man ki als Rayleigh-Quotienten von AH an

der Stelle p(i−1)n , der letzten Spalte von Pi−1, wahlt. Es gilt

ki = (AHp(i−1)n , p(i−1)

n ) = (p(i−1)n , Ap(i−1)

n )(8.15)= (en, Aien) = a(i)nn.

Dieser Shift heißt Rayleigh-Quotienten Shift.

Da eine QR-Zerlegung bei einer vollbesetzten Matrix A O(n3) Operationen kostet, bringt mansie besser zuvor mit den Methoden aus den Abschnitten 8.1 oder 8.3 auf Tridiagonal- oder Hessen-berggestalt.

Liegt die MatrixA ∈ Cn×n in Hessenberggestalt vor, so berechnet man dieQR-Zerlegung besssermit den Drehmatrizen aus dem letzten Abschnitt. Sei A1 = A und k1 ∈ C ein Shift-Parameter,

beispielsweise k1 = a(1)nn . Mit einer Drehmatrix U12 ∈ Cn×n aus dem vorigen Abschnitt konnen

wir das Element a(1)21 eliminieren. Fur die folgende Elimination an der Stelle (3, 2) vewenden wir

91

Page 16: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

entsprechend eine Drehmatrix U23. Da Multiplikation von links nur die zweiten und dritten Zeileandert, bleibt die zuvor an der Stelle (2, 1) erzielte Null erhalten. Wir erhalten daher

R1 = Un−1n . . . U12(A1 − k1I)

mit einer rechten oberen Dreiecksmatrix R1. Die neue Iterierte ist dann

A2 = R1UH12 . . . U

Hn−1n + k1I.

Da die Multiplikation von rechts mit UHi i+1 nur die i-te und (i+1)-te Spalte von R1 verandert, besitzt

A2 wieder obere Hessenberggestalt. Die obere Hessenberggestalt bleibt also im ganzen Verlaufdes Algorithmus erhalten. Da der QR-Schritt hier nur O(n2) Operationen kostet, lohnt sich dievorbereitende Transformation von A.

Ist A hermitesch, so haben wir bereits gesehen, dass alle Ai hermitesch sind. Ist A eine hermi-tesche Tridiagonalmatrix, so mussen die Ai hermitesche Hessenbergmatrizen, also wiederum her-mitesche Tridiagonalmatrizen sein. In diesem Fall benotigen wir sogar nur O(n) Operationen furdie QR-Zerlegung.

Nimmt man bei jedem Schritt den Shift ki = a(i)nn, so kann man zeigen, dass das Element

a(i)nn−1 quadratisch gegen Null konvergiert, sofern der in a

(i)nn erscheinende Eigenwert einfach ist. In

diesem Fall konvergiert a(i)nn allerdings nicht notwendig gegen den betragsmaßig kleinsten Eigenwert,

weil diese Eigenschaft durch den Shift verloren geht. Ist a(i)nn−1 genugend klein, so kann man den

Algorithmus fur die (n − 1, n − 1)-Hauptuntermatrix fortsetzen. Analog verfahrt man, wenn einanderes Element der Subdiagonalen klein wird. Will man die Eigenwerte bis zu einer Genauigkeitε bestimmen, so hat sich die Abfrage

|a(i)k+1 k| ≤ ε(|a(i)kk |+ |a(i)k+1 k+1|)bewahrt. In diesem Fall fahrt man mit den beiden Untermatrizen A[k] und A[k + 1, n] fort.

Beispiel Wir testen den QR-Algorithmus mit der Shift-Strategue ki = a(i)nn an Hand der Hessen-

bergmatrix

A =

1 2 3 4

2 1 1 0

0 3 2 1

0 0 2 4

.

Die folgende Tabelle enthalt die Subdiagonalelemente mit dem gerade beschriebenen Abbruchkri-terium mit ε = 10−16.

i a21 a32 a431 2 3 22 1.83e0 −2.23e0 1.61e03 1.65e0 1.43e0 3.55e− 14 6.78e− 1 −3.65e0 3.82e− 25 7.63e− 1 1.17e0 −1.63e− 36 8.32e− 1 −5.32e− 1 3.93e− 67 1.18e0 1.52e− 1 −3.03e− 118 1.64e0 −4.97e− 2 1.62e− 219 −3.22e0 2.89e− 510 1.81e0 5.33e− 1011 −5.32e− 1 −2.48e− 1912 −4.46e− 313 5.89e− 814 −1.06e− 17

Die quadratische Konvergenz am Ende einer jeden Spalte lasst sich gut erkennen. Fur den QR-Algorithmus ohne Shift benotigt man fur diese Genauigkeit etwa 300 Iterationen.

92

Page 17: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Implizite Shifts Der Algorithmus des letzten Abschnitts zusammen mit der beschriebenen De-flationstechnik liefert ein gutes Verfahren zur Bestimmung aller Eigenwerte von A. Es gibt jedocheine Schwierigkeit. Ist A reell, so ist k1 = ann reell und alle Matrizen Ai sowie alle Shiftparame-ter ki bleiben reell. Da die inverse Iteration nur dann rasch konvergiert, wenn die Shifts gegeneinen Eigenwert von A konvergieren, kann der Algorithmus nicht effizient sein, wenn A komplexeEigenwerte besitzt. Anstatt mit komplexen Shifts zu arbeiten, wollen wir mit reellen Shifts eineQuasidreiecksgestalt

R11 ∗ . . . ∗R22

.... . .

...0 Rkk

mit Rii ∈ R oder Rii ∈ R2×2

herstellen, um dann die komplexen Eigenwerte aus den (2, 2)-Diagonalblocken zu berechnen. Zudiesem Zweck wird eine Variante des QR-Algorithmus hergeleitet, bei der die Shifts nicht expli-zit durchgefuhrt werden. Wir hatten eine Hessenbergmatrix B als unzerlegbar bezeichnet, wennbi+1 i 6= 0 fur alle i = 1, . . . , n− 1.

Lemma Es seien A,B,Q ∈ Cn×n, Q unitar und B eine unzerlegbare Hessenbergmatrix mit po-sitiven Subdiagonalelementen bi+1 i. Ist B = QHAQ, so sind B und Q eindeutig durch die ersteSpalte von Q festgelegt.

Beweis: Wir geben einen Algorithmus zur Berechnung von B und Q an.

Wir bezeichnen die Spalten von Q mit qi und die Spalten von B mit bi. Wir zeigen induktiv,dass die ersten k Spalten von Q und die ersten k − 1 Spalten von B eindeutig festgelegt sind. Furk = 1 ist das richtig, denn die erste Spalte von Q ist gesetzt.

Wegen QB = AQ und weil B Hessenbergmatrix ist, gilt

(8.16) bk+1 kqk+1 + bkkqk + . . .+ b1kq1 = Aqk.

Multiplikation dieser Gleichung mit qi liefert

bik = (Aqk, qi), i = 1, . . . , k.

Hierdurch ist die k-te Spalte von B außer bk+1 k festgelegt. Wegen bk+1 k 6= 0 folgt ebenfalls aus(8.16)

qk+1 =1

bk+1 k

(

Aqk −k

i=1

bikqi

)

und aus |qk+1| = 1 erhalt man wegen der Positivitat von bk+1 k auf eindeutige Weise bk+1 k undqk+1.

Unterbleibt in diesem Lemma die Forderung, dass bk+1,k > 0, so sind qk+1 und bk+1 k nur bisauf einen gemeinsamen Faktor vom Betrag 1 eindeutig bestimmt.

Satz Sei A eine unzerlegbare Hessenbergmatrix, k ein Shift-Parameter,

A− kI = QR, B = RQ+ kI

mit unzerlegbarem B. Dann gilt (vergleiche (8.13))

B = QHAQ,

und man kann B auch mit dem folgendem Algorithmus berechnen:

1. Bestimme eine unitare Matrix P ∈ Cn×n, so dass die erste Spalte von PH mit der ersten Spalte

93

Page 18: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

von Q ubereinstimmt.

2. Bestimme eine unitare Matrix U mit dem Householder Verfahren, so dass B = UPAPHUH eineobere Hessenbergmatrix ist.

Dann gilt Q = PHUH und B = B.

Beweis: Sind U1, U2, . . . , Un−2 die Householder Matrizen zur Transformation von PAPH aufHessenberggestalt und ist QH = Un−2Un−3 . . . U1P, so gilt B = QHAQ.

Wegen der speziellen Gestalt der Matrizen

Ui =

[

Ii 0

0 Ui

]

verandert die Linksmultiplikation mit Ui nicht die erste Zeile, also haben QH und P dieselbe ersteZeile. Damit haben auch P und QH dieselbe erste Zeile. Nach Lemma 8.8 gilt also Q = Q undB = B.

Der obige Algorithmus konzentriert die Wirkung des Shifts k in der Matrix P . Nachdem PAPH

berechnet worden ist, muss nur noch mit einem Standardverfahren PAPH auf Hessenberggestaltgebracht werden.

Um P zu bestimmen, haben wir die erste Spalte von Q zu berechnen. Es ist A − kI = QR,wobei R eine rechte obere Dreiecksmatrix ist. Ist Q = [q1| . . . |qn], so gilt

r11q1 = QRe1 = (A− kI)e1,

also ist die erste Spalte von Q eine Vielfaches der ersten Spalte

a = (a11 − k, a21, 0, . . . , 0)T

von A− kI. Wahlt man P mit Pa = ±|a|e1, so gilt PHe1 = ±a/|a| und die ersten Spalten von PH

und Q stimmen uberein. Man kann daher P als ebene Drehung wahlen, die die zweite Komponentena21 annulliert.

Bildet man hiermit PAPH , so erhalt man eine gestorte obere Hessenbergmatrix, in der zusatz-lich das Element an der Stelle (3, 1) besetzt ist. Durch Multiplikation von links mit einer DrehungU23 kann man dieses annullieren. Die Multiplikation mit U23 von rechts erzeugt ein von Null verschie-denes Element an der Stelle (4, 2). Allgemein hat man im k−ten Schritt ein von Null verschiedenesElement an der Stelle (k+1, k− 1), das durch eine Rotation Uk k+1 an die Stelle (k+2, k)

”gejagt“

wird (=chasing the bulge).

Als Shift wahlt man wie vorher den Rayleigh-Quotienten Shift oder auch auch den Wilkinson-

Shift, d.h. k als den Eigenwert von

[

a(i)n−1n−1 a

(i)n−1n

a(i)nn−1 a

(i)nn

]

,

der a(i)nn am nachsten liegt.

Wir beschreiben nun, wie man die impliziten Shifts verwenden kann, um komplexe Eiegenwertezu bestimmen. Dazu werden zwei QR-Schritte mit den Shifts k0 und k1 zu einem Schritt zusam-mengefasst. Ist A reelle obere Hessenbergmatrix und sind k0 und k1 konjugiert komplex, so kannman diesen Doppelschritt in reeller Arithmetik ausfuhren.

Der erste Schritt mit k0 werde ausgefuhrt und fuhre auf die Matrix

A1 = QH0 AQ0,

94

Page 19: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

anschließend folgt der zweite Schritt mit Shift k1,

A2 = QH1 A1Q1 = QH

1 QH0 AQ0Q1.

Dies kann man wieder mit folgendem Algorithmus durchfuhren:

1. Bestimme eine unitare Matrix U , die dieselbe erste Zeile wie QH1 QH

0 besitzt.

2. Transformiere UAUH auf obere Hessenberggestalt A2.

Wir bestimmen zuerst U . Es seien R0, R1 die oberen Dreiecksanteile der QR-Zerlegungen vonA− k0I bzw. A− k1I. Dann gilt nach (8.14)

Q0Q1R1R0 = (A− k1I)(A− k0I).

Da R1R0 eine Dreiecksmatrix ist, ist die erste Spalte von Q0Q1 Vielfaches der ersten Spalte a von(A − k1I)(A − k0I). Wir konnen also U als Householder-Matrix wahlen, die a auf ein Vielfachesvon e1 transformiert.

Da A obere Hessenberggestalt besitzt, sind nur die drei Komponenten a1, a2, a3 von a von Nullverschieden. Man rechnet leicht nach, dass

a1 = a211 − (k0 + k1)a11 + k0k1 + a12a21,

a2 = a21(

a11 + a22 − (k0 + k1))

,

a3 = a21a32.

Wir wahlen nun k0 und k1 als die Eigenwerte von

[

an−1n−1 an−1n

ann−1 ann

]

.

Dann giltk0 + k1 = an−1n−1 + ann, k0k1 = annan−1n−1 − ann−1an−1n.

Hiermit erhalt man fur die ai

a1 = a21

((ann − a11)(an−1n−1 − a11)− an−1nann−1

a21+ a12

)

,

a2 = a21(a22 + a11 − ann − an−1n−1),

a3 = a21a32.

Da man nur an der Richtung von a interessiert, kann man den gemeinsamen Faktor a21 fortlassenund hieraus U bestimmen. Auch bei komplex konjugierten Eigenwerten k0, k1 sind a1, a2, a3 reell.

Die Matrix UAUH ist ab der dritten Spalte eine Hessenbergmatrix, besitzt aber in den erstenzwei Spalten die

”Beule“

B =

[

a31 a32

a41 a42

]

.

Ahnlich wie zuvor kann man die Beule nach rechts unten jagen durch Matrizen der Form

Ui =

Ii 0 0

0 Hi 0

0 0 In−i−3

mit einer Householder Matrix Hi ∈ R3×3. Im letzten Schritt wird eine Drehung Un−1n benutzt.

95

Page 20: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Dieser Algorithmus konvergiert i.A. quadratisch. Es gibt allerdings Matrizen wie etwa

0 0 0 0 1

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

,

die unverandert bleiben. In der Praxis fuhrt man daher zunachst einen Schritt mit zufallig gewahltenShifts k0, k1 aus.

8.9 Berechnung der singularen Werte Sei A ∈ Rm×n mit m ≥ n. Falls m < n betrachteman AT statt A. Mit orthogonalen Matrizen U ∈ Rm×m und V ∈ Rn×n gilt dann

A = U

[

D

0

]

V T , D = diag (σ1, . . . , σn),

mit σ1 ≥ . . . ≥ σn ≥ 0 (siehe Abschnitt 7.7). Dann gilt

AAT = UΣΣTUT , ATA = V ΣTΣV T mit Σ =

[

D

0

]

,

es liegen also Jordansche Normalformen fur AAT und ATA vor. U besteht aus m orthonormalenEigenvektoren von AAT und V aus n orthonormalen Eigenvektoren von ATA. Man erhalt alsodie Singularwertzerlegung aus den Eigenvektoren von AAT und ATA. Das folgende Beispiel zeigtjedoch, dass diese Berechnungsmethode nicht sonderlich stabil ist.

Beispiel Sei

A =

1 1

ε 0

0 ε

, |ε| ≤ eps

mit der Maschinengenauigkeit eps. Dann gilt

ATA =

[

1 0 ε

1 ε 0

]

1 1

ε 0

0 ε

=

[

1 1 + ε2

1 + ε2 1

]

.

Mit

det(ATA− λI) = det

[

1− λ 1 + ε2

1 + ε2 1− λ

]

= (1− λ)2 − (1 + ε2)2

erhalten wir fur die singularen Werte σ1 =√2 + ε2 und σ2 = |ε|. Bei Rechnung mit Maschinenge-

nauigkeit eps erhalten wir statt ATA die Matrix

[

1 1

1 1

]

mit singularen Werten σ1 =√2 und σ2 = 0. Damit stimmen die singularen Werte nicht bis auf

Rechengenauigkeit uberein.

Das Verfahren von Golub und Reinsch vermeidet den gerade demonstrierten Effekt, indem eserst gar nicht das Produkt ATA bildet, sondern direkt die Matrix A bearbeitet. Im ersten Schritt

96

Page 21: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

dieses Verfahrens wird mit einer Householder-Matrix Q1 ∈ Rm×m die erste Spalte von A auf einVielfaches des ersten Einheitsvektors gebracht,

A =

∗ · · · ∗...

......

...∗ · · · ∗

, A′ = Q1A =

∗ · · · · · · ∗0 ∗ · · · ∗...

......

......

...0 ∗ · · · ∗

.

Anschließend werden mit einer n× n-Householder-Matrix der Form

P1 =

[

1 0

0 P1

]

die Elemente a13, . . . , a1n eliminiert,

A′′ = A′P1 =

∗ ∗ 0 · · · 00 ∗ · · · · · · ∗...

......

......

...0 ∗ · · · · · · ∗

.

Die erste Spalte von A′ wird dabei nicht verandert. Durch Fortsetzung dieses Prozesses wird A aufBidiagonalgestalt gebracht

(8.17) QAP := Qn . . . Q1AP1 . . . Pn−2 =

[

B

0

]

mit

B =

α1 β1 0. . .

. . .

. . . βn−1

0 αn

.

Wenn B = UΣV T die Singularwertzerlegung von B ist, so gilt

QT

[

U 0

0 Im−n

][

Σ

0

]

V TP T = QT

[

UΣV T

0

]

P T = A.

Wir brauchen daher nur die Singularwertzerlegung der Bidiagonalmatrix B zu bestimmen.

Die Matrix

BTB =

α21 α1β1 0

α1β1 α22 + β2

1 α2β2

. . .. . .

. . .

. . . α2n−1β

2n−2 αn−1βn−1

0 αn−1βn−1 α2n + β2

n−1

.

ist eine symmetrische Tridiagonalmatrix. Wir setzen sie als unzerlegbar voraus, also αi, βi 6= 0 furi = 1, . . . , n− 1.

Um BTB auf Diagonalgestalt zu bringen, wird eine Variante des QR-Verfahrens verwendet,die die explizite Berechnung von BTB vermeidet. Sei k ein Shiftparameter und Q der orthogonale

97

Page 22: 8 Numerik vonEigenwertproblemen - ifm.mathematik.uni ...dobro/num1/kap8.pdf · die hier vorgestellte Methode dem noch zu besprechenden QR-Verfahren, bei dem alle Eigenwerte bestimmt

Anteil der QR-Zerlegung von BTB − kI. Der Algorithmus besteht aus den folgenden Schritten:

1. Bestimme eine orthogonale Matrix P0, deren erste Spalte mit Q ubereinstimmt.

2. Transformiere BP0 auf Bidiagonalgestalt mit dem Verfahren aus (8.17).

Sei P = P0P1 . . . Pn−2, wobei P1, . . . , Pn−2 die Matrizen aus (8.17) bezeichnen, mit denen BP0 aufBidiagonalgestalt gebracht wird. Dann besitzt P dieselbe erste Spalte wie Q und

BT B = P TBT (Qn−1 . . . Q1)T (Qn−1 . . . Q1)BP = P TBTBP .

Da BT B und QTBTBQ tridiagonal sind, folgt aus Lemma 8.8, dass Q = P und BT B = QTBTBQgilt. BT B ist also die Tridiagonalmatrix, die man mit einem QR-Schritt mit Shift k ausgehend vonBTB erhalt.

Die erste Spalte von BTB − kI ist gegeben durch

(α21 − k, α1β1, 0, . . . , 0)

T ,

also kann P0 als Drehung U12 gewahlt werden, so dass das Element α1β1 annulliert wird. BP0 hatdann die Gestalt

∗ ∗ 0 0 0 . . .∗ ∗ ∗ 0 0 . . .0 0 ∗ ∗ 0 . . .0 0 0 ∗ ∗ . . .. . . . . . . . . . . . . . . . . .

Wir multiplizieren diese Matrix von links mit einer Drehung U12, die das Element (2, 1) eli-miniert. Das entstehende nichttriviale Elemente an der Stelle (1, 3) wird anschließend mit einerDrehung U23 durch Multiplikation von rechts eliminiert.

Allgemein wird das Element, das die Bidiagonalgestalt stort, durch Multiplikation von links mitUi i+1 von der Position (i+1, i) in die Position (i, i+2) gejagt, danach wird es durch Multiplikationvon rechts mit Ui+1 i+2 an die Position (i+ 2, i+ 1) transportiert.

Als Shift wahlt man wieder den Eigenwert von

[

α2n−1 + β2

n−2 αn−1βn−1

αn−1βn−1 α2n + β2

n−1

]

,

der α2n + β2

n−1 am nachsten ist.

98