21.01.2014 Aufrufe

Karteikartein zur Numerik

Karteikartein zur Numerik

Karteikartein zur Numerik

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.

1. Lineare Gleichungssysteme: Direkte Methoden # 1<br />

✗ Gaußsches Eliminationsverfahren<br />

1. Lineare Gleichungssysteme: Direkte Methoden # 2<br />

✗ LR-Zerlegung


# 1 Antwort<br />

Das gaußsche Eliminationsverfahren ist ein Algorithmus aus den mathematischen<br />

Teilgebieten der linearen Algebra und der <strong>Numerik</strong>. Es ist<br />

ein wichtiges Verfahren zum Lösen von linearen Gleichungssystemen und<br />

beruht darauf, dass elementare Umformungen zwar das Gleichungssystem<br />

ändern, aber die Lösung erhalten. Dies erlaubt es, jedes eindeutig<br />

lösbare Gleichungssystem auf Stufenform zu bringen, an der die Lösung<br />

durch sukzessive Elimination der Unbekannten leicht ermittelt oder die<br />

Lösungsmenge abgelesen werden kann.<br />

Die Anzahl der benötigten Operationen ist bei einer n×n-Matrix von der<br />

Größenordnung n 3 . In seiner Grundform ist der Algorithmus anfällig für<br />

Rundungsfehler, aber mit kleinen Modifikationen (Pivotisierung) stellt er<br />

für allgemeine lineare Gleichungssysteme das Standardlösungsverfahren<br />

dar und ist Teil aller wesentlichen Programmbibliotheken für numerische<br />

lineare Algebra.<br />

Verfahren (Vorwärtselimination). Wir lösen das Gleichungssystem<br />

(1.1)<br />

a x 11 1 +a x 12 2 + . . . +a x 1n n = b 1<br />

a 21 x 1 +a 22 x 2 + . . . +a 2n x n = b 2<br />

.<br />

.<br />

a n1 x 1 +a n2 x 2 + . . . +a nnx n = b n<br />

indem wir zunächst von der i-ten Zeile die 1. Zeile ·a i1/a 11 abziehen.<br />

Analog wird weiter eliminiert, bis das gesamte System auf Dreiecksgestalt<br />

gebracht worden ist.<br />

⎛<br />

⎞<br />

a 11 a 22 a 33 · · · a 1n ⎛ ⎞ ⎛ ⎞<br />

x b 1<br />

1<br />

a (1)<br />

22 a (1)<br />

2n<br />

x a (2)<br />

33 a (2)<br />

2<br />

b (1)<br />

2<br />

3n<br />

x ⎜<br />

.<br />

⎝ 0<br />

..<br />

. 3<br />

=<br />

b (2)<br />

3 .. ⎟ ⎜<br />

⎟<br />

⎠ ⎝<br />

. ⎠ ⎜ ...<br />

, (1.2)<br />

⎟<br />

⎝ ⎠<br />

a nn<br />

(n−1) x n b (n−1)<br />

n<br />

} {{ } } {{ }<br />

=R<br />

=˜b<br />

wobei i = k + 1, . . . , n und<br />

l ik = a(k−1) ik<br />

a (k−1)<br />

kk<br />

a (k)<br />

ij<br />

b (k)<br />

i<br />

(1.3)<br />

= a (k−1)<br />

ij − l ik a (k−1)<br />

kj für j = k + 1, . . . , n (1.4)<br />

= b (k−1)<br />

i − l ik b (k−1)<br />

k für j = k + 1, . . . , n. (1.5)<br />

Verfahren (Rückwärtssubstitution). Zur Lösung des Gleichungssystems<br />

ist nun noch die Rückwärtssubstitution nötig.<br />

x n = b(n−1) n<br />

a (n−1)<br />

nn<br />

x n−1 = b(n−2) n−1 − a (n−2)<br />

n−1,n xn<br />

a (n−2)<br />

n−1,n−1<br />

x k = b(k−1) k − ∑ n<br />

j=k+1 a(k−1) kj x j<br />

a (k−1)<br />

kk<br />

(1.6)<br />

(1.7)<br />

(1.8)<br />

# 2 Antwort<br />

Will man das Lösen eines quadratischen eindeutig lösbaren Gleichungssystems<br />

Ax = b umsetzen, bietet es sich an, den Gaußalgorithmus als LR-<br />

Zerlegung zu interpretieren. Dies ist eine Zerlegung der regulären Matrix<br />

A in das Produkt einer linken unteren Dreiecksmatrix L und einer rechten<br />

oberen Dreiecksmatrix R. Dabei hat R die erwähnte Stufenform und<br />

die Matrix L dient dem Speichern der benötigten Umformungsschritte,<br />

die Multiplikationen mit Frobeniusmatrizen entsprechen. Das zeigt die<br />

Existenz der Zerlegung. Um Eindeutigkeit zu erreichen, werden die Diagonalelemente<br />

der Matrix L als 1 festgelegt. Die Umformungsschritte zu<br />

speichern hat den Vorteil, dass für verschiedene rechte Seiten b das Gleichungssystem<br />

effizient durch Vorwärts- und Rückwärtseinsetzen gelöst<br />

werden kann.<br />

Sei<br />

⎛ ⎞<br />

0<br />

⎛<br />

⎞<br />

1 0<br />

.<br />

. ..<br />

0<br />

l k :=<br />

, L l k+1,k<br />

k :=<br />

−l k+1,k 1<br />

⎜<br />

⎜<br />

⎝<br />

⎟<br />

⎝<br />

.<br />

. ⎠<br />

.<br />

..<br />

⎟<br />

⎠<br />

0 −l<br />

l n,k 1<br />

n,k<br />

(1.9)<br />

Dann gilt<br />

Sei weiterhin<br />

A (k) = L k A (k−1) (1.10)<br />

b (k) = L k b (k−1) (1.11)<br />

A = L −1<br />

1 A(1) = . . . = L (−1)<br />

1 · . . . · L −1<br />

n−1 · R. (1.12)<br />

⎛<br />

L := L −1<br />

1 · . . . · L −1<br />

n−1 = ⎜<br />

⎝<br />

⎞<br />

1 0<br />

. ..<br />

l ij 1<br />

⎟<br />

⎠ . (1.13)<br />

Satz (LR-Zerlegung). Die Vorwärtselimination erzeugt unter der Voraussetzung<br />

an die Pivotelemente a (k−1)<br />

kk ≠ 0 für k = 1, . . . , n − 1, eine<br />

Faktorisierung A = L · R, wobei R eine obere Dreiecksmatrix und L eine<br />

normierte, d. h. l ii = 1 für i = 1, . . . , n, untere Dreiecksmatrix ist.


1. Lineare Gleichungssysteme: Direkte Methoden # 3<br />

✗ Rechenaufwand des Gaußschen Eliminationsverfahrens<br />

1. Lineare Gleichungssysteme: Direkte Methoden # 4<br />

✗ Pivotisierung


# 3 Antwort<br />

Unter dem Aufwand eines Algorithmus versteht man seinen maximalen<br />

Ressourcenbedarf. Dieser wird oft in Abhängigkeit von der Länge der<br />

Eingabe n angegeben und für große n asymptotisch unter Verwendung<br />

eines Landau-Symbols abgeschätzt. Analog wird die Komplexität eines<br />

Problems definiert durch den Ressourcenverbrauch eines optimalen Algorithmus<br />

<strong>zur</strong> Lösung dieses Problems. Die Schwierigkeit liegt darin, dass<br />

man somit alle Algorithmen für ein Problem betrachten müsste, um den<br />

Aufwand desselben zu bestimmen.<br />

Definition (Landau-Symbole). Seien f, g : D → R mit D ⊆ R und<br />

−∞ ≤ a ≤ ∞, sowie (a n) n∈N , (b n) n∈N Folgen in R. Dann gilt<br />

1. f(x) = O(g(x)) für x → a, falls ∃U(a), c ∈ R, ∀x ∈ U(a) : |f(x)| ≤<br />

c|g(x)|, d. h.<br />

und man sagt ”<br />

f verhält sich wie g“.<br />

2. f(x) = o(g(x)) für x → a, falls<br />

|f(x)|<br />

c = lim < ∞, (1.14)<br />

x→a |g(x)|<br />

|f(x)|<br />

lim = 0, (1.15)<br />

x→a |g(x)|<br />

und man sagt ”<br />

f wächst langsamer als g“ oder ”<br />

f ist asymptotisch<br />

gegenüber g vernachlässigbar“.<br />

3. a n = O(b n) für n → ∞, falls ∃N ∈ N, c ∈ R, ∀n ∈ N : |a n| ≤ c|b n|.<br />

4. a n = o(b n) für n → ∞, falls ∀ε > 0, ∃N ∈ N, ∀n ≥ N : |a n| ≤ ε|b n|.<br />

Rechnung (Rechenaufwand gezählt in flops).<br />

1. Dreieckszerlegung:<br />

for j = k + 1, . . . , n je eine Addition und eine Multiplikation für a ij<br />

⇒ (n − k) Additionen und Multiplikationen.<br />

for i = k + 1, . . . , n zusätzlich je eine Dividion für l ik .<br />

Das je for k = 1, . . . , n − 1, also<br />

n−1 ∑<br />

n−1 ∑<br />

(n − k) 2 = l 2 =<br />

k=1<br />

l=1<br />

= 2n3 − 3n 2 + n<br />

6<br />

(n − 1)n(2n − 1)<br />

6<br />

≈ n3<br />

2<br />

Additionen, sowie Multiplikationen für große n und<br />

n−1 ∑<br />

(n − k) = n2 − n<br />

2<br />

k=1<br />

≈ n2<br />

2<br />

Divisionen für große n. Dann ist die Anzahl der flops<br />

2 2n3 − 3n 2 + n<br />

6<br />

für große n.<br />

+ n2 − n<br />

2<br />

2. Vorwärts- bzw. Rückwärtssubstitution: je<br />

n−1 ∑<br />

(n − k) = n2 − n<br />

2<br />

k=1<br />

= (1.16)<br />

(1.17)<br />

(1.18)<br />

= 2 3 n3 − 1 2 n2 − 1 6 n ≈ 2 3 n3 (1.19)<br />

≈ n2<br />

2<br />

(1.20)<br />

Multiplikationen und Additionen und n Divisionen für die<br />

Rückwärtssubstitution. Also n 2 flops.<br />

3. Zusammengefasst: Die Dreieckszerlegung benötigt O(n 3 ) flops, die<br />

Vorwärts- bzw. Rückwärtssubstitution benötigt O(n 2 ) flops.<br />

# 4 Antwort<br />

Das gaußsche Eliminationsverfahren ist im Allgemeinen nicht ohne Zeilenvertauschungen<br />

durchführbar. Gilt z. B. a 11 = 0, so kann der Algorithmus<br />

ohne Zeilenvertauschung gar nicht starten. Zur Abhilfe wählt man<br />

ein Element der ersten Spalte der Koeffizientenmatrix, das so genannte<br />

Pivotelement, welches ungleich 0 ist.<br />

Verfahren (Spaltenpivotisierung: Partielle, halbmaximale Pivotisierung).<br />

Im k-ten Eliminationsschritt A (k−1) bis <strong>zur</strong> k − 1-ten Zeile Diagonalgestalt.<br />

1. Bestimme das Pivotelement a (k−1)<br />

pk als betragsmäßig größtes der<br />

Rest-Spalte, d. h.<br />

|a (k−1)<br />

pk | ≥ |a (k−1)<br />

jk | für j = k, . . . , n. (1.21)<br />

2. Vertausche in A (k−1) de k-te mit der p-ten Zeile.<br />

3. Führe einen Gauß-Eliminationsschritt aus.<br />

Definition (Permutationsmatrix). Damit die LR-Zerlegung unabhängig<br />

von der rechten Seite erstellt werden kann, müssen die Permutationen gespeichert<br />

werden. Für die Permutationsmatrix<br />

P π = ( e π(1) · · · e π(n)<br />

)<br />

(1.22)<br />

mit e j dem j-ten Einheitsvektor, gilt P A = LR. Weiterhin ist P −1 = P t<br />

und det P = sign π = ±1, falls π durch eine gerade, bzw. ungerade Anzahl<br />

von Transpositionen erzeugt wird.<br />

Satz (Permutationsmatrix und Dreieckszerlegung). Für jede invertierbare<br />

Matrix A existiert eine Permutationsmatrix P , sodass eine Dreieckszerlegung<br />

P A = LR existiert. P kann so gewählt werden, dass alle<br />

Elemente von L betragsmäßig ≤ 1 sind, das heißt |l ij | ≤ 1.<br />

Verfahren (Gauß-Elimination <strong>zur</strong> Lösung von Ax = b). Das Lösen eines<br />

Gleichungssystems Ax = b mit einer invertierbaren Matrix A wird<br />

durch Elimination mit folgenden drei Schritten durchgeführt:<br />

1. Zerlege A durch P A = LR.<br />

2. Löse durch Vorwärtssubstitution Lz = P b.<br />

3. Löse durch Rückwärtssubstitution Rx = z.<br />

Bemerkung (Unnötigkeit einer Pivotisierung). Pivotisierung ist unter<br />

bestimmen Umständen unnötig, wenn die Matrix A bereits in einer für<br />

die <strong>Numerik</strong> günstigen Form vorliegen, z. B. wenn A positiv definit ist,<br />

oder strikt-diagonale Dominanz besitzt.


1. Lineare Gleichungssysteme: Direkte Methoden # 5<br />

✗ Cholesky-Verfahren<br />

2. Fehleranalyse # 6<br />

✗ Welche Fehler gibt es?


# 5 Antwort<br />

Die Cholesky-Zerlegung bezeichnet in der numerischen Mathematik eine<br />

Zerlegung einer symmetrischen positiv definiten Matrix. Bei der Anwendung<br />

der Methode der kleinsten Quadrate ist eine Möglichkeit, die auftauchenden<br />

Minimierungsprobleme über die Normalgleichungen zu lösen,<br />

die eine symmetrisch positiv definite Systemmatrix haben. Dies ist mit<br />

Hilfe der Cholesky-Zerlegung möglich und dies war die Motivation von<br />

Cholesky, die Zerlegung zu entwickeln. Beim Gauß-Newton-Verfahren ist<br />

damit bei jedem Iterationsschritt ein Gleichungssystem zu lösen, das sich<br />

mit dem Cholesky-Verfahren bestimmen lässt.<br />

Im Folgenden sei A eine symmetrische, positiv definite Matrix im R n×n ,<br />

das heißt<br />

A = A t , 〈x, Ax〉 := x t Ax > 0, ∀x ≠ 0. (1.23)<br />

Wir nennen eine solche Matrix auch kurz spd-Matrix.<br />

Satz (Eigenschaften von spd-Matrizen). Für jede symmetrische, positiv<br />

definite Matrix A ∈ R n×n gilt:<br />

1. A ist invertierbar,<br />

2. a ii > 0 für i = 1, . . . , n,<br />

3. max ij |a ij | = max i a ii ,<br />

4. bei der Gauß-Elimination ohne Pivotsuche ist jede Restmatrix wiederum<br />

eine symmetrische, positiv definite Matrix.<br />

Korollar (Cholesky-Zerlegung). Für jede spd-Matrix exisitert eine eindeutige<br />

Zerlegung der Form A = LDL t , wobei L eine reelle unipotente,<br />

d. h. l ii = 1 für alle i) untere Dreiecksmatrix und D eine positive Diagonalmatrix<br />

ist. Diese Zerlegung heißt rationale Cholesky-Zerlegung. Die<br />

Zerlegung<br />

A = ¯L¯L t (1.24)<br />

mit der reellen unteren Dreiecksmatrix<br />

⎛√ ⎞<br />

d1 0<br />

¯L = L · ⎜ . ⎝ .. ⎟<br />

⎠<br />

√ = LD1/2<br />

0<br />

dn<br />

heißt Cholesky-Zerlegung. Wegen der Eigenschaften von spd-Matrizen<br />

gilt:<br />

a kk = ¯l 2 k1 + . . . + ¯l 2 kk , (1.25)<br />

a ik = ¯l i1¯lk1 + . . . + ¯l ik¯lkk , i > k, (1.26)<br />

d. h. spaltenweise Berechnung funktioniert.<br />

Rechnung (Rechenaufwand der Cholesky-Zerlegung). Es sind je 1/6 ·<br />

(n 3 − n) Additionen sowie Multiplikationen, 1/6 · (3n 3 − 3n) Divisionen<br />

und n Quadratwurzeln notwendig, also für große n sind ≈ 1/3 · n 3 flops<br />

notwendig. Im Vergleich <strong>zur</strong> LR-Zerlegung halbiert sich in etwa der Aufwand.<br />

# 6 Antwort<br />

Es gibt zwei Arten von Fehlern, die zu verschiedenen Fragestellungen<br />

führen:<br />

1. Eingabefehler: Rundungsfehler, Fehler in Messdaten, Fehler im Modell<br />

(falsche Parameter).<br />

→ Wie wirkt sich der Eingabefehler auf das Resultat unabhängig<br />

vom gewählten Algorithmus aus? f(x) ↔ f(x + ε): → Kondition<br />

des Problems<br />

2. Fehler im Algorithmus: Rundungsfehler durch Rechenoperationen,<br />

Approximationen (z. B. Ableitung durch Differenzenquotienten<br />

oder die Berechnung von Sinus durch eine abgebrochene Reihenentwicklung).<br />

→ Wir wirken sich (Rundungs-) Fehler des Algorithmus aus und<br />

wie verstärkt der Algorithmus die Eingabefehler? f(x) ↔ ˜f(x): →<br />

Stabilität des Algorithmus<br />

Bemerkung (Absoluter Rundungsfehler). 1 + eps ist die kleinste Zahl<br />

am Rechner, welche größer als 1 ist. Also: eps = β 1−t ≈ 10 −7 bei einfacher<br />

Genauigkeit.<br />

Wir bezeichnen mit fl(x) die gerundete Zahl, wobei fl(x) eindeutig gegeben<br />

ist durch die Schranke an den absoluten Rundungsfehler<br />

{<br />

1/2β e+1−t bei symmetrischem Runden<br />

| fl(x) − x| ≤<br />

β e+1−t bei Abschneiden<br />

Für die relative Genauigkeit folgt somit<br />

| fl(x) − x|<br />

|x|<br />

≤<br />

{<br />

1/2β 1−t =: τ bei symmetrischem Runden<br />

β 1−t<br />

bei Abschneiden<br />

(2.1)<br />

(2.2)<br />

Die Maschinengenauigkeit des Rechners ist somit durch eps = β 1−t gegeben.<br />

Die Mantissenlänge bestimmt also die Maschinengenauigkeit. Bei<br />

einfacher Genauigkeit ist fl(x) bis auf ungefähr 7 signifikante Stellen genau.<br />

Definition (Fehler). Sei x ∈ R n und ˜x ∈ R n eine Näherung an x. Weiterhin<br />

sei ‖.‖ eine Norm auf R n . Dann sind definiert<br />

1. α˜x (x) := ‖˜x − x‖ der absolute Fehler, und<br />

2. ρ˜x (x) := ‖˜x−x‖<br />

‖x‖<br />

der relative Fehler.<br />

Da der relative Fehler skalierungsinvariant ist, d. h. nicht von der Größe<br />

von x abhängt, ist er in der Regel bei der Fehleranalyse von größerem<br />

Interesse. Sowohl α als auch ρ hängen von ‖.‖ ab.


2. Fehleranalyse # 7<br />

✗ Was ist das Residuum?<br />

2. Fehleranalyse # 8<br />

✗ Was ist eine Kondition?


# 7 Antwort<br />

Als Residuum bezeichnet man in der Mathematik, speziell in der numerischen<br />

Mathematik, die Abweichung vom gewünschten Ergebnis, welche<br />

entsteht, wenn in eine Gleichung Näherungslösungen eingesetzt werden.<br />

Angenommen, es sei eine Funktion f gegeben und man möchte ein x<br />

finden, so dass f(x) = b. Mit einer Näherung x 0 an x ist das Residuum r<br />

r = b − f(x 0 ) (2.3)<br />

der Fehler hingegen x − x 0 . Der Fehler ist in der Regel unbekannt, da<br />

x unbekannt ist, weswegen dieser als Abbruchkriterium in einem numerischen<br />

Verfahren nicht benutzbar ist. Das Residuum ist dagegen stets<br />

verfügbar. Wenn das Residuum klein ist, folgt in vielen Fällen, dass die<br />

Näherung nahe bei der Lösung liegt, d. h.<br />

|x 0 − x|<br />

|x|<br />

≪ 1. (2.4)<br />

In diesen Fällen wird die zu lösende Gleichung als gut gestellt angesehen<br />

und das Residuum kann als Maß der Abweichung der Näherung von<br />

der exakten Lösung betrachtet werden. Bei linearen Gleichungssystemen<br />

können sich die Norm des Fehlers und des Residuums um den Faktor der<br />

Kondition unterscheiden.<br />

# 8 Antwort<br />

In der numerischen Mathematik beschreibt man mit der Kondition die<br />

Abhängigkeit der Lösung eines Problems von der Störung der Eingangsdaten.<br />

Die Konditionszahl stellt ein Maß für diese Abhängigkeit dar. Sie<br />

beschreibt den Faktor, um den der Eingangsfehler im ungünstigsten Fall<br />

verstärkt wird. Sie ist unabhängig von konkreten Lösungsverfahren, aber<br />

abhängig vom mathematischen Problem.<br />

Definition (Matrixnorm). Auf dem R n sei eine Norm ‖.‖ a und auf dem<br />

R m eine Norm ‖.‖ b gegeben. Dann ist die zugehörige Matrixnorm gegeben<br />

durch<br />

‖Ax‖ b<br />

‖A‖ a,b = sup = sup ‖Ax‖ b . (2.5)<br />

x≠0 ‖x‖ a ‖x‖ a=1<br />

Es gilt also: ‖A‖ a,b ist die kleinste Zahl c mit ‖Ax‖ b ≤ c · ‖x‖ a für alle<br />

x ∈ R n . Die meist gebrauchten Matrixnormen sind:<br />

- Frobenius-Norm einer n × m-Matrix (Schurnorm):<br />

n∑ m∑<br />

‖A‖ F := √ |a ij | 2 . (2.6)<br />

i=1 j=1<br />

- p-Norm:<br />

‖Ax‖ p<br />

‖A‖ p := ‖A‖ p,p = sup . (2.7)<br />

x≠0 ‖x‖ p<br />

Definition (Normweise Kondition). Sei (f, x) ein Problem mit f : U ⊆<br />

R n → R m und ‖.‖ a auf R n , sowie ‖.‖ b auf R m Normen.<br />

1. Absolute normweise Kondition: Die absolute normweise Kondition<br />

eines Problems (f, x) ist die kleinste Zahl κ abs > 0 mit<br />

‖f(˜x) − f(x)‖ b ≤ κ abs (f, x)‖˜x − x‖ a + o(‖˜x − x‖ a). (2.8)<br />

für ˜x → x.<br />

2. Relative normweise Kondition: Die relative normweise Kondition<br />

eines Problems (f, x) mit x ≠ 0 und f(x) ≠ 0 ist die kleinste Zahl<br />

κ rel > 0 mit<br />

‖f(˜x) − f(x)‖ b<br />

‖f(x)‖ b<br />

für ˜x → x.<br />

( )<br />

‖˜x − x‖a ‖˜x − x‖a<br />

≤ κ rel (f, x) + o<br />

. (2.9)<br />

‖x‖ a<br />

‖x‖ a<br />

Man sagt das Problem ist gut konditioniert, falls κ klein ist und das<br />

Problem ist schlecht konditioniert, falls κ groß ist.


2. Fehleranalyse # 9<br />

✗ Normweise Kondition eines Problem (f, x)?<br />

2. Fehleranalyse # 10<br />

✗ Herleitung der Kondition der Addition?


# 9 Antwort<br />

Wir untersuchen das Verhältnis von Ausgabefehler zu Eingabefehler.<br />

Definition (Problem). Sei f : U ⊂ R n → R m mit U offen und sei<br />

x ∈ U. Dann bezeichne (f, x) das Problem zu einem gegebenen x die<br />

Lösung f(x) zu finden.<br />

Lemma (Formel für die Normweise Kondition eines Problems). Falls f<br />

differenzierbar ist, gilt<br />

κ abs (f, x) = ‖Df(x)‖ a,b (2.10)<br />

κ rel (f, x) =<br />

wobei Df(x) die Jacobi-Matrix bezeichnet.<br />

‖x‖a<br />

‖f(x)‖ b<br />

‖Df(x)‖ a,b (2.11)<br />

# 10 Antwort<br />

Sei f(x 1 , x 2 ) = x 1 + x 2 und wir wählen die C 1 -Norm auf R 2 . Dann ist<br />

Df(x 1 , x 2 ) = (1, 1) (2.12)<br />

κ abs = ‖Df(x 1 , x 2 )‖ 1 = 1 (2.13)<br />

κ rel = |x 1| + |x 2 |<br />

|x 1 + x 2 |<br />

(2.14)<br />

Also hat die Addition von zwei Zahlen mit gleichem Vorzeichen κ rel = 1,<br />

wohingegen die Addition zweier Zahlen mit unterschiedlichem Vorzeichen<br />

(das entspricht einer Subtraktion) eine sehr schlechte Kondition κ rel ≫ 1<br />

ergibt.


2. Fehleranalyse # 11<br />

✗ Was ist die Kondition einer Matrix?<br />

2. Fehleranalyse # 12<br />

✗ Kondition eines nichtlinearen Gleichungssystems?


# 11 Antwort<br />

Löse Ax = b mit einer invertierbaren Matrix A ∈ R n×n und ‖.‖ sei die<br />

zugehörige Matrixnorm.<br />

1. Störung in b: f : b ↦→ x = A −1 b, berechnet κ(f, b). Löse<br />

A(x + ∆x) = b + ∆b. Es ist mit x = A −1 b auch<br />

f(b + ∆b) − f(b) = ∆x = A −1 ∆b (2.15)<br />

‖∆x‖ = ‖A −1 ∆b‖ ≤ ‖A −1 ‖ · ‖∆b‖ (2.16)<br />

Die Abschätzung ist scharf, d. h. es gibt ein ∆b ∈ R n , sodass Gleichheit<br />

gilt, also<br />

Ebenso folgt die scharfe Abschätzung<br />

‖f(b + ∆b) − f(b)‖<br />

‖f(b)‖<br />

κ abs (f, b) = ‖A −1 ‖. (2.17)<br />

= ‖∆x‖<br />

‖x‖<br />

= ‖A−1 ‖ · ‖b‖<br />

‖x‖<br />

κ rel (f, b) = ‖A −1 ‖ ·<br />

≤ ‖A−1 ‖ · ‖∆b‖<br />

‖x‖<br />

und mit ‖b‖ ≤ ‖A‖ · ‖x‖ = ‖A‖ · ‖A −1 b‖ folgt<br />

· ‖b‖<br />

‖b‖ = (2.18)<br />

· ‖∆b‖<br />

‖b‖ , (2.19)<br />

‖b‖<br />

‖A −1 b‖ , (2.20)<br />

κ rel (f, b) ≤ ‖A‖ · ‖A −1 ‖. (2.21)<br />

2. Störung in A: Löse (A + ∆A)(x + ∆x) = b, d. h. f : R n×n → R n ,<br />

f(A) = A −1 b = x und berechnet κ(f, A) mittels Ableitung<br />

da<br />

Df(A) : R n×n → R n , (2.22)<br />

C ↦→ Df(A)C = d dt ((A + tC)−1 b)| t=0 = −A −1 CA −1 . (2.23)<br />

0 = d dt En = d dt (A + tC)(A + tc)−1 = (2.24)<br />

= C(A + tC) −1 + (A + tC) d dt (A + tC)−1 (2.25)<br />

Also gilt für die Kondition<br />

‖A −1 CA −1 b‖<br />

κ abs (A) = ‖Df(A)‖ = sup<br />

= (2.26)<br />

C≠0 ‖C‖<br />

κ rel (f, A) =<br />

‖A −1 Cx‖ ‖A −1 ‖ · ‖C‖ · ‖x‖<br />

= sup<br />

≤ sup<br />

= (2.27)<br />

C≠0 ‖C‖ C≠0 ‖C‖<br />

= ‖A −1 ‖ · ‖x‖ (2.28)<br />

‖A‖<br />

‖f(A)‖ ‖Df(A)‖ ≤ ‖A‖ · ‖A−1 ‖. (2.29)<br />

Die Größe κ(A) = cond(A) := ‖A −1 ‖ · ‖A‖ wird Kondition der Matrix A<br />

genannt. Sie beschreibt die relative Kondition eines linearen Gleichungssystems<br />

Ax = b für alle möglichen Störungen in A und b, d. h. bezüglich<br />

aller möglichen Eingabefehler.<br />

# 12 Antwort<br />

Sei f : R n → R n stetig differenzierbar und y ∈ R n . Löse<br />

f(x) = y. (2.30)<br />

Sei nun Df(x) invertierbar, dann existiert aufgrund des Satzes von der<br />

inversen Funktion auch die inverse Funktion f −1 lokal in einer Umgebung<br />

von y und f −1 (y) = x. Weiterhin gilt D(f −1 )(y) = (Df(x)) −1 .<br />

Die Konditionen des obigen Problems, d. h. (f −1 , y) sind daher<br />

Etwa ist für eine eindimensionale Funktion f : R → R mit f(x) = y die<br />

relative Kondition<br />

κ rel (f −1 , y) = |f(x)|<br />

|x|<br />

·<br />

1<br />

|f ′ (x)| , (2.32)<br />

also wenn |f ′ (x)| fast 0 ist → schlechte absolute Kondition und wenn<br />

|f ′ (x)| ≫ 0 → gute absolute Kondition.<br />

κ abs (f −1 , y) = ‖(Df(x)) −1 ‖,<br />

κ rel (f −1 , y) = ‖f(x)‖<br />

‖x‖ ‖(Df(x))−1 ‖. (2.31)


2. Fehleranalyse # 13<br />

✗ Kondition des Skalarprodukts?<br />

2. Fehleranalyse # 14<br />

✗ Was ist Stabilität eines Alogirithmus?


# 13 Antwort<br />

Sei 〈x, y〉 := ∑ n<br />

i=1 x iy i = x t y und f : R 2n → R mit (x, y) ↦→ x t y = 〈x, y〉.<br />

Dann ist Df(x, y) = (y t , x t ) und es gilt<br />

κ rel =<br />

da cos(∡(x, y)) =<br />

∥ |(y t , x t )| · ( x<br />

y<br />

)∥ ∥∞<br />

‖ 〈x, y〉 ‖ ∞<br />

〈x,y〉<br />

‖x‖ 2 ‖y‖ 2<br />

= 2|yt ||x| cos(∡(|x|, |y|))<br />

= 2 ·<br />

| 〈x, y〉 | cos(∡(x, y)) ,<br />

und |y t ||x| = 〈|y|, |x|〉 ist.<br />

Falls x und y nahezu senkrecht aufeinander stehen, kann das Skalarprodukt<br />

schlecht konditioniert sein, z. B. für x = ˜x = ( )<br />

1<br />

1 und y =<br />

( )<br />

, ỹ = ( )<br />

1<br />

−1 .<br />

1+10 −10<br />

−1<br />

Das zeigt, dass das Cholesky-Verfahren für die Lösung der Normalengleichung<br />

ungeeignet ist.<br />

# 14 Antwort<br />

In der numerischen Mathematik heißt ein Verfahren stabil, wenn es gegenüber<br />

kleinen Störungen der Daten unempfindlich ist. Insbesondere<br />

bedeutet dies, dass sich Rundungsfehler nicht zu stark auf die Berechnung<br />

auswirken. Man unterscheidet in der <strong>Numerik</strong> hierbei Kondition,<br />

Stabilität und Konsistenz, die untereinander stark verwandt sind. Stabilität<br />

ist dabei eine Eigenschaft des Algorithmus und die Kondition eine<br />

Eigenschaft des Problems.<br />

Verfahren (Vorwärtsanalyse). Ein Verfahren heißt stabil, wenn es eine<br />

Konstante σ v ∈ R gibt, so dass gilt<br />

‖ ˜f(˜x) − f(˜x)‖ ≤ σ v · κ rel · eps, (2.33)<br />

wobei κ rel die relative Kondition des Problems und eps die Maschinengenauigkeit<br />

bezeichnet. σ v quantifiziert die Stabilität im Sinne der<br />

Vorwärtsanalyse.<br />

Verfahren (Rückwärtsanalyse). Meistens kennt man eine sinnvolle obere<br />

Schranke ε für den unvermeidbaren relativen Eingabefehler ‖˜x−x‖/‖x‖.<br />

Problemabhängig kann das ein Messfehler oder auch ein Rundungsfehler<br />

sein. Um den durch den Algorithmus verursachten Fehler besser<br />

einschätzen zu können, rechnet man ihn bei der Rückwärtsanalyse in<br />

einen äquivalenten Fehler in den Eingangsdaten des Problems um, der<br />

auch als Rückwärtsfehler bezeichnet wird. Die formale Definition des<br />

Rückwärtsfehlers des Algorithmus ˜f für die (gerundeten) Eingabedaten<br />

˜x (mit ‖˜x‖ ̸= 0) lautet:<br />

{ }<br />

‖ˆx − ˜x‖<br />

σ r(˜x) := inf<br />

: ˆx ∈ D(f) und f(ˆx) = ˜f(˜x) , (2.34)<br />

‖˜x‖<br />

wobei D(f) für den Definitionsbereich von f steht. Der Algorithmus ist<br />

rückwärtsstabil, wenn der relative Rückwärtsfehler für alle kleiner als der<br />

unvermeidbare relative Eingabefehler ist.<br />

Bemerkung (Zusammenhang zwischen Vorwärtsfehler, Rückwärtsfehler<br />

und Kondition eines Problems). Der Vorwärtsfehler ist kleiner als die<br />

Kondition des Problems mal den Rückwärtsfehler:<br />

‖ ˜f(˜x) − f(x)‖ ≤ κ(f, x) · ‖ˆx − x‖. (2.35)


2. Fehleranalyse # 15<br />

✗ Warum soll man die Subtraktion bzw. schlecht konditionierte Probleme an den Anfang von<br />

Algoirthmen stellen?<br />

2. Fehleranalyse # 16<br />

✗ Stabilitätsindikatoren?


# 15 Antwort<br />

Wie wirken sich Fehler eines Rechenschrittes innerhalb eines Algorithmus<br />

aus?<br />

Definition (Durch elementare Operation ausführbar). Eine Abbildung<br />

ϕ : K ⊂ R n → R m heißt durch eine elementare Operation ausführbar,<br />

falls es eine Abbildung ˜ϕ : F n → F m gibt, mit der Menge F der Maschinenzahlen,<br />

die auf dem Rechner mit relativer Genauigkeit eps realisiert<br />

werden kann, d. h.<br />

‖ ˜ϕ(x) − ϕ(x)‖ p<br />

‖ϕ(x)‖ p<br />

≤ eps, p = 1, . . . , ∞. (2.36)<br />

Definition (Algorithmus, Implementation). Eine Zerlegung der Abbildung<br />

f : E → R m der Form f = f (l) ◦ . . . ◦ f (1) mit l ∈ N und<br />

f (i) : U i ⊂ R k i → U i+1 ⊂ R k i+1 mit k 1 = n und k l+1 = m heißt Algorithmus,<br />

falls alle f (i) durch elementare Operationen ausführbar sind.<br />

Seien ˜f (i) die Abbildungen, die f (i) auf dem Rechner bis auf Maschinengenauigkeit<br />

realisieren. Dann heißt die Zerlegung ˜f = ˜f (l) ◦ . . . ◦ ˜f (1) :<br />

F n → F m Implementation von f. Im Allgemeinen gibt es verschiedenen<br />

Implementationen einer Abbildung f.<br />

Lemma (Fehlerfortpflanzung). Sei x ∈ R n mit ˜x ∈ F n mit |˜x i − x i | ≤<br />

eps |x i | für alle i = 1, . . . , n. Sei f = f (l) ◦ . . . ◦ f (1) ein Algorithmus<br />

für f und ˜f eine zugehörige Implementation. Mit den Abkürzungen<br />

x (j+1) = f (j) ◦ . . . ◦ f (1) (x) und x (1) = x, sowie entsprechend ˜x (j+1) gilt<br />

‖˜x (j+1) − x (j+1) ‖<br />

‖x (j+1) ‖<br />

≤ eps K (j) + o(eps), (2.37)<br />

mit K (j) = (1 + κ (j) + κ (j) κ (j+1) + . . . + κ (j) · . . . · κ (1) ), wobei<br />

κ (j) := κ rel (f (j) , x (j) ) und ‖.‖ eine bleibige p-Norm ist.<br />

Korollar. Sei x ∈ R n mit ˜x ∈ F n mit |˜x i − x i | ≤ eps |x i | für alle<br />

i = 1, . . . , n. Sei f = f (l) ◦ . . . ◦ f (1) ein Algorithmus für f und<br />

˜f eine zugehörige Implementation. Mit den Abkürzungen x (j+1) =<br />

f (j) ◦ . . . ◦ f (1) (x) und x (1) = x, sowie entsprechend ˜x (j+1) gilt<br />

˜f(˜x) − f(x)‖<br />

≤<br />

‖f(x)‖<br />

≤ eps<br />

(1 + κ (l) + κ (l) κ (l−1) + . . . + κ (l) · . . . · κ (1)) +o(eps). (2.38)<br />

} {{ }<br />

=:K<br />

Damit ist offensichtlich, dass schlecht konditionierte Probleme zu elementar<br />

ausführbaren Abbildungen so früh wie möglich ausgeführt werden<br />

sollen. Die Subtraktion zweier annähernd gleich großer Zahlen<br />

ist schlecht konditioniert. Unvermeidbare Subtraktionen sollten also<br />

möglichst früh durchgeführt werden. Allerdings hängt κ (i) nicht nur von<br />

f (i) , sondern auch von dem Zwischenergebnis x (j) ab, welches a priori<br />

unbekannt ist.<br />

# 16 Antwort<br />

Der Quotient<br />

gibt die Güte des Algorithmus an. Als Stabilitätsindikator kann also<br />

Gesamtfehler<br />

{ }} {<br />

‖ ˜f(˜x) − f(x)‖<br />

‖f(x)‖<br />

‖f(˜x) − f(x)‖ ‖˜x − x‖<br />

·<br />

‖f(x)‖ ‖x‖<br />

} {{ } } {{ }<br />

Fehler des Eingabefehler<br />

Problems<br />

(2.39)<br />

verwendet werden und es gilt<br />

‖ ˜f(˜x) − f(x)‖<br />

‖f(x)‖<br />

σ(f, ˜f, x) :=<br />

≤ σ(f, ˜f, x)<br />

} {{ }<br />

Beitrag des<br />

Algorithmus<br />

K<br />

κ rel (f, x)<br />

· κ rel (f, x) · eps<br />

} {{ }<br />

Beitrag des<br />

Problems<br />

}{{}<br />

Rundungsfehler<br />

(2.40)<br />

+o(eps). (2.41)<br />

Falls σ < 1 ist, dämpft der Algorithmus die Fehlerfortpflanzung der<br />

Eingabe- und Rundungsfehler und heißt stabil. Falls σ ≫ 1 heißt der<br />

Algorithmus instabil.


3. Lineare Ausgleichsprobleme # 17<br />

✗ Herleitung und Beschreibung linearer Ausgleichsprobleme? Herleitung Gaußscher Fehlerquadrate?<br />

3. Lineare Ausgleichsprobleme # 18<br />

✗ Normalengleichung?


# 17 Antwort<br />

Beispiel (Widerstandsmessung). Man betrachte einen einfachen Stromkreis,<br />

wobei I die Stromstärke, U die Spannung und R den Widerstand<br />

bezeichnet. Das Ohmsche Gesetz besagt, dass diese Größen über U = RI<br />

gekoppelt sind. Man nehme nun an, dass eine Messreihe von Daten<br />

(U i , I i ), i =, 1 . . . , m angelegt wird. Die Aufgabe besteht darin, aus diesen<br />

Messdaten den Widerstand R im Stromkreis zu bestimmen. Theoretisch<br />

müsste der gesuchte Wert alle Gleichungen U i = RI i , i = 1, . . . , m<br />

erfüllen. Nun sind aber die Messdaten notgedrungen mit Fehlern behaftet.<br />

Da keinerlei Hinweise vorliegen, welcher dieser Werte geeignet ist,<br />

muss man eine andere Strategie entwickeln, die in einem gewissen Sinne<br />

die Fehler ausgleicht und in einem zu spezifizierenden Sinne optimal<br />

ist. Hierzu kann man versuchen, die durch eine Wahl von R bedingten<br />

Residuen U i − RI i zu quadrieren, aufzusummieren und dasjenige R zu<br />

suchen, das diesen Ausdruck minimiert:<br />

f(R) :=<br />

m∑<br />

(RI i − U i ) 2 = min . (3.1)<br />

i=1<br />

Da f eine quadratische Funktion ist, kann nur ein Exrtemum vorliegen,<br />

das durch die Nullstelle der Ableitung gegeben ist:<br />

(<br />

m∑<br />

m<br />

)<br />

∑<br />

m∑<br />

0 = f ′ (R) = 2(RI i − U i )I i = 2R Ii<br />

2 − 2 U i I i . (3.2)<br />

i=1<br />

i=1<br />

i=1<br />

Hier ergibt sich diese Nullstelle R ∗ als<br />

∑<br />

R ∗ i<br />

=<br />

U iI i<br />

∑<br />

i I2 i<br />

(3.3)<br />

Verfahren (Gaußsche Fehlerquadratmethode). Allgemeiner liegt häufig<br />

folgende Situation vor: Aus theoretischen Überlegungen ist bekannt, dass<br />

eine bestimmte Größe b(t) über einen gewissen funktionalen Zusammenhang<br />

von einigen Parametern x 1 , . . . , x n abhängt:<br />

b(t) = y(t|x 1 , . . . , x n). (3.4)<br />

Im Beispiel war b(t) = y(t|x) = t · x und n = 1. Es geht darum, aus einer<br />

Reihe von Beobachtungen (Messungen) diejenigen Parameter x 1 , . . . , x n<br />

zu ermitteln, die den gegebenen Prozess möglichst gut beschreiben. Wenn<br />

mehr Messungen<br />

b i ≈ b(t i ), i = 1, . . . , m, (3.5)<br />

als unbekannte Parameter x i , i = 1, . . . , n vorliegen, also m > n ist,<br />

so hat man im Prinzip ein überbestimmtes Gleichungssystem, welches<br />

aufgrund von Messfehlern im Allgemeinen nicht konsistent ist. Deshalb<br />

versucht man, diejenigen Parameter x 1 , . . . , x n zu bestimmen, die<br />

m∑<br />

w i (y(t|x 1 , . . . , x n) − b i ) 2 = min (3.6)<br />

i=1<br />

erfüllen. Hierbei können die w i als positive Gewichte verschieden von 1<br />

gewählt werden, wenn man einigen der Messungen mehr oder weniger Gewicht<br />

beimessen möchte. Dieses Vorgehen bezeichnet man als Gaußsche<br />

Fehlerquadratmethode.<br />

Definition (Lineares Ausgleichsproblem). Im Falle einer linearen Funktion<br />

ϕ<br />

ϕ(t, x 1 , . . . , x m) = a 1 (t)x 1 + . . . + a n(t)x n (3.7)<br />

mit gegebenen a i : R → R, definiere<br />

A := (a ij ) ∈ R m×n mit a ij = a j (t i ) (3.8)<br />

b := (b i ) ∈ R m . (3.9)<br />

Weiterhin seien mehr Daten bekannt als Parameter gesucht, d. h. m ≥ n.<br />

Dann ergibt sich ein lineares Ausgleichsproblem. Zu gegebenen b ∈ R m<br />

und A ∈ R m×n mit m ≥ n ist das ¯x ∈ R n gesucht, sodass<br />

‖b − A¯x‖ 2 = min x<br />

‖b − Ax‖ 2 . (3.10)<br />

Dies entspricht der Lösung eines überbestimmten, im Allgemeinen nicht<br />

erfüllbaren Gleichungssystems Ax = b.<br />

Das Beispiel der Widerstandsbestimmung passt auf die gerade gemachte<br />

Definition. Dabei ist n = 1, a 1 (t i ) = I i , b(t i ) = U i und x 1 = R.<br />

# 18 Antwort<br />

Satz (Projektionssatz). Sei V ein reeller Vektorraum mit einem Skalarprodukt<br />

〈., .〉. Sei U ⊂ V ein endlich dimensionaler Untervektorraum<br />

und sei<br />

U ⊥ := {v ∈ V : 〈v, u〉 = 0 für alle u ∈ U} . (3.11)<br />

Weiterhin sei ‖v‖ := √ 〈v, v〉 die von 〈., .〉 induzierte Norm.<br />

1. Zu jedem v ∈ V existiert genau ein ū ∈ U, sodass v − ū ∈ U ⊥ ,<br />

d. h. 〈v − ū, u〉 = 0 für alle u ∈ U. Dies definiert die orthogonale<br />

Projektion P : V → U durch P v := ū.<br />

2. Zu jedem v ∈ V bestimmt P v die eindeutige Lösung ‖v − P v‖ =<br />

min u∈U ‖v − u‖. Also gilt<br />

‖v − ū‖ = min ‖v − u‖ ⇔ 〈v − ū, u〉 = 0 ∀u ∈ U (3.12)<br />

u∈U<br />

und ū = P v ist eindeutig.<br />

Bemerkung (Projektionssatz in Worten). Zu jedem Vektor v aus einem<br />

Vektorraum gibt es genau einen Vektor ū aus einem Untervektorraum,<br />

sodass die Differenz der beiden Vektoren ganz im orthogonalen Komplement<br />

des Untervektorraums bezüglich des Vektorraums liegt.<br />

Korollar. Sei P : V → U die orthogonale Projektion von V auf U.<br />

Dann gilt: P ist linear, v − P v ∈ U ⊥ und P 2 = P , sowie P | U = id.<br />

Satz (Normalgleichung). Der Vektor ¯x ∈ R n ist genau dann Lösung des<br />

linearen Ausgleichproblems min x∈R n ‖b − Ax‖ 2 , falls ¯x die Normalgleichung<br />

A t Ax = A t b (3.13)<br />

erfüllt. Insbesondere ist das lineare Ausgleichsproblem eindeutig lösbar,<br />

wenn der Rang von A maximal ist, d. h. Rang(A) = n falls n ≤ m.<br />

Beweis. Sei V = R m , U = R(A) = {Ax : x ∈ R n }, b ∈ R m . Nach dem<br />

Projektionssatz gilt<br />

‖b − A¯x‖ 2 = min<br />

x∈R n ‖b − Ax‖ 2 (3.14)<br />

⇔ 〈b − A¯x, Ax〉 = 0 ∀x ∈ R n (3.15)<br />

⇔ 〈 A t (b − A¯x), x 〉 = 0 ∀x ∈ R n (3.16)<br />

⇔ A t (b − A¯x) = 0 (3.17)<br />

⇔ A t A¯x = A t b. (3.18)<br />

Nach dem Projektionssatz existiert ein eindeutiges ȳ = P b ∈ U. Für dieses<br />

ȳ ist ¯x ∈ R n mit ȳ = A¯x eindeutig bestimmt, falls A injektiv ist, d. h.<br />

falls Rang(A) = n ist.<br />

Rechnung (Lösung der Normalgleichung). Zu Lösen sei die Normalgleichung<br />

A t Ax = A t b. Falls Rang(A) = n ist, ist A t A eine spd-Matrix und<br />

das Cholesky-Verfahren ist anwendbar. Eine Betrachtung des jeweiligen<br />

Aufwandes ergibt<br />

1. A t A ∈ R n×n ≈ 1/2 · n 2 m Multiplikationen,<br />

2. Cholesky-Zerlegung von A t A ≈ 1/6 · n 3 Multiplikationen.<br />

Für m ≫ n überwiegt der Aufwand A t A zu berechnen:<br />

Die Kondition der Berechnung von A t A erhält man wie folgt: A t A entspricht<br />

vieler Auswertungen von Skalarprodukten zweier Spaltenvektoren<br />

a i ∈ R m von A. Dies ist jedoch häufig schlecht konditioniert. Es gilt<br />

cond 2 (A t A) = (cond 2 (A)) 2 . (3.19)<br />

Im Vergleich dazu ist die Kondition <strong>zur</strong> Lösung von (P, b) zum Ausgleichsproblem<br />

eher mit cond 2 (A) beschrieben. Das Cholesky-Verfahren<br />

angewandt auf die Normalengleichung <strong>zur</strong> Lösung des linearen Ausgleichproblems<br />

ist also meist ungeeignet.


3. Lineare Ausgleichsprobleme # 19<br />

✗ Orthogonalisierungsverfahren?<br />

3. Lineare Ausgleichsprobleme # 20<br />

✗ QR-Zerlegung durch Givens-Rotation?


# 19 Antwort<br />

Sei A eine m × n-Matrix, die eine QR-Zerlegung besitzt, d. h. A = QR<br />

mit einer orthogonalen Matrix Q und einer oberen Dreiecksmatrix R.<br />

Weiterhin gilt Q ist längenerhaltend ‖Qv‖ 2 = ‖v‖ 2 , also ‖Q‖ 2 = 1 und<br />

damit<br />

‖Q −1 ‖ 2 = 1, ⇒ cond 2 (Q) = 1. (3.20)<br />

Dann kann das lineare Gleichungssystem Ax = b wie folgt gelöst werden:<br />

1. Löse Qz = b, berechnet z = Q t b. Das ist stabil wegen cond 2 (Q) =<br />

1.<br />

2. Löse durch Rückwärtssubstitution Rx = z.<br />

Satz. Sei A ∈ R m×n , m ≥ n und Rang(A) = n, b ∈ R m und besitze A<br />

eine Zerlegung<br />

( ) R<br />

A = Q<br />

(3.21)<br />

0<br />

mit einer orthogonalen Matrix Q ∈ R m×m und einer oberen Dreiecksmatrix<br />

R ∈ R n×n . Dann ist R invertierbar. Sei weiter<br />

) (¯b1<br />

Q t b = . (3.22)<br />

¯b2<br />

Dann ist<br />

¯x = R −1¯b1 (3.23)<br />

die Lösung des linearen Ausgleichproblems und ‖¯b 2 ‖ = ‖b − A¯x‖ =<br />

min ‖b − Ax‖ 2 .<br />

Beweis. R ist invertierbar, da Rang(R) = Rang ( R<br />

0<br />

)<br />

= Rang(Q t A) =<br />

Rang(A) = n ist. Damit gilt<br />

∥ ) ( )<br />

∥∥∥<br />

(¯b1<br />

‖b − Ax‖ 2 2 = ‖Qt (b − Ax)‖ 2 R<br />

2 = 2<br />

− x<br />

¯b2 0 ∥ =<br />

2<br />

(3.24)<br />

= ‖¯b 1 − Rx‖ 2 2 + ‖¯b 2 ‖ 2 2 (3.25)<br />

da Q längenerhaltend ist. Dieser Ausdruck wird minimal für R¯x = ¯b 1 .<br />

(QR-Zerlegung zum Lösen eines linearen Ausgleichpro-<br />

Verfahren<br />

blems).<br />

1. Berechne A = Q ( R<br />

0<br />

)<br />

.<br />

a) mit Givens-Rotation: Q = Q (1)t · . . . · Q (p)t , merke zugehörige<br />

(c, s). Jede Rotation setzt eine Null, also p = ∑ n<br />

j=1 (m − j).<br />

Ist insbesondere für Hessenberg-Matrizen interessant.<br />

b) mit Householder-Reflexion: Q = Q (1) · . . . · Q (p) , merke zugehörige<br />

Vektoren v (i) . Jede Reflexion setzt alle gewünschten<br />

Nullen in einer Spalte, also p = min(m − 1, n). Interessant <strong>zur</strong><br />

Berechnung von:<br />

- Ax = b mit invertierbarem A ist sie ungefähr doppelt so<br />

aufwendig wie die LR-Zerlegung, aber dafür stabil,<br />

- Für lineare Ausgleichsprobleme ist sie in der Regel der<br />

Givens-Rotation und dem Cholesky-Verfahren für die<br />

Normalengleichung vorzuziehen.<br />

2. Berechne<br />

( ¯b1<br />

¯b2<br />

)<br />

Q t b = Q (p) ·. . .·Q (1) b. Dies ist numerisch stabil, da<br />

cond(Q (i) ) = 1. Rx = ¯b 1 , welches Lösung des linearen Ausgleichsproblems<br />

min x ‖b − Ax‖ ist.<br />

# 20 Antwort<br />

In der linearen Algebra ist eine Givens-Rotation eine Drehung in einer<br />

Ebene, die durch zwei Koordinaten-Achsen aufgespannt wird. Die Transformation<br />

lässt sich durch einer Matrix der Form<br />

⎛<br />

1 · · · 0 · · · 0 · · · 0<br />

⎞<br />

. . ..<br />

. .. . ..<br />

. .. . ..<br />

. ..<br />

0 · · · c · · · s · · · 0<br />

Ω kl =<br />

. . ..<br />

. .. . ..<br />

. .. . ..<br />

. ..<br />

0 · · · −s · · · c · · · 0<br />

⎜<br />

⎝<br />

.<br />

. ..<br />

. .. . ..<br />

. .. . ..<br />

. ⎟ .. ⎠<br />

0 · · · 0 · · · 0 · · · 1<br />

(3.26)<br />

beschreiben, wobei c = cos(θ) und s = sin(θ) in der k-ten bzw. l-ten Zeile<br />

und Spalte erscheinen. Eine solche Matrix heißt Givens-Matrix.<br />

Verfahren (QR-Zerlegung durch Givens-Rotation). Die Idee besteht<br />

darin, sukzessiv die Elemente unterhalb der Hauptdiagonalen auf Null<br />

zu setzen, indem man die Matrix von links mit Givens-Rotationen multipliziert.<br />

Zunächst bearbeitet man die erste Spalte von oben nach unten<br />

und dann nacheinander die anderen Spalten ebenfalls von oben nach unten.<br />

Ω kl A = Ã (3.27)<br />

ã ij = a ij für i ≠ k, l, (3.28)<br />

ã kj = ca kj + sa lj für k < l, (3.29)<br />

ã lj = −sa kj + ca lj für k < l, (3.30)<br />

Das Verfahren ist sehr stabil und erfordert keine Pivotisierung. Außerdem<br />

berücksichtigt es schon vorhandene 0-Einträge in strukturierten, insbesondere<br />

dünnbesetzten Matrizen.<br />

Rechnung (Aufwand der Givens-Rotation). 1. Falls m ≈ n sind ungefähr<br />

4/3 · n 3 Multiplikationen, sowie 1/2 · n 2 Quadratwurzeln notwendig.<br />

Die Givens-QR-Zerlegung ist somit ungefähr vier mal so<br />

teuer wie die Gauß-Elimination, dafür jedoch stabil.<br />

2. Falls m ≫ n sind ungefähr 2n 2 m Multiplikationen, sowie mn Quadratwurzeln<br />

nötig. Das Verfahren ist daher 2-4 mal so teuer wie<br />

das Cholesky-Verfahren für die Normalgleichung, aber stabil.<br />

3. Bei Hessenberg-Matrizen, d. h. Matrizen mit der Gestalt<br />

⎛<br />

∗<br />

∗<br />

A =<br />

⎜<br />

⎝<br />

. ..<br />

∗<br />

. .. . ..<br />

0 ∗ ∗<br />

⎞<br />

, (3.31)<br />

⎟<br />

⎠<br />

also a ij = 0 für alle i > k + 1, sind nur (n − 1) Givens-Rotationen<br />

auszuführen. Diese Matrizen tauchen z. B. bei Eigenwertberechnungen<br />

auf und sind dort ein wichtiger Bestandteil des Verfahrens.<br />

Beispiel (Beispielrechnung). Gesucht ist also die Matrix<br />

( ( )<br />

c s a<br />

−s c)<br />

b<br />

!<br />

=<br />

( r<br />

0)<br />

. (3.32)<br />

Dann folgt wegen |r| = ‖(r, 0) t ‖ ! = ‖(a, b) t ‖ = √ a 2 + b 2 schon die eindeutige<br />

Gestalt von r, c, s:<br />

r = ± √ a 2 + b 2 , c = a r , s = b r . (3.33)<br />

Im Allgemeinen gilt für Ω kl also<br />

√<br />

r = ± x 2 k + x2 l ,<br />

c = x k<br />

r ,<br />

s = x l<br />

r , (3.34)<br />

denn dann erhalten wir genau die gewünschte 0 in der l-ten Spalte, weil<br />

cx k + sx l = x2 k<br />

r + x2 l<br />

r<br />

−sx k + cx l = −x kx l<br />

r<br />

= √<br />

x 2 k + x2 l , (3.35)<br />

+ x kx l<br />

r<br />

= 0. (3.36)


3. Lineare Ausgleichsprobleme # 21<br />

✗ QR-Zerlegung durch Householder-Reflexion?<br />

4. Numerische Lösung nichtlinearer Gleichungssysteme # 22<br />

✗ Bisektionsverfahren?


# 21 Antwort<br />

Die Householdertransformation beschreibt die Spiegelung eines Vektors<br />

an einer Hyperebene durch Null im euklidischen Raum. Im dreidimensionalen<br />

Raum ist sie somit eine Spiegelung an einer Ebene (durch den<br />

Ursprung). Verwendung findet sie vor allem in der numerischen Mathematik,<br />

wenn mittels orthogonaler Transformationen Matrizen so gezielt<br />

umgeformt werden, dass bestimmte Spaltenvektoren auf das Vielfache<br />

des ersten Einheitsvektors abgebildet werden.<br />

Die Darstellung einer solchen linearen Abbildung durch eine Matrix wird<br />

als Householder-Matrix bezeichnet und hat die Form<br />

Q = E n − 2 vvt<br />

v t v , (3.37)<br />

mit v t der Transponierten des Spaltenvektors v. Der Nenner v t v ist das<br />

Skalarprodukt von v mit sich selbst, vv t das dyadische Produkt. Die Matrix<br />

vv t /v t v beschreibt die Orthogonalprojektion auf die durch v gegebene<br />

Richtung und ist symmetrisch, orthogonal und involutorisch.<br />

Verfahren (QR-Zerlegung durch Householder-Reflexion). Es gilt v ∈<br />

span {a − αe 1 } und α = ±‖a‖ 2 . Setze<br />

Also<br />

v = a − αe 1 , (3.38)<br />

α = − sign(a 1 )‖a‖ 2 , (3.39)<br />

⎛<br />

α (1) ⎞<br />

0 ∗<br />

A → A (1) = Q (1) A = ⎜<br />

⎟<br />

⎝<br />

.<br />

⎠<br />

0<br />

(3.40)<br />

mit Q (1) = E n − 2 v(1) v (1)t<br />

. Nach insgesamt p = min(m − 1, n) Schritten<br />

v (1)t v (1)<br />

erhalten wir die obere Dreiecksmatrix<br />

R = Q (p) · . . . · Q (1) A, (3.41)<br />

und wegen Q (i) = (Q (i) ) −1 folgt<br />

A = QR, Q = Q (1) · . . . · Q (p) . (3.42)<br />

Bemerkung (Speicherung). Gespeichert werden müssen die obere Dreiecksmatrix<br />

R und die Householdervektoren v (i) ∈ R m+1−i . Die Diagonalelemente<br />

von R sind r ii = α (i) . Folgende Speicheraufteilung ist möglich:<br />

A<br />

→<br />

R<br />

v (1) v (2) . ..<br />

v (n) +<br />

α (1)<br />

.<br />

α (p) (3.43)<br />

Falls 〈 v (i) , e i<br />

〉<br />

= 1, d. h. die erste Komponente von v (i) ist normiert,<br />

kann diese weggelassen werden und R komplett in A gespeichert werden.<br />

Rechnung (Aufwand für den Householder QR-Algorithmus).<br />

1. Falls m ≈ n sind ungefähr 2/3 · n 3 Multiplikationen notwendig und<br />

damit ist der Householder-Algorithmus ungefähr doppelt so teuer<br />

wie die LR-Zerlegung, aber stabil.<br />

2. Falls m ≫ n sind ungefähr 2mn 2 Multiplikationen notwendig. Der<br />

Aufwand ist daher ungefähr so hoch wie beim Cholesky-Verfahren<br />

für die Normalgleichung, aber stabil.<br />

Beispiel (Beispielrechnung). Insgesamt erhält man<br />

α = sign(y 1 ) · ‖y‖ 2 , v = y + αe 1 , Q vy = −αe 1 . (3.44)<br />

Die explizite Form von Q v wird <strong>zur</strong> Berechnung von Q vy gar nicht<br />

benötigt:<br />

Q 1 A = A − 2v 1w t<br />

v1 t v , mit w t = v1 t A (3.45)<br />

1<br />

# 22 Antwort<br />

Die Bisektion ist ein Verfahren der Mathematik. Durch sie wird eine<br />

konvergente Folge von Intervallschachtelungen erzeugt.<br />

Satz (Mittelwertsatz der Differentialrechnung). Die Funktion f :<br />

[a, b] → R sei auf dem kompakten Intervall [a, b] stetig und auf dem offenen<br />

Intervall (a, b) differenzierbar. Dann gibt es ein ξ ∈ (a, b), sodass<br />

gilt<br />

f ′ (ξ) =<br />

f(b) − f(a)<br />

. (4.1)<br />

b − a<br />

Verfahren (Bisektionsverfahren mit Intervallhalbierung). Sei f :<br />

[a, b] → R stetig und f(a) · f(b) < 0. Dann folgt aus dem Mittelwertsatz<br />

die Existenz mindestens einer Nullstelle x ∗ ∈ (a, b), d. h. f(x ∗ ) = 0.<br />

Generiere eine Folge von Intervallen<br />

[<br />

a (i) , b (i)] ⊆<br />

[<br />

a (i−1) , b (i−1)] (4.2)<br />

mit x ∗ ∈ [ a (i) , b (i)] mit b (i) − a (i) → 0. Setze a (0) = a und b (0) = b.<br />

Definiere<br />

x (i+1) := 1 (<br />

b (i) + a (i)) (4.3)<br />

2<br />

[<br />

{[<br />

a (i+1) , b (i+1)] x (i+1) , b (i)] falls f(a (i) ) · f(x (i+1) ) > 0,<br />

:= [<br />

a (i) , x (i+1)] falls f(a (i) ) · f(x (i+1) (4.4)<br />

) < 0.<br />

Bemerkung (Anmerkungen zum Bisektionsverfahren).<br />

- Vorteil: Konvergenz<br />

Für jede i ≥ 1 gilt:<br />

b (i) − a (i) = 1<br />

2 (i−1) (b − a) mit x∗ ∈<br />

∣<br />

∣x (i+1) − x ∗∣ ∣ 1<br />

≤<br />

2<br />

[<br />

a (i) , b (i)] , (4.5)<br />

(<br />

b (i) − a (i)) = 2 −i (b − a). (4.6)<br />

Also folgt lim i→∞ x (i) = x ∗ . Es gilt sogar:<br />

Das oben genannte Bisektionsverfahren konvergiert, falls f :<br />

[a, b] → R stetig ist und f(a) · f(b) < 0 gilt.<br />

- Vorteil: Differenzierbarkeit<br />

Es muss keine Differenzierbarkeitsvoraussetzung gemacht werden.<br />

Zuerst muss jedoch a und b mit f(a)f(b) < 0 gefunden werden.<br />

- Nachteil: Niedrige Konvergenzgeschwindkeit<br />

Das Verfahren wählt x (i) als Intervallmitte also unabhängig von<br />

f und unabhängig davon, wie dicht x (i) an x ∗ liegt. Deshalb ist<br />

im Allgemeinen die Konvergenzgeschwindigkeit extrem niedrig. Sie<br />

hängt von der Länge des Intervalls [a, b] und der Lage von x ∗<br />

bezüglich der Intervallhalbierungen ab.<br />

- Nachteil: Anwendbarkeit<br />

Es ist nicht für f : R → R n anwendbar.<br />

- Nachteil: Kondition<br />

Falls f ′ (x ∗ ) ≈ 0 ist, ist das Problem (f −1 , 0) schlecht konditioniert<br />

und die Approximation x (k) kann weit von x ∗ wegliegen.<br />

Definition (Arten von Konvergenz). Eine Folge {x (k) } k∈N mit x (k) ∈<br />

R n konvergiert mit mindestens der Ordnung p ≥ 1 gegen x ∗ , falls<br />

lim k→∞ ‖x (k) − x ∗ ‖ = 0 und falls es eine Konstante c > 0 und N ∈ N<br />

gibt, sodass ‖x (k+1) − x ∗ ‖ ≤ c‖x (k) − x ∗ ‖ p für alle k ≥ N.<br />

Im Falle p = 1 sei zusätzlich c < 1 verlangt und wir sprechen von linearer<br />

Konvergenz, im Falle p = 2 von quadratischer Konvergenz. Gilt:<br />

lim ‖x(k+1) − x ∗ ‖<br />

‖x (k) − x ∗ ‖<br />

so sprechen wir von superlinearer Konvergenz.<br />

= 0, (4.7)


4. Numerische Lösung nichtlinearer Gleichungssysteme # 23<br />

✗ Fixpunkt-Iteration?<br />

4. Numerische Lösung nichtlinearer Gleichungssysteme # 24<br />

✗ Newtonverfahren für skalare Gleichungen? Tangentenverfahren?


# 23 Antwort<br />

Fixpunktiteration ist ein in der Mathematik gebräuchliches iteratives<br />

Verfahren <strong>zur</strong> näherungsweisen Bestimmung der Nullstellen einer Funktion<br />

f auf einem bestimmten Intervall [a, b]. Die Gleichung muss dazu<br />

zuerst in eine Fixpunktgleichung, also eine Gleichung der Form ϕ(x) = x<br />

umgeformt werden.<br />

Gesucht sei ein Fixpunkt x ∗ ∈ D ⊆ R n der stetigen Funktion g : D →<br />

R n , d. h.<br />

g(x ∗ ) = x ∗ . (4.8)<br />

Idee: Nutze obige Gleichung <strong>zur</strong> Iteration, d. h. wähle x (0) ∈ D und definiere<br />

Falls x (k) konvergiert, gilt<br />

x (k+1) := g(x (k) ). (4.9)<br />

x ∗ = lim<br />

k→∞ x(k) = lim<br />

k→∞ g(x(k−1) ) = g(x ∗ ). (4.10)<br />

Da g stetig ist ist damit x ∗ ein Fixpunkt.<br />

Definition (Kontraktion). Sei D ⊆ R n abgeschlossen und ‖.‖ eine Norm<br />

auf dem R n . Eine Abbildung g : D → R n heißt Kontraktion bzgl. ‖.‖,<br />

falls ein κ ∈ [0, 1) mit ‖g(u)−g(v)‖ ≤ κ‖u−v‖ für alle u, v ∈ D existiert.<br />

Die kleinste solche Zahl κ heißt Kontraktionszahl von g.<br />

Offensichtlich ist jede auf D kontrahierende Abbildung stetig.<br />

Lemma. Sei D = ¯Ω mit Ω ⊆ R n offen und konvex. Falls g : D → R n<br />

eine stetig differenzierbare Funktion ist mit<br />

so ist g kontrahierend.<br />

sup ‖Dg(x)‖ < 1, (4.11)<br />

x∈Ω<br />

Satz (Banachscher Fixpunktsatz). Sei D ⊆ R n abgeschlossen und die<br />

Abbildung g : D → R n eine Kontraktion. Weiterhin gelte g(D) ⊂ D.<br />

Dann gilt:<br />

1. Es existiert genau ein Fixpunkt x ∗ von g, d. h. g(x ∗ ) = x ∗ .<br />

2. Für jeden Startwert x (0) ∈ D konvergiert die Folge der Fixpunktiterierten<br />

x (k+1) := g(x (k) ) gegen x ∗ .<br />

3. Es gilt die a posteriori Fehlerabschätzung<br />

‖x (k) − x ∗ ‖ ≤<br />

und die a priori Fehlerabschätzung<br />

‖x (k) − x ∗ ‖ ≤<br />

κ<br />

1 − κ ‖x(k) − x (k−1) ‖, (4.12)<br />

κk<br />

1 − κ ‖x(1) − x (0) ‖. (4.13)<br />

Bemerkung (Anmerkungen zum Banachschen Fixpunktsatz).<br />

1. Es reicht bereits aus, dass D ein vollständig metrischer Raum und<br />

d eine Metrik auf D anstelle einer Norm ‖.‖ um die Korrektheit des<br />

Satzes zu gewährleisten.<br />

2. Das Iterationsverfahren aus dem Banachschen Fixpunktsatz konvergiert<br />

mindestens linear, denn es gilt ‖x (k+1) − x ∗ ‖ = ‖g(x (k) ) −<br />

g(x ∗ )‖ ≤ κ‖x (k) − x ∗ ‖.<br />

3. Im Allgemeinen ist der Nachweis von g(D) ⊂ D schwierig.<br />

Beispiel (Berechnung der Nullstelle mit Fixpunktiteration). Wir suchen<br />

die Nullstelle einer Funktion f(x). Finde eine Funktion g(x) mit g(x) = x<br />

genau dann, wenn f(x) = 0 ist. Eine Möglichkeit ist g(x) = f(x) + x.<br />

Überprüfe, ob g eine Kontraktion ist und iteriere den Fixpunkt.<br />

Für f(x) = 2x − tan(x) = 0 sind mögliche Fixpunktgleichungen gegeben<br />

durch g(x) = 1/2 · tan(x) oder die Umkehrfunktion h(x) = arctan(2x).<br />

Betrachte die Ableitungen, um herauszufinden, welche der beiden Funktionen<br />

eine Kontraktion ist:<br />

g ′ (x) =<br />

1<br />

cos(2x) + 1 , 2<br />

h′ (x) =<br />

4x 2 + 1 . (4.14)<br />

Man sieht, dass g ′ (x) viele Pole hat und damit nur in sehr kleinen Intervallen<br />

eine Kontraktion sein kann. Für x > 1/2 gilt aber h ′ (x) < 1 und<br />

damit ist h kontrahierend für x > 1/2 und eine geeignete Funktion für<br />

die Fixpunktiteration.<br />

# 24 Antwort<br />

Die grundlegende Idee dieses Verfahrens ist, die Funktion in einem Ausgangspunkt<br />

zu linearisieren, d. h. ihre Tangente zu bestimmen, und die<br />

Nullstelle der Tangente als verbesserte Näherung der Nullstelle der Funktion<br />

zu verwenden. Die erhaltene Näherung dient als Ausgangspunkt<br />

für einen weiteren Verbesserungsschritt. Diese Iteration erfolgt, bis die<br />

Änderung in der Näherungslösung eine festgesetzte Schranke unterschritten<br />

hat. Das Iterations-Verfahren konvergiert im günstigsten Fall asymptotisch<br />

mit quadratischer Konvergenzordnung, die Zahl der korrekten<br />

Dezimalstellen verdoppelt sich dann in jedem Schritt.<br />

Gegeben sei also der skalare Fall, d. h. f : [a, b] → R. Sei f ∈ C 2 ([a, b]),<br />

dann gilt f(x) = f(˜x) + f ′ (˜x)(x − ˜x) + f ′′ (ϕ(x)) (x−˜x)2<br />

2 mit ϕ(x) ∈ (x, ˜x)<br />

(Taylorentwicklung). Für f(x ∗ ) = 0 gilt daher annähernd<br />

0 = f(˜x) + f ′ (˜x)(x ∗ − ˜x) ⇔ x ∗ = ˜x − f(˜x)<br />

f ′ (˜x) . (4.15)<br />

f wird durch die Tangente in ˜x approximiert.<br />

Verfahren (Iterationsschritt des Newton-Verfahrens).<br />

x (k+1) = x (k) − f(x(k) )<br />

f ′ (x (k) ) . (4.16)<br />

Die Methode wird auch Tangentenverfahren genannt.<br />

Satz (Konvergenz des Newton-Verfahrens). Sei f ∈ C 1 ([a, b]), x ∗ ∈<br />

(a, b) eine einfache Nullstelle von f, d. h. f ′ (x ∗ ) ≠ 0. Dann gibt es ein<br />

ε > 0, sodass für jedes x (0) ∈ B ε(x ∗ ) das Newton-Verfahren superlinear<br />

gegen x ∗ konvergiert. Falls f ∈ C 2 ([a, b]), tritt mindestens quadratische<br />

Konvergenz ein, d. h. das Verfahren konvergiert lokal quadratisch.<br />

Beweis. Der Iterationsschritt x (k+1) = x (k) − f(x (k) )/f ′ (x (k) ) definiert<br />

eine Fixpunktiteration mit g(x) = x − f(x)/f ′ (x). Für f ∈ C 2 ([a, b]) gilt<br />

g ′ (x) = 1 − f ′ (x)f ′ (x) − f(x)f ′′ (x)<br />

(f ′ (x)) 2 = f(x)f ′′ (x)<br />

(f ′ (x)) 2 . (4.17)<br />

Dann ist g ′ (x ∗ ) = 0 und damit exisitert ein ε > 0, sodass |g ′ (x)| ≤ κ < 1<br />

für alle x ∈ B ε(x ∗ ). Da g(x ∗ ) = x ∗ ist, ist g eine Kontraktion und der<br />

Banachsche Fixpunktsatz liefert die Konvergenz für alle x (0) ∈ B ε(x ∗ ).<br />

Die quadratische Konvergenz folgt aus der Taylorentwicklung von<br />

|x (k+1) − x ∗ | = |x (k) − (f ′ (x (k) )) −1 f(x (k) ) − x ∗ +<br />

+ (f ′ (x (k) )) −1 f(x ∗ )| ≤<br />

≤ sup |(f ′ (x)) −1 | · sup |f ′′ (x)| · 1<br />

x∈B<br />

x∈B 2 · |x(k) − x ∗ | 2 . (4.18)<br />

Bemerkung (Anmerkungen zum Newton-Verfahren).<br />

- Idee: Linearisierung<br />

Die entscheidende Idee des Newton-Verfahrens ist der iterative Linearisierungsprozess,<br />

d. h. die Lösung einer nichtlinearen Gleichung<br />

wird durch eine Folge von Lösungen linearer Gleichungen ersetzt.<br />

- Voraussetzung: Konvergenzintervall<br />

Die Größe und die Lage des Konvergenzintervalls D 0 ist a priori<br />

unbekannt und muss geschätzt werden, z. B. könnte das Bisektionsverfahren<br />

angewendet werden, bis D 0 klein genug ist. Klein genug<br />

bedeutet:<br />

1. Es muss eine und nur eine Nullstelle x ∗ ∈ D 0 geben, da<br />

f ′ (x) ≠ 0 für alle x ∈ D 0 gelten muss,<br />

2. |g ′ (x)| ≤ κ < 1 für alle x ∈ D 0 ,<br />

3. x (k) muss in D 0 liegen, insbesondere im Definitionsbereich von<br />

f.<br />

- Voraussetzung: Ableitung<br />

f ′ (x (k) ), d. h. die Ableitung f ′ muss analytisch bekannt sein.<br />

- Nachteil: Doppelte Nullstellen<br />

Eine notwendige Bedingung ist f ′ (x (k) ) ≠ 0. Also ist die Berechnung<br />

doppelter Nullstellen ausgeschlossen.<br />

- Nachteil: Mehrfache Nullstellen<br />

Mehrfache Nullstellen können nicht immer bestimmt werden.


4. Numerische Lösung nichtlinearer Gleichungssysteme # 25<br />

✗ Sekantenverfahren?<br />

4. Numerische Lösung nichtlinearer Gleichungssysteme # 26<br />

✗ Vergleich der Verfahren?


# 25 Antwort<br />

Bei dem Sekantenverfahren handelt es sich um ein schon seit dem Mittelalter<br />

bekanntes numerisches Verfahren <strong>zur</strong> näherungsweisen Lösung<br />

einer Gleichung des Typs f(x) = 0. Es entspricht einer Vereinfachung<br />

des Newton-Verfahrens, da nicht die Ableitung der Funktion berechnet<br />

werden muss.<br />

f ′ (x) ist nicht immer analytisch bekannt, kann aber durch<br />

f ′ (x (k) ) ≈ f(x(k) ) − f(x (k−1) )<br />

x (k) − x (k−1) (4.19)<br />

approximiert werden. Eingesetzt in das Newton-Verfahren ergibt sich<br />

und damit<br />

x (k+1) = x (k) − f(x (k) ) ·<br />

x (k) − x (k−1)<br />

f(x (k) ) − f(x (k−1) )<br />

Verfahren (Iterationsschritt des Sekantenverfahrens).<br />

(4.20)<br />

x (k+1) = x(k−1) f(x (k) ) − x (k) f(x (k−1) )<br />

f(x (k) ) − f(x (k−1) . (4.21)<br />

)<br />

Bemerkung (Anmerkungen zum Sekantenverfahren).<br />

- Das Verfahren ist keine Fixpunktiteration, da x (k) und x (k−1) <strong>zur</strong><br />

Berechnung von x (k+1) verwendet werden (→ Mehrschrittverfahren).<br />

- Vorteil: Konvergenz<br />

Sei f ∈ C 2 ([a, b]) und x ∗ ∈ (a, b) eine Nullstelle mit f ′ (x ∗ ) ≠ 0.<br />

Dann konvergiert in einer Umgebung von x ∗ das Sekantenverfahren<br />

lokal superlinear mit der Ordnung α = 1/2(1 + √ 5) ≈ 1.618.<br />

- Vorteil: Aufwand<br />

Die Berechnung von f(x), bzw. f ′ (x) ist im Allgemeinen sehr teuer.<br />

Das Sekantenverfahren benötigt nur eine Funktionsauswertung.<br />

Zwei Schritte dieses Verfahrens sind also so aufwendig wie ein<br />

Newton-Schritt. Damit kann man zeigen, dass bei gleichem Arbeitsaufwand<br />

das Sekantenverfahren lokal schneller konvergiert, als das<br />

Newton-Verfahren: x (k) → x (k+2) Sekantenverfahren konvergiert<br />

mit Ordnung α 2 ≈ 2.618.<br />

- Nachteil: Stabilität<br />

Die Sekantenmethode ist im Allgemeinen nicht stabil, denn wenn<br />

f(x (k) ) ≈ f(x (k+1) ) ist, können Stellenauslöschungen im Nenner<br />

auftreten. Es gibt jedoch stabilere Verfahren, wie z. B. regula falsi,<br />

deren Konvergenzordnung dann nicht so hoch sind.<br />

# 26 Antwort<br />

Löse z. B. x − e −1/2x = 0.<br />

1. Mit Banachscher Fixpunktiteration:<br />

x = e −1/2x : x (10) = 0.70347017 auf 4 Stellen genau.<br />

2. Mit Newton-Verfahren:<br />

Setze x (0) = 0.8: x (3) = 0.70347017 auf 4 Stellen genau, x (4) bis<br />

auf Maschinengenauigkeit exakt.<br />

3. Mit Sekantenverfahren:<br />

x (0) = 0.8, x (1) = 0.7 (man benötigt beide Werte): x (3) =<br />

0.7034674 bist auf 7 Stellen exakt, x (6) bis auf Maschinengenauigkeit<br />

exakt.


4. Numerische Lösung nichtlinearer Gleichungssysteme # 27<br />

✗ Newtonverfahren im n-dimensionalen?<br />

4. Numerische Lösung nichtlinearer Gleichungssysteme # 28<br />

✗ Abbruchkriterien?


# 27 Antwort<br />

Wie im eindimensionalen wird f : Ω ⊂ R n → R n linearisiert<br />

f(x) ≈ f(˜x) + Df(˜x)(x − ˜x), (4.22)<br />

⎛ ∂f 1<br />

∂f<br />

(˜x) · · · 1<br />

⎞<br />

(˜x)<br />

∂x 1 ∂x n Df(˜x) = ⎜<br />

⎝<br />

.<br />

⎟<br />

. ⎠ . (4.23)<br />

∂f n<br />

∂f<br />

(˜x) · · · n<br />

(˜x)<br />

∂x 1 ∂x n<br />

Falls die Jacobi-Matrix Df(˜x) invertierbar ist, dann sei<br />

Verfahren (Iterationsschritt des Newton-Verfahrens).<br />

[<br />

−1<br />

x (k+1) = x (k) − Df(x )] (k) · f(x (k) ). (4.24)<br />

Verfahren (Aufteilung des Iterationsschritts). Ein Newton-<br />

Iterationsschritt im Mehrdimensionalen wird aufgeteilt in die Berechnung<br />

der sogenannten Newton-Korrektur ∆x (k)<br />

und dem Korrekturschritt<br />

Df(x (k) )∆x (k) = −f(x (k) ), (4.25)<br />

x (k+1) = x (k) + ∆x (k) . (4.26)<br />

Bemerkung (Anmerkungen zum Newton-Verfahren im Mehrdimensionalen).<br />

- Aufwand pro Iteration<br />

n eindimensionale (nichtlineare) Funktionsauswertungen für f,<br />

n 2 eindimensionale (nichtlineare) Funktionsauswertungen für Df.<br />

O(n 3 ) flops in der Regel für das Lösen eines Gleichungssystems.<br />

- Vorteil: Konvergenz<br />

Sei Ω ⊆ R n offen und f : Ω → R n in C 2 (Ω). Sei x ∗ ∈ Ω<br />

eine Nullstelle von f, d. h. f(x ∗ ) = 0 mit einer invertierbaren<br />

Jacobi-Matrix Df(x ∗ ). Dann existiert eine Umgebung B ε(x ∗ ) =<br />

{x ∈ Ω : ‖x − x ∗ ‖ 2 < ε}, sodass das Newton-Verfahren für jeden<br />

Startwert x (0) ∈ B ε(x ∗ ) quadratisch gegen x ∗ konvergiert.<br />

- Vorteil: Affine-Invarianz<br />

Das Newton-Verfahren ist affin-invariant, d. h. die Folge {x (k) } ist<br />

zu gegebenem x (0) unabhängig davon, ob<br />

f(x) = 0 oder ˜f(x) = A · f(x) = 0 (4.27)<br />

mit regulärem A ∈ R n×n gelöst wird, da<br />

∆x (k) = [D ˜f(x)] −1 ˜f(x) = [ADf(x)] −1 Af(x) =<br />

= [Df(x)] −1 f(x). (4.28)<br />

# 28 Antwort<br />

In der <strong>Numerik</strong> ist eine Abbruchbedingung eine Bedingung, die erfüllt<br />

sein muss, damit ein Vorgang beendet wird. Mögliche Gründe für die<br />

Implementierung eines Abbruchkriteriums sind:<br />

- Limitiere die Anzahl der Iterationen, z. B. unter anderem auch, um<br />

eine Endlosschleife durch fehlerhafte Programmierung zu vermeiden.<br />

- Breche ab, wenn das Verfahren nicht konvergiert, also x (k) nicht<br />

im Konvergenzgebiet liegt.<br />

- Breche ab, wenn das Ergebnis genau genug ist, also wenn der Fehler<br />

e (k) := ‖x ∗ − x (k) ‖ klein genug ist.<br />

Verfahren (Monotonietest). Das Verfahren konvergiert, falls die<br />

Newton-Iteration mit einem Wert x (0) in einem D ⊆ R n startet, sodass<br />

die Funktion g eine Kontraktion auf D ist. Es sollte also für alle k<br />

gelten<br />

mit κ < 1.<br />

‖∆x (k) ‖ = ‖x (k+1) − x (k) ‖ ≤ κ‖x (k) − x (k−1) ‖ =<br />

= κ‖∆x (k−1) ‖, (4.29)<br />

Man nennt dies den natürlichen Monotonietest. Falls die Bedingung nicht<br />

erfüllt ist, sollte das Verfahren abgebrochen werden, und mit neuem x (0)<br />

begonnen werden.<br />

Um eine vielleicht unnötige teure Berechnung von x (k+1) (von Df(x (k) ))<br />

zu vermeiden, kann ∆x (k) approximiert werden mit<br />

∆¯x (k) = [Df(x (k−1) )] −1 f(x (k) ). (4.30)<br />

Für Df(x (k−1) ) liegt bereits eine Zerlegung aus der Berechnung von<br />

∆x (k−1) vor, ebenso ist f(x (k) ) bekannt. Die Lösung von der Approximation<br />

benötigt also nur O(n 2 ) Operationen, für z. B. Vorwärts-, bzw.<br />

Rückwärtssubstitutionen.<br />

Bemerkung (Sinnvolle Abbruchkriterien).<br />

- Kriterium für mögliche Divergenz:<br />

Als Kriterium kann<br />

‖∆¯x (k+1) ‖ > 1 2 ‖∆x(k) ‖ (4.31)<br />

gewählt werden. In dem Falle soll das Newton-Verfahren abgebrochen<br />

werden.<br />

- Kriterium für erreichte Konvergenz:<br />

Ein Kriterium für erreichte Konvergenz ist<br />

- Nachteil: Wahl der Toleranzgrenze<br />

Alleine ist das residuumbasierte Kriterium<br />

‖∆¯x (k) ‖ ≤ Tol. (4.32)<br />

‖f(x)‖ ≤ Tol (4.33)<br />

nur bedingt anwendbar, denn betrachte {x (k) } für f(x) und αf(x)<br />

und kleinem α. Dann bricht für αf(x) das Newton-Verfahren viel<br />

eher ab als für f(x), obwohl ‖x (k) − x ∗ ‖ genauso groß ist. Affininvariant<br />

ist dagegen der Ansatz<br />

‖[Df(x (k) )] −1 f(x (k) )‖ = ‖∆x (k) ‖ = ‖x (k+1) − x (k) ‖ ≤ Tol,<br />

(4.34)<br />

wobei für ein konvergentes Verfahren, ‖x (k+1) − x (k) ‖ auch als Approximation<br />

von e (k) = ‖x (k) − x ∗ ‖ gesehen werden kann. Auch<br />

hier kann statt ∆x (k) auch ∆¯x (k) genutzt werden, um den Rechenaufwand<br />

zu reduzieren.


4. Numerische Lösung nichtlinearer Gleichungssysteme # 29<br />

✗ Vereinfachtes Newtonverfahren?<br />

4. Numerische Lösung nichtlinearer Gleichungssysteme # 30<br />

✗ Gedämpftes Newtonverfahren?


# 29 Antwort<br />

Df(x (k) ) steht immer analystisch <strong>zur</strong> Verfügung. Diese exakte Jacobimatrix<br />

wird häufig approximiert, beim vereinfachten Newtonverfahren z. B.<br />

durch Df(x (0) ).<br />

Verfahren (Iterationsschritt des vereinfachten Newton-Verfahrens). In<br />

diesem Fall lautet der Iterationsschritt dann<br />

x (k+1) = x (k) − [Df(x (0) )] −1 f(x (k) ). (4.35)<br />

Dieses Verfahren konvergiert nur noch lokal linear, der Aufwand je Iteration<br />

ist jedoch erheblich geringer.<br />

# 30 Antwort<br />

Das Newton-Verfahren konvergiert lokal quadratisch, d. h. für einen<br />

schlecht gewählten Startwert kann das Newton-Verfahren divergieren.<br />

Finde ein Verfahren, das lokal quadratisch, aber global linear konvergiert.<br />

Verfahren (Abstiegsverfahren und Liniensuche). Betrachte<br />

min x∈R n φ(x), mit φ : R n → R Minimierung im R n . Dann funktioniert<br />

das Abstiegsverfahren wie folgt.<br />

Gegeben sei x (k) , dann sei x (k+1) so, dass<br />

φ(x (k+1) ) < φ(x (k) ). (4.36)<br />

Führe obiges Problem auf eine Folge von Minimierungsproblemen im R<br />

<strong>zur</strong>ück, indem eine Abstiegsrichtung d (k) bestimmt wird,<br />

und damit<br />

φ(x (k) + µd (k) ) < φ(x (k) ), ∀µ ∈ (0, 1] (4.37)<br />

min<br />

µ∈R φ(x(k) + µd (k) ) (4.38)<br />

betrachtet wird. Eine Liniensuche wird mit einer Suchrichtung, z. B. einer<br />

Abstiegsrichtung durchgeführt, d. h. eine geeignete Schnittlänge µ (k)<br />

wird bestimmt und dann<br />

x (k+1) = x (k) + µ (k) d (k) (4.39)<br />

gesetzt. Eine mögliche Wahl ist µ (k) = µ (k)<br />

min , welches jedoch im Allgemeinen<br />

nicht einfach zu bestimmen ist.<br />

Verfahren (Newton-Verfahren als Liniensuche). Minimiere<br />

min 1 2 f t (x)f(x) mit Liniensuche und interpretiere die Newtonrichtung<br />

als Suchrichtung<br />

min µ φ(x (k) + µd (k) ). Anstelle von µ (k)<br />

min garantiere einen echten Abstieg,<br />

d. h. die Monotoniebedingung<br />

‖f(x (k+1) )‖ = ‖f(x (k) + µ (k) d (k) ‖ < ‖f(x (k) )‖, (4.41)<br />

für alle k. Die Newton-Korrektur ∆x (k) = d (k) wird möglicherweise<br />

gedämpft mit dem Dämpfungsfaktor (der Schnittlänge) µ (k) ∈ (0, 1].<br />

Verfahren (Gedämpfter Newtonschritt). Bestimme Dämpfungsfaktor<br />

µ (k) ∈ (0, 1]<br />

Bemerkung (Monotoniekriterium).<br />

- Dämpfungsstrategie:<br />

Wähle µ (k) , sodass<br />

x (k+1) = x (k) + µ (k) ∆x (k) . (4.42)<br />

‖f(x (k+1) )‖ ≤ (1 − µ (k) q)‖f(x (k) )‖, (4.43)<br />

mit q ∈ (0, 1) unabhängig von k, z. B. q = 1/2. Der<br />

Dämpfungsfaktor µ (k) soll möglichst groß sein. Insbesondere ist<br />

µ (k) = 1 wünschenswert, um die (lokal) quadratische Konvergenz<br />

des Newton-Verfahrens zu erreichen.<br />

- Affin-invarianter Monotonietest:<br />

Statt des obigen Monotoniekriteriums bietet sich auch wieder der<br />

affin-invariante natürliche Monotonietest an, d. h. mit<br />

gelte<br />

∆¯x (k+1) (µ (k) ) = −[Df(x (k) )] −1 f(x (k) + µ (k) ∆x (k) ), (4.44)<br />

‖∆¯x (k+1) (µ (k) )‖ ≤ (1 − µ (k) q)‖∆x (k) ‖. (4.45)<br />

d (k) = ∆x (k) = −[Df(x (k) )] −1 f(x (k) ), (4.40)


5. Eigenwertberechnung # 31<br />

✗ Singulärwertzerlegung?<br />

5. Eigenwertberechnung # 32<br />

✗ Gerschgorin-Kreise?


# 31 Antwort<br />

Eine Singulärwertzerlegung einer Matrix bezeichnet deren Darstellung als<br />

Produkt dreier spezieller Matrizen. Daraus kann man die Singulärwerte<br />

der Matrix ablesen. Diese charakterisieren, ähnlich den Eigenwerten, Eigenschaften<br />

der Matrix. Singulärwertzerlegungen existieren für jede Matrix,<br />

auch für nicht-quadratische Matrizen.<br />

Definition (Singulärwertzerlegung). Sei A ∈ R m×n . Eine Zerlegung der<br />

Form<br />

A = UΣV t , (5.1)<br />

mit orthogonalen Matrizen U ∈ R m×m und V ∈ R n×n und einer Diagonalmatrix<br />

Σ ∈ R m×n heißt Singulärwertzerlegung von A. Die Aussage<br />

lässt sich geometrisch so interpretieren, dass sich A in zwei geeignet<br />

gewählten Orthonormalbasen U, V für Urbild- und Bildraum als reine<br />

Streckung Σ schreiben lässt.<br />

Bemerkung (Anmerkungen <strong>zur</strong> Singulärwertzerlegung). Es gilt<br />

σ i = √ λ i für i = 1, . . . , r, (5.2)<br />

wobei λ i die positiven Eigenwerte von AA ∗ , sowie von A ∗ A sind. Die<br />

Spalten U sind die Eigenvektoren von AA ∗ und die Spalten von V sind<br />

die Eigenvektoren von A ∗ A. Für reelle Matrizen A sind somit U, V auch<br />

reellwertig. Dann folgt<br />

‖Ax‖ 2<br />

σ 1 = max = ‖A‖ 2 (5.3)<br />

x≠0 ‖x‖ 2<br />

und σ n = min x≠0<br />

‖Ax‖ 2/‖x‖ 2 , sowie für m = n und reguläre A<br />

1 ‖x‖ 2 ‖A −1 y‖ 2<br />

= max = max = ‖A −1 ‖ 2 . (5.4)<br />

σ n x≠0 ‖Ax‖ 2 y≠0 ‖y‖ 2<br />

Also folgt für reguläre A<br />

cond 2 (A) = σ 1<br />

σ n<br />

. (5.5)<br />

Der kleinste Singulärwert σ n einer quadratischen Matrix A gibt den Abstand<br />

<strong>zur</strong> nächsten singulären Matrix an.<br />

# 32 Antwort<br />

Gerschgorin-Kreise dienen in der numerischen linearen Algebra, einem<br />

Teilgebiet der Mathematik, <strong>zur</strong> Abschätzung von Eigenwerten. Mit ihrer<br />

Hilfe können einfach Gebiete angegeben werden, in welchen sich die Eigenwerte<br />

einer Matrix befinden und unter besonderen Bedingungen sogar<br />

wie viele Eigenwerte in diesen enthalten sind.<br />

deren Radien durch<br />

r i :=<br />

n∑<br />

|a ik |<br />

k=1<br />

k≠i<br />

Satz (Gerschgorin). Die Eigenwerte λ einer Matrix A = (a ij ) ij ∈ C n×n<br />

liegen in der Vereinigung aller Gerschgorin-Kreise<br />

K i = {z ∈ C : |z − a ii | ≤ r i } , (5.6)<br />

gegeben sind. Obige Aussage lässt sich verschärfen durch die Betrachtung<br />

von A t oder D −1 AD, etc. Je weniger sich A von einer Diagonalmatrix<br />

unterscheidet, desto schärfer ist die Abschätzung.<br />

Bilden k Gerschgorin-Kreise eine einfach zusammenhängende Menge G,<br />

die zu den restlichen K i disjunkt ist, dann liegen in G genau k Eigenwerte<br />

der Matrix A.


5. Eigenwertberechnung # 33<br />

✗ Potenzmethode? Vektoriteration?<br />

5. Eigenwertberechnung # 34<br />

✗ QR-Zerlegung <strong>zur</strong> Bestimmung der Eigenwerte?


# 33 Antwort<br />

Die Potenzmethode, oder Vektoriteration ist ein numerisches Verfahren<br />

<strong>zur</strong> Berechnung des betragsgrößten Eigenwertes und des dazugehörigen<br />

Eigenvektors einer Matrix. Der Name kommt daher, dass Matrixpotenzen<br />

A k x gebildet werden, wesentlicher Aufwand sind also Matrix-Vektor-<br />

Produkte. Deswegen ist das Verfahren insbesondere für dünnbesetzte Matrizen<br />

geeignet.<br />

Verfahren (Vektoriteration). Sei A ∈ C n×n eine diagonalisierbare Matrix<br />

und sei der dominante Eigenwert λ 1 einfach, d. h. |λ 1 | > |λ 2 | ≥ . . . ≥<br />

|λ n| mit dem normierten Eigenvektor v 1 . Weiterhin sei der Startvektor<br />

x (0) nicht senkrecht zu v 1 .<br />

Die Vektoriteration ist gegeben durch<br />

x (k+1) = Ax (k) für k ≥ 0. (5.7)<br />

Verfahren (Berechnung des betragsmäßig größten Eigenwertes). Da<br />

A diagonalisierbar ist, gibt es eine Basis aus normierten Eigenvektoren<br />

{v 1 , . . . , v n} und es gilt<br />

x (0) = ∑ 〉<br />

α i v i mit α i =<br />

〈x (0) , v i . (5.8)<br />

Da x (0) ̸⊥v 1 ist, gilt α 1 ≠ 0 und für die Iterierten x (k) ∈ R n gilt<br />

(<br />

n∑<br />

n∑<br />

( ) )<br />

x (k) = A k x (0) = α i λ k i v i = α 1 λ k α k i λi<br />

1 v 1 +<br />

v i (5.9)<br />

α<br />

i=1<br />

i=2 1 λ 1<br />

n∑<br />

( )<br />

x (k) = α 1 λ k 1(v 1 + r (k) ) mit r (k) α k i λi<br />

=<br />

v i . (5.10)<br />

α<br />

i=2 1 λ 1<br />

Da |λ i/λ 1 | ≤ |λ 2/λ 1 | < 1 ist, gilt daher<br />

〈<br />

∣<br />

‖r (k) ‖ 2 2 = r (k) , r (k)〉 ≤<br />

λ 2 ∣∣∣ 2k ∑ n ∣ ∣ ∣ α i ∣∣∣ ∣∣∣ α j ∣∣∣<br />

∣ λ ∣ | 〈v i , v j 〉 |,<br />

1 α<br />

i,j=2 1 α 1<br />

(<br />

‖r (k) ‖ 2 = O |λ 2/λ 1 | k) k→∞<br />

−−−−→ 0. (5.11)<br />

Für große k verhält sich daher x (k) wie α 1 λ k 1 v 1 und konvergiert gegen<br />

ein Vielfaches des Eigenvektors v 1 , anders ausgedrückt<br />

α 1 v 1 + α 1 r (k)<br />

setzen also<br />

x(k)<br />

λ k 1<br />

k→∞<br />

−−−−→ α 1 v 1 . Es ist zweckmäßig, x (k) zu normieren, wir<br />

v (k) :=<br />

x(k)<br />

‖x (k) ‖ 2<br />

∈ R n . (5.12)<br />

Weiter ist mit λ 1 ∈ R auch sign(λ 1 ) = |λ 1 |/λ 1 und damit folgt<br />

sign(λ 1 ) k v (k) = α 1 v 1 + r (k)<br />

(<br />

|α 1 | ‖v 1 + r (k) ‖ = sign(α 1)v 1 + O |λ 2/λ 1 | k) . (5.13)<br />

Sei nun λ (k) := v (k)t Av (k) so folgt<br />

(<br />

λ (k) =<br />

(sign(α 1 λ 1 ) k v1 t + O |λ 2/λ 1 | k)) Av (k) =<br />

(<br />

= v1 t Av 1 + O |λ 2/λ 1 | k) (<br />

= λ 1 + O |λ 2/λ 1 | k) . (5.14)<br />

Bemerkung (Anmerkungen <strong>zur</strong> Vektoriteration).<br />

- Vorteil: Konvergenz; Die Vektoriteration approximiert den dominanten<br />

Eigenwert λ 1 ∈ R und einen zugehörigen normierten Eigenvektor<br />

v 1 ∈ R. Weiterhin gilt<br />

(<br />

|λ (k) − λ 1 | = O |λ 2/λ 1 | k) (<br />

, | sign(λ 1 ) k v (k) − v 1 | = O |λ 2/λ 1 | k) .<br />

Die Effizienz hängt also von |λ 2/λ 1 | ab und die Folgen sind linear<br />

konvergent.<br />

- Mehrfache Eigenwerte; Für einen mehrfachen Eigenwert λ 1 =<br />

. . . = λ m gilt die Approximation weiterhin und v (k) approximiert<br />

einen Eigenvektor.<br />

- Nachteil: Größter Eigenwert; Es kann nur der betragsmäßig größte<br />

Eigenwert mit dem Eigenvektor erhalten werden.<br />

- Nachteil: Konvergenzgeschwindigkeit; Falls |λ 2 | ≈ |λ 1 | ist, ist die<br />

Konvergenzgeschwindigkeit langsam.<br />

=<br />

# 34 Antwort<br />

Im Folgenden sei A ∈ R n×n und symmetrisch, d h. es existiert eine Orthonormalbasis<br />

aus reellen Eigenvektoren v i und Eigenwerte λ i ∈ R.<br />

Av i = λ i v i ⇔ Q t AQ = Λ,<br />

mit Q orthogonal (die Eigenvektoren v i sind die Spalten der Matrix Q).<br />

Dies würde alle Eigenwerte liefern. Mit Householder-Transformationen<br />

Q i ist es im Allgemeinen nicht möglich Λ zu konstruieren, jedoch gilt:<br />

Lemma. Sei A ∈ R n×n symmetrisch. Dann existiert eine orthogonale<br />

Matrix P , welche das Produkt von (n − 2) Householder-Reflexionen<br />

⎛<br />

ist,<br />

⎞<br />

∗ ∗ 0<br />

. ∗ .. . ..<br />

sodass P AP t Tridiagonalgestalt hat, d. h. P AP t =<br />

. .. . ..<br />

⎜<br />

∗<br />

⎟<br />

⎝<br />

⎠<br />

0 ∗ ∗<br />

Da die Eigenwerte bei Ähnlichkeitstransformationen erhalten bleiben, ist<br />

die Berechnung von Eigenwerten symmetrischer Matrizen jetzt auf symmetrische<br />

Tridiagonalmatrizen <strong>zur</strong>ückgeführt.<br />

Definiere eine Folge von Matrizen A (k+1) = Q (k)t A (k) Q (k) durch<br />

A (k) = Q (k) R (k) , A (k+1) = R (k) Q (k) . (5.15)<br />

Die Matrizen A (k) sind alle ähnlich zu A und da A symmetrisch ist, sind<br />

auch alle A (k) symmetrisch. Die Tridiagonalgestalt von A vererbt sich<br />

auf A (k) . Es folgt A (k+1) = Q (k)t · . . . · Q (1)t AQ (1) · . . . · Q (k) ,<br />

⇔ A (k) = Q (1) · . . . · Q (k) A (k−1) Q (k)t · . . . · Q (1)t . (5.16)<br />

Satz. Sei A ∈ R n×n symmetrisch mit n verschiedenen Eigenwerten<br />

|λ 1 | > . . . > |λ n| > 0 und A (k) , Q (k) , R (k) wie im oben genannten<br />

Algorithmus. Dann gilt<br />

lim<br />

k→∞ Q(k) = E n,<br />

lim<br />

k→∞ R(k) = Λ,<br />

⇒ lim<br />

k→∞ A(k) = Λ.<br />

Verfahren (QR-Algorithmus <strong>zur</strong> Bestimmung der Eigenwerte einer Matrix).<br />

1. Reduziere das Problem auf Tridiagonalgestalt A → A 1 = P AP t<br />

mit orthogonaler Matrix P und A 1 einer symmetrischen, tridiagonalen<br />

Matrix, meist mittels Householder-Transformationen.<br />

2. Approximiere die Eigenwerte mit der QR-Iteration mittels Givens-<br />

Rotation angewandt auf A 1 : A (s+1) = Q (s)t · . . . · Q (1)t A (1) Q (1) ·<br />

. . . · Q (s) = QA 1 Q t ≈ Λ. Also ist A ≈ P t Q t ΛQP , wobei die Matrix<br />

Q t das Produkt aller Givens-Rotationen ist.<br />

3. Die Spalten von QP approximieren die Eigenvektoren von A:<br />

QP ≈ (v 1 , . . . , v n).<br />

Bemerkung (Allgemeines zum QR-Algorithmus <strong>zur</strong> Bestimmung der<br />

Eigenwerte einer Matrix).<br />

- Vorteil: Konvergenzgeschwindigkeit<br />

Es kann gezeigt werden, dass a (k)<br />

ij = O(|λ i/λ j | k ) für i > j gilt. Dies<br />

gibt somit die Geschwindigkeit von R(k) gegen Λ an.<br />

- Vorteil: Mehrere Eigenwerte<br />

Für mehrere Eigenwerte konvergiert das Verfahren ebenfalls. Falls<br />

λ i = −λ i+1 ist, bleiben jedoch 2 × 2-Blöcke stehen, deren Eigenwerte<br />

gegen λ i , λ i+1 konvergieren.<br />

- Aufwand: Für den ersten der angesprochenen Punkte benötigt man<br />

ungefähr 4/3 · n 3 Multiplikationen für die Householder-Reflexionen.<br />

Für den zweiten Punkt O(n 2 ) Multiplikationen je Iteration. Für<br />

große n überwiegt der Aufwand für die Reduktion auf Tridiagonalgestalt.<br />

Von der Größenordnung ist der Algorithmus mit der<br />

inversen Vektoriteration vergleichbar, für die Konvergenzgeschwindigkeit<br />

für den größen, bzw. den kleinsten Eigenwert gilt Entsprechendes.<br />

- Spezialfall für nicht-symmetrische Matrizen:<br />

Nicht symmetrische Matrizen werden zuerst mittels einer orthogonalen<br />

Ähnlichkeitstransformation auf Hessenberggestalt gebracht.<br />

Anschließend wird mit der QR-Iteration iterativ die Schursche Normalform<br />

approximiert.


6. Interpolation # 35<br />

✗ Lagrangesche Interpolationsformel? Lagrangepolynome?<br />

6. Interpolation # 36<br />

✗ Lemma von Aitken?


# 35 Antwort<br />

Satz (Eindeutigkeit und Existens des Interpolationspolynoms). Zu beliebigen<br />

(n + 1) Stützpunkten (x i , f i ), i = 0, . . . , n mit x i ≠ x k für i ≠ k<br />

gibt es genau ein p ∈ P n mit p(x i ) = f i für i = 0, . . . , n. Das Polynom<br />

p = p(f|x 0 , . . . , x n) heißt Interpolationspolynom von f zu x 0 , . . . , x n.<br />

Der Beweis des Satzes führt auf die Lagrangesche Interpolationsformel<br />

und verwendet die Lagrange-Polynome<br />

gegeben durch<br />

L i (x k ) = δ ik , (6.1)<br />

L i (x) := (x − x 0) · · · (x − x i−1 )(x − x i+1 ) · · · (x − x n)<br />

(x i − x 0 ) · · · (x i − x i−1 )(x i − x i+1 ) · · · (x i − x n)<br />

(6.2)<br />

Damit lautet die Lagrangesche Interpolationsformel<br />

und diese bestimmt dann p.<br />

p(x) =<br />

n∑<br />

f i L i (x) (6.3)<br />

i=0<br />

Bemerkung. Aus der Lagrangeschen Interpolationsformel geht hervor,<br />

dass p linear von den Stützwerten f i abhängt und die Lagrange-Polynome<br />

eine Basis bilden. Die Interpolationsformel ist, wenn auch für viele theoretische<br />

Fragen günstig, für praktische Zwecke zu rechenaufwendig.<br />

# 36 Antwort<br />

Zur Auswertung des Interpolationspolynoms p(f|x 0 , . . . , x n) an einer festen<br />

Stelle ¯x, d. h. <strong>zur</strong> Berechnung des Wertes p(¯x) beachte das folgende<br />

Lemma.<br />

Lemma (Lemma von Aitken). Für das Interpolationspolynom<br />

p(f|x 0 , . . . , x n) gilt die Rekursionsformel<br />

p(f|x 0 , . . . , x n)(¯x) = (x 0 − ¯x)p(f|x 1 , . . . , x n)(¯x)<br />

x 0 − x n<br />

−<br />

− (xn − ¯x)p(f|x 0, . . . , x n−1 )(¯x)<br />

x 0 − x n<br />

. (6.4)


6. Interpolation # 37<br />

✗ Wie berechnet man jetzt das Polynom genau?<br />

6. Interpolation # 38<br />

✗ Newtonsche Interpolationsformel?


# 37 Antwort<br />

Mit dem Lemma von Aitken gilt weiter<br />

p(f|x i )(x) = f i , ∀x. (6.5)<br />

Definiere nun für ein festes ¯x<br />

P ik = p(f|x i−k , . . . , x i )(¯x). (6.6)<br />

Dann lässt sich der Wert p(f|x 0 , . . . , x n)(¯x) = p(¯x) = P nn wie folgt<br />

berechnen:<br />

Verfahren (Schema von Neville). Setze P i0 := f i für i = 0, . . . , n und<br />

P ik = P i,k−1 +<br />

¯x − x i<br />

x i − x i−k<br />

(P i,k−1 − P i−1,k−1 ), (6.7)<br />

für n ≥ i ≥ k ≥ 1. Die Berechnung benötigt weniger Multiplikationen als<br />

die im Lemma von Aitken und ist deutlich billiger als die Lagrangesche<br />

Interpolation. Pro Auswertung an einer Stelle ¯x sind n(n+1)/2 Multplikationen<br />

und Divisionen notwendig. Soll das Interpolationspolynom an<br />

mehreren Stellen ausgewertet werden, ist das Schema von Neville jedoch<br />

zu teuer.<br />

# 38 Antwort<br />

Die praktisch bedeutendste Alternative <strong>zur</strong> Potenzform bietet die<br />

Newton-Darstellung, die insbesondere - wie die Lagrange-Darstellung<br />

- die Notwendigkeit vermeidet, Gleichungssysteme zu lösen. Die Darstellung<br />

in der Newtonschen Basis beruht auf folgender Idee: Hat man<br />

P (f|x 0 , . . . , x n−1 ) bereits bestimmt, so sucht man nach einem Korrekturterm,<br />

durch dessen Ergänzung man P (f|x 0 , . . . , x n) erhält, also eine<br />

weitere Stützstelle einbezieht.<br />

Lemma. Für alle Lagrange-Interpolationspolynome P n−1 =<br />

P (f|x 0 , . . . , x n−1 ) ∈ P n−1 und P n = P (f|x 0 , . . . , x n) ∈ P n gilt<br />

P n(x) = P n−1 (x) + δ n(x − x 0 ) · . . . · (x − x n−1 ), (6.8)<br />

δ n =<br />

f(x n) − P n−1 (x n)<br />

∈ R. (6.9)<br />

(x n − x 0 ) · . . . · (x n − x n−1 )<br />

Der Koeffizient δ n hängt offensichtlich von f und den Stützstellen x i<br />

ab. Man schreibt daher auch δ n := [x 0 , . . . , x n]f. Dieses [x 0 , . . . , x n]f<br />

ist offensichtlich der führende Koeffizient des Interpolationspolynoms<br />

P (f|x 0 , . . . , x n)(x), d. h. der Koeffizient der Potenz x n .<br />

Verfahren (Newtonsche Interpolationsformel). Wendet man dieselbe<br />

Argumentation auf P n−1 (x) = P (f|x 0 , . . . , x n−1 )(x) an, so ergibt sich<br />

induktiv<br />

P (f|x 0 , . . . , x n)(x) = [x 0 ]f + (x − x 0 )[x 0 , x 1 ]f+ (6.10)<br />

+ (x − x 0 )(x − x 1 )[x 0 , x 1 , x 2 ]f + . . . + (x − x 0 ) · · · (x − x n−1 )[x 0 , . . . , x n]f.<br />

Diese Darstellung ist eindeutig und legt damit die Koeffizienten<br />

[x 0 , . . . , x k ]f fest, da die Knotenpolynome - die sogenannten Newton-<br />

Polynome - ω 0 (x) := 1, ω k (x) := (x − x 0 ) · . . . · (x − x k−1 ), k = 1, . . . , n,<br />

wie man leicht sieht eine Basis - die sogenannte Newton-Basis - von P n<br />

bilden.<br />

Die sukzessive Verwendung wird sehr schnell umständlich, weshalb wir<br />

einen systematischen Weg suchen, die Korrekturkoeffizienten δ k zu bestimmen.<br />

δ 0 = [x 0 ]f = f(x 0 ) ist schon vom Rekursionsanfang her bekannt.<br />

Für n = 1 zeigt man sofort, dass [x 0 , x 1 ]f = f(x 1)−f(x 0 )<br />

gilt.<br />

x 1 −x 0<br />

Dies deutet schon folgende allgemeine Gesetzmäßigkeit an.<br />

Lemma. Seien die x i paarweise verschieden. Dann gilt<br />

[x 0 , . . . , x n]f = [x 1, . . . , x n]f − [x 0 , . . . , x n−1 ]f<br />

x n − x 0<br />

. (6.11)<br />

Aufgrund dieser Gleichung heißen die Koeffizienten [x 0 , . . . , x n]f auch<br />

dividierte Differenzen der Ordnung n von f.<br />

Beispiel (Auswertung der Newton-Darstellung). Liegt die Newton-<br />

Darstellung vor, d. h. hat man die dividierten Differenzen berechnet, kann<br />

man <strong>zur</strong> Auswertung aufgrund der Produktstruktur der Newton-Basis<br />

wieder ein Horner-artiges Schema der geschachtelten Multiplikationen<br />

verwenden. Wir deuten dies an folgendem Beispiel an:<br />

P (f|x 0 , x 1 , x 2 )(x) = d 0 + d 1 (x − x 0 ) + d 2 (x − x 0 )(x − x 1 ) =<br />

= d 0 + (x − x 0 )[d 1 + d 2 (x − x 1 )]. (6.12)<br />

Eine offensichtliche Verallgemeinerung liefert folgenden Algorithmus <strong>zur</strong><br />

Berechnung des Wertes P (f|x 0 , . . . , x n)(x).<br />

Verfahren (Auswertung der Newton-Darstellung). Gegeben seien die<br />

dividierten Differenzen d k = [x 0 , . . . , x k ]f, k = 0, . . . , n. Setze p := d n.<br />

Für k = n − 1, n − 2, . . . , 0 berechne<br />

was p = P (f|x 0 , . . . , x n)(x) ergibt.<br />

p(x − x k ) + d k → p, (6.13)<br />

Rechnung (Aufwand der Newton-Interpolation).<br />

1. Der Rechenaufwand <strong>zur</strong> Berechnung der Koeffizienten in der Newtonschen<br />

Interpolationsformel mit dem Schema der dividierten Differenzen<br />

beträgt etwa n+n − 1+. . .+2+1 = 1/2·n(n+1) ≈ 1/2·n 2<br />

Divisionen und n(n + 1) Additionen.<br />

2. Für die Auswertung sind nur n Multiplikationen und 2n Additionen<br />

erforderlich.<br />

3. Der Gesamtaufwand kann mit dem Neville-Aitken-Schema konkurrieren.


6. Interpolation # 39<br />

✗ Fehlerabschätzung bei Interpolation?<br />

7. Numerische Integration, Quadratur # 40<br />

✗ Einfache Quadraturformeln?


# 39 Antwort<br />

Die Fehler f(x) − p(x) kann nicht abgeschätzt werden, falls nicht mehr<br />

als die Funktionswerte f i von f bekannt sind.<br />

Satz (Restglieddarstellung bei der Polynominterpolation). Sei f (n+1)-<br />

mal stetig differenzierbar, so gibt es zu jedem ¯x eine Zahl ξ(¯x) aus dem<br />

kleinsten Intervall I , welches alle x 0 , . . . , x m und ¯x enthält, sodass<br />

f(¯x) − p(f|t 0 , . . . , t n)(¯x) = f (n+1) (ξ)<br />

w n+1 (¯x). (6.14)<br />

(n + 1)!<br />

# 40 Antwort<br />

Die Riemannsche-Integralfunktion I : C([a, b]) → R ist eine positive Linearform,<br />

d. h. I ist linear und falls f ≥ 0 gilt I(f) ≥ 0. Weiterhin gilt<br />

∫ b ∫ c ∫ c<br />

f(t) dt + f(t) dt = f(t) dt. (7.1)<br />

a<br />

b<br />

a<br />

Diese Eigenschaften sollten bei den Quadraturformeln möglichst beibehalten<br />

werden.<br />

Verfahren (Mittelpunktsregel). Wir teilen die Fläche unter der Kurve<br />

auf in kleine Rechtecke der Fläche<br />

( )<br />

xi+1 − x i<br />

f<br />

(x i+1 − x i ). (7.2)<br />

2<br />

Zerlege [a, b] in Teilintervalle [x i , x i+1 ] für i = 0, . . . , n − 1 der Länge<br />

h = b−a/n (äquidistantes Gitter), d. h.<br />

n−1 ∑<br />

Î M (f) = h f<br />

i=0<br />

( xi+1 + x i<br />

2<br />

)<br />

. (7.3)<br />

Verfahren (Trapezsumme). Wir interpolieren stückweise linear. Mit der<br />

Formel für den Flächeninhalt eines Trapezes gilt<br />

(x i+1 − x i ) f(x i+1) + f(x i )<br />

2<br />

(7.4)<br />

⇒ ÎT (f) = 1 n−1 ∑<br />

(x i+1 − x i )(f(x i+1 ) + f(x i )),<br />

2<br />

i=0<br />

(7.5)<br />

und für äquidistante Punkte ergibt sich für die Trapezsumme<br />

( ( n−1<br />

) )<br />

1 ∑<br />

Î T (f) = h<br />

2 f(x 0) + f(x i ) + 1 2 f(xn) . (7.6)<br />

i=1


7. Numerische Integration, Quadratur # 41<br />

✗ Interpolarische Integration?<br />

7. Numerische Integration, Quadratur # 42<br />

✗ Iterative Anwendung der Newton-Cotes-Formel?


# 41 Antwort<br />

Die Idee ist, f polynomial auf [a, b] an paarweise verschiedenen<br />

Stützstellen a = x 0 < . . . < x n = b zu interpolieren und dann das<br />

Integral zu berechnen, d. h.<br />

Î(f) = I(p(f|x 0 , . . . , x n)), (7.7)<br />

n<br />

⇒ Î(f) = ∑<br />

∫ b<br />

f(x i ) L i (t) dt, (7.8)<br />

i=0 a<br />

=: ∑ w i f(x i ) (7.9)<br />

∫ b<br />

w i = L i (t) dt. (7.10)<br />

a<br />

Die w i werden Gewichte genannt. Offensichtlich sind diese Quadraturformeln<br />

exakt für Polynome vom Grad ≤ n. Es gilt sogar das folgende<br />

Lemma.<br />

Beispiel (Trapezregel als spezielle Newton-Cotes-Formel). Sei [t k−1 , t k ]<br />

ein typisches Teilintervall, das wir im Folgenden der Einfachheit halber<br />

mit [c, d] bezeichnen wollen. Seien x 1 , . . . , x m ∈ [c, d] verschiedene<br />

Punkte. Als Näherung für f verwendet man das Interpolationspolynom<br />

P (f|x 0 , . . . , x m) zu den Stützstellen x j . Als Näherung für ∫ d<br />

c f(x) dx<br />

erhält man dann die Quadraturformel<br />

∫ d<br />

I m(f) = P (f|x 0 , . . . , x m)(x) dx, (7.11)<br />

c<br />

wobei das Integral eines Polynoms einfach zu berechnen ist. Wählt man<br />

m = 1, x 0 = c und x 1 = d, so erhält man die Trapezregel als Newton-<br />

Cotes-Formel.<br />

Lemma. Zu (n+1) paarweise verschiedenen Knoten x 0 < . . . < x n gibt<br />

es genau eine einzige Quadraturformel Î(f) = ∑ n<br />

i=1 w if(x i ), welche für<br />

alle Polynome p ∈ P n exakt ist.<br />

Verfahren (Newton-Cotes-Quadraturformel). Für h = b−a/2 und x i =<br />

a + ih gilt für w durch Substitution z := t−a/h:<br />

∫ n<br />

w i = h<br />

0<br />

n∏<br />

j=0<br />

i≠j<br />

z − j<br />

dz, (7.12)<br />

i − j<br />

d. h. sie werden nicht für jedes [a, b] neu berechnet. Die Umformulierung<br />

Î n(f) =<br />

n∑<br />

i=0<br />

w i f(x i ) = b − a<br />

n − s<br />

n∑<br />

σ i f(x i ) (7.13)<br />

führt das mit geeigneten s ∈ N auf einen ganzzahligen Koeffizienten σ i<br />

<strong>zur</strong>ück, die tabellarisch vorliegen.<br />

Bemerkung (Allgemeines zu den Newton-Cotes-Formeln). Für große<br />

Werte n treten leider negative Gewichte w i auf. Für positive f kann sich<br />

ein Î(f) negativ ergeben. Diese sind daher unbrauchbar.<br />

Definition (Abgeschlossene und offene Quadraturformel). Î heißt abgeschlossene<br />

Quadraturformel, . Entsprechend heißt Î offen, falls a < x 0<br />

und x n < b ist.<br />

Definition (Newton-Cotes-Formeln). Abgeschlossene, d. h. falls a =<br />

x 0 und b = x n, interpolatorische Quadraturformeln mit äquidistanter<br />

Stützstellenverteilung x 0 , . . . , x n heißen Newton-Cotes-Formeln der Ordnung<br />

n.<br />

Satz. Sei În(f) die abgeschlossene Newton-Cotes-Formel der Ordnung<br />

n. Dann gilt:<br />

1. ∑ n<br />

i=0 w i = b − a,<br />

2. w i = w n−i ,<br />

3. Ist n gerade, so ist În exakt für Polynome bis zum Grad (n + 1).<br />

i=0<br />

# 42 Antwort<br />

Betrachte die Intervallunterteilung a = t 0 < . . . < t N = b. Dann approximiere<br />

∫ t<br />

l+1<br />

∫ b<br />

N−1 ∑<br />

N−1 ∑<br />

I(f) = f(t) dt =<br />

f(t) dt = I (l) (f) (7.14)<br />

a<br />

l=0<br />

t l l=0<br />

durch wiederholtes anwenden einer Newton-Cotes-Formel În(f) auf die<br />

Teilintervalle [t l , t l+1 ](Î(l) n (f)), d. h.<br />

N−1 ∑<br />

Î(f) =<br />

l=0<br />

Î n (l)<br />

N−1 ∑<br />

(f) =<br />

l=0<br />

t l+1 − t l<br />

ns<br />

n∑<br />

σ i f(t l + i˜k l ) (7.15)<br />

i=0<br />

mit ˜k l = t l+1 −t l/n.<br />

Für äquidistante Knoten t i = a+ih mit h = b−a/N ergibt die Anwendung<br />

der Trapezregel (n = 2), die Trapezsumme ÎT (f).<br />

Lemma (Ordnung des Trapezsummenverfahrens). Sei f ∈ C 2 ([a, b]),<br />

dann existiert ein τ ∈ [a, b], sodass<br />

Î T (f) − I(f) = b − a<br />

12 h2 f ′′ (τ). (7.16)<br />

Die Trapezsumme ist also ein Quadraturverfahren zweiter Ordnung, d. h.<br />

Polynome vom Grad < 2 werden exakt integriert, und der Integrationsfehler<br />

konvergiert mit der Ordnung 2 - wegen h 2 - gegen 0 für N → ∞.


7. Numerische Integration, Quadratur # 43<br />

✗ Was ist bei der Gaußquadratur anders?<br />

7. Numerische Integration, Quadratur # 44<br />

✗ Was ist Extrapolation? Romberg-Quadratur?


# 43 Antwort<br />

Bei der Konstruktion der Newton-Cotes-Formeln sind (n + 1) Knoten<br />

t i fest vorgegeben. Die Gewichte w i sind dann so bestimmt, dass<br />

Î n(f) = ∑ n<br />

i=0 w if(t i ) zumindest für alle p ∈ P n exakt ist. Für die Gauß-<br />

Quadratur werden sowohl die (n + 1) Knoten t i , als auch die (n + 1)<br />

Gewichte w i so bestimmt, dass În das Integral I mit möglichst hoher<br />

Ordnung approximiert. (2n + 2) Parameter sind frei, also ist maximal<br />

eine Ordnung (2n + 2) zu erwarten, d. h. În ist maximal für p ∈ P 2n+1<br />

exakt. Die t i gehen nicht linear in die Quadraturformel ein, daher ist<br />

auch nicht offensichtlich, dass dies auch erreicht wird. Der Ansatz für die<br />

Gauß-Quadratur ist noch allgemeiner:<br />

Betrachtet werden gewichtete Integrale<br />

∫ b<br />

I(f) := w(t)f(t) dt, (7.17)<br />

a<br />

wobei a und b auch −∞ oder ∞ sein können und die Gewichtsfunktion<br />

w einige Eigenschaften erfüllen muss, unter anderem nicht negativ<br />

und messbar sein muss. Das L 2 -Skalarprodukt ∫ b<br />

a f(t)g(t) dt wird zum<br />

gewichteten Skalarprodukt<br />

∫ b<br />

(f, g) := w(t)f(t)g(t) dt (7.18)<br />

a<br />

erweitert. Zu gegebenem n sind nun die Knoten t i , wie auch die Gewichte<br />

w i gesucht und variieren mit n.<br />

# 44 Antwort<br />

Die Romberg-Quadratur basiert auf der asymptotischen Fehlerentwicklung<br />

der Trapezsumme.<br />

Im Gegensatz zu den Gauß-Formeln kann man bei der Extrapolation progressiv<br />

vorgehen, d. h. bei einer Steigerung kann man vorher berechnete<br />

Funktionswerte wiederverwenden. Im Zusammenhang mit der numerischen<br />

Integration lässt sich dieses Prinzip z. B. im Zusammenhang mit<br />

der Trapezregel verwenden. Zu berechnen sei das Integral ∫ b<br />

a f(x) dx. Die<br />

Trapezsumme T (h) := ÎT (f) liefert eine Approximation der Ordnung h 2 .<br />

Die wesentliche Grundlage für den Erfolg von Extrapolationsrechnicken<br />

bildet eine sogenannte asymptotische Entwicklung des Diskretisierungsfehlers.<br />

Im Falle der Trapezsumme (Romberg-Quadratur) kann man diesen<br />

Fehler genau in folgender Reihenentwicklung beschreiben, wenn f<br />

genügend glatt ist: Für f ∈ C 2p+2 ([a, b]) gilt<br />

T (h) − I(f) = c 1 h 2 + c 2 h 4 + c 3 h 6 + . . . + c ph 2p + O(h 2p+2 ). (7.19)<br />

Wichtig für die folgende Argumentation ist keinesfalls die Kenntnis der<br />

Koeffizienten c k , sondern lediglich die Tatsache, dass die Koeffizienten<br />

c k nicht von h abhängen. Dann ergibt sich nämlich<br />

T (1/2 · h) − I(f) = c 1<br />

1<br />

4 h2 + ĉ 2 h 4 + . . . + ĉ ph 2p + O(h 2p+2 ). (7.20)<br />

Multipliziert man die zweite Gleichung mit 4/3 und subtrahiert dann<br />

1/3-mal die erste (der Faktor 1/3 ist für die korrekte Fehlerabschätzung<br />

wichtig, damit 4/3 · I − 1/3 · I = I ist), so erhält man<br />

[ 4<br />

3 T ( 1/2 · h) − 1 3 T (h) ]<br />

− I = ˜c 1 h 4 + . . . + ˜c ph 2p + O(h 2p+2 ). (7.21)<br />

Man kann also die Trapezsumme auf einem Gitter der Schrittweite 1/2 · h<br />

mit einer Trapezsumme der Schrittweite h kombinieren, um eine Genauigkeit<br />

der Ordnung h 4 zu erreichen. Da in der Trapezsumme bei Halbierung<br />

der Schrittweite die Anzahl der Funktionsauswertungen nur verdoppelt<br />

wird, ist die dadurch erreichte quadratische Fehlerreduktion eine<br />

sehr effiziente Genauigkeitssteigerung. Man kann diese Idee systematisch<br />

weitertreiben.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!