07.10.2014 Aufrufe

Numerische Lineare Algebra - TU Chemnitz

Numerische Lineare Algebra - TU Chemnitz

Numerische Lineare Algebra - TU Chemnitz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong><br />

Oliver Ernst<br />

Professur <strong>Numerische</strong> Mathematik<br />

Wintersemester 2013/14


Inhalt I<br />

1 Organisatorisches<br />

2 Einleitung<br />

2.1 Vorbemerkungen<br />

2.2 Eigenwertaufgaben in den Anwendungen<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

4.1 Jacobi-Verfahren<br />

4.2 Bisektion<br />

4.3 Divide & Conquer - Verfahren<br />

4.4 Berechnung der Singulärwertzerlegung<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

5.1 Eigenwerte<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 2 / 177


Inhalt II<br />

5.2 Störungstheorie<br />

5.3 Householder-Transformationen und Givens-Rotationen<br />

5.4 Winkel und Abstand zwischen Unterräumen<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 3 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 25 / 177


Einleitung<br />

Nach dem Satz von Abel-Ruffini sind Polynomgleichungen ab Grad 5 nicht durch<br />

Wurzelziehen lösbar. Die Nullstellen des Polynoms<br />

p(z) = z n + a n−1 z n−1 + · · · + a 1 z + a 0<br />

sind die Eigenwerte seiner Frobenius-Begleitmatrix<br />

⎡<br />

⎤<br />

0 −a 0<br />

1 0 −a 1<br />

A =<br />

. .. . .. ⎢<br />

.<br />

∈ C n×n .<br />

⎥<br />

⎣ 1 0 −a n−2<br />

⎦<br />

1 −a n−1<br />

Ein Verfahren zur Berechnung von Eigenwerten mit endlich vielen Schritten würde<br />

somit zu einer Formel für die Nullstellen eines Polynomes führen.<br />

Das in diesem Kapitel betrachtete Verfahren, die QR-Iteration, berechnet die Schur-<br />

Zerlegung einer n × n Matrix in O(n 3 ) Operationen.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 26 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 27 / 177


Vektoriteration<br />

Der Prototyp aller numerischer Eigenwertverfahren ist die sog. Vektoriteration nach<br />

von Mises, auch Potenzmethode (engl. power method) genannt. Es beruht auf der<br />

Tatsache, dass für (nahezu) jeden Vektor q ∈ C n die Vektorfolge<br />

q, Aq, A 2 q, A 3 q, . . .<br />

zunehmend in Richtung eines Eigenvektors von A zum Eigenwert ρ(A) zeigt. In<br />

seiner einfachsten Form lautet das Verfahren wie folgt:<br />

Algorithmus 1 : Vektoriteration nach von Mises.<br />

Gegeben : A ∈ C n×n , q 0 ∈ C n .<br />

1 for k = 1 to . . . do<br />

2 z k ← Aq k−1<br />

3 q k ← z k /‖z k ‖ 2<br />

4 µ k ← q H k Aq k<br />

Wie man sieht, wird, allein schon um Gleitpunktüber-/unterlauf zu vermeiden, der<br />

Vektor zusätzlich in jedem Schritt normiert .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 28 / 177


Vektoriteration<br />

Ist A diagonalisierbar mit Eigenwerten<br />

|λ 1 | ≤ |λ 2 | ≤ · · · ≤ |λ n−1 | < |λ n |<br />

und einer Basis {v j } n j=1 aus zugehörigen Eigenvektoren, so gilt mit Startvektor<br />

q = γ 1 v 1 + · · · + γ n v n ,<br />

so gilt für die Richtung der Iterierten im k-ten Schritt<br />

A k q = λ k 1γ 1 v 1 + · · · + λ k nγ n v n<br />

( ( ) k ( ) )<br />

k<br />

= λ k λ1<br />

λn−1<br />

n γ 1 v 1 + · · · + γ n−1 v n−1 + γ n v n<br />

λ n λ n<br />

≈ λ k nγ n v n .<br />

Sofern nur γ n ≠ 0 klingen die übrigen Komponenten der Iterierten (linear) ab mit<br />

mindestens der Rate |λ n−1 /λ n |.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 29 / 177


Vektoriteration<br />

Beispiel<br />

Wir betrachten die Matrix (MATLAB-Notation)<br />

A = diag(100 : −1 : 1) + 1 triu(ones(100), 1)<br />

3<br />

mit Eigenwerten<br />

Λ(A) = {1, 2, . . . , 100}.<br />

und wenden die Vektoriteration an mit Startvektoren<br />

q 0 = ones(100, 1) bzw.<br />

q 0 = ∑ 99<br />

j=1 v j.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 30 / 177


Vektoriteration<br />

Beispiel<br />

q 0 = ones(100, 1) ‖Aq k − µ k q k ‖ 2 ∡(q k , v 100 ) |100 − µ k |<br />

10 1<br />

10 −1<br />

10 −3<br />

10 −5<br />

0 200 400 600 800 1000<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 31 / 177


Vektoriteration<br />

Beispiel<br />

q 0 = v 1 + · · · + v 99 ‖Aq k − µ k q k ‖ 2 ∡(q k , v 100 ) |100 − µ k |<br />

∡(q k , v 99 ) |99 − µ k |<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

0 1000 2000 3000 4000 5000<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 32 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 33 / 177


Unterraumiteration<br />

Vektoriteration und Unterraumiteration<br />

Die durch die Vektoriteration erzeugte Folge {q k } k≥0 kann ebenso als Folge eindimensionaler<br />

Unterräume<br />

S k = span{q k }, k ≥ 0,<br />

betrachtet werden, die dann einfach charakterisiert sind durch<br />

S 0 = span{q 0 }, S k = AS k−1 = A k S 0 , k ≥ 1.<br />

Die Konvergenz der Vektoriteration entspricht dann der Konvergenz der eindimensionalen<br />

Unterräume S k gegen den dominanten Eigenraum span{v n }.<br />

Eine naheliegende Verallgemeinerung, die Unterraumiteration (engl. subspace iteration),<br />

betrachtet dieselbe Iteration mit d-dimensionalen Unterräumen 1 < d ≤ n.<br />

Wir werden sehen: unter der Voraussetzung |λ n−d+1 | > |λ n−d | konvergiert diese<br />

Unterraumfolge für (nahzu) jeden Startraum S 0 gegen span{v n−d+1 , . . . , v n }, den<br />

d-dimensionalen invarianten Unterraum aufgespannt durch die Eigenvektoren der d<br />

betragsgrößten Eigenwerte, mit der linearen Rate |λ n−d /λ n−d+1 |.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 34 / 177


Unterraumiteration<br />

Invariante Unterräume<br />

Sei U ⊂ C n ein Unterraum sowie A ∈ C n×n . Mit AU bezeichnen wir den Vektorraum<br />

AU := {Au : u ∈ U }.<br />

Klar: dim AU ≤ dim U .<br />

Ein Unterraum heißt invariant (unter A, oder A-invariant), falls AU ⊂ U .<br />

Eigenräume von A sind A-invariant.<br />

Ist das Minimalpolynom von A gegeben durch p(λ) = ∏ m<br />

j=1 (λ − λ j) nj , so<br />

sind die Räume<br />

N (A − λ j I ) nj , j = 1, . . . , m,<br />

invariant. Ist A nicht diagonalisierbar, so besitzen diese invarianten<br />

Unterräume keine Basis aus Eigenvektoren.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 35 / 177


Unterraumiteration<br />

Invariante Unterräume<br />

Bilden die Spalten der Matrix U ∈ C n×d eine Basis des d-dimensionalen<br />

Unterraumes U , so ist U genau dann A-invariant, wenn es eine Matrix<br />

B ∈ C d×d gibt mit<br />

AU = UB. (3.1)<br />

Gilt (3.1), so ist jeder Eigenwert von B auch Eigenwert von A. Ist x<br />

Eigenvektor von B zum Eigenwert λ, so ist Ux Eigenvektor von A zum<br />

Eigenwert λ.<br />

Gilt (3.1) und sind die Spalten von U orthonormal, so ist B = U H AU .<br />

Ist der Unterraum U invariant unter A, so gilt<br />

U ⊥ ist invariant unter A H .<br />

Ist Λ(A) = {λ 1 , . . . , λ n } und sind λ 1 , . . . , λ d die zu U gehörenden<br />

Eigenwerte von A, so sind λ d+1 , . . . , λ n die zu U ⊥ gehörenden Eigenwerte<br />

von A H .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 36 / 177


Unterraumiteration<br />

Verschieben des Ursprungs<br />

Für einen beliebigen Shift ρ ∈ C besitzt A − ρI dieselben Eigenvektoren wie A, zu<br />

den verschobenen Eigenwerten {λ − ρ : λ ∈ Λ(A)}. Ordnet man diese so, dass<br />

|λ 1 − ρ| ≤ |λ 2 − ρ| ≤ · · · ≤ |λ n − ρ|,<br />

so beträgt die Konvergenzrate der Unterraumiteration für A − ρI nun<br />

λ n−d − ρ<br />

∣λ n−d+1 − ρ∣<br />

und kann durch Wahl von ρ optimiert werden.<br />

Typischerweise wählt man als Shift bereits berechnete Näherungen an Eigenwerte<br />

(von A), und ändert diesen im Lauf der Iteration, die dann lautet<br />

S k = (A − ρ k I )S k−1 .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 37 / 177


Unterraumiteration<br />

Verschieben des Ursprungs<br />

m Schritte einer solchen „instationären“ Iteration ergeben also zusammengefasst<br />

S m = (A − ρ m I )(A − ρ m−1 I ) · · · (A − ρ 1 I )S 0 =: p(A)S 0<br />

mit einem Polynom p vom Grad m, ein mehrfacher Shift der Ordnung m. Bei zyklischer<br />

Wiederholung dieser m Schritte spricht man von der durch p(A) erzeugten<br />

Iteration.<br />

Umnummerieren der Eigenwerte so, dass<br />

|p(λ 1 )| ≤ |p(λ 2 )| ≤ · · · ≤ |p(λ n )|<br />

ergibt nun die Konvergenzrate |p(λ n−d )/p(λ n−d+1 )|.<br />

In der Praxis ist die Iteration „noch instationärer“, d.h. es werden bei jedem Durchlauf<br />

m neue Shifts ρ j , also ein anderes Polynom gewählt. Wir betrachten im Weiteren<br />

der Einfachheit halber den stationären Fall mit einem festen Polynom.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 38 / 177


Unterraumiteration<br />

Orthogonalisierung<br />

Wir nehmen dabei zunächst an, dass in jedem Durchlauf die Dimension des Unterraums<br />

erhalten bleibt, d.h. dass<br />

N (p(A)) ∩ S k = {0}.<br />

Bilden die Vektoren s (k−1)<br />

1 , . . . , s (k−1)<br />

d<br />

eine Basis von S k−1 , so bilden<br />

p(A)s (k−1)<br />

1 , p(A)s (k−1)<br />

2 , . . . , p(A)s (k−1)<br />

d<br />

eine Basis von S k = p(A)S k−1 . Um zu verhindern, dass die so generierten Basisvektoren<br />

alle gegen einen dominanten Eigenvektor von p(A) konvergieren, werden<br />

diese in jedem Schritt orthogonalisiert:<br />

gegeben eine Orthonormalbasis q (k−1)<br />

1 , . . . , q (k−1)<br />

d<br />

von S k−1 , so bilden<br />

p(A)q (k−1)<br />

1 , p(A)q (k−1)<br />

2 , . . . , p(A)q (k−1)<br />

d<br />

eine Basis von S k .<br />

Durch anschliessende Orthonormalisierung (z.B. Gram-Schmidt) erhält man<br />

eine Orthonormalbasis q (k)<br />

1 , . . . , q (k)<br />

d<br />

von S k .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 39 / 177


Unterraumiteration<br />

Simultane Iteration<br />

Es ergibt sich die sog. simultane Iteration (engl. simultaneous iteration).<br />

In Matrixnotation: Fasst man die orthonormalen Basisvektoren von S k−1 zu Q k−1 ∈<br />

C n×d zusammen, so lauten diese beiden Schritte<br />

S k = p(A)Q k−1 , S k = Q k R k ,<br />

wobei letzteres eine QR-Zerlegung von S k in eine Matrix Q k ∈ C n×d mit orthonormalen<br />

Spalten sowie einer invertierbaren oberen Dreiecksmatrix R k ∈ C d×d<br />

darstellt.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 40 / 177


Unterraumiteration<br />

Simultane Iteration<br />

Aufgrund der oberen Dreiecksstruktur von R k bilden die Spalten q (k)<br />

1 , . . . , q (k)<br />

d<br />

von<br />

Q k nicht nur eine Orthonormalbasis von p(A)S k−1 , es gilt vielmehr<br />

span{p(A)q (k−1)<br />

1 , . . . , p(A)q (k−1) } = span{q (k)<br />

1 , . . . , q (k)<br />

j }, j = 1, . . . , d.<br />

j<br />

Die simultane Iteration erzeugt somit eine Folge geschachtelter Unterräume der<br />

Dimensionen 1 bis d.<br />

Ist A diagonalisierbar und sind v 1 , . . . , v n die Eigenvektoren zu den Eigenwerten<br />

λ 1 , . . . , λ n von A mit<br />

so gilt<br />

|p(λ 1 )| ≤ |p(λ 2 )| ≤ · · · ≤ |p(λ n )|<br />

span{q (k)<br />

1 , . . . , q (k)<br />

j } → span{v n−j+1 , . . . , v n }, j = 1, . . . , d,<br />

sofern |p(λ n−j+1 )| > |p(λ n−j )|.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 41 / 177


Unterraumiteration<br />

QR-Iteration<br />

Das QR-Verfahren entspricht simultaner Iteration mit d = n beginnend mit<br />

Q 0 = I . Hierbei wird also eine Folge geschachtelter Unterräume erzeugt, die<br />

jeweils gegen invariante Unterräume von A konvergieren.<br />

Alternativ kann das QR-Verfahren als Folge von Orthonormalbasen<br />

betrachtet werden, bezüglich derer im Grenzfall die Matrix A Schur-Form<br />

annimmt. Es wird sozusagen das kartesische Koordinatensystem im C n<br />

geeignet „zurechtrotiert“.<br />

Neben QR-Zerlegung sind auch andere Transformationen gebrauchlich, etwa<br />

LR-Zerlegungen. Diese sollten nach Moglichkeit die vorhandene Struktur in A<br />

erhalten.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 42 / 177


Unterraumiteration<br />

Invarianzerkennung bei QR-Iteration<br />

Eine Moglichkeit, das Auftreten (hinreichend) invarianter Unterräume im Lauf der<br />

Iteration zu erkennen ist wie folgt: ist im k-ten Schritt span{q (k)<br />

1 , . . . , q (k)<br />

j } A-<br />

invariant, so sei<br />

A k := Qk H AQ k .<br />

Die A-Invarianz von span{q (k)<br />

1 , . . . , q (k)<br />

j } führt bei entsprechender Partitionierung<br />

zu<br />

[ ]<br />

A (k)<br />

1,1 A (k)<br />

1,2<br />

A k =<br />

A (k)<br />

2,1 A (k)<br />

2,2<br />

und, bei näherungsweiser Invarianz, A (k)<br />

2,1 ≈ O.<br />

mit<br />

A (k)<br />

2,1 = O<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 43 / 177


Unterraumiteration<br />

Invarianzerkennung bei QR-Iteration<br />

Diese Konvergenz wird in bei mehreren Unterräumen gleichzeitig auftreten, sodass<br />

A k gegen eine block obere Dreiecksform konvergiert:<br />

⎡<br />

⎤<br />

B 1,1 B 1,2 · · · B 1,m<br />

O B 2,2 · · · B 2,1<br />

A k → ⎢<br />

⎣<br />

.<br />

. .. . ..<br />

⎥<br />

. ⎦<br />

O · · · O B m,m<br />

mit (kleinen) quadratischen Diagonalblocken B 1,1 , . . . , B m,m , deren Eigenwerte<br />

leicht zu bestimmen sind. Im Extremfall besitzen alle Eigenwerte paarweise verschiedene<br />

Beträge und die Diagonalblöcke sind alle 1 × 1.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 44 / 177


Unterraumiteration<br />

Rekursive Darstellung bei QR-Iteration<br />

Die Ähnlichkeitstransformation A ↦→ Q H k AQ k muss nicht explizit berechnet werden:<br />

definiert man<br />

˜Q k := Q H k−1Q k ,<br />

so ergeben sich unmittelbar<br />

Q k = ˜Q 1 ˜Q2 · · · ˜Q k sowie A k = ˜Q H k A k−1 ˜Qk ,<br />

d.h. A k kann bei Vorliegen von ˜Q k aus A k−1 berechnet werden. Ferner gilt<br />

p(A k−1 ) = ˜Q k R k ,<br />

sodass ein QR-Schritt zusammengefasst werden kann als<br />

p(A k−1 ) = ˜Q k R k , A k = ˜Q H k A k−1 ˜Qk . (3.2)<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 45 / 177


Unterraumiteration<br />

Rekursive Darstellung bei QR-Iteration<br />

Fazit:<br />

Ein QR-Schritt entspricht einem Schritt simultaner Iteration angewandt auf<br />

die Unterräume span{e 1 , . . . , e j }, j = 1, . . . , n. Hierauf folgt ein unitärer<br />

Basiswechsel, bezüglich dessen die Unterräume wieder die Darstellung<br />

span{e 1 , . . . , e j }, j = 1, . . . , n besitzen.<br />

Bei der simultanen Iteration bleibt die Matrix A unverändert und die<br />

Unterräume ändern sich; beim QR-Verfahren ändert sich die Matrix und die<br />

Unterräume besitzen stets die Darstellung span{e 1 , . . . , e j }, j = 1, . . . , n,<br />

d.h. die Standardbasis wird zunehmend invariant bezüglich der aktuellen<br />

Matrix.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 46 / 177


Unterraumiteration<br />

Strukturerhaltung bei QR-Iteration<br />

Besitzt A spezielle Struktur (reell, Hermitesch, symmetrisch, unitär,<br />

symplektisch, etc.), so ist diese nach Möglichkeit bei jedem QR-Schritt zu<br />

erhalten.<br />

Bei reellen Matrizen kann man komplexe Rechnung durch Shiften mit<br />

konjugiert-komplexen Paaren vermeiden. In diesem Fall konvergiert A k gegen<br />

eine block obere Dreiecksmatrix mit Diagonalblöcken der Größe 1 × 1 bzw.<br />

2 × 2.<br />

Eine Struktur, die man bei jeder Matrix herstellen und in jedem QR-Schritt<br />

erhalten kann, ist obere Hessenberg-Gestelt. Dies bringt auch den<br />

wesentlichen Vorteil, dass ein QR-Schritt mit O(n 2 ) anstatt O(n 3 )<br />

arithmetischen Operationen durchgeführt werden kann. Gelingt es, alle<br />

invarianten Unterräume in O(n) Iterationen zu finden, erfordert das gesamte<br />

Verfahren somit O(n 3 ) Operationen.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 47 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 48 / 177


Reduktion auf Hessenberg-Gestalt<br />

Eine Matrix A = [a i,j ] ∈ C n×n heißt obere Hessenberg-Matrix, falls<br />

a i,j = 0 falls i > j + 1.<br />

Im 6 × 6-Beispiel: (× bezeichnet beliebige Einträge, i.A. ≠ 0)<br />

⎡<br />

⎤<br />

× × × × × ×<br />

× × × × × ×<br />

0 × × × × ×<br />

⎢ 0 0 × × × ×<br />

⎥<br />

⎣ 0 0 0 × × × ⎦<br />

0 0 0 0 × ×<br />

Diese Gestalt ist stets durch eine untäre Ähnlichkeitstransformation erreichbar.<br />

Satz 3.1<br />

Zur jeder Matrix A ∈ C n×n existiert eine unitäre Matrix U ∈ C n×n sodass<br />

obere Hessenberg-Matrix ist.<br />

U H AU = H<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 49 / 177


Reduktion auf Hessenberg-Gestalt<br />

Algorithmus 2 : Transformation auf Hessenberg-Gestalt.<br />

Gegeben : A ∈ C n×n .<br />

1 for k = 1 to n − 2 do<br />

2 [v, β] ← house(A(k + 1 : n, k))<br />

3 A(k + 1 : n, k : n) ← (I − βvv H )A(k + 1 : n, k : n)<br />

4 A(1 : n, k + 1 : n) ← A(1 : n, k + 1 : n)(I − βvv H )<br />

Dabei liefert die Funktion [v, β] = house(x ) zu x ∈ C n einen Vektor v ∈ C n , den<br />

sog. Householder-Vektor, mit v 1 = 1 sowie β ∈ R sodass<br />

P = I − βvv H unitär und Px = ‖x ‖ 2<br />

x 1<br />

|x 1 | e 1.<br />

Dieser Algorithmus erfordert 10n 3 /3 Flops, 4n 3 /3 zusätzliche Flops falls U explizit<br />

benötigt wird.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 50 / 177


Reduktion auf Hessenberg-Gestalt<br />

Wir zeigen das Vorgehen der Reduktion auf Hessenberg-Gestalt durch Householder-<br />

Transformationen anhand einer beliebigen 6 × 6-Matrix A auf.<br />

Bezeichnet ˜P 1 ∈ C (n−1)×(n−1) eine Householder-Transformation, welche den Vektor<br />

A(2 : n, 1) auf ein Vielfaches von e 1 ∈ C n−1 abbildet, so ergibt<br />

⎡<br />

⎤ ⎡<br />

⎤<br />

× × × × × × × × × × × ×<br />

[ ]<br />

× × × × × ×<br />

× × × × × ×<br />

1 0<br />

P1 H T<br />

A =<br />

× × × × × ×<br />

0 ˜P1 ⎢× × × × × ×<br />

=<br />

0 × × × × ×<br />

⎥ ⎢ 0 × × × × ×<br />

⎥<br />

⎣× × × × × × ⎦ ⎣ 0 × × × × × ⎦<br />

× × × × × × 0 × × × × ×<br />

Anschließende Multiplikation von rechts mit P 1 lässt die erste Spalte unverändert,<br />

sodass wir mit A 1 := P H 1 AP 1 eine zu A unitär ähnliche Matrix erhalten mit Nullen<br />

unterhalb der ersten Nebendiagonalen in der ersten Spalte.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 51 / 177


Reduktion auf Hessenberg-Gestalt<br />

Mit der zweiten Spalte verfahren wir analog: bildet die Householder-Matrix ˜P 2 ∈<br />

C (n−2)×(n−2) den Vektor A 1 (3 : n, 2) auf ein Vielfaches von e 1 ∈ C n−3 ab, so<br />

wirkt die unitäre Matrix von links multipliziert<br />

[ ]<br />

P2 H I2 O<br />

=<br />

O ˜P 2<br />

nur auf die Zeilen 3 bis n, analog P 3 von rechts multipliziert nur auf Spalten 3 bis<br />

n, und wir erhalten<br />

⎡<br />

⎤<br />

× × × × × ×<br />

× × × × × ×<br />

A 2 = (P 1 P 2 ) H A(P 1 P 2 ) =<br />

0 × × × × ×<br />

⎢ 0 0 × × × ×<br />

⎥<br />

⎣ 0 0 × × × × ⎦<br />

0 0 × × × ×<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 52 / 177


Reduktion auf Hessenberg-Gestalt<br />

In 2 weiteren Schritten mit immer kleineren Householder-Transformationen<br />

erhalten wir<br />

⎡<br />

⎤ ⎡<br />

⎤<br />

× × × × × ×<br />

× × × × × ×<br />

× × × × × ×<br />

× × × × × ×<br />

P<br />

A<br />

3<br />

2 −→ A3 =<br />

0 × × × × ×<br />

P 4<br />

⎢ 0 0 × × × ×<br />

−→ A4 =<br />

0 × × × × ×<br />

⎥ ⎢ 0 0 × × × ×<br />

.<br />

⎥<br />

⎣ 0 0 0 × × × ⎦ ⎣ 0 0 0 × × × ⎦<br />

0 0 0 × × ×<br />

0 0 0 0 × ×<br />

Die unitäre Transformation auf obere Hessenberg-Gestalt lautet insgesamt<br />

A 4 = U H AU , U = P 1 P 2 P 3 P 4 .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 53 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 54 / 177


QR-Schritt mit impliziten Shifts<br />

Führt man einen QR-Schritt mit einem Shift ρ durch, so vereinfacht sich (3.2) zu<br />

A k−1 − ρI = Q k R k , A k = Q H k A k−1 Q k .<br />

(Wir schreiben Q k anstelle von ˜Q k , da wir nur noch die geschlängelten Matrizen<br />

benötigen.)<br />

Die letzte Gleichung lässt sich vereinfachen zu<br />

A k = Q H k (Q k R k + ρI )Q k = R k Q k + ρI .<br />

Ein einzelner QR-Schritt besteht also im wesentlichen aus einer QR-Zerlegung von<br />

A k−1 gefolgt von der Multiplikation der QR-Faktoren in umgekehrter Reihenfolge.<br />

Da A 0 = A in Hessenberg-Gestalt vorliegt, besteht also die erste Aufgabe in einer<br />

QR-Zerlegung für eine Hessenberg-Matrix. Hierzu sind lediglich (höchstens) n − 1<br />

Givens-Rotationen erforderlich.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 55 / 177


QR-Schritt mit impliziten Shifts<br />

QR-Zerlegung für Hessenberg-Matrizen<br />

In unserem 6 × 6-Beispiel wird die obere Dreiecksstruktur nach sukzessiver Multiplikation mit<br />

Givens-Rotationen G j,j+1 , j = 1, . . . , n − 1, wie folgt erreicht:<br />

⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

⎤<br />

× × × × × × × × × × × × × × × × × ×<br />

× × × × × ×<br />

0 × × × × ×<br />

0 × × × × ×<br />

0 × × × × ×<br />

G 1,2<br />

⎢ 0 0 × × × × ⎥ −→ 0 × × × × ×<br />

G 2,3<br />

⎢ 0 0 × × × × ⎥ −→ 0 0 × × × ×<br />

⎢ 0 0 × × × × ⎥<br />

⎢<br />

⎣<br />

0 0 0 × × ×<br />

0 0 0 0 × ×<br />

⎥<br />

⎦<br />

⎢<br />

⎣<br />

0 0 0 × × ×<br />

0 0 0 0 × ×<br />

⎥<br />

⎦<br />

⎢<br />

⎣<br />

0 0 0 × × ×<br />

0 0 0 0 × ×<br />

⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

⎤<br />

× × × × × × × × × × × × × × × × × ×<br />

0 × × × × ×<br />

0 × × × × ×<br />

0 × × × × ×<br />

G 3,4<br />

−→ 0 0 × × × ×<br />

G 4,5<br />

⎢ 0 0 0 × × ×<br />

−→ 0 0 × × × ×<br />

G 5,6<br />

⎥ ⎢ 0 0 0 × × ×<br />

−→ 0 0 × × × ×<br />

⎥ ⎢ 0 0 0 × × ×<br />

⎥<br />

⎣ 0 0 0 × × × ⎦ ⎣ 0 0 0 0 × × ⎦ ⎣ 0 0 0 0 × × ⎦<br />

0 0 0 0 × × 0 0 0 0 × × 0 0 0 0 0 ×<br />

Fasst man alle n − 1 Givens-Rotationen zusammen als Q H := G n−1,n G n−2,n−1 · · · G 1,2 , so<br />

ergibt sich<br />

Q H A = R, oder A = QR.<br />

⎥<br />

⎦<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 56 / 177


QR-Schritt mit impliziten Shifts<br />

QR-Zerlegung für Hessenberg-Matrizen<br />

Die Matrix Q = G H 1,2 · · · G H n−1,n ist aufgrund des Besetzungsmusters ihrer Faktoren<br />

ebenfalls obere Hessenberg-Matrix. (Dies folgt auch aus dem zu A = QR<br />

äquivalenten Ausdruck Q = AR −1 .)<br />

Demzufolge ist mit A 0 auch<br />

obere Hessenberg-Matrix.<br />

Satz 3.2<br />

A 1 = R 1 Q 1 + ρI<br />

Beim QR-Schritt mit einfachem Shift bleibt die obere Hessenberg-Struktur<br />

erhalten.<br />

Eine effiziente Implementierung des QR-Verfahrens arbeitet mit impliziten Shifts,<br />

d.h. die QR-Zerlegung der Hessenberg-Matrizen wird implizit als Produkt von elementaren<br />

unitären Matrizen konstruiert. Hierzu ist eine Tatsache hilfreich, die als<br />

implizites Q-Theorem bekannt ist.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 57 / 177


QR-Schritt mit impliziten Shifts<br />

Unreduzierte Hessenberg-Matrizen<br />

Definition 3.3<br />

Eine obere Hessenberg-Matrix H = [h i,j ] n i,j=1 ∈ Cn×n heißt unreduziert (engl.<br />

unreduced), falls<br />

h k+1,k ≠ 0 ∀k = 1, 2, . . . , n − 1.<br />

Satz 3.4<br />

Ein Eigenwert λ ∈ Λ(A) einer unreduzierten Hessenberg-Matrix A ∈ C n×n<br />

besitzt geometrische Vielfachheit Eins.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 58 / 177


QR-Schritt mit impliziten Shifts<br />

Implizites Q-Theorem<br />

Satz 3.5 (Implizites Q-Theorem)<br />

Seien A ∈ C n×n sowie zwei unitäre Matrizen Q = [q 1 , . . . , q n ] und<br />

V = [v 1 , . . . , v n ] gegeben, für welche die Matrizen<br />

H = [h i,j ] = Q H AQ und G = [g i,j ] = V H AV<br />

obere Hessenberg-Gestalt besitzen. Ferner sei k := min{j : h j+1,j = 0} bzw.<br />

k = n falls H unreduziert. Gilt dann v 1 = q 1 , so gelten auch<br />

v j = ϑ j q j mit |ϑ j | = 1, |h j+1,j | = |g j+1,j |, j = 2, . . . , k.<br />

Falls k < n, so ist auch g k+1,k = 0.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 59 / 177


QR-Schritt mit impliziten Shifts<br />

Implizites Q-Theorem<br />

Interpretation: Sind G = V H AV und H = Q H AQ zwei unreduzierte Hessenberg-<br />

Matrizen und besitzen die unitären Matrizen V und Q die gleiche erste Spalte, so<br />

sind G und H im wesentlichen gleich, d.h. es gilt G = D −1 HD mit einer Diagonalmatrix<br />

D = diag(ϑ 1 , . . . , ϑ n ), |ϑ j | = 1.<br />

Die implizite Berechnung der QR-Schritts A k = Q H k A k−1Q k geschieht nun wie<br />

folgt:<br />

1 Berechne die erste Spalte von Q k (skalares Vielfaches der ersten Spalte von<br />

A k−1 − ρI , ergibt sich also durch Nomierung).<br />

2 Bestimme restliche Spalten von Q k so, dass Q k unitär und A k unreduzierte<br />

obere Hessenberg-Matrix.<br />

Das implizite Q-Theorem stellt dann sicher, dass wir dann A k bis auf Faktoren vom<br />

Betrag eins berechnet haben.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 60 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 61 / 177


Konvergenz<br />

Praktische Koordinaten<br />

Sei A ∈ C n×n und U ⊂ C n ein A-invarianter Unterraum der Dimension d. Sei<br />

U = [U 1 U 2 ] ∈ C n×n so, dass U 1 eine Basis von U und setze B := U −1 AU .<br />

Wir betrachten U als Koordinatentransformation: ein Vektor mit Darstellungskoordinaten<br />

x im Ausgangskoordinatensystem besitzt im neuen Koordinatensystem die<br />

Darstellung U −1 x .<br />

Dem Unterraum U entspricht der transformierte Unterraum E d = U −1 U .<br />

Eine Basis von U −1 U ist gegeben durch<br />

[ ]<br />

U −1 Id<br />

U 1 = = [e<br />

O 1 e 2 · · · e d ] =: E d .<br />

Aufgrund der B-Invarianz von E d besitzt B Block-Dreiecksform:<br />

[ ]<br />

B1,1 B<br />

B =<br />

1,2<br />

mit B<br />

O B 1,1 ∈ C d×d .<br />

2,2<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 62 / 177


Konvergenz<br />

Praktische Koordinaten<br />

Sei S eine Approximation an den A-invarianten Unterraum U . Dann approximiert<br />

T := U −1 S den B-invarianten Unterraum E d .<br />

Seien die Spalten von T ∈ C n×d eine ON-Basis von T und setze<br />

[ ]<br />

T1,1<br />

T =<br />

mit T<br />

T 1,1 ∈ C d×d .<br />

2,1<br />

Nach Satz 5.24 sind die Singulärwerte von E H d T = T 1,1 die Kosinus der Hauptwinkel<br />

zwischen E d und T . Somit ist T 1,1 genau dann invertierbar, wenn für den<br />

größten Hauptwinkel ϑ d gilt<br />

cos ϑ d > 0, was genau dann gilt, wenn dist(E d , T ) = sin ϑ d < 1.<br />

Ist somit T eine hinreichend gute Approximation an E d , so ist T 1,1 invertierbar<br />

und es gilt<br />

[ ] [ ]<br />

T1,1 I<br />

T = = T<br />

T 2,1 X 1,1 mit X := T 2,1 T1,1 −1 .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 63 / 177


Konvergenz<br />

Praktische Koordinaten<br />

Die Spalten von [<br />

X I ] bilden eine (i. All. nicht ON-) Basis von T . Wir vergleichen<br />

diese mit der Basis von E d , welche gegeben ist durch die Spalten von [<br />

O I ].<br />

Lemma 3.6<br />

Es gilt<br />

‖X ‖ = tan ϑ d ,<br />

mit ϑ d dem größten Hauptwinkel zwischen E d und T . Somit ist<br />

dist(E d , T ) =<br />

‖X ‖<br />

√<br />

1 + ‖X ‖<br />

2<br />

und, falls T nahe bei E d ,<br />

dist(E d , T ) = sin ϑ d ≈ ϑ d ≈ tan ϑ d = ‖X ‖.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 64 / 177


Konvergenz<br />

Konvergenzsatz I<br />

Satz 3.7 (Diagonalisierbarer, stationärer Fall)<br />

Sei A ∈ C n×n diagonalisierbar, p ein Polynom vom Grad < n und die Eigenwerte<br />

λ 1 , λ 2 , . . . , λ n von A so nummeriert, dass<br />

|p(λ 1 )| ≥ |p(λ 2 )| ≥ · · · ≥ |p(λ n )|.<br />

Für 1 ≤ d < n gelte |p(λ d )| > |p(λ d+1 )|, es sei ρ :=<br />

p(λ d+1 )<br />

∣ p(λ d ) ∣ (< 1)<br />

sowie U und V die zu λ 1 , . . . , λ d bzw. λ d+1 , . . . , λ n gehörenden invarianten<br />

Unterräume von A.<br />

Ist S 0 ein d-dimensionaler Unterraum mit S 0 ∩ V = {0}, so konvergiert die<br />

stationäre Unterraumiteration<br />

S k = p(A)S k−1 , k = 1, 2, . . .<br />

gegen U und es existiert eine Konstante C mit<br />

dist(S k , U ) ≤ Cρ k , k = 1, 2, . . .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 65 / 177


Konvergenz<br />

Konvergenzsatz II<br />

Satz 3.8 (Allgemeiner stationärer Fall)<br />

Seien dieselben Voraussetzungen gegeben wie in Satz 3.7, jedoch A nun nicht<br />

notwendig diagonalisierbar.<br />

Dann existiert für jedes ρ < ˆρ < 1 eine Konstante Ĉ = Ĉ(ˆρ), sodass<br />

dist(S k , U ) ≤ Ĉ ˆρ k , k = 1, 2, . . .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 66 / 177


Konvergenz<br />

Konvergenzsatz III<br />

Satz 3.9 (Allgemeiner instationärer Fall)<br />

Unter den Voraussetzungen von Satz 3.8 sei p 1 , p 2 , . . . eine Folge von Polynomen<br />

vom Grad m < n mit lim k→∞ p k = p. Ferner gelte<br />

p k (λ j ) ≠ 0 für alle k und alle j = 1, . . . , d.<br />

Dann konvergiert die nichtstationäre Unterraumiteration<br />

S k = p k (A)S k−1 , k = 1, 2, . . .<br />

gegen U . Für jedes ρ < ˆρ < 1 existiert eine Konstante Ĉ = Ĉ(ˆρ) sodass<br />

Lemma 3.10<br />

dist(S k , U ) ≤ Ĉ ˆρ k , k = 1, 2, . . .<br />

Ist A ∈ C n×n eine unreduzierte Hessenberg-Matrix, d ∈ {1, . . . , n − 1} und<br />

V ⊂ C n ein A-invarianter Unterraum der Dimension n − d, so ist E d ∩ V = {0}.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 67 / 177


Inhalt<br />

1 Organisatorisches<br />

2 Einleitung<br />

3 Das QR-Verfahren<br />

3.1 Vektoriteration<br />

3.2 Unterraumiteration<br />

3.3 Reduktion auf Hessenberg-Gestalt<br />

3.4 QR Iteration mit impliziten Shifts<br />

3.5 Konvergenz der Unterraumiteration<br />

3.6 Konvergenz des QR-Verfahrens<br />

4 Hermitesche Eigenwertaufgaben<br />

5 Anhang: Grundlagen aus der <strong>Lineare</strong>n <strong>Algebra</strong><br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 68 / 177


QR Konvergenz<br />

Lemma 3.11<br />

Sei A ∈ C n×n und U ⊂ C n ein d-dimensionaler, A-invarianter Unterraum.<br />

Sei ferner S ⊂ C n ein d-dimensionaler, U approximierender Unterraum und die<br />

ersten d Spalten der unitären Matrix Q eine ON-Basis von S . Dann gilt mit<br />

[ ]<br />

B := Q H B1,1 B<br />

AQ =<br />

1,2<br />

, B<br />

B 2,1 B 1,1 ∈ C d×d<br />

2,2<br />

die Abschätzung<br />

‖B 2,1 ‖ ≤ 2 √ 2‖A‖ dist(S , U ).<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 69 / 177


QR Konvergenz<br />

Satz 3.12<br />

Beim QR-Verfahren angewandt auf A 0 = A ∈ C n×n konvergiere die Folge der<br />

Shift-Polynome {p k } k∈N ⊂ P m gegen p ∈ P m . Die Eigenwerte {λ j } n j=1 von A<br />

seien so nummeriert, dass |p(λ 1 )| ≥ |p(λ 2 )| ≥ · · · ≥ |p(λ n )| und für 1 ≤ d < n<br />

gelte<br />

|p(λ d )| > |p(λ d+1 )| sowie p k (λ j ) ≠ 0 für j = 1, . . . , d und alle k.<br />

Seien U und V die zu {λ 1 , . . . , λ d } bzw. {λ d+1 , . . . , λ n } gehörenden invarianten<br />

Unterräume von A, E d ∩ V = {0} und die QR-Iterierten partitioniert gemäß<br />

[ ]<br />

(k) A 1,1 A (k)<br />

1,2<br />

A k =<br />

A (k)<br />

2,1 A (k) .<br />

2,2<br />

Ist ρ := |p(λ d+1 )|/|p(λ d )|(< 1), so existiert für alle ˆρ ∈ (ρ, 1) eine Konstante Ĉ<br />

sodass<br />

‖A (k)<br />

2,1 ‖ ≤ Ĉ ˆρk , k = 1, 2, . . . .<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 70 / 177


QR Konvergenz<br />

Satz 3.13<br />

Konvergieren unter den Voraussetzungen und Bezeichnungen von Satz 3.12 die<br />

Blöcke A (k)<br />

2,1 → O für k → ∞, so konvergieren die Eigenwerte von A(k) 1,1 gegen<br />

{λ 1 , . . . , λ d } und die von A (k)<br />

2,2 gegen {λ d+1, . . . , λ n }.<br />

Die Voraussetzungen von Satz 3.13 gelten typischerweise zugleich für mehrere Werte<br />

von d, sodass A k dann gegen eine „feinere“ Block-obere-Dreicksform konvergiert.<br />

Im Extremfall, in dem diese für alle d ∈ {1, . . . , n − 1} erfüllt sind, erhalten wir im<br />

Grenzwert obere Dreiecksform.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 71 / 177


QR Konvergenz<br />

In der Praxis besitzen die p k niedrigen Grad m ≪ n. Konvergieren diese gegen ein<br />

Polynom p dessen Nullstellen Eigenwerte von A sind, so ist für d = n − m die Rate<br />

ρ = 0 (superlineare Konvergenz) und die Iteration liefert nach wenigen Schritten<br />

die Block-Dreiecksgestalt<br />

[ ]<br />

A1,1 A 1,2<br />

, A<br />

O A 2,2 ∈ C m×m .<br />

2,2<br />

Für kleines m (etwa m = 2) ist die Berechnung der Eigenwerte von A 2,2 einfach,<br />

und das QR-Verfahren kann mit der Berechnung de Eigenwerte von A 1,1 fortfahren.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 72 / 177


QR Konvergenz<br />

Quadratische und Kubische Konvergenz<br />

Satz 3.14<br />

Die Matrix A ∈ C n×n sei diagonalisierbar, besitze paarweise verschiedene<br />

Eigenwerte und die Voraussetzungen von Satz 3.12 seien erfüllt für d = n − m.<br />

Konvergieren die QR-Iterierten A k gegen eine Matrix mit Block-Dreiecksgestalt,<br />

so ist diese Konvergenz quadratisch.<br />

Satz 3.15<br />

Konvergieren unter den Voraussetzungen von Satz 3.14 die QR-Iterierten<br />

[ ]<br />

A (k)<br />

1,1 A (k)<br />

1,2<br />

A k =<br />

A (k)<br />

2,1 A (k)<br />

2,2<br />

und gilt zusätzlich ‖A (k)<br />

1,2 ‖ F = ‖A (k)<br />

2,1 ‖ F , so ist die Konvergenz kubisch.<br />

Die Voraussetzung von Satz 3.15 ist insbesondere für normale Matrizen, somit auch<br />

für Hermitesche (symmetrische) Matrizen erfüllt.<br />

Oliver Ernst (<strong>Numerische</strong> Mathematik) <strong>Numerische</strong> <strong>Lineare</strong> <strong>Algebra</strong> Wintersemester 2013/14 73 / 177

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!