Universität des Saarlandes Wintersemester 2000/2001 Fachbereich Mathematik Prof. Dr. A. Arnold / M. Ehrhardt

2. Übungsblatt zur Vorlesung “Praktische Mathematik” (Konditionszahl, Cholesky–Verfahren)

\underline{1. Aufgabe} (3 Punkte)

Das Gleichungssystem

(\begin{matrix}10^{−5} & 10^{−5} & 1 \\ 10^{−5} & −10^{−5} & 1 \\ 1 & 1 & 2 \end{matrix}) (\begin{matrix}x_{1} \\ x_{2} \\ x_{3} \end{matrix}) = (\begin{matrix}2 · 10^{−5} \\ −2 · 10^{−5} \\ 1 \end{matrix})

wird mit einer Arithmetik mit drei dezimalen Ziffern gelöst. Wie lautet das Resultat

a) exakt?

b) ohne Pivotsuche?

c) mit Spaltenpivotsuche?

d) mit totaler Pivotsuche?

Kommentieren Sie das Ergebnis.

\underline{2. Aufgabe} (2 Punkte)

Bestimmen Sie die Konditionszahl κ(A) der Matrix A = (\begin{matrix}1 & 2 \\ 3 & 7 \end{matrix}) bezüglich der durch die

Vektornormen ∥.∥_{1}, ∥.∥_{2} und ∥.∥_{∞} induzierten Matrixnormen.

\underline{3. Aufgabe} (2 Punkte)

Ermitteln Sie die Cholesky–Zerlegung von

A = (\begin{matrix}1 & 3 & −2 & 5 \\ 3 & 13 & 2 & 15 \\ −2 & 2 & 21 & −8 \\ 5 & 15 & −8 & 33 \end{matrix}) .

\underline{4. Aufgabe} (3 Punkte)

Es sei A = (a_{ij}) ∈ ℝ^{n×n} eine symmetrische, positiv definite (m, m)–Bandmatrix, m < n. Zeigen Sie, daß in der Cholesky–Zerlegung A = CC^{T} die Matrix C = (c_{ij}) ∈ ℝ^{n×n} eine (m, 0)–Bandmatrix ist, d.h. c_{ij} = 0 für i − j > m und c_{ij} = 0 für j − i > 0.

\underline{5. Aufgabe} (Praktische Aufgabe) (5 Punkte)

Schreiben Sie ein Programm, welches den Gaußschen Algorithmus einmal ohne Pivotund einmal mit Spaltenpivotsuche durchführt. Testen Sie das Programm an dem Beispiel Ax = b = (b_{i}) ∈ ℝ^{n}, wobei

a_{ij} = \frac{1}{i + j − 1}, i, j = 1, …, n,

b_{i} = \frac{1}{n + i − 1}, i = 1, …, n.

Dabei gebe man für n = 50, 100, 200 zu jeder Pivotstrategie x_{10·i}, i = 1, 2, 3, …, aus. Lösen Sie für n = 10 das lineare Gleichungssystem Ax = b_{k} ∈ ℝ^{n} mit den rechten Seiten b_{k} = e_{k}, k = 1, …, n, um damit die Inverse von A zu berechnen. Vergleichen Sie Ihr Ergebnis mit der exakten Inversen B = (b_{ij}) ∈ ℝ^{n×n} mit

b_{ij} = \frac{(−1)^{i+j}(n + i − 1)!(n + j − 1)!}{(i + j − 1)[(i − 1)!(j − 1)!]^{2}(n − i)!(n − j)!}, i, j = 1, …, n.

Bemerkung: Bei A handelt es sich um die Hilbertmatrix; ein berühmtes Beispiel einer schlecht konditionierten Matrix.

Hinweise:

a) Die exakte Lösung im Testbeispiel kann man erraten.

b) Die Benutzer von Scilab können ihre Resultate mit denjenigen vergleichen, die die LR–Zerlegung von Scilab (Aufruf: [L,R,P]=lu(A)) liefert und sich die Konditionszahl der Hilbertmatrix (Aufruf: cond(A)) anschauen. Außerdem können die Scilab–Funktionen für die Berechnung der Hilbertmatrix und ihrer Inversen von der PraMa–Homepage

     http://www.num.uni-sb.DE/~ehrhardt/Ue_PraMa/

heruntergeladen werden.

c) Idealerweise sollte es möglich sein, das System für mehrere rechte Seiten b zu lösen, ohne die LR–Zerlegung zu wiederholen. Zur Ersparnis von Speicherplatz sollte die Matrix A dabei mit den Elementen von L und R überschrieben werden. Eventuelle Zeilenvertauschungen sollten mit einem Indexvektor realisiert werden.

Abgabe der Lösungen zu den theoretischen Aufgaben am Di, 7.11. vor der Vorlesung. Abgabe der Lösungen zu der praktischen Aufgabe am Di, 14.11. in den Sprechstunden.