5. ¨Ubungsblatt Aufgabe 15: (Cholesky

Werbung
18.11.2011
Mathematisches Institut
Prof. Dr. Florian Jarre
Georg Jansing
Numerische lineare Algebra – 5. Übungsblatt
Aufgabe 15:
(Cholesky-Zerlegung)
Sei


4 −2 0
2
−2 10 −3 −1

A := 
 0 −3 2 −1 .
2 −1 −1 6
Für 1 ≤ k ≤ 4 seien die linken oberen k × k-Untermatrizen von A jeweils mit Ak bezeichnet.
(a) Sei L1 := 2. Für k = 2, 3, 4 gebe man jeweils unter Verwendung von Lk−1 untere Dreiecksmatrizen
Lk der Dimension k × k an, so dass Lk positive Diagonaleinträge besitzt und so dass Lk LTk = Ak
gilt.
(b) Geben Sie eine mg̈lichst kleine Menge an, in der die Eigenwerte von A liegen – benutzen Sie
dabei z.B. Gershgorinkreise, die Symmetrie und (a).
Hinweis: Lk+1 ensteht aus Lk durch Anhängen einer weiteren Zeile und Spalte. Die Nebendiagonalelemente der angehängten Zeile lassen sich zunächst bestimmen, danach folgt das Diagonalelement.
(Die angehängte Spalte muss aufgrund der Dreieckseigenschaft bis auf den letzten Eintrag Null sein.)
Wenn “Ihr Lk ” gebrochene Zahlen enthält oder Zahlen vom Betrag “> 3”, so haben Sie sich verrechnet.
Aufgabe 16:
Betrachten Sie die Matrix


3 3 4
A = 3 4 0 .
4 0 4
(a) Transformieren Sie A mit Householder Transformieren und durch von Givensrotationen (jeweils
symmetrisch von links und rechts) auf Hessenbergform. Geben Sie das Ergebnis explizit an.
(b) Eliminieren Sie die Elemente der ersten Spalte unterhalb der Diagonalen von A mit einer Householder Transformationen und beobachten Sie, was passiert, wenn Sie die Transformation symmetrisch anwenden.
Aufgabe 17:
(a) Transformieren Sie die Matrix


3 3
H̃ = 4 4
0 3
mit Householder-Transformationen von links auf obere Dreiecksform.
(b) Geben Sie eine QR-Zerlegung von H̃ an.
Aufgabe 18:
Zeigen Sie, dass die Matrix




Fn = 


−an−1 −an−2
1
0
0
1
..
..
.
.
0
0
···
···
···
..
.
···

−a1 −a0
0
0 

0
0 

.. 
..
. 
.
1
0
das charakteristische Polynom
χFn (t) = b(tn + an−1 tn−1 + · · · + a1 t + a0 )
hat, wobei b = (−1)n oder b = 1, je nach Vorzeichenwahl in χFn (t) = det(±(tIn − Fn )). Fn wird
Frobenius-Begleitmatrix von p genannt. Bestimmen Sie dann die Eigenvektoren von Fn zum Eigenwert
λ und zeigen Sie, dass es auch dann nur einen eindimensionalen Eigenraum gibt, wenn λ ein mehrfacher
Eigenwert ist.
Programmieraufgabe 1:
Implementieren Sie in der Funktion
[ mu, muverlauf ] = qr wilk(A)
den QR-Algorithmus mit Wilkinson-Shift, bei dem im k-ten Schritt µk als der Eigenwert der unteren
(k)
rechten 2 × 2-Untermatrix von Ak ∈ Cn,n gewählt wird, der näher an an,n , dem (n, n)-Element von
Ak , liegt:
q
µk = a(k)
n,n + d − sign(d)
(k)
(k)
d2 + (an−1,n )2
(k)
mit d = (an−1,n−1 − an,n )/2. Falls d = 0, wählen Sie sign(d) := 1.
(k)
Im k-ten Schritt akzeptiert man ann als Eigenwert, wenn
(k)
(k)
|an,n−1 | ≤ eps(|a(k)
n,n | + |an−1,n−1 |).
Falls ein Schritt akzeptiert wird, rechnet man mit der Untermatrix (Ak )1:n−1,1:n−1 weiter.
muverlauf sei ein n × 1 Matlab Cell-Objekt (vgl. Befehl cell), dessen l-ter Eintrag die Iterierten
(k)
des l-ten approximierten Eingenwertes (also jeweils die al,l ) enthält.
Um A auf Hessenbergform zu transformieren, benutzen Sie die Matlab Funktion hess. Sie dürfen
auf das bulge-chasing verzichten, und explizit den qr Befehl verwenden. Beachten Sie, dass dies
die Effizienz deutlich verschlechtert!
Schreiben Sie weiterhin ein Matlab Skript test, die Ihr Programm an A = tridiag(1, −2, 1) ∈ Rn×n
mit n = 20. Stellen Sie die Konvergenz der ersten drei berechneten Eigenwerte dar, indem Sie den
Logarithmus des exakten Fehlers in jedes QR-Schrittes berechnen und diesen graphisch gegen die
Iterationszahl auftragen (vgl. Befehl semilogy).
jπ
Hinweis: Die exakten Eigenwerte von A sind λj = 2 cos n+1
− 2, j = 1, . . . , n.
Abgabe der Programmieraufgabe bis einschließlich 13. Januar 2012 an
[email protected].
Besprechung in den Übungen am Dienstag, 20. Dezember 2011
Herunterladen