Karteikartein zur Numerik
Karteikartein zur Numerik
Karteikartein zur Numerik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1. Lineare Gleichungssysteme: Direkte Methoden # 1<br />
✗ Gaußsches Eliminationsverfahren<br />
1. Lineare Gleichungssysteme: Direkte Methoden # 2<br />
✗ LR-Zerlegung
# 1 Antwort<br />
Das gaußsche Eliminationsverfahren ist ein Algorithmus aus den mathematischen<br />
Teilgebieten der linearen Algebra und der <strong>Numerik</strong>. Es ist<br />
ein wichtiges Verfahren zum Lösen von linearen Gleichungssystemen und<br />
beruht darauf, dass elementare Umformungen zwar das Gleichungssystem<br />
ändern, aber die Lösung erhalten. Dies erlaubt es, jedes eindeutig<br />
lösbare Gleichungssystem auf Stufenform zu bringen, an der die Lösung<br />
durch sukzessive Elimination der Unbekannten leicht ermittelt oder die<br />
Lösungsmenge abgelesen werden kann.<br />
Die Anzahl der benötigten Operationen ist bei einer n×n-Matrix von der<br />
Größenordnung n 3 . In seiner Grundform ist der Algorithmus anfällig für<br />
Rundungsfehler, aber mit kleinen Modifikationen (Pivotisierung) stellt er<br />
für allgemeine lineare Gleichungssysteme das Standardlösungsverfahren<br />
dar und ist Teil aller wesentlichen Programmbibliotheken für numerische<br />
lineare Algebra.<br />
Verfahren (Vorwärtselimination). Wir lösen das Gleichungssystem<br />
(1.1)<br />
a x 11 1 +a x 12 2 + . . . +a x 1n n = b 1<br />
a 21 x 1 +a 22 x 2 + . . . +a 2n x n = b 2<br />
.<br />
.<br />
a n1 x 1 +a n2 x 2 + . . . +a nnx n = b n<br />
indem wir zunächst von der i-ten Zeile die 1. Zeile ·a i1/a 11 abziehen.<br />
Analog wird weiter eliminiert, bis das gesamte System auf Dreiecksgestalt<br />
gebracht worden ist.<br />
⎛<br />
⎞<br />
a 11 a 22 a 33 · · · a 1n ⎛ ⎞ ⎛ ⎞<br />
x b 1<br />
1<br />
a (1)<br />
22 a (1)<br />
2n<br />
x a (2)<br />
33 a (2)<br />
2<br />
b (1)<br />
2<br />
3n<br />
x ⎜<br />
.<br />
⎝ 0<br />
..<br />
. 3<br />
=<br />
b (2)<br />
3 .. ⎟ ⎜<br />
⎟<br />
⎠ ⎝<br />
. ⎠ ⎜ ...<br />
, (1.2)<br />
⎟<br />
⎝ ⎠<br />
a nn<br />
(n−1) x n b (n−1)<br />
n<br />
} {{ } } {{ }<br />
=R<br />
=˜b<br />
wobei i = k + 1, . . . , n und<br />
l ik = a(k−1) ik<br />
a (k−1)<br />
kk<br />
a (k)<br />
ij<br />
b (k)<br />
i<br />
(1.3)<br />
= a (k−1)<br />
ij − l ik a (k−1)<br />
kj für j = k + 1, . . . , n (1.4)<br />
= b (k−1)<br />
i − l ik b (k−1)<br />
k für j = k + 1, . . . , n. (1.5)<br />
Verfahren (Rückwärtssubstitution). Zur Lösung des Gleichungssystems<br />
ist nun noch die Rückwärtssubstitution nötig.<br />
x n = b(n−1) n<br />
a (n−1)<br />
nn<br />
x n−1 = b(n−2) n−1 − a (n−2)<br />
n−1,n xn<br />
a (n−2)<br />
n−1,n−1<br />
x k = b(k−1) k − ∑ n<br />
j=k+1 a(k−1) kj x j<br />
a (k−1)<br />
kk<br />
(1.6)<br />
(1.7)<br />
(1.8)<br />
# 2 Antwort<br />
Will man das Lösen eines quadratischen eindeutig lösbaren Gleichungssystems<br />
Ax = b umsetzen, bietet es sich an, den Gaußalgorithmus als LR-<br />
Zerlegung zu interpretieren. Dies ist eine Zerlegung der regulären Matrix<br />
A in das Produkt einer linken unteren Dreiecksmatrix L und einer rechten<br />
oberen Dreiecksmatrix R. Dabei hat R die erwähnte Stufenform und<br />
die Matrix L dient dem Speichern der benötigten Umformungsschritte,<br />
die Multiplikationen mit Frobeniusmatrizen entsprechen. Das zeigt die<br />
Existenz der Zerlegung. Um Eindeutigkeit zu erreichen, werden die Diagonalelemente<br />
der Matrix L als 1 festgelegt. Die Umformungsschritte zu<br />
speichern hat den Vorteil, dass für verschiedene rechte Seiten b das Gleichungssystem<br />
effizient durch Vorwärts- und Rückwärtseinsetzen gelöst<br />
werden kann.<br />
Sei<br />
⎛ ⎞<br />
0<br />
⎛<br />
⎞<br />
1 0<br />
.<br />
. ..<br />
0<br />
l k :=<br />
, L l k+1,k<br />
k :=<br />
−l k+1,k 1<br />
⎜<br />
⎜<br />
⎝<br />
⎟<br />
⎝<br />
.<br />
. ⎠<br />
.<br />
..<br />
⎟<br />
⎠<br />
0 −l<br />
l n,k 1<br />
n,k<br />
(1.9)<br />
Dann gilt<br />
Sei weiterhin<br />
A (k) = L k A (k−1) (1.10)<br />
b (k) = L k b (k−1) (1.11)<br />
A = L −1<br />
1 A(1) = . . . = L (−1)<br />
1 · . . . · L −1<br />
n−1 · R. (1.12)<br />
⎛<br />
L := L −1<br />
1 · . . . · L −1<br />
n−1 = ⎜<br />
⎝<br />
⎞<br />
1 0<br />
. ..<br />
l ij 1<br />
⎟<br />
⎠ . (1.13)<br />
Satz (LR-Zerlegung). Die Vorwärtselimination erzeugt unter der Voraussetzung<br />
an die Pivotelemente a (k−1)<br />
kk ≠ 0 für k = 1, . . . , n − 1, eine<br />
Faktorisierung A = L · R, wobei R eine obere Dreiecksmatrix und L eine<br />
normierte, d. h. l ii = 1 für i = 1, . . . , n, untere Dreiecksmatrix ist.
1. Lineare Gleichungssysteme: Direkte Methoden # 3<br />
✗ Rechenaufwand des Gaußschen Eliminationsverfahrens<br />
1. Lineare Gleichungssysteme: Direkte Methoden # 4<br />
✗ Pivotisierung
# 3 Antwort<br />
Unter dem Aufwand eines Algorithmus versteht man seinen maximalen<br />
Ressourcenbedarf. Dieser wird oft in Abhängigkeit von der Länge der<br />
Eingabe n angegeben und für große n asymptotisch unter Verwendung<br />
eines Landau-Symbols abgeschätzt. Analog wird die Komplexität eines<br />
Problems definiert durch den Ressourcenverbrauch eines optimalen Algorithmus<br />
<strong>zur</strong> Lösung dieses Problems. Die Schwierigkeit liegt darin, dass<br />
man somit alle Algorithmen für ein Problem betrachten müsste, um den<br />
Aufwand desselben zu bestimmen.<br />
Definition (Landau-Symbole). Seien f, g : D → R mit D ⊆ R und<br />
−∞ ≤ a ≤ ∞, sowie (a n) n∈N , (b n) n∈N Folgen in R. Dann gilt<br />
1. f(x) = O(g(x)) für x → a, falls ∃U(a), c ∈ R, ∀x ∈ U(a) : |f(x)| ≤<br />
c|g(x)|, d. h.<br />
und man sagt ”<br />
f verhält sich wie g“.<br />
2. f(x) = o(g(x)) für x → a, falls<br />
|f(x)|<br />
c = lim < ∞, (1.14)<br />
x→a |g(x)|<br />
|f(x)|<br />
lim = 0, (1.15)<br />
x→a |g(x)|<br />
und man sagt ”<br />
f wächst langsamer als g“ oder ”<br />
f ist asymptotisch<br />
gegenüber g vernachlässigbar“.<br />
3. a n = O(b n) für n → ∞, falls ∃N ∈ N, c ∈ R, ∀n ∈ N : |a n| ≤ c|b n|.<br />
4. a n = o(b n) für n → ∞, falls ∀ε > 0, ∃N ∈ N, ∀n ≥ N : |a n| ≤ ε|b n|.<br />
Rechnung (Rechenaufwand gezählt in flops).<br />
1. Dreieckszerlegung:<br />
for j = k + 1, . . . , n je eine Addition und eine Multiplikation für a ij<br />
⇒ (n − k) Additionen und Multiplikationen.<br />
for i = k + 1, . . . , n zusätzlich je eine Dividion für l ik .<br />
Das je for k = 1, . . . , n − 1, also<br />
n−1 ∑<br />
n−1 ∑<br />
(n − k) 2 = l 2 =<br />
k=1<br />
l=1<br />
= 2n3 − 3n 2 + n<br />
6<br />
(n − 1)n(2n − 1)<br />
6<br />
≈ n3<br />
2<br />
Additionen, sowie Multiplikationen für große n und<br />
n−1 ∑<br />
(n − k) = n2 − n<br />
2<br />
k=1<br />
≈ n2<br />
2<br />
Divisionen für große n. Dann ist die Anzahl der flops<br />
2 2n3 − 3n 2 + n<br />
6<br />
für große n.<br />
+ n2 − n<br />
2<br />
2. Vorwärts- bzw. Rückwärtssubstitution: je<br />
n−1 ∑<br />
(n − k) = n2 − n<br />
2<br />
k=1<br />
= (1.16)<br />
(1.17)<br />
(1.18)<br />
= 2 3 n3 − 1 2 n2 − 1 6 n ≈ 2 3 n3 (1.19)<br />
≈ n2<br />
2<br />
(1.20)<br />
Multiplikationen und Additionen und n Divisionen für die<br />
Rückwärtssubstitution. Also n 2 flops.<br />
3. Zusammengefasst: Die Dreieckszerlegung benötigt O(n 3 ) flops, die<br />
Vorwärts- bzw. Rückwärtssubstitution benötigt O(n 2 ) flops.<br />
# 4 Antwort<br />
Das gaußsche Eliminationsverfahren ist im Allgemeinen nicht ohne Zeilenvertauschungen<br />
durchführbar. Gilt z. B. a 11 = 0, so kann der Algorithmus<br />
ohne Zeilenvertauschung gar nicht starten. Zur Abhilfe wählt man<br />
ein Element der ersten Spalte der Koeffizientenmatrix, das so genannte<br />
Pivotelement, welches ungleich 0 ist.<br />
Verfahren (Spaltenpivotisierung: Partielle, halbmaximale Pivotisierung).<br />
Im k-ten Eliminationsschritt A (k−1) bis <strong>zur</strong> k − 1-ten Zeile Diagonalgestalt.<br />
1. Bestimme das Pivotelement a (k−1)<br />
pk als betragsmäßig größtes der<br />
Rest-Spalte, d. h.<br />
|a (k−1)<br />
pk | ≥ |a (k−1)<br />
jk | für j = k, . . . , n. (1.21)<br />
2. Vertausche in A (k−1) de k-te mit der p-ten Zeile.<br />
3. Führe einen Gauß-Eliminationsschritt aus.<br />
Definition (Permutationsmatrix). Damit die LR-Zerlegung unabhängig<br />
von der rechten Seite erstellt werden kann, müssen die Permutationen gespeichert<br />
werden. Für die Permutationsmatrix<br />
P π = ( e π(1) · · · e π(n)<br />
)<br />
(1.22)<br />
mit e j dem j-ten Einheitsvektor, gilt P A = LR. Weiterhin ist P −1 = P t<br />
und det P = sign π = ±1, falls π durch eine gerade, bzw. ungerade Anzahl<br />
von Transpositionen erzeugt wird.<br />
Satz (Permutationsmatrix und Dreieckszerlegung). Für jede invertierbare<br />
Matrix A existiert eine Permutationsmatrix P , sodass eine Dreieckszerlegung<br />
P A = LR existiert. P kann so gewählt werden, dass alle<br />
Elemente von L betragsmäßig ≤ 1 sind, das heißt |l ij | ≤ 1.<br />
Verfahren (Gauß-Elimination <strong>zur</strong> Lösung von Ax = b). Das Lösen eines<br />
Gleichungssystems Ax = b mit einer invertierbaren Matrix A wird<br />
durch Elimination mit folgenden drei Schritten durchgeführt:<br />
1. Zerlege A durch P A = LR.<br />
2. Löse durch Vorwärtssubstitution Lz = P b.<br />
3. Löse durch Rückwärtssubstitution Rx = z.<br />
Bemerkung (Unnötigkeit einer Pivotisierung). Pivotisierung ist unter<br />
bestimmen Umständen unnötig, wenn die Matrix A bereits in einer für<br />
die <strong>Numerik</strong> günstigen Form vorliegen, z. B. wenn A positiv definit ist,<br />
oder strikt-diagonale Dominanz besitzt.
1. Lineare Gleichungssysteme: Direkte Methoden # 5<br />
✗ Cholesky-Verfahren<br />
2. Fehleranalyse # 6<br />
✗ Welche Fehler gibt es?
# 5 Antwort<br />
Die Cholesky-Zerlegung bezeichnet in der numerischen Mathematik eine<br />
Zerlegung einer symmetrischen positiv definiten Matrix. Bei der Anwendung<br />
der Methode der kleinsten Quadrate ist eine Möglichkeit, die auftauchenden<br />
Minimierungsprobleme über die Normalgleichungen zu lösen,<br />
die eine symmetrisch positiv definite Systemmatrix haben. Dies ist mit<br />
Hilfe der Cholesky-Zerlegung möglich und dies war die Motivation von<br />
Cholesky, die Zerlegung zu entwickeln. Beim Gauß-Newton-Verfahren ist<br />
damit bei jedem Iterationsschritt ein Gleichungssystem zu lösen, das sich<br />
mit dem Cholesky-Verfahren bestimmen lässt.<br />
Im Folgenden sei A eine symmetrische, positiv definite Matrix im R n×n ,<br />
das heißt<br />
A = A t , 〈x, Ax〉 := x t Ax > 0, ∀x ≠ 0. (1.23)<br />
Wir nennen eine solche Matrix auch kurz spd-Matrix.<br />
Satz (Eigenschaften von spd-Matrizen). Für jede symmetrische, positiv<br />
definite Matrix A ∈ R n×n gilt:<br />
1. A ist invertierbar,<br />
2. a ii > 0 für i = 1, . . . , n,<br />
3. max ij |a ij | = max i a ii ,<br />
4. bei der Gauß-Elimination ohne Pivotsuche ist jede Restmatrix wiederum<br />
eine symmetrische, positiv definite Matrix.<br />
Korollar (Cholesky-Zerlegung). Für jede spd-Matrix exisitert eine eindeutige<br />
Zerlegung der Form A = LDL t , wobei L eine reelle unipotente,<br />
d. h. l ii = 1 für alle i) untere Dreiecksmatrix und D eine positive Diagonalmatrix<br />
ist. Diese Zerlegung heißt rationale Cholesky-Zerlegung. Die<br />
Zerlegung<br />
A = ¯L¯L t (1.24)<br />
mit der reellen unteren Dreiecksmatrix<br />
⎛√ ⎞<br />
d1 0<br />
¯L = L · ⎜ . ⎝ .. ⎟<br />
⎠<br />
√ = LD1/2<br />
0<br />
dn<br />
heißt Cholesky-Zerlegung. Wegen der Eigenschaften von spd-Matrizen<br />
gilt:<br />
a kk = ¯l 2 k1 + . . . + ¯l 2 kk , (1.25)<br />
a ik = ¯l i1¯lk1 + . . . + ¯l ik¯lkk , i > k, (1.26)<br />
d. h. spaltenweise Berechnung funktioniert.<br />
Rechnung (Rechenaufwand der Cholesky-Zerlegung). Es sind je 1/6 ·<br />
(n 3 − n) Additionen sowie Multiplikationen, 1/6 · (3n 3 − 3n) Divisionen<br />
und n Quadratwurzeln notwendig, also für große n sind ≈ 1/3 · n 3 flops<br />
notwendig. Im Vergleich <strong>zur</strong> LR-Zerlegung halbiert sich in etwa der Aufwand.<br />
# 6 Antwort<br />
Es gibt zwei Arten von Fehlern, die zu verschiedenen Fragestellungen<br />
führen:<br />
1. Eingabefehler: Rundungsfehler, Fehler in Messdaten, Fehler im Modell<br />
(falsche Parameter).<br />
→ Wie wirkt sich der Eingabefehler auf das Resultat unabhängig<br />
vom gewählten Algorithmus aus? f(x) ↔ f(x + ε): → Kondition<br />
des Problems<br />
2. Fehler im Algorithmus: Rundungsfehler durch Rechenoperationen,<br />
Approximationen (z. B. Ableitung durch Differenzenquotienten<br />
oder die Berechnung von Sinus durch eine abgebrochene Reihenentwicklung).<br />
→ Wir wirken sich (Rundungs-) Fehler des Algorithmus aus und<br />
wie verstärkt der Algorithmus die Eingabefehler? f(x) ↔ ˜f(x): →<br />
Stabilität des Algorithmus<br />
Bemerkung (Absoluter Rundungsfehler). 1 + eps ist die kleinste Zahl<br />
am Rechner, welche größer als 1 ist. Also: eps = β 1−t ≈ 10 −7 bei einfacher<br />
Genauigkeit.<br />
Wir bezeichnen mit fl(x) die gerundete Zahl, wobei fl(x) eindeutig gegeben<br />
ist durch die Schranke an den absoluten Rundungsfehler<br />
{<br />
1/2β e+1−t bei symmetrischem Runden<br />
| fl(x) − x| ≤<br />
β e+1−t bei Abschneiden<br />
Für die relative Genauigkeit folgt somit<br />
| fl(x) − x|<br />
|x|<br />
≤<br />
{<br />
1/2β 1−t =: τ bei symmetrischem Runden<br />
β 1−t<br />
bei Abschneiden<br />
(2.1)<br />
(2.2)<br />
Die Maschinengenauigkeit des Rechners ist somit durch eps = β 1−t gegeben.<br />
Die Mantissenlänge bestimmt also die Maschinengenauigkeit. Bei<br />
einfacher Genauigkeit ist fl(x) bis auf ungefähr 7 signifikante Stellen genau.<br />
Definition (Fehler). Sei x ∈ R n und ˜x ∈ R n eine Näherung an x. Weiterhin<br />
sei ‖.‖ eine Norm auf R n . Dann sind definiert<br />
1. α˜x (x) := ‖˜x − x‖ der absolute Fehler, und<br />
2. ρ˜x (x) := ‖˜x−x‖<br />
‖x‖<br />
der relative Fehler.<br />
Da der relative Fehler skalierungsinvariant ist, d. h. nicht von der Größe<br />
von x abhängt, ist er in der Regel bei der Fehleranalyse von größerem<br />
Interesse. Sowohl α als auch ρ hängen von ‖.‖ ab.
2. Fehleranalyse # 7<br />
✗ Was ist das Residuum?<br />
2. Fehleranalyse # 8<br />
✗ Was ist eine Kondition?
# 7 Antwort<br />
Als Residuum bezeichnet man in der Mathematik, speziell in der numerischen<br />
Mathematik, die Abweichung vom gewünschten Ergebnis, welche<br />
entsteht, wenn in eine Gleichung Näherungslösungen eingesetzt werden.<br />
Angenommen, es sei eine Funktion f gegeben und man möchte ein x<br />
finden, so dass f(x) = b. Mit einer Näherung x 0 an x ist das Residuum r<br />
r = b − f(x 0 ) (2.3)<br />
der Fehler hingegen x − x 0 . Der Fehler ist in der Regel unbekannt, da<br />
x unbekannt ist, weswegen dieser als Abbruchkriterium in einem numerischen<br />
Verfahren nicht benutzbar ist. Das Residuum ist dagegen stets<br />
verfügbar. Wenn das Residuum klein ist, folgt in vielen Fällen, dass die<br />
Näherung nahe bei der Lösung liegt, d. h.<br />
|x 0 − x|<br />
|x|<br />
≪ 1. (2.4)<br />
In diesen Fällen wird die zu lösende Gleichung als gut gestellt angesehen<br />
und das Residuum kann als Maß der Abweichung der Näherung von<br />
der exakten Lösung betrachtet werden. Bei linearen Gleichungssystemen<br />
können sich die Norm des Fehlers und des Residuums um den Faktor der<br />
Kondition unterscheiden.<br />
# 8 Antwort<br />
In der numerischen Mathematik beschreibt man mit der Kondition die<br />
Abhängigkeit der Lösung eines Problems von der Störung der Eingangsdaten.<br />
Die Konditionszahl stellt ein Maß für diese Abhängigkeit dar. Sie<br />
beschreibt den Faktor, um den der Eingangsfehler im ungünstigsten Fall<br />
verstärkt wird. Sie ist unabhängig von konkreten Lösungsverfahren, aber<br />
abhängig vom mathematischen Problem.<br />
Definition (Matrixnorm). Auf dem R n sei eine Norm ‖.‖ a und auf dem<br />
R m eine Norm ‖.‖ b gegeben. Dann ist die zugehörige Matrixnorm gegeben<br />
durch<br />
‖Ax‖ b<br />
‖A‖ a,b = sup = sup ‖Ax‖ b . (2.5)<br />
x≠0 ‖x‖ a ‖x‖ a=1<br />
Es gilt also: ‖A‖ a,b ist die kleinste Zahl c mit ‖Ax‖ b ≤ c · ‖x‖ a für alle<br />
x ∈ R n . Die meist gebrauchten Matrixnormen sind:<br />
- Frobenius-Norm einer n × m-Matrix (Schurnorm):<br />
n∑ m∑<br />
‖A‖ F := √ |a ij | 2 . (2.6)<br />
i=1 j=1<br />
- p-Norm:<br />
‖Ax‖ p<br />
‖A‖ p := ‖A‖ p,p = sup . (2.7)<br />
x≠0 ‖x‖ p<br />
Definition (Normweise Kondition). Sei (f, x) ein Problem mit f : U ⊆<br />
R n → R m und ‖.‖ a auf R n , sowie ‖.‖ b auf R m Normen.<br />
1. Absolute normweise Kondition: Die absolute normweise Kondition<br />
eines Problems (f, x) ist die kleinste Zahl κ abs > 0 mit<br />
‖f(˜x) − f(x)‖ b ≤ κ abs (f, x)‖˜x − x‖ a + o(‖˜x − x‖ a). (2.8)<br />
für ˜x → x.<br />
2. Relative normweise Kondition: Die relative normweise Kondition<br />
eines Problems (f, x) mit x ≠ 0 und f(x) ≠ 0 ist die kleinste Zahl<br />
κ rel > 0 mit<br />
‖f(˜x) − f(x)‖ b<br />
‖f(x)‖ b<br />
für ˜x → x.<br />
( )<br />
‖˜x − x‖a ‖˜x − x‖a<br />
≤ κ rel (f, x) + o<br />
. (2.9)<br />
‖x‖ a<br />
‖x‖ a<br />
Man sagt das Problem ist gut konditioniert, falls κ klein ist und das<br />
Problem ist schlecht konditioniert, falls κ groß ist.
2. Fehleranalyse # 9<br />
✗ Normweise Kondition eines Problem (f, x)?<br />
2. Fehleranalyse # 10<br />
✗ Herleitung der Kondition der Addition?
# 9 Antwort<br />
Wir untersuchen das Verhältnis von Ausgabefehler zu Eingabefehler.<br />
Definition (Problem). Sei f : U ⊂ R n → R m mit U offen und sei<br />
x ∈ U. Dann bezeichne (f, x) das Problem zu einem gegebenen x die<br />
Lösung f(x) zu finden.<br />
Lemma (Formel für die Normweise Kondition eines Problems). Falls f<br />
differenzierbar ist, gilt<br />
κ abs (f, x) = ‖Df(x)‖ a,b (2.10)<br />
κ rel (f, x) =<br />
wobei Df(x) die Jacobi-Matrix bezeichnet.<br />
‖x‖a<br />
‖f(x)‖ b<br />
‖Df(x)‖ a,b (2.11)<br />
# 10 Antwort<br />
Sei f(x 1 , x 2 ) = x 1 + x 2 und wir wählen die C 1 -Norm auf R 2 . Dann ist<br />
Df(x 1 , x 2 ) = (1, 1) (2.12)<br />
κ abs = ‖Df(x 1 , x 2 )‖ 1 = 1 (2.13)<br />
κ rel = |x 1| + |x 2 |<br />
|x 1 + x 2 |<br />
(2.14)<br />
Also hat die Addition von zwei Zahlen mit gleichem Vorzeichen κ rel = 1,<br />
wohingegen die Addition zweier Zahlen mit unterschiedlichem Vorzeichen<br />
(das entspricht einer Subtraktion) eine sehr schlechte Kondition κ rel ≫ 1<br />
ergibt.
2. Fehleranalyse # 11<br />
✗ Was ist die Kondition einer Matrix?<br />
2. Fehleranalyse # 12<br />
✗ Kondition eines nichtlinearen Gleichungssystems?
# 11 Antwort<br />
Löse Ax = b mit einer invertierbaren Matrix A ∈ R n×n und ‖.‖ sei die<br />
zugehörige Matrixnorm.<br />
1. Störung in b: f : b ↦→ x = A −1 b, berechnet κ(f, b). Löse<br />
A(x + ∆x) = b + ∆b. Es ist mit x = A −1 b auch<br />
f(b + ∆b) − f(b) = ∆x = A −1 ∆b (2.15)<br />
‖∆x‖ = ‖A −1 ∆b‖ ≤ ‖A −1 ‖ · ‖∆b‖ (2.16)<br />
Die Abschätzung ist scharf, d. h. es gibt ein ∆b ∈ R n , sodass Gleichheit<br />
gilt, also<br />
Ebenso folgt die scharfe Abschätzung<br />
‖f(b + ∆b) − f(b)‖<br />
‖f(b)‖<br />
κ abs (f, b) = ‖A −1 ‖. (2.17)<br />
= ‖∆x‖<br />
‖x‖<br />
= ‖A−1 ‖ · ‖b‖<br />
‖x‖<br />
κ rel (f, b) = ‖A −1 ‖ ·<br />
≤ ‖A−1 ‖ · ‖∆b‖<br />
‖x‖<br />
und mit ‖b‖ ≤ ‖A‖ · ‖x‖ = ‖A‖ · ‖A −1 b‖ folgt<br />
· ‖b‖<br />
‖b‖ = (2.18)<br />
· ‖∆b‖<br />
‖b‖ , (2.19)<br />
‖b‖<br />
‖A −1 b‖ , (2.20)<br />
κ rel (f, b) ≤ ‖A‖ · ‖A −1 ‖. (2.21)<br />
2. Störung in A: Löse (A + ∆A)(x + ∆x) = b, d. h. f : R n×n → R n ,<br />
f(A) = A −1 b = x und berechnet κ(f, A) mittels Ableitung<br />
da<br />
Df(A) : R n×n → R n , (2.22)<br />
C ↦→ Df(A)C = d dt ((A + tC)−1 b)| t=0 = −A −1 CA −1 . (2.23)<br />
0 = d dt En = d dt (A + tC)(A + tc)−1 = (2.24)<br />
= C(A + tC) −1 + (A + tC) d dt (A + tC)−1 (2.25)<br />
Also gilt für die Kondition<br />
‖A −1 CA −1 b‖<br />
κ abs (A) = ‖Df(A)‖ = sup<br />
= (2.26)<br />
C≠0 ‖C‖<br />
κ rel (f, A) =<br />
‖A −1 Cx‖ ‖A −1 ‖ · ‖C‖ · ‖x‖<br />
= sup<br />
≤ sup<br />
= (2.27)<br />
C≠0 ‖C‖ C≠0 ‖C‖<br />
= ‖A −1 ‖ · ‖x‖ (2.28)<br />
‖A‖<br />
‖f(A)‖ ‖Df(A)‖ ≤ ‖A‖ · ‖A−1 ‖. (2.29)<br />
Die Größe κ(A) = cond(A) := ‖A −1 ‖ · ‖A‖ wird Kondition der Matrix A<br />
genannt. Sie beschreibt die relative Kondition eines linearen Gleichungssystems<br />
Ax = b für alle möglichen Störungen in A und b, d. h. bezüglich<br />
aller möglichen Eingabefehler.<br />
# 12 Antwort<br />
Sei f : R n → R n stetig differenzierbar und y ∈ R n . Löse<br />
f(x) = y. (2.30)<br />
Sei nun Df(x) invertierbar, dann existiert aufgrund des Satzes von der<br />
inversen Funktion auch die inverse Funktion f −1 lokal in einer Umgebung<br />
von y und f −1 (y) = x. Weiterhin gilt D(f −1 )(y) = (Df(x)) −1 .<br />
Die Konditionen des obigen Problems, d. h. (f −1 , y) sind daher<br />
Etwa ist für eine eindimensionale Funktion f : R → R mit f(x) = y die<br />
relative Kondition<br />
κ rel (f −1 , y) = |f(x)|<br />
|x|<br />
·<br />
1<br />
|f ′ (x)| , (2.32)<br />
also wenn |f ′ (x)| fast 0 ist → schlechte absolute Kondition und wenn<br />
|f ′ (x)| ≫ 0 → gute absolute Kondition.<br />
κ abs (f −1 , y) = ‖(Df(x)) −1 ‖,<br />
κ rel (f −1 , y) = ‖f(x)‖<br />
‖x‖ ‖(Df(x))−1 ‖. (2.31)
2. Fehleranalyse # 13<br />
✗ Kondition des Skalarprodukts?<br />
2. Fehleranalyse # 14<br />
✗ Was ist Stabilität eines Alogirithmus?
# 13 Antwort<br />
Sei 〈x, y〉 := ∑ n<br />
i=1 x iy i = x t y und f : R 2n → R mit (x, y) ↦→ x t y = 〈x, y〉.<br />
Dann ist Df(x, y) = (y t , x t ) und es gilt<br />
κ rel =<br />
da cos(∡(x, y)) =<br />
∥ |(y t , x t )| · ( x<br />
y<br />
)∥ ∥∞<br />
‖ 〈x, y〉 ‖ ∞<br />
〈x,y〉<br />
‖x‖ 2 ‖y‖ 2<br />
= 2|yt ||x| cos(∡(|x|, |y|))<br />
= 2 ·<br />
| 〈x, y〉 | cos(∡(x, y)) ,<br />
und |y t ||x| = 〈|y|, |x|〉 ist.<br />
Falls x und y nahezu senkrecht aufeinander stehen, kann das Skalarprodukt<br />
schlecht konditioniert sein, z. B. für x = ˜x = ( )<br />
1<br />
1 und y =<br />
( )<br />
, ỹ = ( )<br />
1<br />
−1 .<br />
1+10 −10<br />
−1<br />
Das zeigt, dass das Cholesky-Verfahren für die Lösung der Normalengleichung<br />
ungeeignet ist.<br />
# 14 Antwort<br />
In der numerischen Mathematik heißt ein Verfahren stabil, wenn es gegenüber<br />
kleinen Störungen der Daten unempfindlich ist. Insbesondere<br />
bedeutet dies, dass sich Rundungsfehler nicht zu stark auf die Berechnung<br />
auswirken. Man unterscheidet in der <strong>Numerik</strong> hierbei Kondition,<br />
Stabilität und Konsistenz, die untereinander stark verwandt sind. Stabilität<br />
ist dabei eine Eigenschaft des Algorithmus und die Kondition eine<br />
Eigenschaft des Problems.<br />
Verfahren (Vorwärtsanalyse). Ein Verfahren heißt stabil, wenn es eine<br />
Konstante σ v ∈ R gibt, so dass gilt<br />
‖ ˜f(˜x) − f(˜x)‖ ≤ σ v · κ rel · eps, (2.33)<br />
wobei κ rel die relative Kondition des Problems und eps die Maschinengenauigkeit<br />
bezeichnet. σ v quantifiziert die Stabilität im Sinne der<br />
Vorwärtsanalyse.<br />
Verfahren (Rückwärtsanalyse). Meistens kennt man eine sinnvolle obere<br />
Schranke ε für den unvermeidbaren relativen Eingabefehler ‖˜x−x‖/‖x‖.<br />
Problemabhängig kann das ein Messfehler oder auch ein Rundungsfehler<br />
sein. Um den durch den Algorithmus verursachten Fehler besser<br />
einschätzen zu können, rechnet man ihn bei der Rückwärtsanalyse in<br />
einen äquivalenten Fehler in den Eingangsdaten des Problems um, der<br />
auch als Rückwärtsfehler bezeichnet wird. Die formale Definition des<br />
Rückwärtsfehlers des Algorithmus ˜f für die (gerundeten) Eingabedaten<br />
˜x (mit ‖˜x‖ ̸= 0) lautet:<br />
{ }<br />
‖ˆx − ˜x‖<br />
σ r(˜x) := inf<br />
: ˆx ∈ D(f) und f(ˆx) = ˜f(˜x) , (2.34)<br />
‖˜x‖<br />
wobei D(f) für den Definitionsbereich von f steht. Der Algorithmus ist<br />
rückwärtsstabil, wenn der relative Rückwärtsfehler für alle kleiner als der<br />
unvermeidbare relative Eingabefehler ist.<br />
Bemerkung (Zusammenhang zwischen Vorwärtsfehler, Rückwärtsfehler<br />
und Kondition eines Problems). Der Vorwärtsfehler ist kleiner als die<br />
Kondition des Problems mal den Rückwärtsfehler:<br />
‖ ˜f(˜x) − f(x)‖ ≤ κ(f, x) · ‖ˆx − x‖. (2.35)
2. Fehleranalyse # 15<br />
✗ Warum soll man die Subtraktion bzw. schlecht konditionierte Probleme an den Anfang von<br />
Algoirthmen stellen?<br />
2. Fehleranalyse # 16<br />
✗ Stabilitätsindikatoren?
# 15 Antwort<br />
Wie wirken sich Fehler eines Rechenschrittes innerhalb eines Algorithmus<br />
aus?<br />
Definition (Durch elementare Operation ausführbar). Eine Abbildung<br />
ϕ : K ⊂ R n → R m heißt durch eine elementare Operation ausführbar,<br />
falls es eine Abbildung ˜ϕ : F n → F m gibt, mit der Menge F der Maschinenzahlen,<br />
die auf dem Rechner mit relativer Genauigkeit eps realisiert<br />
werden kann, d. h.<br />
‖ ˜ϕ(x) − ϕ(x)‖ p<br />
‖ϕ(x)‖ p<br />
≤ eps, p = 1, . . . , ∞. (2.36)<br />
Definition (Algorithmus, Implementation). Eine Zerlegung der Abbildung<br />
f : E → R m der Form f = f (l) ◦ . . . ◦ f (1) mit l ∈ N und<br />
f (i) : U i ⊂ R k i → U i+1 ⊂ R k i+1 mit k 1 = n und k l+1 = m heißt Algorithmus,<br />
falls alle f (i) durch elementare Operationen ausführbar sind.<br />
Seien ˜f (i) die Abbildungen, die f (i) auf dem Rechner bis auf Maschinengenauigkeit<br />
realisieren. Dann heißt die Zerlegung ˜f = ˜f (l) ◦ . . . ◦ ˜f (1) :<br />
F n → F m Implementation von f. Im Allgemeinen gibt es verschiedenen<br />
Implementationen einer Abbildung f.<br />
Lemma (Fehlerfortpflanzung). Sei x ∈ R n mit ˜x ∈ F n mit |˜x i − x i | ≤<br />
eps |x i | für alle i = 1, . . . , n. Sei f = f (l) ◦ . . . ◦ f (1) ein Algorithmus<br />
für f und ˜f eine zugehörige Implementation. Mit den Abkürzungen<br />
x (j+1) = f (j) ◦ . . . ◦ f (1) (x) und x (1) = x, sowie entsprechend ˜x (j+1) gilt<br />
‖˜x (j+1) − x (j+1) ‖<br />
‖x (j+1) ‖<br />
≤ eps K (j) + o(eps), (2.37)<br />
mit K (j) = (1 + κ (j) + κ (j) κ (j+1) + . . . + κ (j) · . . . · κ (1) ), wobei<br />
κ (j) := κ rel (f (j) , x (j) ) und ‖.‖ eine bleibige p-Norm ist.<br />
Korollar. Sei x ∈ R n mit ˜x ∈ F n mit |˜x i − x i | ≤ eps |x i | für alle<br />
i = 1, . . . , n. Sei f = f (l) ◦ . . . ◦ f (1) ein Algorithmus für f und<br />
˜f eine zugehörige Implementation. Mit den Abkürzungen x (j+1) =<br />
f (j) ◦ . . . ◦ f (1) (x) und x (1) = x, sowie entsprechend ˜x (j+1) gilt<br />
˜f(˜x) − f(x)‖<br />
≤<br />
‖f(x)‖<br />
≤ eps<br />
(1 + κ (l) + κ (l) κ (l−1) + . . . + κ (l) · . . . · κ (1)) +o(eps). (2.38)<br />
} {{ }<br />
=:K<br />
Damit ist offensichtlich, dass schlecht konditionierte Probleme zu elementar<br />
ausführbaren Abbildungen so früh wie möglich ausgeführt werden<br />
sollen. Die Subtraktion zweier annähernd gleich großer Zahlen<br />
ist schlecht konditioniert. Unvermeidbare Subtraktionen sollten also<br />
möglichst früh durchgeführt werden. Allerdings hängt κ (i) nicht nur von<br />
f (i) , sondern auch von dem Zwischenergebnis x (j) ab, welches a priori<br />
unbekannt ist.<br />
# 16 Antwort<br />
Der Quotient<br />
gibt die Güte des Algorithmus an. Als Stabilitätsindikator kann also<br />
Gesamtfehler<br />
{ }} {<br />
‖ ˜f(˜x) − f(x)‖<br />
‖f(x)‖<br />
‖f(˜x) − f(x)‖ ‖˜x − x‖<br />
·<br />
‖f(x)‖ ‖x‖<br />
} {{ } } {{ }<br />
Fehler des Eingabefehler<br />
Problems<br />
(2.39)<br />
verwendet werden und es gilt<br />
‖ ˜f(˜x) − f(x)‖<br />
‖f(x)‖<br />
σ(f, ˜f, x) :=<br />
≤ σ(f, ˜f, x)<br />
} {{ }<br />
Beitrag des<br />
Algorithmus<br />
K<br />
κ rel (f, x)<br />
· κ rel (f, x) · eps<br />
} {{ }<br />
Beitrag des<br />
Problems<br />
}{{}<br />
Rundungsfehler<br />
(2.40)<br />
+o(eps). (2.41)<br />
Falls σ < 1 ist, dämpft der Algorithmus die Fehlerfortpflanzung der<br />
Eingabe- und Rundungsfehler und heißt stabil. Falls σ ≫ 1 heißt der<br />
Algorithmus instabil.
3. Lineare Ausgleichsprobleme # 17<br />
✗ Herleitung und Beschreibung linearer Ausgleichsprobleme? Herleitung Gaußscher Fehlerquadrate?<br />
3. Lineare Ausgleichsprobleme # 18<br />
✗ Normalengleichung?
# 17 Antwort<br />
Beispiel (Widerstandsmessung). Man betrachte einen einfachen Stromkreis,<br />
wobei I die Stromstärke, U die Spannung und R den Widerstand<br />
bezeichnet. Das Ohmsche Gesetz besagt, dass diese Größen über U = RI<br />
gekoppelt sind. Man nehme nun an, dass eine Messreihe von Daten<br />
(U i , I i ), i =, 1 . . . , m angelegt wird. Die Aufgabe besteht darin, aus diesen<br />
Messdaten den Widerstand R im Stromkreis zu bestimmen. Theoretisch<br />
müsste der gesuchte Wert alle Gleichungen U i = RI i , i = 1, . . . , m<br />
erfüllen. Nun sind aber die Messdaten notgedrungen mit Fehlern behaftet.<br />
Da keinerlei Hinweise vorliegen, welcher dieser Werte geeignet ist,<br />
muss man eine andere Strategie entwickeln, die in einem gewissen Sinne<br />
die Fehler ausgleicht und in einem zu spezifizierenden Sinne optimal<br />
ist. Hierzu kann man versuchen, die durch eine Wahl von R bedingten<br />
Residuen U i − RI i zu quadrieren, aufzusummieren und dasjenige R zu<br />
suchen, das diesen Ausdruck minimiert:<br />
f(R) :=<br />
m∑<br />
(RI i − U i ) 2 = min . (3.1)<br />
i=1<br />
Da f eine quadratische Funktion ist, kann nur ein Exrtemum vorliegen,<br />
das durch die Nullstelle der Ableitung gegeben ist:<br />
(<br />
m∑<br />
m<br />
)<br />
∑<br />
m∑<br />
0 = f ′ (R) = 2(RI i − U i )I i = 2R Ii<br />
2 − 2 U i I i . (3.2)<br />
i=1<br />
i=1<br />
i=1<br />
Hier ergibt sich diese Nullstelle R ∗ als<br />
∑<br />
R ∗ i<br />
=<br />
U iI i<br />
∑<br />
i I2 i<br />
(3.3)<br />
Verfahren (Gaußsche Fehlerquadratmethode). Allgemeiner liegt häufig<br />
folgende Situation vor: Aus theoretischen Überlegungen ist bekannt, dass<br />
eine bestimmte Größe b(t) über einen gewissen funktionalen Zusammenhang<br />
von einigen Parametern x 1 , . . . , x n abhängt:<br />
b(t) = y(t|x 1 , . . . , x n). (3.4)<br />
Im Beispiel war b(t) = y(t|x) = t · x und n = 1. Es geht darum, aus einer<br />
Reihe von Beobachtungen (Messungen) diejenigen Parameter x 1 , . . . , x n<br />
zu ermitteln, die den gegebenen Prozess möglichst gut beschreiben. Wenn<br />
mehr Messungen<br />
b i ≈ b(t i ), i = 1, . . . , m, (3.5)<br />
als unbekannte Parameter x i , i = 1, . . . , n vorliegen, also m > n ist,<br />
so hat man im Prinzip ein überbestimmtes Gleichungssystem, welches<br />
aufgrund von Messfehlern im Allgemeinen nicht konsistent ist. Deshalb<br />
versucht man, diejenigen Parameter x 1 , . . . , x n zu bestimmen, die<br />
m∑<br />
w i (y(t|x 1 , . . . , x n) − b i ) 2 = min (3.6)<br />
i=1<br />
erfüllen. Hierbei können die w i als positive Gewichte verschieden von 1<br />
gewählt werden, wenn man einigen der Messungen mehr oder weniger Gewicht<br />
beimessen möchte. Dieses Vorgehen bezeichnet man als Gaußsche<br />
Fehlerquadratmethode.<br />
Definition (Lineares Ausgleichsproblem). Im Falle einer linearen Funktion<br />
ϕ<br />
ϕ(t, x 1 , . . . , x m) = a 1 (t)x 1 + . . . + a n(t)x n (3.7)<br />
mit gegebenen a i : R → R, definiere<br />
A := (a ij ) ∈ R m×n mit a ij = a j (t i ) (3.8)<br />
b := (b i ) ∈ R m . (3.9)<br />
Weiterhin seien mehr Daten bekannt als Parameter gesucht, d. h. m ≥ n.<br />
Dann ergibt sich ein lineares Ausgleichsproblem. Zu gegebenen b ∈ R m<br />
und A ∈ R m×n mit m ≥ n ist das ¯x ∈ R n gesucht, sodass<br />
‖b − A¯x‖ 2 = min x<br />
‖b − Ax‖ 2 . (3.10)<br />
Dies entspricht der Lösung eines überbestimmten, im Allgemeinen nicht<br />
erfüllbaren Gleichungssystems Ax = b.<br />
Das Beispiel der Widerstandsbestimmung passt auf die gerade gemachte<br />
Definition. Dabei ist n = 1, a 1 (t i ) = I i , b(t i ) = U i und x 1 = R.<br />
# 18 Antwort<br />
Satz (Projektionssatz). Sei V ein reeller Vektorraum mit einem Skalarprodukt<br />
〈., .〉. Sei U ⊂ V ein endlich dimensionaler Untervektorraum<br />
und sei<br />
U ⊥ := {v ∈ V : 〈v, u〉 = 0 für alle u ∈ U} . (3.11)<br />
Weiterhin sei ‖v‖ := √ 〈v, v〉 die von 〈., .〉 induzierte Norm.<br />
1. Zu jedem v ∈ V existiert genau ein ū ∈ U, sodass v − ū ∈ U ⊥ ,<br />
d. h. 〈v − ū, u〉 = 0 für alle u ∈ U. Dies definiert die orthogonale<br />
Projektion P : V → U durch P v := ū.<br />
2. Zu jedem v ∈ V bestimmt P v die eindeutige Lösung ‖v − P v‖ =<br />
min u∈U ‖v − u‖. Also gilt<br />
‖v − ū‖ = min ‖v − u‖ ⇔ 〈v − ū, u〉 = 0 ∀u ∈ U (3.12)<br />
u∈U<br />
und ū = P v ist eindeutig.<br />
Bemerkung (Projektionssatz in Worten). Zu jedem Vektor v aus einem<br />
Vektorraum gibt es genau einen Vektor ū aus einem Untervektorraum,<br />
sodass die Differenz der beiden Vektoren ganz im orthogonalen Komplement<br />
des Untervektorraums bezüglich des Vektorraums liegt.<br />
Korollar. Sei P : V → U die orthogonale Projektion von V auf U.<br />
Dann gilt: P ist linear, v − P v ∈ U ⊥ und P 2 = P , sowie P | U = id.<br />
Satz (Normalgleichung). Der Vektor ¯x ∈ R n ist genau dann Lösung des<br />
linearen Ausgleichproblems min x∈R n ‖b − Ax‖ 2 , falls ¯x die Normalgleichung<br />
A t Ax = A t b (3.13)<br />
erfüllt. Insbesondere ist das lineare Ausgleichsproblem eindeutig lösbar,<br />
wenn der Rang von A maximal ist, d. h. Rang(A) = n falls n ≤ m.<br />
Beweis. Sei V = R m , U = R(A) = {Ax : x ∈ R n }, b ∈ R m . Nach dem<br />
Projektionssatz gilt<br />
‖b − A¯x‖ 2 = min<br />
x∈R n ‖b − Ax‖ 2 (3.14)<br />
⇔ 〈b − A¯x, Ax〉 = 0 ∀x ∈ R n (3.15)<br />
⇔ 〈 A t (b − A¯x), x 〉 = 0 ∀x ∈ R n (3.16)<br />
⇔ A t (b − A¯x) = 0 (3.17)<br />
⇔ A t A¯x = A t b. (3.18)<br />
Nach dem Projektionssatz existiert ein eindeutiges ȳ = P b ∈ U. Für dieses<br />
ȳ ist ¯x ∈ R n mit ȳ = A¯x eindeutig bestimmt, falls A injektiv ist, d. h.<br />
falls Rang(A) = n ist.<br />
Rechnung (Lösung der Normalgleichung). Zu Lösen sei die Normalgleichung<br />
A t Ax = A t b. Falls Rang(A) = n ist, ist A t A eine spd-Matrix und<br />
das Cholesky-Verfahren ist anwendbar. Eine Betrachtung des jeweiligen<br />
Aufwandes ergibt<br />
1. A t A ∈ R n×n ≈ 1/2 · n 2 m Multiplikationen,<br />
2. Cholesky-Zerlegung von A t A ≈ 1/6 · n 3 Multiplikationen.<br />
Für m ≫ n überwiegt der Aufwand A t A zu berechnen:<br />
Die Kondition der Berechnung von A t A erhält man wie folgt: A t A entspricht<br />
vieler Auswertungen von Skalarprodukten zweier Spaltenvektoren<br />
a i ∈ R m von A. Dies ist jedoch häufig schlecht konditioniert. Es gilt<br />
cond 2 (A t A) = (cond 2 (A)) 2 . (3.19)<br />
Im Vergleich dazu ist die Kondition <strong>zur</strong> Lösung von (P, b) zum Ausgleichsproblem<br />
eher mit cond 2 (A) beschrieben. Das Cholesky-Verfahren<br />
angewandt auf die Normalengleichung <strong>zur</strong> Lösung des linearen Ausgleichproblems<br />
ist also meist ungeeignet.
3. Lineare Ausgleichsprobleme # 19<br />
✗ Orthogonalisierungsverfahren?<br />
3. Lineare Ausgleichsprobleme # 20<br />
✗ QR-Zerlegung durch Givens-Rotation?
# 19 Antwort<br />
Sei A eine m × n-Matrix, die eine QR-Zerlegung besitzt, d. h. A = QR<br />
mit einer orthogonalen Matrix Q und einer oberen Dreiecksmatrix R.<br />
Weiterhin gilt Q ist längenerhaltend ‖Qv‖ 2 = ‖v‖ 2 , also ‖Q‖ 2 = 1 und<br />
damit<br />
‖Q −1 ‖ 2 = 1, ⇒ cond 2 (Q) = 1. (3.20)<br />
Dann kann das lineare Gleichungssystem Ax = b wie folgt gelöst werden:<br />
1. Löse Qz = b, berechnet z = Q t b. Das ist stabil wegen cond 2 (Q) =<br />
1.<br />
2. Löse durch Rückwärtssubstitution Rx = z.<br />
Satz. Sei A ∈ R m×n , m ≥ n und Rang(A) = n, b ∈ R m und besitze A<br />
eine Zerlegung<br />
( ) R<br />
A = Q<br />
(3.21)<br />
0<br />
mit einer orthogonalen Matrix Q ∈ R m×m und einer oberen Dreiecksmatrix<br />
R ∈ R n×n . Dann ist R invertierbar. Sei weiter<br />
) (¯b1<br />
Q t b = . (3.22)<br />
¯b2<br />
Dann ist<br />
¯x = R −1¯b1 (3.23)<br />
die Lösung des linearen Ausgleichproblems und ‖¯b 2 ‖ = ‖b − A¯x‖ =<br />
min ‖b − Ax‖ 2 .<br />
Beweis. R ist invertierbar, da Rang(R) = Rang ( R<br />
0<br />
)<br />
= Rang(Q t A) =<br />
Rang(A) = n ist. Damit gilt<br />
∥ ) ( )<br />
∥∥∥<br />
(¯b1<br />
‖b − Ax‖ 2 2 = ‖Qt (b − Ax)‖ 2 R<br />
2 = 2<br />
− x<br />
¯b2 0 ∥ =<br />
2<br />
(3.24)<br />
= ‖¯b 1 − Rx‖ 2 2 + ‖¯b 2 ‖ 2 2 (3.25)<br />
da Q längenerhaltend ist. Dieser Ausdruck wird minimal für R¯x = ¯b 1 .<br />
(QR-Zerlegung zum Lösen eines linearen Ausgleichpro-<br />
Verfahren<br />
blems).<br />
1. Berechne A = Q ( R<br />
0<br />
)<br />
.<br />
a) mit Givens-Rotation: Q = Q (1)t · . . . · Q (p)t , merke zugehörige<br />
(c, s). Jede Rotation setzt eine Null, also p = ∑ n<br />
j=1 (m − j).<br />
Ist insbesondere für Hessenberg-Matrizen interessant.<br />
b) mit Householder-Reflexion: Q = Q (1) · . . . · Q (p) , merke zugehörige<br />
Vektoren v (i) . Jede Reflexion setzt alle gewünschten<br />
Nullen in einer Spalte, also p = min(m − 1, n). Interessant <strong>zur</strong><br />
Berechnung von:<br />
- Ax = b mit invertierbarem A ist sie ungefähr doppelt so<br />
aufwendig wie die LR-Zerlegung, aber dafür stabil,<br />
- Für lineare Ausgleichsprobleme ist sie in der Regel der<br />
Givens-Rotation und dem Cholesky-Verfahren für die<br />
Normalengleichung vorzuziehen.<br />
2. Berechne<br />
( ¯b1<br />
¯b2<br />
)<br />
Q t b = Q (p) ·. . .·Q (1) b. Dies ist numerisch stabil, da<br />
cond(Q (i) ) = 1. Rx = ¯b 1 , welches Lösung des linearen Ausgleichsproblems<br />
min x ‖b − Ax‖ ist.<br />
# 20 Antwort<br />
In der linearen Algebra ist eine Givens-Rotation eine Drehung in einer<br />
Ebene, die durch zwei Koordinaten-Achsen aufgespannt wird. Die Transformation<br />
lässt sich durch einer Matrix der Form<br />
⎛<br />
1 · · · 0 · · · 0 · · · 0<br />
⎞<br />
. . ..<br />
. .. . ..<br />
. .. . ..<br />
. ..<br />
0 · · · c · · · s · · · 0<br />
Ω kl =<br />
. . ..<br />
. .. . ..<br />
. .. . ..<br />
. ..<br />
0 · · · −s · · · c · · · 0<br />
⎜<br />
⎝<br />
.<br />
. ..<br />
. .. . ..<br />
. .. . ..<br />
. ⎟ .. ⎠<br />
0 · · · 0 · · · 0 · · · 1<br />
(3.26)<br />
beschreiben, wobei c = cos(θ) und s = sin(θ) in der k-ten bzw. l-ten Zeile<br />
und Spalte erscheinen. Eine solche Matrix heißt Givens-Matrix.<br />
Verfahren (QR-Zerlegung durch Givens-Rotation). Die Idee besteht<br />
darin, sukzessiv die Elemente unterhalb der Hauptdiagonalen auf Null<br />
zu setzen, indem man die Matrix von links mit Givens-Rotationen multipliziert.<br />
Zunächst bearbeitet man die erste Spalte von oben nach unten<br />
und dann nacheinander die anderen Spalten ebenfalls von oben nach unten.<br />
Ω kl A = Ã (3.27)<br />
ã ij = a ij für i ≠ k, l, (3.28)<br />
ã kj = ca kj + sa lj für k < l, (3.29)<br />
ã lj = −sa kj + ca lj für k < l, (3.30)<br />
Das Verfahren ist sehr stabil und erfordert keine Pivotisierung. Außerdem<br />
berücksichtigt es schon vorhandene 0-Einträge in strukturierten, insbesondere<br />
dünnbesetzten Matrizen.<br />
Rechnung (Aufwand der Givens-Rotation). 1. Falls m ≈ n sind ungefähr<br />
4/3 · n 3 Multiplikationen, sowie 1/2 · n 2 Quadratwurzeln notwendig.<br />
Die Givens-QR-Zerlegung ist somit ungefähr vier mal so<br />
teuer wie die Gauß-Elimination, dafür jedoch stabil.<br />
2. Falls m ≫ n sind ungefähr 2n 2 m Multiplikationen, sowie mn Quadratwurzeln<br />
nötig. Das Verfahren ist daher 2-4 mal so teuer wie<br />
das Cholesky-Verfahren für die Normalgleichung, aber stabil.<br />
3. Bei Hessenberg-Matrizen, d. h. Matrizen mit der Gestalt<br />
⎛<br />
∗<br />
∗<br />
A =<br />
⎜<br />
⎝<br />
. ..<br />
∗<br />
. .. . ..<br />
0 ∗ ∗<br />
⎞<br />
, (3.31)<br />
⎟<br />
⎠<br />
also a ij = 0 für alle i > k + 1, sind nur (n − 1) Givens-Rotationen<br />
auszuführen. Diese Matrizen tauchen z. B. bei Eigenwertberechnungen<br />
auf und sind dort ein wichtiger Bestandteil des Verfahrens.<br />
Beispiel (Beispielrechnung). Gesucht ist also die Matrix<br />
( ( )<br />
c s a<br />
−s c)<br />
b<br />
!<br />
=<br />
( r<br />
0)<br />
. (3.32)<br />
Dann folgt wegen |r| = ‖(r, 0) t ‖ ! = ‖(a, b) t ‖ = √ a 2 + b 2 schon die eindeutige<br />
Gestalt von r, c, s:<br />
r = ± √ a 2 + b 2 , c = a r , s = b r . (3.33)<br />
Im Allgemeinen gilt für Ω kl also<br />
√<br />
r = ± x 2 k + x2 l ,<br />
c = x k<br />
r ,<br />
s = x l<br />
r , (3.34)<br />
denn dann erhalten wir genau die gewünschte 0 in der l-ten Spalte, weil<br />
cx k + sx l = x2 k<br />
r + x2 l<br />
r<br />
−sx k + cx l = −x kx l<br />
r<br />
= √<br />
x 2 k + x2 l , (3.35)<br />
+ x kx l<br />
r<br />
= 0. (3.36)
3. Lineare Ausgleichsprobleme # 21<br />
✗ QR-Zerlegung durch Householder-Reflexion?<br />
4. Numerische Lösung nichtlinearer Gleichungssysteme # 22<br />
✗ Bisektionsverfahren?
# 21 Antwort<br />
Die Householdertransformation beschreibt die Spiegelung eines Vektors<br />
an einer Hyperebene durch Null im euklidischen Raum. Im dreidimensionalen<br />
Raum ist sie somit eine Spiegelung an einer Ebene (durch den<br />
Ursprung). Verwendung findet sie vor allem in der numerischen Mathematik,<br />
wenn mittels orthogonaler Transformationen Matrizen so gezielt<br />
umgeformt werden, dass bestimmte Spaltenvektoren auf das Vielfache<br />
des ersten Einheitsvektors abgebildet werden.<br />
Die Darstellung einer solchen linearen Abbildung durch eine Matrix wird<br />
als Householder-Matrix bezeichnet und hat die Form<br />
Q = E n − 2 vvt<br />
v t v , (3.37)<br />
mit v t der Transponierten des Spaltenvektors v. Der Nenner v t v ist das<br />
Skalarprodukt von v mit sich selbst, vv t das dyadische Produkt. Die Matrix<br />
vv t /v t v beschreibt die Orthogonalprojektion auf die durch v gegebene<br />
Richtung und ist symmetrisch, orthogonal und involutorisch.<br />
Verfahren (QR-Zerlegung durch Householder-Reflexion). Es gilt v ∈<br />
span {a − αe 1 } und α = ±‖a‖ 2 . Setze<br />
Also<br />
v = a − αe 1 , (3.38)<br />
α = − sign(a 1 )‖a‖ 2 , (3.39)<br />
⎛<br />
α (1) ⎞<br />
0 ∗<br />
A → A (1) = Q (1) A = ⎜<br />
⎟<br />
⎝<br />
.<br />
⎠<br />
0<br />
(3.40)<br />
mit Q (1) = E n − 2 v(1) v (1)t<br />
. Nach insgesamt p = min(m − 1, n) Schritten<br />
v (1)t v (1)<br />
erhalten wir die obere Dreiecksmatrix<br />
R = Q (p) · . . . · Q (1) A, (3.41)<br />
und wegen Q (i) = (Q (i) ) −1 folgt<br />
A = QR, Q = Q (1) · . . . · Q (p) . (3.42)<br />
Bemerkung (Speicherung). Gespeichert werden müssen die obere Dreiecksmatrix<br />
R und die Householdervektoren v (i) ∈ R m+1−i . Die Diagonalelemente<br />
von R sind r ii = α (i) . Folgende Speicheraufteilung ist möglich:<br />
A<br />
→<br />
R<br />
v (1) v (2) . ..<br />
v (n) +<br />
α (1)<br />
.<br />
α (p) (3.43)<br />
Falls 〈 v (i) , e i<br />
〉<br />
= 1, d. h. die erste Komponente von v (i) ist normiert,<br />
kann diese weggelassen werden und R komplett in A gespeichert werden.<br />
Rechnung (Aufwand für den Householder QR-Algorithmus).<br />
1. Falls m ≈ n sind ungefähr 2/3 · n 3 Multiplikationen notwendig und<br />
damit ist der Householder-Algorithmus ungefähr doppelt so teuer<br />
wie die LR-Zerlegung, aber stabil.<br />
2. Falls m ≫ n sind ungefähr 2mn 2 Multiplikationen notwendig. Der<br />
Aufwand ist daher ungefähr so hoch wie beim Cholesky-Verfahren<br />
für die Normalgleichung, aber stabil.<br />
Beispiel (Beispielrechnung). Insgesamt erhält man<br />
α = sign(y 1 ) · ‖y‖ 2 , v = y + αe 1 , Q vy = −αe 1 . (3.44)<br />
Die explizite Form von Q v wird <strong>zur</strong> Berechnung von Q vy gar nicht<br />
benötigt:<br />
Q 1 A = A − 2v 1w t<br />
v1 t v , mit w t = v1 t A (3.45)<br />
1<br />
# 22 Antwort<br />
Die Bisektion ist ein Verfahren der Mathematik. Durch sie wird eine<br />
konvergente Folge von Intervallschachtelungen erzeugt.<br />
Satz (Mittelwertsatz der Differentialrechnung). Die Funktion f :<br />
[a, b] → R sei auf dem kompakten Intervall [a, b] stetig und auf dem offenen<br />
Intervall (a, b) differenzierbar. Dann gibt es ein ξ ∈ (a, b), sodass<br />
gilt<br />
f ′ (ξ) =<br />
f(b) − f(a)<br />
. (4.1)<br />
b − a<br />
Verfahren (Bisektionsverfahren mit Intervallhalbierung). Sei f :<br />
[a, b] → R stetig und f(a) · f(b) < 0. Dann folgt aus dem Mittelwertsatz<br />
die Existenz mindestens einer Nullstelle x ∗ ∈ (a, b), d. h. f(x ∗ ) = 0.<br />
Generiere eine Folge von Intervallen<br />
[<br />
a (i) , b (i)] ⊆<br />
[<br />
a (i−1) , b (i−1)] (4.2)<br />
mit x ∗ ∈ [ a (i) , b (i)] mit b (i) − a (i) → 0. Setze a (0) = a und b (0) = b.<br />
Definiere<br />
x (i+1) := 1 (<br />
b (i) + a (i)) (4.3)<br />
2<br />
[<br />
{[<br />
a (i+1) , b (i+1)] x (i+1) , b (i)] falls f(a (i) ) · f(x (i+1) ) > 0,<br />
:= [<br />
a (i) , x (i+1)] falls f(a (i) ) · f(x (i+1) (4.4)<br />
) < 0.<br />
Bemerkung (Anmerkungen zum Bisektionsverfahren).<br />
- Vorteil: Konvergenz<br />
Für jede i ≥ 1 gilt:<br />
b (i) − a (i) = 1<br />
2 (i−1) (b − a) mit x∗ ∈<br />
∣<br />
∣x (i+1) − x ∗∣ ∣ 1<br />
≤<br />
2<br />
[<br />
a (i) , b (i)] , (4.5)<br />
(<br />
b (i) − a (i)) = 2 −i (b − a). (4.6)<br />
Also folgt lim i→∞ x (i) = x ∗ . Es gilt sogar:<br />
Das oben genannte Bisektionsverfahren konvergiert, falls f :<br />
[a, b] → R stetig ist und f(a) · f(b) < 0 gilt.<br />
- Vorteil: Differenzierbarkeit<br />
Es muss keine Differenzierbarkeitsvoraussetzung gemacht werden.<br />
Zuerst muss jedoch a und b mit f(a)f(b) < 0 gefunden werden.<br />
- Nachteil: Niedrige Konvergenzgeschwindkeit<br />
Das Verfahren wählt x (i) als Intervallmitte also unabhängig von<br />
f und unabhängig davon, wie dicht x (i) an x ∗ liegt. Deshalb ist<br />
im Allgemeinen die Konvergenzgeschwindigkeit extrem niedrig. Sie<br />
hängt von der Länge des Intervalls [a, b] und der Lage von x ∗<br />
bezüglich der Intervallhalbierungen ab.<br />
- Nachteil: Anwendbarkeit<br />
Es ist nicht für f : R → R n anwendbar.<br />
- Nachteil: Kondition<br />
Falls f ′ (x ∗ ) ≈ 0 ist, ist das Problem (f −1 , 0) schlecht konditioniert<br />
und die Approximation x (k) kann weit von x ∗ wegliegen.<br />
Definition (Arten von Konvergenz). Eine Folge {x (k) } k∈N mit x (k) ∈<br />
R n konvergiert mit mindestens der Ordnung p ≥ 1 gegen x ∗ , falls<br />
lim k→∞ ‖x (k) − x ∗ ‖ = 0 und falls es eine Konstante c > 0 und N ∈ N<br />
gibt, sodass ‖x (k+1) − x ∗ ‖ ≤ c‖x (k) − x ∗ ‖ p für alle k ≥ N.<br />
Im Falle p = 1 sei zusätzlich c < 1 verlangt und wir sprechen von linearer<br />
Konvergenz, im Falle p = 2 von quadratischer Konvergenz. Gilt:<br />
lim ‖x(k+1) − x ∗ ‖<br />
‖x (k) − x ∗ ‖<br />
so sprechen wir von superlinearer Konvergenz.<br />
= 0, (4.7)
4. Numerische Lösung nichtlinearer Gleichungssysteme # 23<br />
✗ Fixpunkt-Iteration?<br />
4. Numerische Lösung nichtlinearer Gleichungssysteme # 24<br />
✗ Newtonverfahren für skalare Gleichungen? Tangentenverfahren?
# 23 Antwort<br />
Fixpunktiteration ist ein in der Mathematik gebräuchliches iteratives<br />
Verfahren <strong>zur</strong> näherungsweisen Bestimmung der Nullstellen einer Funktion<br />
f auf einem bestimmten Intervall [a, b]. Die Gleichung muss dazu<br />
zuerst in eine Fixpunktgleichung, also eine Gleichung der Form ϕ(x) = x<br />
umgeformt werden.<br />
Gesucht sei ein Fixpunkt x ∗ ∈ D ⊆ R n der stetigen Funktion g : D →<br />
R n , d. h.<br />
g(x ∗ ) = x ∗ . (4.8)<br />
Idee: Nutze obige Gleichung <strong>zur</strong> Iteration, d. h. wähle x (0) ∈ D und definiere<br />
Falls x (k) konvergiert, gilt<br />
x (k+1) := g(x (k) ). (4.9)<br />
x ∗ = lim<br />
k→∞ x(k) = lim<br />
k→∞ g(x(k−1) ) = g(x ∗ ). (4.10)<br />
Da g stetig ist ist damit x ∗ ein Fixpunkt.<br />
Definition (Kontraktion). Sei D ⊆ R n abgeschlossen und ‖.‖ eine Norm<br />
auf dem R n . Eine Abbildung g : D → R n heißt Kontraktion bzgl. ‖.‖,<br />
falls ein κ ∈ [0, 1) mit ‖g(u)−g(v)‖ ≤ κ‖u−v‖ für alle u, v ∈ D existiert.<br />
Die kleinste solche Zahl κ heißt Kontraktionszahl von g.<br />
Offensichtlich ist jede auf D kontrahierende Abbildung stetig.<br />
Lemma. Sei D = ¯Ω mit Ω ⊆ R n offen und konvex. Falls g : D → R n<br />
eine stetig differenzierbare Funktion ist mit<br />
so ist g kontrahierend.<br />
sup ‖Dg(x)‖ < 1, (4.11)<br />
x∈Ω<br />
Satz (Banachscher Fixpunktsatz). Sei D ⊆ R n abgeschlossen und die<br />
Abbildung g : D → R n eine Kontraktion. Weiterhin gelte g(D) ⊂ D.<br />
Dann gilt:<br />
1. Es existiert genau ein Fixpunkt x ∗ von g, d. h. g(x ∗ ) = x ∗ .<br />
2. Für jeden Startwert x (0) ∈ D konvergiert die Folge der Fixpunktiterierten<br />
x (k+1) := g(x (k) ) gegen x ∗ .<br />
3. Es gilt die a posteriori Fehlerabschätzung<br />
‖x (k) − x ∗ ‖ ≤<br />
und die a priori Fehlerabschätzung<br />
‖x (k) − x ∗ ‖ ≤<br />
κ<br />
1 − κ ‖x(k) − x (k−1) ‖, (4.12)<br />
κk<br />
1 − κ ‖x(1) − x (0) ‖. (4.13)<br />
Bemerkung (Anmerkungen zum Banachschen Fixpunktsatz).<br />
1. Es reicht bereits aus, dass D ein vollständig metrischer Raum und<br />
d eine Metrik auf D anstelle einer Norm ‖.‖ um die Korrektheit des<br />
Satzes zu gewährleisten.<br />
2. Das Iterationsverfahren aus dem Banachschen Fixpunktsatz konvergiert<br />
mindestens linear, denn es gilt ‖x (k+1) − x ∗ ‖ = ‖g(x (k) ) −<br />
g(x ∗ )‖ ≤ κ‖x (k) − x ∗ ‖.<br />
3. Im Allgemeinen ist der Nachweis von g(D) ⊂ D schwierig.<br />
Beispiel (Berechnung der Nullstelle mit Fixpunktiteration). Wir suchen<br />
die Nullstelle einer Funktion f(x). Finde eine Funktion g(x) mit g(x) = x<br />
genau dann, wenn f(x) = 0 ist. Eine Möglichkeit ist g(x) = f(x) + x.<br />
Überprüfe, ob g eine Kontraktion ist und iteriere den Fixpunkt.<br />
Für f(x) = 2x − tan(x) = 0 sind mögliche Fixpunktgleichungen gegeben<br />
durch g(x) = 1/2 · tan(x) oder die Umkehrfunktion h(x) = arctan(2x).<br />
Betrachte die Ableitungen, um herauszufinden, welche der beiden Funktionen<br />
eine Kontraktion ist:<br />
g ′ (x) =<br />
1<br />
cos(2x) + 1 , 2<br />
h′ (x) =<br />
4x 2 + 1 . (4.14)<br />
Man sieht, dass g ′ (x) viele Pole hat und damit nur in sehr kleinen Intervallen<br />
eine Kontraktion sein kann. Für x > 1/2 gilt aber h ′ (x) < 1 und<br />
damit ist h kontrahierend für x > 1/2 und eine geeignete Funktion für<br />
die Fixpunktiteration.<br />
# 24 Antwort<br />
Die grundlegende Idee dieses Verfahrens ist, die Funktion in einem Ausgangspunkt<br />
zu linearisieren, d. h. ihre Tangente zu bestimmen, und die<br />
Nullstelle der Tangente als verbesserte Näherung der Nullstelle der Funktion<br />
zu verwenden. Die erhaltene Näherung dient als Ausgangspunkt<br />
für einen weiteren Verbesserungsschritt. Diese Iteration erfolgt, bis die<br />
Änderung in der Näherungslösung eine festgesetzte Schranke unterschritten<br />
hat. Das Iterations-Verfahren konvergiert im günstigsten Fall asymptotisch<br />
mit quadratischer Konvergenzordnung, die Zahl der korrekten<br />
Dezimalstellen verdoppelt sich dann in jedem Schritt.<br />
Gegeben sei also der skalare Fall, d. h. f : [a, b] → R. Sei f ∈ C 2 ([a, b]),<br />
dann gilt f(x) = f(˜x) + f ′ (˜x)(x − ˜x) + f ′′ (ϕ(x)) (x−˜x)2<br />
2 mit ϕ(x) ∈ (x, ˜x)<br />
(Taylorentwicklung). Für f(x ∗ ) = 0 gilt daher annähernd<br />
0 = f(˜x) + f ′ (˜x)(x ∗ − ˜x) ⇔ x ∗ = ˜x − f(˜x)<br />
f ′ (˜x) . (4.15)<br />
f wird durch die Tangente in ˜x approximiert.<br />
Verfahren (Iterationsschritt des Newton-Verfahrens).<br />
x (k+1) = x (k) − f(x(k) )<br />
f ′ (x (k) ) . (4.16)<br />
Die Methode wird auch Tangentenverfahren genannt.<br />
Satz (Konvergenz des Newton-Verfahrens). Sei f ∈ C 1 ([a, b]), x ∗ ∈<br />
(a, b) eine einfache Nullstelle von f, d. h. f ′ (x ∗ ) ≠ 0. Dann gibt es ein<br />
ε > 0, sodass für jedes x (0) ∈ B ε(x ∗ ) das Newton-Verfahren superlinear<br />
gegen x ∗ konvergiert. Falls f ∈ C 2 ([a, b]), tritt mindestens quadratische<br />
Konvergenz ein, d. h. das Verfahren konvergiert lokal quadratisch.<br />
Beweis. Der Iterationsschritt x (k+1) = x (k) − f(x (k) )/f ′ (x (k) ) definiert<br />
eine Fixpunktiteration mit g(x) = x − f(x)/f ′ (x). Für f ∈ C 2 ([a, b]) gilt<br />
g ′ (x) = 1 − f ′ (x)f ′ (x) − f(x)f ′′ (x)<br />
(f ′ (x)) 2 = f(x)f ′′ (x)<br />
(f ′ (x)) 2 . (4.17)<br />
Dann ist g ′ (x ∗ ) = 0 und damit exisitert ein ε > 0, sodass |g ′ (x)| ≤ κ < 1<br />
für alle x ∈ B ε(x ∗ ). Da g(x ∗ ) = x ∗ ist, ist g eine Kontraktion und der<br />
Banachsche Fixpunktsatz liefert die Konvergenz für alle x (0) ∈ B ε(x ∗ ).<br />
Die quadratische Konvergenz folgt aus der Taylorentwicklung von<br />
|x (k+1) − x ∗ | = |x (k) − (f ′ (x (k) )) −1 f(x (k) ) − x ∗ +<br />
+ (f ′ (x (k) )) −1 f(x ∗ )| ≤<br />
≤ sup |(f ′ (x)) −1 | · sup |f ′′ (x)| · 1<br />
x∈B<br />
x∈B 2 · |x(k) − x ∗ | 2 . (4.18)<br />
Bemerkung (Anmerkungen zum Newton-Verfahren).<br />
- Idee: Linearisierung<br />
Die entscheidende Idee des Newton-Verfahrens ist der iterative Linearisierungsprozess,<br />
d. h. die Lösung einer nichtlinearen Gleichung<br />
wird durch eine Folge von Lösungen linearer Gleichungen ersetzt.<br />
- Voraussetzung: Konvergenzintervall<br />
Die Größe und die Lage des Konvergenzintervalls D 0 ist a priori<br />
unbekannt und muss geschätzt werden, z. B. könnte das Bisektionsverfahren<br />
angewendet werden, bis D 0 klein genug ist. Klein genug<br />
bedeutet:<br />
1. Es muss eine und nur eine Nullstelle x ∗ ∈ D 0 geben, da<br />
f ′ (x) ≠ 0 für alle x ∈ D 0 gelten muss,<br />
2. |g ′ (x)| ≤ κ < 1 für alle x ∈ D 0 ,<br />
3. x (k) muss in D 0 liegen, insbesondere im Definitionsbereich von<br />
f.<br />
- Voraussetzung: Ableitung<br />
f ′ (x (k) ), d. h. die Ableitung f ′ muss analytisch bekannt sein.<br />
- Nachteil: Doppelte Nullstellen<br />
Eine notwendige Bedingung ist f ′ (x (k) ) ≠ 0. Also ist die Berechnung<br />
doppelter Nullstellen ausgeschlossen.<br />
- Nachteil: Mehrfache Nullstellen<br />
Mehrfache Nullstellen können nicht immer bestimmt werden.
4. Numerische Lösung nichtlinearer Gleichungssysteme # 25<br />
✗ Sekantenverfahren?<br />
4. Numerische Lösung nichtlinearer Gleichungssysteme # 26<br />
✗ Vergleich der Verfahren?
# 25 Antwort<br />
Bei dem Sekantenverfahren handelt es sich um ein schon seit dem Mittelalter<br />
bekanntes numerisches Verfahren <strong>zur</strong> näherungsweisen Lösung<br />
einer Gleichung des Typs f(x) = 0. Es entspricht einer Vereinfachung<br />
des Newton-Verfahrens, da nicht die Ableitung der Funktion berechnet<br />
werden muss.<br />
f ′ (x) ist nicht immer analytisch bekannt, kann aber durch<br />
f ′ (x (k) ) ≈ f(x(k) ) − f(x (k−1) )<br />
x (k) − x (k−1) (4.19)<br />
approximiert werden. Eingesetzt in das Newton-Verfahren ergibt sich<br />
und damit<br />
x (k+1) = x (k) − f(x (k) ) ·<br />
x (k) − x (k−1)<br />
f(x (k) ) − f(x (k−1) )<br />
Verfahren (Iterationsschritt des Sekantenverfahrens).<br />
(4.20)<br />
x (k+1) = x(k−1) f(x (k) ) − x (k) f(x (k−1) )<br />
f(x (k) ) − f(x (k−1) . (4.21)<br />
)<br />
Bemerkung (Anmerkungen zum Sekantenverfahren).<br />
- Das Verfahren ist keine Fixpunktiteration, da x (k) und x (k−1) <strong>zur</strong><br />
Berechnung von x (k+1) verwendet werden (→ Mehrschrittverfahren).<br />
- Vorteil: Konvergenz<br />
Sei f ∈ C 2 ([a, b]) und x ∗ ∈ (a, b) eine Nullstelle mit f ′ (x ∗ ) ≠ 0.<br />
Dann konvergiert in einer Umgebung von x ∗ das Sekantenverfahren<br />
lokal superlinear mit der Ordnung α = 1/2(1 + √ 5) ≈ 1.618.<br />
- Vorteil: Aufwand<br />
Die Berechnung von f(x), bzw. f ′ (x) ist im Allgemeinen sehr teuer.<br />
Das Sekantenverfahren benötigt nur eine Funktionsauswertung.<br />
Zwei Schritte dieses Verfahrens sind also so aufwendig wie ein<br />
Newton-Schritt. Damit kann man zeigen, dass bei gleichem Arbeitsaufwand<br />
das Sekantenverfahren lokal schneller konvergiert, als das<br />
Newton-Verfahren: x (k) → x (k+2) Sekantenverfahren konvergiert<br />
mit Ordnung α 2 ≈ 2.618.<br />
- Nachteil: Stabilität<br />
Die Sekantenmethode ist im Allgemeinen nicht stabil, denn wenn<br />
f(x (k) ) ≈ f(x (k+1) ) ist, können Stellenauslöschungen im Nenner<br />
auftreten. Es gibt jedoch stabilere Verfahren, wie z. B. regula falsi,<br />
deren Konvergenzordnung dann nicht so hoch sind.<br />
# 26 Antwort<br />
Löse z. B. x − e −1/2x = 0.<br />
1. Mit Banachscher Fixpunktiteration:<br />
x = e −1/2x : x (10) = 0.70347017 auf 4 Stellen genau.<br />
2. Mit Newton-Verfahren:<br />
Setze x (0) = 0.8: x (3) = 0.70347017 auf 4 Stellen genau, x (4) bis<br />
auf Maschinengenauigkeit exakt.<br />
3. Mit Sekantenverfahren:<br />
x (0) = 0.8, x (1) = 0.7 (man benötigt beide Werte): x (3) =<br />
0.7034674 bist auf 7 Stellen exakt, x (6) bis auf Maschinengenauigkeit<br />
exakt.
4. Numerische Lösung nichtlinearer Gleichungssysteme # 27<br />
✗ Newtonverfahren im n-dimensionalen?<br />
4. Numerische Lösung nichtlinearer Gleichungssysteme # 28<br />
✗ Abbruchkriterien?
# 27 Antwort<br />
Wie im eindimensionalen wird f : Ω ⊂ R n → R n linearisiert<br />
f(x) ≈ f(˜x) + Df(˜x)(x − ˜x), (4.22)<br />
⎛ ∂f 1<br />
∂f<br />
(˜x) · · · 1<br />
⎞<br />
(˜x)<br />
∂x 1 ∂x n Df(˜x) = ⎜<br />
⎝<br />
.<br />
⎟<br />
. ⎠ . (4.23)<br />
∂f n<br />
∂f<br />
(˜x) · · · n<br />
(˜x)<br />
∂x 1 ∂x n<br />
Falls die Jacobi-Matrix Df(˜x) invertierbar ist, dann sei<br />
Verfahren (Iterationsschritt des Newton-Verfahrens).<br />
[<br />
−1<br />
x (k+1) = x (k) − Df(x )] (k) · f(x (k) ). (4.24)<br />
Verfahren (Aufteilung des Iterationsschritts). Ein Newton-<br />
Iterationsschritt im Mehrdimensionalen wird aufgeteilt in die Berechnung<br />
der sogenannten Newton-Korrektur ∆x (k)<br />
und dem Korrekturschritt<br />
Df(x (k) )∆x (k) = −f(x (k) ), (4.25)<br />
x (k+1) = x (k) + ∆x (k) . (4.26)<br />
Bemerkung (Anmerkungen zum Newton-Verfahren im Mehrdimensionalen).<br />
- Aufwand pro Iteration<br />
n eindimensionale (nichtlineare) Funktionsauswertungen für f,<br />
n 2 eindimensionale (nichtlineare) Funktionsauswertungen für Df.<br />
O(n 3 ) flops in der Regel für das Lösen eines Gleichungssystems.<br />
- Vorteil: Konvergenz<br />
Sei Ω ⊆ R n offen und f : Ω → R n in C 2 (Ω). Sei x ∗ ∈ Ω<br />
eine Nullstelle von f, d. h. f(x ∗ ) = 0 mit einer invertierbaren<br />
Jacobi-Matrix Df(x ∗ ). Dann existiert eine Umgebung B ε(x ∗ ) =<br />
{x ∈ Ω : ‖x − x ∗ ‖ 2 < ε}, sodass das Newton-Verfahren für jeden<br />
Startwert x (0) ∈ B ε(x ∗ ) quadratisch gegen x ∗ konvergiert.<br />
- Vorteil: Affine-Invarianz<br />
Das Newton-Verfahren ist affin-invariant, d. h. die Folge {x (k) } ist<br />
zu gegebenem x (0) unabhängig davon, ob<br />
f(x) = 0 oder ˜f(x) = A · f(x) = 0 (4.27)<br />
mit regulärem A ∈ R n×n gelöst wird, da<br />
∆x (k) = [D ˜f(x)] −1 ˜f(x) = [ADf(x)] −1 Af(x) =<br />
= [Df(x)] −1 f(x). (4.28)<br />
# 28 Antwort<br />
In der <strong>Numerik</strong> ist eine Abbruchbedingung eine Bedingung, die erfüllt<br />
sein muss, damit ein Vorgang beendet wird. Mögliche Gründe für die<br />
Implementierung eines Abbruchkriteriums sind:<br />
- Limitiere die Anzahl der Iterationen, z. B. unter anderem auch, um<br />
eine Endlosschleife durch fehlerhafte Programmierung zu vermeiden.<br />
- Breche ab, wenn das Verfahren nicht konvergiert, also x (k) nicht<br />
im Konvergenzgebiet liegt.<br />
- Breche ab, wenn das Ergebnis genau genug ist, also wenn der Fehler<br />
e (k) := ‖x ∗ − x (k) ‖ klein genug ist.<br />
Verfahren (Monotonietest). Das Verfahren konvergiert, falls die<br />
Newton-Iteration mit einem Wert x (0) in einem D ⊆ R n startet, sodass<br />
die Funktion g eine Kontraktion auf D ist. Es sollte also für alle k<br />
gelten<br />
mit κ < 1.<br />
‖∆x (k) ‖ = ‖x (k+1) − x (k) ‖ ≤ κ‖x (k) − x (k−1) ‖ =<br />
= κ‖∆x (k−1) ‖, (4.29)<br />
Man nennt dies den natürlichen Monotonietest. Falls die Bedingung nicht<br />
erfüllt ist, sollte das Verfahren abgebrochen werden, und mit neuem x (0)<br />
begonnen werden.<br />
Um eine vielleicht unnötige teure Berechnung von x (k+1) (von Df(x (k) ))<br />
zu vermeiden, kann ∆x (k) approximiert werden mit<br />
∆¯x (k) = [Df(x (k−1) )] −1 f(x (k) ). (4.30)<br />
Für Df(x (k−1) ) liegt bereits eine Zerlegung aus der Berechnung von<br />
∆x (k−1) vor, ebenso ist f(x (k) ) bekannt. Die Lösung von der Approximation<br />
benötigt also nur O(n 2 ) Operationen, für z. B. Vorwärts-, bzw.<br />
Rückwärtssubstitutionen.<br />
Bemerkung (Sinnvolle Abbruchkriterien).<br />
- Kriterium für mögliche Divergenz:<br />
Als Kriterium kann<br />
‖∆¯x (k+1) ‖ > 1 2 ‖∆x(k) ‖ (4.31)<br />
gewählt werden. In dem Falle soll das Newton-Verfahren abgebrochen<br />
werden.<br />
- Kriterium für erreichte Konvergenz:<br />
Ein Kriterium für erreichte Konvergenz ist<br />
- Nachteil: Wahl der Toleranzgrenze<br />
Alleine ist das residuumbasierte Kriterium<br />
‖∆¯x (k) ‖ ≤ Tol. (4.32)<br />
‖f(x)‖ ≤ Tol (4.33)<br />
nur bedingt anwendbar, denn betrachte {x (k) } für f(x) und αf(x)<br />
und kleinem α. Dann bricht für αf(x) das Newton-Verfahren viel<br />
eher ab als für f(x), obwohl ‖x (k) − x ∗ ‖ genauso groß ist. Affininvariant<br />
ist dagegen der Ansatz<br />
‖[Df(x (k) )] −1 f(x (k) )‖ = ‖∆x (k) ‖ = ‖x (k+1) − x (k) ‖ ≤ Tol,<br />
(4.34)<br />
wobei für ein konvergentes Verfahren, ‖x (k+1) − x (k) ‖ auch als Approximation<br />
von e (k) = ‖x (k) − x ∗ ‖ gesehen werden kann. Auch<br />
hier kann statt ∆x (k) auch ∆¯x (k) genutzt werden, um den Rechenaufwand<br />
zu reduzieren.
4. Numerische Lösung nichtlinearer Gleichungssysteme # 29<br />
✗ Vereinfachtes Newtonverfahren?<br />
4. Numerische Lösung nichtlinearer Gleichungssysteme # 30<br />
✗ Gedämpftes Newtonverfahren?
# 29 Antwort<br />
Df(x (k) ) steht immer analystisch <strong>zur</strong> Verfügung. Diese exakte Jacobimatrix<br />
wird häufig approximiert, beim vereinfachten Newtonverfahren z. B.<br />
durch Df(x (0) ).<br />
Verfahren (Iterationsschritt des vereinfachten Newton-Verfahrens). In<br />
diesem Fall lautet der Iterationsschritt dann<br />
x (k+1) = x (k) − [Df(x (0) )] −1 f(x (k) ). (4.35)<br />
Dieses Verfahren konvergiert nur noch lokal linear, der Aufwand je Iteration<br />
ist jedoch erheblich geringer.<br />
# 30 Antwort<br />
Das Newton-Verfahren konvergiert lokal quadratisch, d. h. für einen<br />
schlecht gewählten Startwert kann das Newton-Verfahren divergieren.<br />
Finde ein Verfahren, das lokal quadratisch, aber global linear konvergiert.<br />
Verfahren (Abstiegsverfahren und Liniensuche). Betrachte<br />
min x∈R n φ(x), mit φ : R n → R Minimierung im R n . Dann funktioniert<br />
das Abstiegsverfahren wie folgt.<br />
Gegeben sei x (k) , dann sei x (k+1) so, dass<br />
φ(x (k+1) ) < φ(x (k) ). (4.36)<br />
Führe obiges Problem auf eine Folge von Minimierungsproblemen im R<br />
<strong>zur</strong>ück, indem eine Abstiegsrichtung d (k) bestimmt wird,<br />
und damit<br />
φ(x (k) + µd (k) ) < φ(x (k) ), ∀µ ∈ (0, 1] (4.37)<br />
min<br />
µ∈R φ(x(k) + µd (k) ) (4.38)<br />
betrachtet wird. Eine Liniensuche wird mit einer Suchrichtung, z. B. einer<br />
Abstiegsrichtung durchgeführt, d. h. eine geeignete Schnittlänge µ (k)<br />
wird bestimmt und dann<br />
x (k+1) = x (k) + µ (k) d (k) (4.39)<br />
gesetzt. Eine mögliche Wahl ist µ (k) = µ (k)<br />
min , welches jedoch im Allgemeinen<br />
nicht einfach zu bestimmen ist.<br />
Verfahren (Newton-Verfahren als Liniensuche). Minimiere<br />
min 1 2 f t (x)f(x) mit Liniensuche und interpretiere die Newtonrichtung<br />
als Suchrichtung<br />
min µ φ(x (k) + µd (k) ). Anstelle von µ (k)<br />
min garantiere einen echten Abstieg,<br />
d. h. die Monotoniebedingung<br />
‖f(x (k+1) )‖ = ‖f(x (k) + µ (k) d (k) ‖ < ‖f(x (k) )‖, (4.41)<br />
für alle k. Die Newton-Korrektur ∆x (k) = d (k) wird möglicherweise<br />
gedämpft mit dem Dämpfungsfaktor (der Schnittlänge) µ (k) ∈ (0, 1].<br />
Verfahren (Gedämpfter Newtonschritt). Bestimme Dämpfungsfaktor<br />
µ (k) ∈ (0, 1]<br />
Bemerkung (Monotoniekriterium).<br />
- Dämpfungsstrategie:<br />
Wähle µ (k) , sodass<br />
x (k+1) = x (k) + µ (k) ∆x (k) . (4.42)<br />
‖f(x (k+1) )‖ ≤ (1 − µ (k) q)‖f(x (k) )‖, (4.43)<br />
mit q ∈ (0, 1) unabhängig von k, z. B. q = 1/2. Der<br />
Dämpfungsfaktor µ (k) soll möglichst groß sein. Insbesondere ist<br />
µ (k) = 1 wünschenswert, um die (lokal) quadratische Konvergenz<br />
des Newton-Verfahrens zu erreichen.<br />
- Affin-invarianter Monotonietest:<br />
Statt des obigen Monotoniekriteriums bietet sich auch wieder der<br />
affin-invariante natürliche Monotonietest an, d. h. mit<br />
gelte<br />
∆¯x (k+1) (µ (k) ) = −[Df(x (k) )] −1 f(x (k) + µ (k) ∆x (k) ), (4.44)<br />
‖∆¯x (k+1) (µ (k) )‖ ≤ (1 − µ (k) q)‖∆x (k) ‖. (4.45)<br />
d (k) = ∆x (k) = −[Df(x (k) )] −1 f(x (k) ), (4.40)
5. Eigenwertberechnung # 31<br />
✗ Singulärwertzerlegung?<br />
5. Eigenwertberechnung # 32<br />
✗ Gerschgorin-Kreise?
# 31 Antwort<br />
Eine Singulärwertzerlegung einer Matrix bezeichnet deren Darstellung als<br />
Produkt dreier spezieller Matrizen. Daraus kann man die Singulärwerte<br />
der Matrix ablesen. Diese charakterisieren, ähnlich den Eigenwerten, Eigenschaften<br />
der Matrix. Singulärwertzerlegungen existieren für jede Matrix,<br />
auch für nicht-quadratische Matrizen.<br />
Definition (Singulärwertzerlegung). Sei A ∈ R m×n . Eine Zerlegung der<br />
Form<br />
A = UΣV t , (5.1)<br />
mit orthogonalen Matrizen U ∈ R m×m und V ∈ R n×n und einer Diagonalmatrix<br />
Σ ∈ R m×n heißt Singulärwertzerlegung von A. Die Aussage<br />
lässt sich geometrisch so interpretieren, dass sich A in zwei geeignet<br />
gewählten Orthonormalbasen U, V für Urbild- und Bildraum als reine<br />
Streckung Σ schreiben lässt.<br />
Bemerkung (Anmerkungen <strong>zur</strong> Singulärwertzerlegung). Es gilt<br />
σ i = √ λ i für i = 1, . . . , r, (5.2)<br />
wobei λ i die positiven Eigenwerte von AA ∗ , sowie von A ∗ A sind. Die<br />
Spalten U sind die Eigenvektoren von AA ∗ und die Spalten von V sind<br />
die Eigenvektoren von A ∗ A. Für reelle Matrizen A sind somit U, V auch<br />
reellwertig. Dann folgt<br />
‖Ax‖ 2<br />
σ 1 = max = ‖A‖ 2 (5.3)<br />
x≠0 ‖x‖ 2<br />
und σ n = min x≠0<br />
‖Ax‖ 2/‖x‖ 2 , sowie für m = n und reguläre A<br />
1 ‖x‖ 2 ‖A −1 y‖ 2<br />
= max = max = ‖A −1 ‖ 2 . (5.4)<br />
σ n x≠0 ‖Ax‖ 2 y≠0 ‖y‖ 2<br />
Also folgt für reguläre A<br />
cond 2 (A) = σ 1<br />
σ n<br />
. (5.5)<br />
Der kleinste Singulärwert σ n einer quadratischen Matrix A gibt den Abstand<br />
<strong>zur</strong> nächsten singulären Matrix an.<br />
# 32 Antwort<br />
Gerschgorin-Kreise dienen in der numerischen linearen Algebra, einem<br />
Teilgebiet der Mathematik, <strong>zur</strong> Abschätzung von Eigenwerten. Mit ihrer<br />
Hilfe können einfach Gebiete angegeben werden, in welchen sich die Eigenwerte<br />
einer Matrix befinden und unter besonderen Bedingungen sogar<br />
wie viele Eigenwerte in diesen enthalten sind.<br />
deren Radien durch<br />
r i :=<br />
n∑<br />
|a ik |<br />
k=1<br />
k≠i<br />
Satz (Gerschgorin). Die Eigenwerte λ einer Matrix A = (a ij ) ij ∈ C n×n<br />
liegen in der Vereinigung aller Gerschgorin-Kreise<br />
K i = {z ∈ C : |z − a ii | ≤ r i } , (5.6)<br />
gegeben sind. Obige Aussage lässt sich verschärfen durch die Betrachtung<br />
von A t oder D −1 AD, etc. Je weniger sich A von einer Diagonalmatrix<br />
unterscheidet, desto schärfer ist die Abschätzung.<br />
Bilden k Gerschgorin-Kreise eine einfach zusammenhängende Menge G,<br />
die zu den restlichen K i disjunkt ist, dann liegen in G genau k Eigenwerte<br />
der Matrix A.
5. Eigenwertberechnung # 33<br />
✗ Potenzmethode? Vektoriteration?<br />
5. Eigenwertberechnung # 34<br />
✗ QR-Zerlegung <strong>zur</strong> Bestimmung der Eigenwerte?
# 33 Antwort<br />
Die Potenzmethode, oder Vektoriteration ist ein numerisches Verfahren<br />
<strong>zur</strong> Berechnung des betragsgrößten Eigenwertes und des dazugehörigen<br />
Eigenvektors einer Matrix. Der Name kommt daher, dass Matrixpotenzen<br />
A k x gebildet werden, wesentlicher Aufwand sind also Matrix-Vektor-<br />
Produkte. Deswegen ist das Verfahren insbesondere für dünnbesetzte Matrizen<br />
geeignet.<br />
Verfahren (Vektoriteration). Sei A ∈ C n×n eine diagonalisierbare Matrix<br />
und sei der dominante Eigenwert λ 1 einfach, d. h. |λ 1 | > |λ 2 | ≥ . . . ≥<br />
|λ n| mit dem normierten Eigenvektor v 1 . Weiterhin sei der Startvektor<br />
x (0) nicht senkrecht zu v 1 .<br />
Die Vektoriteration ist gegeben durch<br />
x (k+1) = Ax (k) für k ≥ 0. (5.7)<br />
Verfahren (Berechnung des betragsmäßig größten Eigenwertes). Da<br />
A diagonalisierbar ist, gibt es eine Basis aus normierten Eigenvektoren<br />
{v 1 , . . . , v n} und es gilt<br />
x (0) = ∑ 〉<br />
α i v i mit α i =<br />
〈x (0) , v i . (5.8)<br />
Da x (0) ̸⊥v 1 ist, gilt α 1 ≠ 0 und für die Iterierten x (k) ∈ R n gilt<br />
(<br />
n∑<br />
n∑<br />
( ) )<br />
x (k) = A k x (0) = α i λ k i v i = α 1 λ k α k i λi<br />
1 v 1 +<br />
v i (5.9)<br />
α<br />
i=1<br />
i=2 1 λ 1<br />
n∑<br />
( )<br />
x (k) = α 1 λ k 1(v 1 + r (k) ) mit r (k) α k i λi<br />
=<br />
v i . (5.10)<br />
α<br />
i=2 1 λ 1<br />
Da |λ i/λ 1 | ≤ |λ 2/λ 1 | < 1 ist, gilt daher<br />
〈<br />
∣<br />
‖r (k) ‖ 2 2 = r (k) , r (k)〉 ≤<br />
λ 2 ∣∣∣ 2k ∑ n ∣ ∣ ∣ α i ∣∣∣ ∣∣∣ α j ∣∣∣<br />
∣ λ ∣ | 〈v i , v j 〉 |,<br />
1 α<br />
i,j=2 1 α 1<br />
(<br />
‖r (k) ‖ 2 = O |λ 2/λ 1 | k) k→∞<br />
−−−−→ 0. (5.11)<br />
Für große k verhält sich daher x (k) wie α 1 λ k 1 v 1 und konvergiert gegen<br />
ein Vielfaches des Eigenvektors v 1 , anders ausgedrückt<br />
α 1 v 1 + α 1 r (k)<br />
setzen also<br />
x(k)<br />
λ k 1<br />
k→∞<br />
−−−−→ α 1 v 1 . Es ist zweckmäßig, x (k) zu normieren, wir<br />
v (k) :=<br />
x(k)<br />
‖x (k) ‖ 2<br />
∈ R n . (5.12)<br />
Weiter ist mit λ 1 ∈ R auch sign(λ 1 ) = |λ 1 |/λ 1 und damit folgt<br />
sign(λ 1 ) k v (k) = α 1 v 1 + r (k)<br />
(<br />
|α 1 | ‖v 1 + r (k) ‖ = sign(α 1)v 1 + O |λ 2/λ 1 | k) . (5.13)<br />
Sei nun λ (k) := v (k)t Av (k) so folgt<br />
(<br />
λ (k) =<br />
(sign(α 1 λ 1 ) k v1 t + O |λ 2/λ 1 | k)) Av (k) =<br />
(<br />
= v1 t Av 1 + O |λ 2/λ 1 | k) (<br />
= λ 1 + O |λ 2/λ 1 | k) . (5.14)<br />
Bemerkung (Anmerkungen <strong>zur</strong> Vektoriteration).<br />
- Vorteil: Konvergenz; Die Vektoriteration approximiert den dominanten<br />
Eigenwert λ 1 ∈ R und einen zugehörigen normierten Eigenvektor<br />
v 1 ∈ R. Weiterhin gilt<br />
(<br />
|λ (k) − λ 1 | = O |λ 2/λ 1 | k) (<br />
, | sign(λ 1 ) k v (k) − v 1 | = O |λ 2/λ 1 | k) .<br />
Die Effizienz hängt also von |λ 2/λ 1 | ab und die Folgen sind linear<br />
konvergent.<br />
- Mehrfache Eigenwerte; Für einen mehrfachen Eigenwert λ 1 =<br />
. . . = λ m gilt die Approximation weiterhin und v (k) approximiert<br />
einen Eigenvektor.<br />
- Nachteil: Größter Eigenwert; Es kann nur der betragsmäßig größte<br />
Eigenwert mit dem Eigenvektor erhalten werden.<br />
- Nachteil: Konvergenzgeschwindigkeit; Falls |λ 2 | ≈ |λ 1 | ist, ist die<br />
Konvergenzgeschwindigkeit langsam.<br />
=<br />
# 34 Antwort<br />
Im Folgenden sei A ∈ R n×n und symmetrisch, d h. es existiert eine Orthonormalbasis<br />
aus reellen Eigenvektoren v i und Eigenwerte λ i ∈ R.<br />
Av i = λ i v i ⇔ Q t AQ = Λ,<br />
mit Q orthogonal (die Eigenvektoren v i sind die Spalten der Matrix Q).<br />
Dies würde alle Eigenwerte liefern. Mit Householder-Transformationen<br />
Q i ist es im Allgemeinen nicht möglich Λ zu konstruieren, jedoch gilt:<br />
Lemma. Sei A ∈ R n×n symmetrisch. Dann existiert eine orthogonale<br />
Matrix P , welche das Produkt von (n − 2) Householder-Reflexionen<br />
⎛<br />
ist,<br />
⎞<br />
∗ ∗ 0<br />
. ∗ .. . ..<br />
sodass P AP t Tridiagonalgestalt hat, d. h. P AP t =<br />
. .. . ..<br />
⎜<br />
∗<br />
⎟<br />
⎝<br />
⎠<br />
0 ∗ ∗<br />
Da die Eigenwerte bei Ähnlichkeitstransformationen erhalten bleiben, ist<br />
die Berechnung von Eigenwerten symmetrischer Matrizen jetzt auf symmetrische<br />
Tridiagonalmatrizen <strong>zur</strong>ückgeführt.<br />
Definiere eine Folge von Matrizen A (k+1) = Q (k)t A (k) Q (k) durch<br />
A (k) = Q (k) R (k) , A (k+1) = R (k) Q (k) . (5.15)<br />
Die Matrizen A (k) sind alle ähnlich zu A und da A symmetrisch ist, sind<br />
auch alle A (k) symmetrisch. Die Tridiagonalgestalt von A vererbt sich<br />
auf A (k) . Es folgt A (k+1) = Q (k)t · . . . · Q (1)t AQ (1) · . . . · Q (k) ,<br />
⇔ A (k) = Q (1) · . . . · Q (k) A (k−1) Q (k)t · . . . · Q (1)t . (5.16)<br />
Satz. Sei A ∈ R n×n symmetrisch mit n verschiedenen Eigenwerten<br />
|λ 1 | > . . . > |λ n| > 0 und A (k) , Q (k) , R (k) wie im oben genannten<br />
Algorithmus. Dann gilt<br />
lim<br />
k→∞ Q(k) = E n,<br />
lim<br />
k→∞ R(k) = Λ,<br />
⇒ lim<br />
k→∞ A(k) = Λ.<br />
Verfahren (QR-Algorithmus <strong>zur</strong> Bestimmung der Eigenwerte einer Matrix).<br />
1. Reduziere das Problem auf Tridiagonalgestalt A → A 1 = P AP t<br />
mit orthogonaler Matrix P und A 1 einer symmetrischen, tridiagonalen<br />
Matrix, meist mittels Householder-Transformationen.<br />
2. Approximiere die Eigenwerte mit der QR-Iteration mittels Givens-<br />
Rotation angewandt auf A 1 : A (s+1) = Q (s)t · . . . · Q (1)t A (1) Q (1) ·<br />
. . . · Q (s) = QA 1 Q t ≈ Λ. Also ist A ≈ P t Q t ΛQP , wobei die Matrix<br />
Q t das Produkt aller Givens-Rotationen ist.<br />
3. Die Spalten von QP approximieren die Eigenvektoren von A:<br />
QP ≈ (v 1 , . . . , v n).<br />
Bemerkung (Allgemeines zum QR-Algorithmus <strong>zur</strong> Bestimmung der<br />
Eigenwerte einer Matrix).<br />
- Vorteil: Konvergenzgeschwindigkeit<br />
Es kann gezeigt werden, dass a (k)<br />
ij = O(|λ i/λ j | k ) für i > j gilt. Dies<br />
gibt somit die Geschwindigkeit von R(k) gegen Λ an.<br />
- Vorteil: Mehrere Eigenwerte<br />
Für mehrere Eigenwerte konvergiert das Verfahren ebenfalls. Falls<br />
λ i = −λ i+1 ist, bleiben jedoch 2 × 2-Blöcke stehen, deren Eigenwerte<br />
gegen λ i , λ i+1 konvergieren.<br />
- Aufwand: Für den ersten der angesprochenen Punkte benötigt man<br />
ungefähr 4/3 · n 3 Multiplikationen für die Householder-Reflexionen.<br />
Für den zweiten Punkt O(n 2 ) Multiplikationen je Iteration. Für<br />
große n überwiegt der Aufwand für die Reduktion auf Tridiagonalgestalt.<br />
Von der Größenordnung ist der Algorithmus mit der<br />
inversen Vektoriteration vergleichbar, für die Konvergenzgeschwindigkeit<br />
für den größen, bzw. den kleinsten Eigenwert gilt Entsprechendes.<br />
- Spezialfall für nicht-symmetrische Matrizen:<br />
Nicht symmetrische Matrizen werden zuerst mittels einer orthogonalen<br />
Ähnlichkeitstransformation auf Hessenberggestalt gebracht.<br />
Anschließend wird mit der QR-Iteration iterativ die Schursche Normalform<br />
approximiert.
6. Interpolation # 35<br />
✗ Lagrangesche Interpolationsformel? Lagrangepolynome?<br />
6. Interpolation # 36<br />
✗ Lemma von Aitken?
# 35 Antwort<br />
Satz (Eindeutigkeit und Existens des Interpolationspolynoms). Zu beliebigen<br />
(n + 1) Stützpunkten (x i , f i ), i = 0, . . . , n mit x i ≠ x k für i ≠ k<br />
gibt es genau ein p ∈ P n mit p(x i ) = f i für i = 0, . . . , n. Das Polynom<br />
p = p(f|x 0 , . . . , x n) heißt Interpolationspolynom von f zu x 0 , . . . , x n.<br />
Der Beweis des Satzes führt auf die Lagrangesche Interpolationsformel<br />
und verwendet die Lagrange-Polynome<br />
gegeben durch<br />
L i (x k ) = δ ik , (6.1)<br />
L i (x) := (x − x 0) · · · (x − x i−1 )(x − x i+1 ) · · · (x − x n)<br />
(x i − x 0 ) · · · (x i − x i−1 )(x i − x i+1 ) · · · (x i − x n)<br />
(6.2)<br />
Damit lautet die Lagrangesche Interpolationsformel<br />
und diese bestimmt dann p.<br />
p(x) =<br />
n∑<br />
f i L i (x) (6.3)<br />
i=0<br />
Bemerkung. Aus der Lagrangeschen Interpolationsformel geht hervor,<br />
dass p linear von den Stützwerten f i abhängt und die Lagrange-Polynome<br />
eine Basis bilden. Die Interpolationsformel ist, wenn auch für viele theoretische<br />
Fragen günstig, für praktische Zwecke zu rechenaufwendig.<br />
# 36 Antwort<br />
Zur Auswertung des Interpolationspolynoms p(f|x 0 , . . . , x n) an einer festen<br />
Stelle ¯x, d. h. <strong>zur</strong> Berechnung des Wertes p(¯x) beachte das folgende<br />
Lemma.<br />
Lemma (Lemma von Aitken). Für das Interpolationspolynom<br />
p(f|x 0 , . . . , x n) gilt die Rekursionsformel<br />
p(f|x 0 , . . . , x n)(¯x) = (x 0 − ¯x)p(f|x 1 , . . . , x n)(¯x)<br />
x 0 − x n<br />
−<br />
− (xn − ¯x)p(f|x 0, . . . , x n−1 )(¯x)<br />
x 0 − x n<br />
. (6.4)
6. Interpolation # 37<br />
✗ Wie berechnet man jetzt das Polynom genau?<br />
6. Interpolation # 38<br />
✗ Newtonsche Interpolationsformel?
# 37 Antwort<br />
Mit dem Lemma von Aitken gilt weiter<br />
p(f|x i )(x) = f i , ∀x. (6.5)<br />
Definiere nun für ein festes ¯x<br />
P ik = p(f|x i−k , . . . , x i )(¯x). (6.6)<br />
Dann lässt sich der Wert p(f|x 0 , . . . , x n)(¯x) = p(¯x) = P nn wie folgt<br />
berechnen:<br />
Verfahren (Schema von Neville). Setze P i0 := f i für i = 0, . . . , n und<br />
P ik = P i,k−1 +<br />
¯x − x i<br />
x i − x i−k<br />
(P i,k−1 − P i−1,k−1 ), (6.7)<br />
für n ≥ i ≥ k ≥ 1. Die Berechnung benötigt weniger Multiplikationen als<br />
die im Lemma von Aitken und ist deutlich billiger als die Lagrangesche<br />
Interpolation. Pro Auswertung an einer Stelle ¯x sind n(n+1)/2 Multplikationen<br />
und Divisionen notwendig. Soll das Interpolationspolynom an<br />
mehreren Stellen ausgewertet werden, ist das Schema von Neville jedoch<br />
zu teuer.<br />
# 38 Antwort<br />
Die praktisch bedeutendste Alternative <strong>zur</strong> Potenzform bietet die<br />
Newton-Darstellung, die insbesondere - wie die Lagrange-Darstellung<br />
- die Notwendigkeit vermeidet, Gleichungssysteme zu lösen. Die Darstellung<br />
in der Newtonschen Basis beruht auf folgender Idee: Hat man<br />
P (f|x 0 , . . . , x n−1 ) bereits bestimmt, so sucht man nach einem Korrekturterm,<br />
durch dessen Ergänzung man P (f|x 0 , . . . , x n) erhält, also eine<br />
weitere Stützstelle einbezieht.<br />
Lemma. Für alle Lagrange-Interpolationspolynome P n−1 =<br />
P (f|x 0 , . . . , x n−1 ) ∈ P n−1 und P n = P (f|x 0 , . . . , x n) ∈ P n gilt<br />
P n(x) = P n−1 (x) + δ n(x − x 0 ) · . . . · (x − x n−1 ), (6.8)<br />
δ n =<br />
f(x n) − P n−1 (x n)<br />
∈ R. (6.9)<br />
(x n − x 0 ) · . . . · (x n − x n−1 )<br />
Der Koeffizient δ n hängt offensichtlich von f und den Stützstellen x i<br />
ab. Man schreibt daher auch δ n := [x 0 , . . . , x n]f. Dieses [x 0 , . . . , x n]f<br />
ist offensichtlich der führende Koeffizient des Interpolationspolynoms<br />
P (f|x 0 , . . . , x n)(x), d. h. der Koeffizient der Potenz x n .<br />
Verfahren (Newtonsche Interpolationsformel). Wendet man dieselbe<br />
Argumentation auf P n−1 (x) = P (f|x 0 , . . . , x n−1 )(x) an, so ergibt sich<br />
induktiv<br />
P (f|x 0 , . . . , x n)(x) = [x 0 ]f + (x − x 0 )[x 0 , x 1 ]f+ (6.10)<br />
+ (x − x 0 )(x − x 1 )[x 0 , x 1 , x 2 ]f + . . . + (x − x 0 ) · · · (x − x n−1 )[x 0 , . . . , x n]f.<br />
Diese Darstellung ist eindeutig und legt damit die Koeffizienten<br />
[x 0 , . . . , x k ]f fest, da die Knotenpolynome - die sogenannten Newton-<br />
Polynome - ω 0 (x) := 1, ω k (x) := (x − x 0 ) · . . . · (x − x k−1 ), k = 1, . . . , n,<br />
wie man leicht sieht eine Basis - die sogenannte Newton-Basis - von P n<br />
bilden.<br />
Die sukzessive Verwendung wird sehr schnell umständlich, weshalb wir<br />
einen systematischen Weg suchen, die Korrekturkoeffizienten δ k zu bestimmen.<br />
δ 0 = [x 0 ]f = f(x 0 ) ist schon vom Rekursionsanfang her bekannt.<br />
Für n = 1 zeigt man sofort, dass [x 0 , x 1 ]f = f(x 1)−f(x 0 )<br />
gilt.<br />
x 1 −x 0<br />
Dies deutet schon folgende allgemeine Gesetzmäßigkeit an.<br />
Lemma. Seien die x i paarweise verschieden. Dann gilt<br />
[x 0 , . . . , x n]f = [x 1, . . . , x n]f − [x 0 , . . . , x n−1 ]f<br />
x n − x 0<br />
. (6.11)<br />
Aufgrund dieser Gleichung heißen die Koeffizienten [x 0 , . . . , x n]f auch<br />
dividierte Differenzen der Ordnung n von f.<br />
Beispiel (Auswertung der Newton-Darstellung). Liegt die Newton-<br />
Darstellung vor, d. h. hat man die dividierten Differenzen berechnet, kann<br />
man <strong>zur</strong> Auswertung aufgrund der Produktstruktur der Newton-Basis<br />
wieder ein Horner-artiges Schema der geschachtelten Multiplikationen<br />
verwenden. Wir deuten dies an folgendem Beispiel an:<br />
P (f|x 0 , x 1 , x 2 )(x) = d 0 + d 1 (x − x 0 ) + d 2 (x − x 0 )(x − x 1 ) =<br />
= d 0 + (x − x 0 )[d 1 + d 2 (x − x 1 )]. (6.12)<br />
Eine offensichtliche Verallgemeinerung liefert folgenden Algorithmus <strong>zur</strong><br />
Berechnung des Wertes P (f|x 0 , . . . , x n)(x).<br />
Verfahren (Auswertung der Newton-Darstellung). Gegeben seien die<br />
dividierten Differenzen d k = [x 0 , . . . , x k ]f, k = 0, . . . , n. Setze p := d n.<br />
Für k = n − 1, n − 2, . . . , 0 berechne<br />
was p = P (f|x 0 , . . . , x n)(x) ergibt.<br />
p(x − x k ) + d k → p, (6.13)<br />
Rechnung (Aufwand der Newton-Interpolation).<br />
1. Der Rechenaufwand <strong>zur</strong> Berechnung der Koeffizienten in der Newtonschen<br />
Interpolationsformel mit dem Schema der dividierten Differenzen<br />
beträgt etwa n+n − 1+. . .+2+1 = 1/2·n(n+1) ≈ 1/2·n 2<br />
Divisionen und n(n + 1) Additionen.<br />
2. Für die Auswertung sind nur n Multiplikationen und 2n Additionen<br />
erforderlich.<br />
3. Der Gesamtaufwand kann mit dem Neville-Aitken-Schema konkurrieren.
6. Interpolation # 39<br />
✗ Fehlerabschätzung bei Interpolation?<br />
7. Numerische Integration, Quadratur # 40<br />
✗ Einfache Quadraturformeln?
# 39 Antwort<br />
Die Fehler f(x) − p(x) kann nicht abgeschätzt werden, falls nicht mehr<br />
als die Funktionswerte f i von f bekannt sind.<br />
Satz (Restglieddarstellung bei der Polynominterpolation). Sei f (n+1)-<br />
mal stetig differenzierbar, so gibt es zu jedem ¯x eine Zahl ξ(¯x) aus dem<br />
kleinsten Intervall I , welches alle x 0 , . . . , x m und ¯x enthält, sodass<br />
f(¯x) − p(f|t 0 , . . . , t n)(¯x) = f (n+1) (ξ)<br />
w n+1 (¯x). (6.14)<br />
(n + 1)!<br />
# 40 Antwort<br />
Die Riemannsche-Integralfunktion I : C([a, b]) → R ist eine positive Linearform,<br />
d. h. I ist linear und falls f ≥ 0 gilt I(f) ≥ 0. Weiterhin gilt<br />
∫ b ∫ c ∫ c<br />
f(t) dt + f(t) dt = f(t) dt. (7.1)<br />
a<br />
b<br />
a<br />
Diese Eigenschaften sollten bei den Quadraturformeln möglichst beibehalten<br />
werden.<br />
Verfahren (Mittelpunktsregel). Wir teilen die Fläche unter der Kurve<br />
auf in kleine Rechtecke der Fläche<br />
( )<br />
xi+1 − x i<br />
f<br />
(x i+1 − x i ). (7.2)<br />
2<br />
Zerlege [a, b] in Teilintervalle [x i , x i+1 ] für i = 0, . . . , n − 1 der Länge<br />
h = b−a/n (äquidistantes Gitter), d. h.<br />
n−1 ∑<br />
Î M (f) = h f<br />
i=0<br />
( xi+1 + x i<br />
2<br />
)<br />
. (7.3)<br />
Verfahren (Trapezsumme). Wir interpolieren stückweise linear. Mit der<br />
Formel für den Flächeninhalt eines Trapezes gilt<br />
(x i+1 − x i ) f(x i+1) + f(x i )<br />
2<br />
(7.4)<br />
⇒ ÎT (f) = 1 n−1 ∑<br />
(x i+1 − x i )(f(x i+1 ) + f(x i )),<br />
2<br />
i=0<br />
(7.5)<br />
und für äquidistante Punkte ergibt sich für die Trapezsumme<br />
( ( n−1<br />
) )<br />
1 ∑<br />
Î T (f) = h<br />
2 f(x 0) + f(x i ) + 1 2 f(xn) . (7.6)<br />
i=1
7. Numerische Integration, Quadratur # 41<br />
✗ Interpolarische Integration?<br />
7. Numerische Integration, Quadratur # 42<br />
✗ Iterative Anwendung der Newton-Cotes-Formel?
# 41 Antwort<br />
Die Idee ist, f polynomial auf [a, b] an paarweise verschiedenen<br />
Stützstellen a = x 0 < . . . < x n = b zu interpolieren und dann das<br />
Integral zu berechnen, d. h.<br />
Î(f) = I(p(f|x 0 , . . . , x n)), (7.7)<br />
n<br />
⇒ Î(f) = ∑<br />
∫ b<br />
f(x i ) L i (t) dt, (7.8)<br />
i=0 a<br />
=: ∑ w i f(x i ) (7.9)<br />
∫ b<br />
w i = L i (t) dt. (7.10)<br />
a<br />
Die w i werden Gewichte genannt. Offensichtlich sind diese Quadraturformeln<br />
exakt für Polynome vom Grad ≤ n. Es gilt sogar das folgende<br />
Lemma.<br />
Beispiel (Trapezregel als spezielle Newton-Cotes-Formel). Sei [t k−1 , t k ]<br />
ein typisches Teilintervall, das wir im Folgenden der Einfachheit halber<br />
mit [c, d] bezeichnen wollen. Seien x 1 , . . . , x m ∈ [c, d] verschiedene<br />
Punkte. Als Näherung für f verwendet man das Interpolationspolynom<br />
P (f|x 0 , . . . , x m) zu den Stützstellen x j . Als Näherung für ∫ d<br />
c f(x) dx<br />
erhält man dann die Quadraturformel<br />
∫ d<br />
I m(f) = P (f|x 0 , . . . , x m)(x) dx, (7.11)<br />
c<br />
wobei das Integral eines Polynoms einfach zu berechnen ist. Wählt man<br />
m = 1, x 0 = c und x 1 = d, so erhält man die Trapezregel als Newton-<br />
Cotes-Formel.<br />
Lemma. Zu (n+1) paarweise verschiedenen Knoten x 0 < . . . < x n gibt<br />
es genau eine einzige Quadraturformel Î(f) = ∑ n<br />
i=1 w if(x i ), welche für<br />
alle Polynome p ∈ P n exakt ist.<br />
Verfahren (Newton-Cotes-Quadraturformel). Für h = b−a/2 und x i =<br />
a + ih gilt für w durch Substitution z := t−a/h:<br />
∫ n<br />
w i = h<br />
0<br />
n∏<br />
j=0<br />
i≠j<br />
z − j<br />
dz, (7.12)<br />
i − j<br />
d. h. sie werden nicht für jedes [a, b] neu berechnet. Die Umformulierung<br />
Î n(f) =<br />
n∑<br />
i=0<br />
w i f(x i ) = b − a<br />
n − s<br />
n∑<br />
σ i f(x i ) (7.13)<br />
führt das mit geeigneten s ∈ N auf einen ganzzahligen Koeffizienten σ i<br />
<strong>zur</strong>ück, die tabellarisch vorliegen.<br />
Bemerkung (Allgemeines zu den Newton-Cotes-Formeln). Für große<br />
Werte n treten leider negative Gewichte w i auf. Für positive f kann sich<br />
ein Î(f) negativ ergeben. Diese sind daher unbrauchbar.<br />
Definition (Abgeschlossene und offene Quadraturformel). Î heißt abgeschlossene<br />
Quadraturformel, . Entsprechend heißt Î offen, falls a < x 0<br />
und x n < b ist.<br />
Definition (Newton-Cotes-Formeln). Abgeschlossene, d. h. falls a =<br />
x 0 und b = x n, interpolatorische Quadraturformeln mit äquidistanter<br />
Stützstellenverteilung x 0 , . . . , x n heißen Newton-Cotes-Formeln der Ordnung<br />
n.<br />
Satz. Sei În(f) die abgeschlossene Newton-Cotes-Formel der Ordnung<br />
n. Dann gilt:<br />
1. ∑ n<br />
i=0 w i = b − a,<br />
2. w i = w n−i ,<br />
3. Ist n gerade, so ist În exakt für Polynome bis zum Grad (n + 1).<br />
i=0<br />
# 42 Antwort<br />
Betrachte die Intervallunterteilung a = t 0 < . . . < t N = b. Dann approximiere<br />
∫ t<br />
l+1<br />
∫ b<br />
N−1 ∑<br />
N−1 ∑<br />
I(f) = f(t) dt =<br />
f(t) dt = I (l) (f) (7.14)<br />
a<br />
l=0<br />
t l l=0<br />
durch wiederholtes anwenden einer Newton-Cotes-Formel În(f) auf die<br />
Teilintervalle [t l , t l+1 ](Î(l) n (f)), d. h.<br />
N−1 ∑<br />
Î(f) =<br />
l=0<br />
Î n (l)<br />
N−1 ∑<br />
(f) =<br />
l=0<br />
t l+1 − t l<br />
ns<br />
n∑<br />
σ i f(t l + i˜k l ) (7.15)<br />
i=0<br />
mit ˜k l = t l+1 −t l/n.<br />
Für äquidistante Knoten t i = a+ih mit h = b−a/N ergibt die Anwendung<br />
der Trapezregel (n = 2), die Trapezsumme ÎT (f).<br />
Lemma (Ordnung des Trapezsummenverfahrens). Sei f ∈ C 2 ([a, b]),<br />
dann existiert ein τ ∈ [a, b], sodass<br />
Î T (f) − I(f) = b − a<br />
12 h2 f ′′ (τ). (7.16)<br />
Die Trapezsumme ist also ein Quadraturverfahren zweiter Ordnung, d. h.<br />
Polynome vom Grad < 2 werden exakt integriert, und der Integrationsfehler<br />
konvergiert mit der Ordnung 2 - wegen h 2 - gegen 0 für N → ∞.
7. Numerische Integration, Quadratur # 43<br />
✗ Was ist bei der Gaußquadratur anders?<br />
7. Numerische Integration, Quadratur # 44<br />
✗ Was ist Extrapolation? Romberg-Quadratur?
# 43 Antwort<br />
Bei der Konstruktion der Newton-Cotes-Formeln sind (n + 1) Knoten<br />
t i fest vorgegeben. Die Gewichte w i sind dann so bestimmt, dass<br />
Î n(f) = ∑ n<br />
i=0 w if(t i ) zumindest für alle p ∈ P n exakt ist. Für die Gauß-<br />
Quadratur werden sowohl die (n + 1) Knoten t i , als auch die (n + 1)<br />
Gewichte w i so bestimmt, dass În das Integral I mit möglichst hoher<br />
Ordnung approximiert. (2n + 2) Parameter sind frei, also ist maximal<br />
eine Ordnung (2n + 2) zu erwarten, d. h. În ist maximal für p ∈ P 2n+1<br />
exakt. Die t i gehen nicht linear in die Quadraturformel ein, daher ist<br />
auch nicht offensichtlich, dass dies auch erreicht wird. Der Ansatz für die<br />
Gauß-Quadratur ist noch allgemeiner:<br />
Betrachtet werden gewichtete Integrale<br />
∫ b<br />
I(f) := w(t)f(t) dt, (7.17)<br />
a<br />
wobei a und b auch −∞ oder ∞ sein können und die Gewichtsfunktion<br />
w einige Eigenschaften erfüllen muss, unter anderem nicht negativ<br />
und messbar sein muss. Das L 2 -Skalarprodukt ∫ b<br />
a f(t)g(t) dt wird zum<br />
gewichteten Skalarprodukt<br />
∫ b<br />
(f, g) := w(t)f(t)g(t) dt (7.18)<br />
a<br />
erweitert. Zu gegebenem n sind nun die Knoten t i , wie auch die Gewichte<br />
w i gesucht und variieren mit n.<br />
# 44 Antwort<br />
Die Romberg-Quadratur basiert auf der asymptotischen Fehlerentwicklung<br />
der Trapezsumme.<br />
Im Gegensatz zu den Gauß-Formeln kann man bei der Extrapolation progressiv<br />
vorgehen, d. h. bei einer Steigerung kann man vorher berechnete<br />
Funktionswerte wiederverwenden. Im Zusammenhang mit der numerischen<br />
Integration lässt sich dieses Prinzip z. B. im Zusammenhang mit<br />
der Trapezregel verwenden. Zu berechnen sei das Integral ∫ b<br />
a f(x) dx. Die<br />
Trapezsumme T (h) := ÎT (f) liefert eine Approximation der Ordnung h 2 .<br />
Die wesentliche Grundlage für den Erfolg von Extrapolationsrechnicken<br />
bildet eine sogenannte asymptotische Entwicklung des Diskretisierungsfehlers.<br />
Im Falle der Trapezsumme (Romberg-Quadratur) kann man diesen<br />
Fehler genau in folgender Reihenentwicklung beschreiben, wenn f<br />
genügend glatt ist: Für f ∈ C 2p+2 ([a, b]) gilt<br />
T (h) − I(f) = c 1 h 2 + c 2 h 4 + c 3 h 6 + . . . + c ph 2p + O(h 2p+2 ). (7.19)<br />
Wichtig für die folgende Argumentation ist keinesfalls die Kenntnis der<br />
Koeffizienten c k , sondern lediglich die Tatsache, dass die Koeffizienten<br />
c k nicht von h abhängen. Dann ergibt sich nämlich<br />
T (1/2 · h) − I(f) = c 1<br />
1<br />
4 h2 + ĉ 2 h 4 + . . . + ĉ ph 2p + O(h 2p+2 ). (7.20)<br />
Multipliziert man die zweite Gleichung mit 4/3 und subtrahiert dann<br />
1/3-mal die erste (der Faktor 1/3 ist für die korrekte Fehlerabschätzung<br />
wichtig, damit 4/3 · I − 1/3 · I = I ist), so erhält man<br />
[ 4<br />
3 T ( 1/2 · h) − 1 3 T (h) ]<br />
− I = ˜c 1 h 4 + . . . + ˜c ph 2p + O(h 2p+2 ). (7.21)<br />
Man kann also die Trapezsumme auf einem Gitter der Schrittweite 1/2 · h<br />
mit einer Trapezsumme der Schrittweite h kombinieren, um eine Genauigkeit<br />
der Ordnung h 4 zu erreichen. Da in der Trapezsumme bei Halbierung<br />
der Schrittweite die Anzahl der Funktionsauswertungen nur verdoppelt<br />
wird, ist die dadurch erreichte quadratische Fehlerreduktion eine<br />
sehr effiziente Genauigkeitssteigerung. Man kann diese Idee systematisch<br />
weitertreiben.