21.01.2014 Aufrufe

Karteikartein zur Numerik

Karteikartein zur Numerik

Karteikartein zur Numerik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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!