Numerik–Skripte 1994 Uni Marburg

B. Schmitt 15. März 1996 Ausdruck: Frank Wübbeling Datum: 15. März 1996

Numerik I

K. Böhmer, \underline{B. Schmitt}

Sommer-Semester 1994

Inhaltsverzeichnis

1 Einleitung 3 1.1 Beispiel: Physikalisches Pendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Polynom-Interpolation 5 2.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Lagrange-Interpolation für Polynome . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Newton-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Entwicklung nach Orthogonalpolynomen, dreistufige Rekursionen . . . . . . . . . 15 2.5 Vergleich der Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.6 Interpolationsfehler, optimale Knoten . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Numerische Integration und Differentiation 24 3.1 Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Gauß-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4 Adaptive Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5 Richardson-Extrapolation, Romberg-Verfahren . . . . . . . . . . . . . . . . . . . 33

Praktische Durchführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.6 Numerische Differentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4 Lineare Gleichungssysteme 40 2 INHALTSVERZEICHNIS

4.1 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2 Hilfsmittel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3 Der Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Pivotisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.4 Fehlerausbreitung, Kondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Schranken für κ(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5 Iterationsverfahren für lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . 55

Gesamt- und Einzelschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Relaxationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Nichtlineare Gleichungssysteme 63

5.1 Nullstellen einer skalaren Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Sekantenverfahren, Regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Interpolationsverfahren höherer Ordnung . . . . . . . . . . . . . . . . . . . . . . 70

5.2 Newtonverfahren im R^{n} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6 Analyse der Rundungsfehler 74 6.1 Zahldarstellung und Rundungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.2 Rundungsfehleranalyse einiger Algorithmen . . . . . . . . . . . . . . . . . . . . . 78

Approximationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Fixpunkt-Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

1 Einleitung

Bei der Modellierung realer Situationen tauchen in den meisten Fällen mathematische Probleme auf, deren Lösung nur näherungsweise, mit Computereinsatz, möglich ist. Die Modellierung besteht aus mehreren Schritten, eventuell mit verschiedenen Alternativen:

Modellierungs-Schema:

Reale Situation, Beschreibung durch physikalische Gesetze, Experiment

Entwicklung mathematischer Modelle, meist mit Vereinfachungen

Mathematische Analyse, Existenz, Eindeutigkeit, qualitative Aussagen

[figure]

Explizite Lösung (für Spezialfälle), Reihenentwicklungen, Eigenschaften (∀ Lösungen,..)

Entwicklung numerischer Verfahren mit Fehleranalyse

Lösungsdiskussion, asymptotische Aussagen, Parameterabhängigkeit (Optimierung?)

Implementierung, Lösung vieler Einzelfälle, Simulation, Optimierung Beispiel Pendel

[figure]

φ′′ + ω^{2} sin φ = 0, ohne Reibung etc.

AWP eindeutig lösbar, RWP?

[figure]

Approx. φ′′, ; Fehler ∼ h^{2}

φ′′ +ω^{2}φ = 0, ; ‘Frequenz’

Subprobleme, Gleichungssysteme

1.1 Beispiel: Physikalisches Pendel

Kräftegleichgewicht: Kraft K = −G sin φ, Gewicht G = mg. Newtonsches Gesetz: mLφ′′(t) = −G sin φ. Mit ω^{2} := g/L folgt eine Gleichung für den Winkel φ(t):

φ′′(t) + ω^{2} sin φ(t) = 0.  (1.1.1) [figure: φ; G; K; L]

Bei dieser Modellierung wurden Luftwiderstand, Reibung, etc. vernachlässigt. Die Gleichung (1.1.1) ist eine Differentialgleichung und beschreibt die Menge aller möglichen Bewegungen des Pendels. Einzelne Lösungen werden daraus ausgewählt durch zusätzliche Bedingungen. Beim Anfangswertproblem (AWP) sind Start-Winkel und -Geschwindigkeit vorgegeben:

φ′′(t) + ω^{2} sin φ(t) = 0, t > 0, φ(0) = α, φ′(0) = β.  (1.1.2)

Randwertproblem (RWP) werden Start- und End-Winkel vorgegeben:

φ′′(t) + ω^{2} sin φ(t) = 0, 0 < t < T, φ(0) = α_{0}, φ(T) = α_{1},  (1.1.3)

z.B. φ(0) = φ(T) = 0, Schwingung mit Halb-Periode T.

⟹ Keines der Probleme (1.1.2), (1.1.3) ist explizit lösbar! ⟸

Konsequenz: Approximationsverfahren für die Lösung sind erforderlich. Mögliche Ansätze:

• mathematisch: Für ‘kleine’ Winkel φ gilt sin φ ≅ φ. Statt (1.1.1) wird die Differential-

gleichung

φ′′(t) + ω^{2}φ(t) = 0 ⇒ φ(t) = a cos ωt + b sin ωt,  (1.1.4)

mit bekannter allgemeiner Lösung verwendet. Damit ergibt sich beim AWP: a = α, b = β/ω, AWP eindeutig lösbar für beliebige α, β. RWP: Nichttriviale Lösungen zu α_{0} = α_{1} = 0 existieren nur für sin ωT = 0, dann aber unendlich viele, a = 0, b ∈ R!

• numerisch: Die ‘Differentiale’ werden ersetzt durch endliche Differenzen. Analysis:

\frac{dφ}{dt}(t) = φ′(t) ≅ \frac{φ(t + h) − φ(t)}{h}, φ′′(t) ≅ \frac{φ(t + h) − 2φ(t) + φ(t − h)}{h^{2}}.

Dabei wird h ’klein’, aber fest, gewählt, und Werte nur in endlich vielen Punkten t_{j} = jh, j = 0, …, m mit h = T/m verwendet: \overline{} Dies führt für die Näherungen y_{j} ≅ φ(t_{j}) auf

0 = φ′′(t_{j}) + ω^{2}φ(t_{j}) ≅ \frac{y_{j−1} − 2y_{j} + y_{j+1}}{h^{2}} + ω^{2} sin y_{j} =^{!} 0.

Mit diesem Differenzenverfahren wird, z.B., das RWP (1.1.3) approximiert durch das Problem

\{ \begin{matrix}y_{j−1} − 2y_{j} + y_{j+1} + h^{2}ω^{2} sin y_{j} = 0, j = 1, …, m − 1, \\ y_{0} = α_{0}, y_{m} = α_{1}. \end{matrix}  (1.1.5)

Dies ist ein nichtlineares Gleichungssystem im R^{m−1}. Im Zusammenhang mit dessen Lösung (in einem Computer-Programm) und den Beziehungen zum Ausgangsproblem (1.1.3) ergeben sich folgende Fragen:

– Auflösung nichtlinearer Gleichungssysteme (→ §5), dabei:

Auflösung linearer Gleichungssysteme (→ §4),

– Wie genau sind die Näherungen y_{k} ≅ φ(t_{k}) theoretisch? (→ Numerik IIB)

– Kann φ(t) überall in [0, T] approximiert werden? (→ §2)

– Berechnung von sin y? (→ §2)

– Reelle Zahlen werden im Computer approximiert, wie wirken sich Rundungsfehler und ihre Fortpflanzung auf die Ergebnisse aus? (→ §6).

Da überall in der Numerik mit Approximationen gearbeitet wird, spielt die Analyse von Fehlern und der Versuch, sie zu beherrschen, eine zentrale Rolle. Dabei gibt es zwei Zugänge:

• theoretische Analyse der Fehlerquellen und ihrer Auswirkungen, damit Konstruktion und Verwendung von Fehlerschätzungen in den Verfahren.

• in Teilbereichen (nicht-/ lineare Algebra) sind exakte Fehlereinschließungen auf Computern durchführbar durch sichere Arithmetiken (Programmbibliothek ACRITH, Sprache PASCAL-SC). Aufwendig, Einsatzbereich begrenzt.

Wird man in der Praxis mit einem speziellen mathematischen Problem konfrontiert, für das numerische Lösungen gesucht sind, sollte man außer den eigenen Kenntnissen das allgemein vorhandene Wissen nutzen. Dazu können Informationsquellen unterschiedlicher Art herangezogen werden.

• In klassischer Weise kann man sich in Bibliotheken (der Universität) durch nachlesen in Lehrbüchern und Zeitschriften informieren.

• Kurzreferate zu mathematischen Veröffentlichungen erscheinen schon lange gedruckt im ’Zentralblatt für Mathematik’ und den ’Mathematical Reviews’. Mittlerweile gibt es diese Informationen als elektronische Literatur-Datenbanken (z.B. auf CD-ROM), in denen mit Computerunterstützung gesucht werden kann (→ Bibliothek des Fachbereichs).

• Für viele numerische Standardprobleme gibt es fertige Lösungsalgorithmen als Unterprogramme in allgemeinen, kommerziellen Software-Bibliotheken (NAG,IMSL).

• Für speziellere Probleme kann man eventuell Software aus Bibliotheken im Internet (z.B. elib) finden.

Der Einsatz von Standard-Programmen erfordert aber im allgemeinen Kenntnisse aus der Numerik, um den Einsatzbereich der zur Verfügung stehenden Programme abgrenzen zu können.

2 Polynom-Interpolation

2.1 Problemstellung

In vielen Situationen sind Datenwerte für bestimmte Größen eines Parameters, z.B., zu verschiedenen Zeitpunkten, bekannt.

Beispiel 2.1.1 a) Umsatz (Gewinn) einer Firma vierteljährlich.

b) Kontostände einer Privatperson jeweils zum Monatsende.

c) Weg oder Geschwindigkeit eines Fahrzeuges von Minute zu Minute.

d) Gewicht eines Säuglings am Beginn jeder Woche.

e) Temperatur von Patienten, 3× täglich.

f) Werte einer (komplizierten) Funktion für bestimmte Argumentwerte. Hier erhebt sich die Frage, ob Aussagen über Zwischenwerte in den angegebenen Beispielen aufgrund der vorliegenden Information möglich und sinnvoll sind. Für die o.g. Beispiele a) bis f) ergibt sich folgendes Bild:

a) Zwischenwerte kaum sinnvoll.

b) Zwischenwerte beinahe beliebig, hängen ab von den Konto-Konditionen.

c) Zwischenwerte abhängig von maximalen Beschleunigung und Bremswerten des Fahrzeugs. d), e) Zwischenwerte hoffentlich (?) nahe bei Testwerten.

f) Zwischenwerte abhängig von höheren Ableitungen der Funktion. Zur Berechnung von Zwischenwerten ist es sinnvoll, einfache Ersatzfunktionen zu definieren, die die vorgegebene Information in geeigneter Weise ausnützen. Wir werden uns hier darauf beschränken, als Ersatzfunktionen Polynome zu wählen, die in bestimmten Parameterwerten (’Stützstellen’) vorgegebene Datenwerte annehmen, d.h., interpolieren.

[figure: x_{0}; x_{1}; x_{2}; ⋯; x_{n−1}; x_{n}; a; b; x; y; y_{0}; y_{1}; y_{2}; y_{n−1}; y_{n}]

2.2 Lagrange-Interpolation für Polynome

Definition 2.2.1 Zum Gitter {x_{0}, …, x_{n}} mit

a ≤ x_{0}, …, x_{n} ≤ b, x_{i} ≠ x_{j} für i ≠ j,  (2.2.1)

und dem Datenvektor y := (y_{0}, …, y_{n})T sei p ein Polynom mit

p(x_{i}) = y_{i}, i = 0, 1, …, n.  (2.2.2)

Dann heißt p Interpolationspolynom. Ein Polynom, das (2.2.2) erfüllt, nennt man genauer auch Lagrange-Interpolationspolynom. Falls (2.2.2) ersetzt wird durch

p^{(j)}(x_{i}) = y_{ij}, j = 0, …, m_{i} − 1, i = 0, …, n,  (2.2.3)

heißt p Hermite-Interpolationspolynom.

Die Bedingungen (2.2.2) führen auf ein lineares Gleichungssystem für die Koeffizienten a_{j} eines Polynoms vom Grad n, wenn letzteres in der Form

p_{n}(x) = ∑_{j=0}^{n} a_{j}x^{j}, Π_{n} := {p_{n} : a_{j} ∈ R, j = 0, …, n},  (2.2.4)

geschrieben wird. Es gibt aber auch eine direkte konstruktive Methode, das Lagrange-Interpola-tionspolynom zu bestimmen. Es gilt nämlich

Satz 2.2.2 Zu beliebigen Wertepaaren (x_{i}, y_{i}), i = 0, …, n, mit paarweise verschiedenen Stützstellen x_{i} ≠ x_{j} (für i ≠ j) existiert genau ein Interpolationspolynom vom Grad n zu (2.2.2). Es hat die Form

p := p_{y} := ∑_{i=0}^{n} y_{i}L_{i}, L_{i}(x) := ∏_{{j=0 \atop j≠i}}^{n} \frac{x − x_{j}}{x_{i} − x_{j}} .  (2.2.5)

p_{y} hängt linear von y ab.

Offensichtlich gilt

L_{i} ∈ Π_{n}, L_{i}(x_{j}) = δ_{ij} = \{ \begin{matrix}1 & für & i = j, \\ 0 & für & i ≠ j \end{matrix}

Eines von mehreren Kriterien zur Beurteilung von numerischen Algorithmen ist der Rechenaufwand. Bei der Bestimmung des Aufwands werden sämtliche Operationen wie Additionen, Multiplikationen und Divisionen gezählt, d.h., alle Gleitpunktoperationen, englisch ‘Floating Point Operations’ = FLOPS. Diese Operationsanzahlen werden vielfach in Abhängigkeit von einem Dimensionsparameter, hier des Polynomgrads n aus (2.2.4), angegeben. Wenn die Differenzen x − x_{j} getrennt berechnet werden, sind zur Auswertung von (2.2.5) jeweils (n + 1)^{2} + n Aditionen, n(n+1) Multiplikationen und n(n+1) Divisionen nötig. Zur Vereinfachung betrachtet man meist nur den am stärksten mit n wachsen Anteil, hier die n^{2}-Terme, alle anderen werden als O(n)-Ausdruck zusammengefaßt. Dies ergibt den

Rechenaufwand

zur Auswertung von (2.2.5): 3n^{2} + O(n) Operationen.

Beweis zu Satz 2.2.2 Wegen der genannten Eigenschaften der L_{i} gilt für das Polynom p aus (2.2.5)

p ∈ Π_{n}, p(x_{j}) = y_{j}, j = 0, …, n.

Zur Eindeutigkeit: wenn zwei Polynome p, p̄ ∈ Π_{n} beide (2.2.2) erfüllen, so folgt

(p − p̄)(x_{i}) = 0, i = 0, …, n.

Damit sind nach dem Fundamentalsatz der Algebra p und p̄ identisch.

Als nachteilig bei der Darstellung (2.2.5) erweist sich der hohe Rechenaufwand, eine gewisse Rundungsfehleranfälligkeit, und der große Zusatzaufwand bei Auswertung in einer neuen Stelle x, bzw. bei der Hinzunahme neuer Interpolationspunkte x_{n+1}, . . .. Diese Nachteile lassen sich im wesentlichen vermeiden, wenn man für die L_{i} aus (2.2.5) eine andere Darstellung wählt. Mit

w_{i}^{(n)} := w_{i} := \frac{1}{∏_{{j=0 \atop j≠i}}^{n}(x_{i} − x_{j})}, w(x) := ∏_{j=0}^{n}(x − x_{j})  (2.2.6)

ist

L_{i}(x) = \frac{w(x)}{x − x_{i}} w_{i} für x ≠ x_{i}.

Damit erhält man schließlich für das Polynom p aus (2.2.5) die Form

p_{n}(x) = w(x) ∑_{i=0}^{n} \frac{w_{i}}{x − x_{i}} y_{i} für x ≠ x_{i}.

Speziell ergibt sich mit der Eigenschaft

p_{n}(x) ≡ 1, wenn y_{i} ≡ 1 ∀i

aus der letzten Gleichung die Relation

1 ≡ w(x) ∑_{i=0}^{n} \frac{w_{i}}{x − x_{i}} , also w(x) = \frac{1}{∑_{i=0}^{n} \frac{w_{i}}{x − x_{i}}} für x ≠ x_{j} ∀j.  (2.2.7)

Dies zeigt folgenden

Satz 2.2.3 Das Lagrange-Interpolationspolynom ist darstellbar in der baryzentrischen Form (als gewichtetes Mittel)

p_{n}(x) = \{ \begin{matrix}\frac{∑_{i=0}^{n} \frac{w_{i}}{x − x_{i}} y_{i}}{∑_{i=0}^{n} \frac{w_{i}}{x − x_{i}}} & für & x ≠ x_{j} ∀j, \\ y_{j} & wenn & x = x_{j} \end{matrix}  (2.2.8)

Zur Auswertung von (2.2.8) berechnet man zweckmäßigerweise zunächst die vom Punkt x und den y_{i} unabhängigen Gewichte w_{i}. Die Auswertung von (2.2.8) ist ‘numerisch stabiler’ (→ §6) als (2.2.5).

Bei Hinzunahme einer Stützstelle ergibt sich der Übergang von den w_{i}^{(n)} in (2.2.6) zu den ersten n + 1 Koeffizienten w_{i}^{(n+1)} folgendermaßen:

w_{i}^{(n+1)} := w_{i}^{(n)}/(x_{i} − x_{n+1}), i = 0, 1, …, n  (2.2.9)

Ferner wird (2.2.7) mit n + 1 umgeformt

1 ≡ ∑_{i=0}^{n+1} w_{i}^{(n+1)} ∏_{{j=0 \atop j≠i}}^{n+1}(x − x_{j}) = x^{n+1} ∑_{i=0}^{n+1} w_{i}^{(n+1)} + …  (2.2.10)

Durch Koeffizientenvergleich folgt also

∑_{i=0}^{n+1} w_{i}^{(n+1)} = 0 für n ≥ 0.  (2.2.11)

Daraus kann auch noch w_{n+1}^{(n+1)} bestimmt werden und es ergibt sich Algorithmus 2.2.4 Rekursive Berechnung der Gewichtsfaktoren w_{i}^{(n)} in (2.2.6):

w_{0}^{(0)} := 1;

für k := 1 bis n:
für i := 0 bis k − 1:
w_{i}^{(k)} := w_{i}^{(k−1)}/(x_{i} − x_{k});
w_{k}^{(k)} := − ∑_{i=0}^{k−1} w_{i}^{(k)};

(2.2.12)

(Werner: Math. Comp. 43, 1984) Dieser Algorithmus (2.2.12) erfordert

∑_{k=1}^{n} k = \frac{n^{2}}{2} + O(n)

Divisionen und doppelt soviel Additionen, also ist der Rechenaufwand Baryzentrische Darstellung:

\frac{3}{2}n^{2} + O(n) Operationen zur Berechnung der \{w_{i}^{(n)}\} in (2.2.12),
5n + O(1) Operationen zur Auswertung von p(x) in (2.2.8).

Man beachte, daß im Dreieck-Schema (2.2.12) die w_{i}^{(k)} die w_{i}^{(k−1)} überschreiben dürfen, es wird also nur ein lineares Feld [0, …, n] benötigt. Beispiel 2.2.5 a) Interpolation auf einem äquidistanten Gitter: Mit

x_{i} := x_{0} + ih, i = 0, …, n

erhält man

\frac{1}{w_{i}} = ∏_{{j=0 \atop j≠i}}^{n}(x_{i} − x_{j}) = h^{n} ∏_{{j=0 \atop j≠i}}^{n}(i − j) = h^{n}(−1)^{n−i}i!(n − i)! .  (2.2.13)

Dies ergibt

w_{i} = \frac{(−1)^{n}}{h^{n}n!} · \frac{n!(−1)^{i}}{i!(n − i)!} = \frac{(−1)^{n}}{h^{n}n!} · (−1)^{i}\binom{n}{i}.

Kürzt man in der Darstellung (2.2.8) hierbei den von i unabhängigen Vorfaktor heraus und führt die Größen

w̃_{i} := (−1)^{i}\binom{n}{i}

ein, so ergibt sich für den Fall der äquidistanten Knoten die folgende vereinfachte Formel für das Interpolationspolynom p,

p_{n}(x) = ∑_{i=0}^{n} \frac{w̃_{i}}{x − x_{i}} y_{i}/ ∑_{i=0}^{n} \frac{w̃_{i}}{x − x_{i}}  für x ≠ x_{j} ∀j.  (2.2.14)

b) Zahlenbeispiel: n=3,

\begin{matrix}i = & 0 & 1 & 2 & 3 \\ x_{i} = & 0 & 1.5 & 2.5 & 4.5 \end{matrix}

Man erhält das Dreieckschema für die w_{i}^{(k)}:

k x_{k}  i = 0  1  2  3
0 0  1
1 1.5 −0.66667 0.66667
2 2.5 0.26667 −0.66667 0.40000
3 4.5 −0.05926 0.22222 −0.20000 0.03704

2.3 Newton-Interpolation

Zum rekursiven Aufbau der Interpolationspolynome nach wachsender Stützstellenzahl ist folgender Ansatz zweckmäßig

p_{n}(x) = p_{n−1}(x) + (x − x_{0}) ⋯ (x − x_{n−1})a_{n}.

Man nennt diese Darstellung die Newton-Darstellung des Interpolationspolynoms. In dieser Darstellung verschwindet der zweite Summand in den Punkten x_{0}, …, x_{n−1}. Man setzt also induktiv voraus, daß p_{n−1} die Interpolationsaufgabe in den ersten n Punkten erfüllt, p_{n−1}(x_{i}) = y_{i}, i = 0, …, n − 1. Den Wert a_{n} berechnet man dann aus der zusätzlichen Interpolationsbedingung p_{n}(x_{n}) = y_{n} oder zweckmäßiger aus einem weiter unten formulierten Algorithmus. Beginnend mit p_{0}(x) ≡ y_{0} = a_{0} wird also für p_{n} die folgende Form angenommen:

p_{n}(x) = a_{0} + (x − x_{0})a_{1} + … + (x − x_{0}) ⋯ (x − x_{n−1})a_{n}  (2.3.1)
= a_{0} + (x − x_{0})[⋯ [a_{n−2} + (x − x_{n−2})[a_{n−1} + (x − x_{n−1})a_{n}]] ⋯]

Diese Klammerung deutet bereits an, wie p_{n}(x) am zweckmäßigsten zu berechnen ist:

Algorithmus 2.3.1 Horner-Schema zur Auswertung von p_{n}(x) bei bekannten a_{i}.

q_{n} := a_{n}; ; für k = n − 1, n − 2, …, 0: ; q_{k} := a_{k} + (x − x_{k})q_{k+1}; ; p_{n}(x) = q_{0}.

Rechenaufwand

Hornerschema: 3n Operationen:

Für den Spezialfall x_{i} = 0 ∀i erhält man p_{n}(x) = ∑_{i=0}^{n} a_{i}x^{i} und braucht für die Auswertung dieser Polynomform nach dem Hornerschema nur 2n Operationen.

Somit bleibt die wesentliche Frage der Bestimmung der a_{i} in (2.3.1). Das gelingt in der folgenden Definition und im Algorithmus 2.

Definition 2.3.2 (und Algorithmus) Man erhält die l-ten dividierten Differenzen oder l-ten Differenzenquotienten gemäß

für i = 0, 1, …, n:

y[x_{i}] := y_{i};

für l = 1, …, n:

für i = 0, …, n − l:

y[x_{i}, …, x_{i+l}] := \frac{y[x_{i+1}, …, x_{i+l}] − y[x_{i}, …, x_{i+l−1}]}{x_{i+l} − x_{i}}.

(2.3.2)

Bemerkungen: Die Berechnung nach (2.3.2) führt auf folgendes Dreieckschema, das spaltenweise (l = 1, 2, …, n) erzeugt wird.

\begin{matrix}x_{i} & y_{i} = y[x_{i}] & l = 1 & l = 2 & & l = n \\ x_{0} & y_{0} \\ x_{1} & y_{1} & y[x_{0}, x_{1}] \\ x_{2} & y_{2} & y[x_{1}, x_{2}] & y[x_{0}, x_{1}, x_{2}] \\ x_{3} & y_{3} & y[x_{2}, x_{3}] & y[x_{1}, x_{2}, x_{3}] \\ ⋮ & ⋮ & ⋮ & & ... \\ x_{n} & y_{n} & y[x_{n−1}, x_{n}] & y[x_{n−2}, x_{n−1}, x_{n}] & ⋯ & y[x_{0}, …, x_{n}] \end{matrix}  (2.3.3)

Zur Durchführung genügt ein lineares Feldes [0, 1, …, n], in dem der Reihe nach die Werte y_{1}, …, y_{n} durch die ersten dividierten Differenzen und dann die ersten dividierten Differenzen y[x_{1}, x_{2}], …, y[x_{n−1}, x_{n−2}] durch die zweiten dividierten Differenzen überschrieben werden, usw. Am Ende bleiben die in (2.3.7) benötigten Werte übrig. Es ist auch eine zeilenweise Berechnung möglich, wenn man mit dem höchsten Index beginnt. Dabei kann dann bei Hinzunahme zusätzlicher Interpolationspunkte das Differenzenschema einfach ergänzt werden.

Rechenaufwand

für (2.3.2): 3[n + (n − 1) + ⋯ + 1] = \frac{3}{2}n^{2} + O(n) Operationen.

Der Zusammenhang der in (2.3.2) eingeführten Differenzenquotienten mit den Koeffizienten a_{i} aus (2.3.1) ergibt sich im folgenden Neville-Algorithmus und dem anschließenden Satz 2.3.4.

Definition 2.3.3 (und Neville-Algorithmus) Es seien p_{i,l} ∈ Π_{l} die Polynome mit

p_{i,l}(x_{j}) = y_{j}, j = i, …, i + l.  (2.3.4)

Man erhält diese p_{i,l} und den Wert des Polynoms p_{n} zu (2.2.2) an einer Stelle x durch

für i = 0, 1, …, n:

p_{i,0}(x) := y_{i};

für l = 1, …, n:

für i = 0, …, n − l:

p_{i,l}(x) := \frac{(x − x_{i})p_{i+1,l−1}(x) + (x_{i+l} − x)p_{i,l−1}(x)}{x_{i+l} − x_{i}};

p_{n}(x) = p_{0,n}(x).

(2.3.5)

Für x ∈ (x_{i}, x_{i+l}) ist p_{i,l}(x) eine ‘konvexe Linearkombination’ der p_{i,l−1}(x) und p_{i+1,l−1}(x). Dadurch ergeben sich Stabilitätsvorteile bezüglich der Rundungsfehler.

Rechenaufwand für den Neville-Algorithmus (2.3.5) bei vorberechneten Differenzen x − x_{i}:

\frac{5}{2}n^{2} + O(n) Operationen.

Den Zusammenhang zwischen den dividierten Differenzen aus (2.3.2), den Teilpolynomen p_{i,l} aus (2.3.4) und den Koeffizienten a_{i} aus der Newton-Interpolationsform (2.3.1) gibt der folgende

Satz 2.3.4 a) Die in (2.3.5) berechneten Polynome stimmen mit den in (2.3.4) definierten überein.

b) Für die dividierten Differenzen in (2.3.2) und die Teilpolynome in (2.3.4) gilt:

y[x_{i}, …, x_{i+l}] = \frac{1}{l!} p_{i,l}^{(l)} ≡ \frac{1}{l!} p_{i,l}^{(l)}(x), 0 ≤ i ≤ i + l ≤ n.  (2.3.6)

c) Das Lagrange-Interpolationspolynom ist in der Newtonform (2.3.1) darstellbar als

p_{n}(x) = y[x_{0}] + (x − x_{0}) y[x_{0}, x_{1}] + … + (x − x_{0}) ⋯ (x − x_{n−1}) y[x_{0}, …, x_{n}].  (2.3.7)

Beweis Durch Induktion, die Aussagen bezüglich (2.3.4) bis (2.3.7) sind offensichtlich richtig für n = l = 0.

a) Unter der Induktionsvoraussetzung, daß p_{i,l−1}(x) und p_{i+1,l−1}(x) ihre Interpolationsbedingungen in (2.3.4) erfüllen, gilt für das in (2.3.5) definierte p_{i,l}(x) die Aussage

p_{i,l}(x_{j}) = y_{j}, j = i, …, i + l.

Für j = i und i + l treten nämlich in (2.3.5) nur der zweite bzw. erste Summand im Zähler auf, für die Fälle j = i + 1, …, i + l − 1 kann man aufgrund der Induktionsvoraussetzung den Faktor y_{j} ausklammern, die restlichen Faktoren ergeben dann zusammen eins.

b) Nun wird angenommen, (2.3.6) sei richtig für l − 1. Dann gilt nach (2.3.1) und (2.3.4)

p_{i,l}(x) = p_{i,l−1}(x) + (x − x_{i}) ⋯ (x − x_{i+l−1}) · a.  (2.3.8)

Zunächst wird gezeigt

a = y[x_{i}, …, x_{i+l}].  (2.3.9)

Durch Vergleich der Koeffizienten von x^{l} in (2.3.8) und (2.3.5) ergibt sich mit der Induktionsvoraussetzung die Gleichung

a = \frac{y[x_{i+1}, …, x_{i+l}] − y[x_{i}, …, x_{i+l−1}]}{x_{i+l} − x_{i}}.

Wegen (2.3.2) ist (2.3.9) bewiesen. Durch l-malige Differentiation von (2.3.8) folgt (2.3.6).

c) Ergibt sich durch Anwendung von (2.3.8) und (2.3.9) für i = 0 und l = 0, …, n.

Beispiel 2.3.5 Newton-Polynom durch vier Interpolationspunkte (Werte in der Tabelle):

i x_{i} y_{i}
0 −1 2
1 0 4 2
2 2 6 1 −\frac{1}{3}
3 3 12 6  \frac{5}{3}  \frac{1}{2}

Die eingerahmten Werte sind die Koeffizienten im Interpolationspolynom

p_{3}(x) = 2 + 2(x + 1) − \frac{1}{3}(x + 1)x + \frac{1}{2}(x + 1)x(x − 2).

Bei den besprochenen Verfahren werden keinerlei spezielle Eigenschaften der verwendeten Datenpaare (x_{j}, y_{j}) berücksichtigt. Sind die y_{j} allerdings Funktionswerte einer bestimmten Funktion f, stellt sich die Frage, wie stark p und f voneinander abweichen. Diese und andere Eigenschaften sind im folgenden Satz zusammengefaßt.

Satz 2.3.6 a) Das Interpolationspolynom p_{n} aus (2.2.5) hängt linear vom Datenvektor y ab.

b) Die dividierten Differenzen sind unabhängig von der Reihenfolge der Wertepaare (x_{i}, y_{i}).

c) Sind die y_{i} Funktionswerte einer Funktion f ∈ C^{n}[a, b], d.h. x_{i} ∈ [a, b], y_{i} = f(x_{i}), so gilt

f[x_{i}, …, x_{i+k}] := y[x_{i}, …, x_{i+k}] = \frac{1}{k!} f^{(k)}(ξ),  (2.3.10)

mit ξ ∈ ( min_{j=i}^{i+k} x_{j}, max_{j=i}^{i+k} x_{j}), 0 ≤ i ≤ i + k ≤ n. d) Für f(x) = c_{k}x^{k} + … ∈ Π_{k} gilt

f[x_{0}, …, x_{n}] = \{ \begin{matrix}c_{k} & für & k = n, \\ 0 & für & k < n. \end{matrix}

e) Für den Interpolationsfehler r_{n}(x) := f(x) − p_{n}(x), x ∈ [a, b] ergibt sich bei einer Funktion f ∈ C^{n+1}[a, b] mit ω_{n+1}(x) := (x − x_{0}) … (x − x_{n}) die Darstellung

r_{n}(x) = ω_{n+1}(x)f[x_{0}, …, x_{n}, x] = ω_{n+1}(x)\frac{f^{(n+1)}(ξ)}{(n + 1)!}, ξ ∈ (a, b).  (2.3.11)

Beweis Teil a) ist nach Definition offensichtlich, b) folgt aus Satz 2.2.2 und (2.3.6).

c) Nach (2.3.6) ist y[x_{i}, ⋯, x_{i+k}] = p_{i,k}^{(k)}(x)/k!. Nun verschwindet r_{k} = f − p_{i,k} in den Punkten x = x_{i}, ⋯, x_{i+k}. Nach dem iterierten Satz von Rolle existiert ξ ∈ ( min_{j=i}^{i+k} x_{j}, max_{j=i}^{i+k} x_{j}) mit

0 = r_{k}^{(k)}(ξ) = f^{(k)}(ξ) − p_{i,k}^{(k)}(ξ).

d) Ergibt sich als Spezialfall von c).

e) Der Interpolationsfehler wird an einer festen Stelle x = x̄ dargestellt und das Interpolationspolynom p_{0,n+1} mit der zusätzlichen Stützstelle x_{n+1} := x̄, y_{n+1} := f(x̄), betrachtet. Nach Satz 2.3.4 ergibt sich

p_{0,n+1}(x) = p_{0,n}(x) + (x − x_{0}) ⋯ (x − x_{n})f[x_{0}, ⋯, x_{n}, x_{n+1} = x̄].

Wegen p_{0,n+1}(x̄) = f(x̄) gilt für den Fehler

r_{n}(x̄) = f(x̄) − p_{0,n}(x̄) = (x̄ − x_{0}) ⋯ (x̄ − x_{n}) f[x_{0}, ⋯, x_{n}, x̄].

Die Definition von ω_{n+1} und (2.3.10) liefern schließlich (2.3.11).

Wegen der Beziehung (2.3.10) liegt es nahe, das Hermite-Interpolationsproblem (2.2.3) durch Grenzübergang von mehreren Knoten in eine gemeinsame Stelle zu behandeln. Bekanntlich ist

lim_{x_{i+1}→x_{i}} f[x_{i}, x_{i+1}] = f′(x_{i}) für f ∈ C^{1}[a, b].

Analoge Aussagen gelten in (2.3.10), wenn mehr als zwei Knoten zusammenrücken. Das Problem ist allerdings nur dann sinnvoll gestellt, wenn, wie in (2.2.3) gefordert, an einer Stelle Funktions- und Ableitungswerte lückenlos vorgeschrieben sind. Es seien also für die Hermite-Interpolationsaufgabe bei einer genügend oft differenzierbaren Funktion f die folgenden Werte bekannt

f(x_{i}), f′(x_{i}), ⋯, f^{(j)}(x_{i}), wenn x_{i} = x_{i+1} = ⋯ = x_{i+j}.  (2.3.12)

Mit diesen Ableitungen definieren wir gemäß (2.3.10) die Differenzenquotienten als

f[x_{i}, ⋯, x_{i+k}] := \frac{1}{k!}f^{(k)}(x_{i}), 0 ≤ k ≤ j.

Für all solche Mehrfachenknoten (2.3.12) werden diese Werte in das Differenzentableau (2.3.3) eingetragen. Die noch fehlenden Differenzenquotienten berechnet man dann nach (2.3.2).

Beispiel 2.3.7 Differenzentableau für n = 4, x_{1} = x_{2} = x_{3}:

x_{0} y_{0}
x_{1} y_{1} y[x_{0}, x_{1}]
x_{1} y_{1}  y′_{1}  y[x_{0}, x_{1}, x_{1}]
x_{1} y_{1}  y′_{1}  \frac{1}{2}y′′_{1}  y[x_{0}, x_{1}, x_{1}, x_{1}]
x_{4} y_{4} y[x_{1}, x_{4}] y[x_{1}, x_{1}, x_{4}] y[x_{1}, x_{1}, x_{1}, x_{4}] y[x_{0}, x_{1}, x_{1}, x_{1}, x_{4}]

Bemerkungen: Man kann das Hornerschema aus Algorithmus 1 verallgemeinern zur Berechnung von Ableitungswerten von Polynomen.

Satz 2.3.6 erlaubt eine Gegenüberstellung von Taylor- und Newton-Entwicklung für f ∈ C^{n+1}[a, b]. Mit den analog zu ω_{n+1} definierten ω_{k} = (x − x_{0}) ⋯ (x − x_{k−1}), vgl. (2.3.11), erhält man für die Entwicklung nach

Taylor: f(x) = ∑_{k=0}^{n}(x − x_{0})^{k} \frac{f^{(k)}(x_{0})}{k!} + (x − x_{0})^{n+1} \frac{f^{(n+1)}(ξ)}{(n + 1)!},
Newton: f(x) = ∑_{k=0}^{n} ω_{k}(x)f[x_{0}, ⋯, x_{k}] + ω_{n+1}(x) \frac{f^{(n+1)}(η)}{(n + 1)!},

ξ, η ∈ (a, b). Insbesondere geht für x_{j} → x_{0}, j = 1, ⋯, n, die Newton-Darstellung über in die Taylor-Darstellung.

2.4 Entwicklung nach Orthogonalpolynomen, dreistufige Rekursionen

In diesem Teilparagraph werden zunächst in Π_{n} ⊂ C[a, b] Familien von Orthogonalpolynomen bezüglich geeigneter Skalarprodukte eingeführt. Es zeigt sich, daß sich solche Orthogonalpolynome rekursiv mittels Drei-Term-Rekursionen berechnen lassen. Darauf aufbauend kann man Clenshaw-Algorithmen zur Auswertung von Polynomen definieren, die hier nur für den wichtigsten Fall der Entwicklung nach Tschebyscheff-Polynomen angegeben werden.

Zu einer positiven Gewichtsfunktion g : [a, b] ↦ R_{+} und f, h ∈ C[a, b] sei

\begin{aligned}(f, h) & := & (f, h)_{g} & := & ∫_{a}^{b} f(x)h(x)g(x) dx, bzw. \\ (f, h) & := & (f, h)_{g} & := & ∑_{k=0}^{n} f(x_{k})h(x_{k})g(x_{k}) \end{aligned}  (2.4.1)

mit a ≤ x_{0} < … < x_{n} ≤ b. Durch (2.4.1) sind Innenprodukte für Π_{n} definiert. Über den Zusammenhang zwischen den Innenprodukten aus (2.4.1) in Π_{n} wird im anschließenden Kapitel 3 nachgedacht. Nun wird eine Familie von Orthogonalpolynomen definiert durch

P_{k} ∈ Π_{k} und (P_{j}, P_{k}) = δ_{jk} · c_{k}, 0 ≤ j, k ≤ n.  (2.4.2)

Dabei bezeichnet δ_{jk} das übliche Kronecker-Symbol und die c_{k} sind entweder in geeigneter Weise vorgegeben (z.B. c_{k} ≡ 1) oder berechnen sich aus der Forderung

P_{0}(x) ≡ 1, P_{k}(x) = x^{k} + …  (2.4.3)

Bekanntlich ist durch (2.4.1) bis (2.4.3) eindeutig eine Familie von Orthogonalpolynomen definiert. Es gilt sogar

Satz 2.4.1 Für die Orthogonalpolynome P_{k} in (2.4.2), (2.4.3) gilt mit P_{−1} :≡ 0, P_{0} :≡ 1, eine Drei-Term-Rekursion der Form

P_{k}(x) = (x + a_{k})P_{k−1}(x) + b_{k}P_{k−2}(x), k ≥ 1,  (2.4.4)

wobei b_{1} = 0 und

a_{k} = −\frac{(xP_{k−1}, P_{k−1})_{g}}{(P_{k−1}, P_{k−1})_{g}} , k ≥ 1, b_{k} = −\frac{(P_{k−1}, P_{k−1})_{g}}{(P_{k−2}, P_{k−2})_{g}} , k ≥ 2.  (2.4.5)

Beweis Wegen (2.4.3) ergibt sich die Darstellung (2.4.4), wenn P_{k} durch Orthogonalisierung von xP_{k−1} berechnet werden soll. Die in (2.4.4) fehlenden Terme der Form d_{j}P_{j}(x), 0 ≤ j ≤ k − 3, d_{j} = −(xP_{k−1}, P_{j})_{g}/(P_{j}, P_{j})_{g} = −(P_{k−1}, xP_{j})_{g}/(P_{j}, P_{j})_{g}, fallen wegen (2.4.2) weg und man erhält schließlich (2.4.4) mit den speziellen Koeffizienten aus (2.4.5). Dabei wurde b_{k} = d_{k−2} mit Hilfe von xP_{k−2} = P_{k−1} − a_{k−1}P_{k−2} − b_{k−1}P_{k−3} umgeformt, denn

(xP_{k−1}, P_{k−2})_{g} = (P_{k−1}, xP_{k−2})_{g} = (P_{k−1}, P_{k−1})_{g}.

Hier werden nur die Tschebyscheff-Polynome behandelt, im Kapitel 3 treten aber im Zusammenhang mit der numerischen Integration weitere Klassen von Orthogonalpolynomen im Sinne von (2.4.1) bis (2.4.3) auf. Auf viele Polynomfamilien sind die Ergebnisse von Satz 2.4.1 anwendbar. Ganz allgemein sind in vielen Gebieten der Analysis Entwicklungen nach Orthogonalsystemen zur Approximation von Funktionen sehr hilfreich: Kennt man für ein Innenprodukt aus (2.4.1) ein System orthogonaler Funktionen {T_{k}}, so kann man eine Funktion f approximieren in der Form (Lineare Algebra: Entwicklung nach Orthogonalbasis)

f ≈ ∑_{j=0}^{n} α_{j}P_{j} =: p_{n}, α_{j} := (f, P_{j})/(P_{j}, P_{j}).  (2.4.6)

Definition 2.4.2 Man bezeichnet die Funktionen

T_{n}(x) := cos(n arccos x), |x| ≤ 1, n = 0, 1, ..,  (2.4.7)

als Tschebyscheff-Polynome und ihre Nullstellen

x_{k} := x_{k,n} := cos (\frac{2k + 1}{2n + 2}π), k = 0, …, n  (2.4.8)

als Tschebyscheff-Punkte oder -Knoten.

Satz 2.4.3 Die in (2.4.7) definierten Funktionen T_{n} sind Polynome vom Grad n. Sie können mit T_{0} = 1, T_{1}(x) = x, rekursiv berechnet werden durch die Drei-Term-Rekursion

T_{n+1}(x) = 2xT_{n}(x) − T_{n−1}(x), n = 1, 2, ….  (2.4.9)

Die x_{k} = x_{k,n} aus (2.4.8) sind die Nullstellen von T_{n+1}. Die Polynome T_{n} haben die Form

T_{n}(x) = 2^{n−1}x^{n} + … ∈ Π_{n},  (2.4.10)

ihre Supremumsnorm ist eins,

∥T_{n}∥_{[−1,1],∞} = 1, n = 0, 1, ….  (2.4.11)

Beweis Mit t := arccos x folgen die Aussagen für T_{0}, T_{1} unmittelbar aus (2.4.7). Die Rekursion in (2.4.9) ergibt sich aus dem Additionstheorem

cos(n + 1)t + cos(n − 1)t = 2 cos t · cos nt.

Aus (2.4.9) folgt unmittelbar die Aussage, daß die T_{n} ∈ Π_{n} die Form (2.4.10) besitzen. Aus (2.4.7) andererseits ergibt sich direkt, daß die x_{k} aus (2.4.8) die Nullstellen von T_{n+1} sind und (2.4.11) gilt.

Satz 2.4.4 Die Tschebyscheff-Polynome T_{k}, k = 0, 1, …, n, bilden ein Orthogonalsystem bezüglich des Innenprodukts

(f, g)_{n} := ∑_{k=0}^{n} f(x_{k})g(x_{k}) mit x_{k} = x_{k,n} aus (2.4.8).  (2.4.12)

Zur Vereinfachung der Formeln (wegen (2.4.15)) verwendet man bei Entwicklungen nach Tschebyscheff-Polynomen (wie bei Fourierentwicklungen) statt (2.4.6) die Darstellung

f ≈ \frac{c_{0}}{2} + ∑_{j=1}^{n} c_{j}T_{j} =: p_{n}.  (2.4.13)

Die Koeffizienten ergeben sich bei den speziellen Knoten (2.4.8) in (2.4.12) durch

c_{j} = \frac{2}{n + 1}(f, T_{j})_{n} = \frac{2}{n + 1} ∑_{k=0}^{n} f(x_{k}) cos (j \frac{2k + 1}{2n + 2}π), j = 0, 1, …, n.  (2.4.14)

Das Polynom p_{n} aus (2.4.13) interpoliert f in x_{k,n}, k = 0, …, n.

Beweis Die Aussagen über (2.4.12), (2.4.14) folgen aus der bekannten Beziehung

(T_{i}, T_{j})_{n} = ∑_{k=0}^{n} T_{i}(x_{k})T_{j}(x_{k}) = ∑_{k=0}^{n} cos (i\frac{2k + 1}{2n + 2}π) cos (j \frac{2k + 1}{2n + 2}π)

= \{ \begin{matrix}0 & für & i ≠ j, \\ \frac{n+1}{2} & für & 0 < i = k < n + 1, \\ n + 1 & für & i = j = 0. \end{matrix}  (2.4.15)

Die Relation (T_{0}, T_{0})_{n} = 2(T_{j}, T_{j})_{n}, 1 ≤ j ≤ n, in Formel (2.4.15) ist der Grund für den Übergang von (2.4.7) zu (2.4.13). Da p_{n} nach einer Orthogonalbasis entwickelt wurde, ist

(f − p_{n}, f − p_{n})_{n} = min_{q∈Π_{n}}(f − q, f − q)_{n} = min_{q∈Π_{n}} ∑_{k=0}^{n}[f(x_{k}) − q(x_{k})]^{2} = 0.

Das Minimum wird im Interpolationspolynom an die Funktion f zu den Punkten x_{k} aus (2.4.8) angenommen, mit dem p_{n} offensichtlich übereinstimmt.

Rechenaufwand zur Bestimmung der c_{j} aus (2.4.14):

2n^{2} + O(n) Operationen + n^{2} cos -Funktionsauswertungen.

Zur Auswertung eines Polynoms (2.4.13) dient der folgende Algorithmus, der nur für den Fall von Tschebyscheff-Polynomentwicklungen besprochen wird. Analoge Algorithmen sind für alle Familien mit Drei-Term-Rekursionen möglich.

Algorithmus 2.4.5 Clenshaw-Algorithmus

d_{n+1} := 0; d_{n} := c_{n}; ; für k = n − 1, n − 2, …, 0: ; d_{k} := c_{k} + 2xd_{k+1} − d_{k+2}; ; p_{n}(x) = (d_{0} − d_{2})/2;  (2.4.16)

zur Berechnung von

p_{n}(x) = \frac{c_{0}}{2} + ∑_{j=1}^{n} c_{j}T_{j}(x) für x ∈ R, ( i.a. |x| ≤ 1).  (2.4.17)

Im Clenshaw-Algorithmus ersetzt man rekursiv in dieser Entwicklung von p_{n} die T_{j} mit höherem Index mit Hilfe der Rekursionsformel (2.4.9) durch die einfacheren Tschebyscheff-Polynome mit niedrigerem Index:

p_{n}(x) = d_{n}T_{n} + c_{n−1}T_{n−1} + c_{n−2}T_{n−2} + …
= \underbrace{(2xd_{n} + c_{n−1})}_{d_{n−1}} T_{n−1} + (c_{n−2} − d_{n})T_{n−2} + … = \underbrace{(2xd_{n−1} − d_{n} + c_{n−2})}_{d_{n−2}} T_{n−2} + …

Die folgende Tabelle veranschaulicht, von links nach rechts, die verschiedenen Ersetzungsschritte. Die Rekursionsformeln von (2.4.16) erscheinen in den Spalten. Das Argument (x) bei den T_{j} wurde weggelassen.

T_{n}  T_{n−1}  T_{n−2}  … T_{2}  T_{1}  T_{0}
c_{n}  c_{n−1}  c_{n−2}  … c_{2}  c_{1}  \frac{c_{0}}{2}
0  0  −d_{n}  … −d_{4}  −d_{3}  −d_{2}
↗  ↗  ↗  ↗  ↗
0  2xd_{n}  2xd_{n−1}  … 2xd_{3}  2xd_{2}  ∗
↗  ↗  ↗  ↗  ↗
d_{n+1} = 0 d_{n}  d_{n−1}  d_{n−2}  … d_{2}  d_{1}  ∗∗

Der letzte Schritt von (2.4.16) ergibt sich aus

p_{n}(x) = d_{1}T_{1}(x) + (\frac{1}{2}c_{0} − d_{2})T_{0}(x) = d_{1}x + \frac{1}{2}c_{0} − d_{2}  (2.4.18)
= \frac{1}{2}(c_{0} + 2d_{1}x − d_{2}) − \frac{1}{2}d_{2} = \frac{1}{2}(d_{0} − d_{2}).

Rechenaufwand

von (2.4.16): 3n + O(1) Operationen.

Bemerkung: Wegen (2.4.7) und der daraus abgeleiteten Normabschätzung (2.4.11) ist der Fehlerverlauf bei einer (abgebrochenen) Tschebyscheff-Entwicklung wesentlich gleichförmiger als etwa beim Newton-Polynom mit Hornerschema und sonstigen Knoten.

Soll eine bestimmte Funktion f im Ablauf eines Programmes oder u.U. in Softwarepaketen für Rechner vielfach ausgewertet werden, ist eine Approximation durch Polynome vorteilhaft, die mit möglichst wenigen Termen auskommt und günstig ausgewertet werden kann. Mit dem folgenden Prozeß der Ökonomisierung kann dabei auf wohlbekannte Potenzreihenentwicklungen zurückgegriffen werden. Durch Taylorentwicklung bestimme man zur Funktion f ein Polynom

p_{n}(x) = a_{0} + a_{1}x + … + a_{n}x^{n},  (2.4.19)

das folgende Bedingung erfüllt

∥f − p_{n}∥_{[−1,1],∞} ≤ q · tol, 0 < q < 1,

mit einer vorgegebenen Toleranz tol. Am Taylor-Restglied ist allerdings zu erkennen, daß der Fehler f − p_{n} ≅ a_{n+1}x^{n+1} in [0, 1] nicht gleichmäßig verteilt ist, sondern am Rand, bei ±1 stark anwächst. Durch bessere Verteilung des Fehlers kann der Grad des Polynoms ohne wesentliche Verschlechterung der Approximation verringert werden. Dazu ersetzt man in einem zweiten Schritt in p_{n} mit (2.4.10) die höchste Potenz x^{n} durch T_{n} und erhält die Darstellung

p_{n} = q_{n−1} + d_{n}T_{n}, q_{n−1} ∈ Π_{n−1},  (2.4.20)

d.h., d_{n} = a_{n}/2^{n−1}. Dieser Prozeß kann mit x^{n−1} in q_{n−1} wiederholt werden und führt rekursiv auf Darstellungen

p_{n} = q_{k} + d_{k+1}T_{k+1} + … + d_{n}T_{n}, q_{k} ∈ Π_{k}, 0 ≤ k ≤ n.

Wählt man nun k so, daß

∥p_{n} − q_{k}∥_{[−1,1],∞} ≤ |d_{k+1}| + … + |d_{n}| ≤^{!} (1 − q)tol

gilt, erhält man wegen (2.4.11) insgesamt

∥f − q_{k}∥_{[−1,1],∞} ≤ tol

und hat mit diesem q_{k} eine Approximation an f von geringerem Grad als n gefunden.

2.5 Vergleich der Verfahren

In den Kapiteln 2.2 bis 2.4 wurden eine Reihe verschiedener Methoden zur Bestimmung von Interpolationspolynomen vorgestellt. In 2.2 und 2.3 waren die Knoten völlig willkürlich vorgebbar, in 2.4 wurde nur das Intervall [−1, 1] behandelt bei Verwendung der Knoten (2.4.8). In der folgenden Tabelle werden die verschiedenen Methoden gegenüberstellt. Dabei wird der Rechenaufwand getrennt nach einmaliger Vorberechnung von Koeffizienten und der Polynomauswertung bei bekannten Koeffizienten.

Verfahren Rechenaufwand(Oper.): Bemerkungen
Vorbereitung, 1 Auswertung

Lagrange origin. L_{i}(x) : 3n^{2} 2n L_{i} abhängig von x und Gitter, Sta-

bilitätsprobleme

Lagr. baryzentr. w_{i} : \frac{3}{2}n^{2} 5n w_{i} nur gitterabhängig, flexibel,

stabil

Newton y[.] : \frac{3}{2}n^{2} 3n y[x_{0,...}] abhängig von Gitter und Da-

ten, flexibel, Stabilitätsprobleme

Aitken-Neville  —  \frac{5}{2}n^{2}  für Spezialanwendungen
Clenshaw, n bel.  c_{i} : 2n^{2}  3n  Einfach, stabiler als Newton.
Clenshaw, n = 2^{m}  m · n  3n  F.F.T.(Numerik II), spezielle Git-

ter, Übergang von 2^{m} zu 2^{m+1}.

2.6 Interpolationsfehler, optimale Knoten

Bisher wurde davon ausgegangen, daß alle ‘Eingangsdaten’ festgelegt sind und nur die Berechnung und Auswertung des Interpolationspolynoms behandelt. Wird die Interpolation zur Approximation einer gegebenen Funktion verwendet, so läßt sich der Fehler, ohne Mehraufwand, durch eine geeignete Wahl der Interpolationsknoten sehr stark verkleinern. Dies ergibt sich aus einer genaueren Inspektion der Darstellung (2.3.11) des Interpolationsfehlers. Dabei wird die Supremumsnorm

∥g∥_{∞} := sup{|g(x)| : x ∈ [α, β]}, g ∈ C[α, β],

benutzt. Für eine ’glatte’ Funktion f ∈ C^{n+1}[α, β] erhält man aus der Fehlerdarstellung (2.3.11) mit ω_{n+1}(x) := (x − x_{0}) ⋯ (x − x_{n}) und x ∈ [α, β], ξ ∈ (α, β) die Schranke

|f(x) − p_{n}(x)| = |ω_{n+1}(x)|\frac{|f^{(n+1)}(ξ)|}{(n + 1)!} ≤ |ω_{n+1}(x)|\frac{∥f^{(n+1)}∥_{∞}}{(n + 1)!} .  (2.6.1)

Bei festem Polynomgrad n ist der Anteil ∥f^{(n+1)}∥_{∞} durch die Funktion f vorgegeben. Dagegen kann aber der Beitrag |ω_{n+1}(x)| durch geeignete Wahl der Stützstellen beeinflußt werden. Zwei mögliche Situationen werden diskutiert: Problem 1: Es sind sehr viele Funktionswerte von f gegeben an äquidistanten Stellen x_{i} = α + ih, i = 0, 1, … (z.B. Funktionstafel, Meßreihe). Welche Knoten eignen sich, bei festem n, am besten zur Auswertung von f an einer bestimmten Stelle x?

Es sei nun speziell x ∈ [x_{j}, x_{j+1}], 0 ≤ j < n.  x_{0}  x_{n} x_{j} x x_{j+1}

Dann folgt

|ω_{n+1}(x)| = |x − x_{0}| ⋯ |x − x_{j}||x − x_{j+1}| ⋯ |x − x_{n}|
≤ h(j + 1 − 0)h(j + 1 − 1) ⋯ hh ⋯ h(n − j) = h^{n+1}(j + 1)!(n − j)!
= h^{n+1} \frac{(n + 1)!}{\binom{n+1}{j+1}}.  (2.6.2)

Da die Binomialkoeffizienten bei \frac{n+1}{2} den größten Wert haben, ist der Fehler minimal für

j + 1 = ⌊\frac{n + 1}{2}⌋,

d.h., es ist am günstigsten, links und rechts von x etwa gleich viele Stützstellen zu wählen. Problem 2: Wenn f durch das Polynom p_{n} gleichmäßig möglichst gut approximiert werden soll, ist der maximale Fehler im Intervall [α, β] zu betrachten. Dieser erfüllt nach (2.6.1)

∥f − p_{n}∥_{∞} ≤ ∥ω_{n+1}∥_{∞} \frac{∥f^{(n+1)}∥_{∞}}{(n + 1)!} .  (2.6.3)

In dieser Abschätzung soll der erste Faktor minimiert werden. Dazu sind diejenigen Knoten x_{0}, …, x_{n} zu suchen mit

∥ω_{n+1}∥_{∞} = min_{ξ_{j}∈[α,β]} max_{x∈[α,β]} |x − ξ_{0}||x − ξ_{1}| ⋯ |x − ξ_{n}|.  (2.6.4)

Die Lösung dieses Problems kann explizit angegeben werden, es gilt

Satz 2.6.1 Die optimalen Knoten in (2.6.4) sind die Tschebyscheff-Punkte

x_{k} := \frac{α + β}{2} − \frac{β − α}{2} cos (\frac{2k + 1}{2n + 2}π), k = 0, …, n.  (2.6.5)

Der Minimalwert der Norm ist

∥ω_{n+1}∥_{∞} = max_{x∈[α,β]} |ω_{n+1}(x)| = 2 (\frac{β − α}{4})^{n+1} .  (2.6.6)

Bemerkung: Die Knoten ergeben sich aus den in (2.4.8) genannten durch affine Transformation des Intervalls

\{ \begin{matrix}[−1, 1] & ↦ & [α, β] \\ ξ & ↦ & \frac{α+β}{2} − \frac{β−α}{2}ξ = x \end{matrix} .  (2.6.7)

Die Punkte ξ_{k} = cos \frac{2k+1}{2n+2}π = Re exp (i\frac{2k+1}{2n+2}π) sind die Realteile der (4n + 4)-ten komplexen Einheitswurzeln. Sie liegen am Rand des Intervalls [−1, 1] viel dichter als im Innern.

[figure: n = 3]

Beweis des Satzes: Beim Standardintervall [α, β] = [−1, 1] gilt x_{k} = −ξ_{k}, k = 0, …, n, also

T_{n+1}(x_{k}) = cos ((n + 1) arccos x_{k}) = cos ((n + 1)\frac{2k + 1}{2n + 2}π) = cos (\frac{π}{2} + kπ) = 0.

Daher ist ω_{n+1}, bis auf eine Konstante, das Tschebyscheff-Polynom, der Vergleich des höchsten Koeffizienten mit (2.4.10) liefert genauer

ω_{n+1}(x) = x^{n+1} + … = 2^{−n}T_{n+1}(x).

Die Funktion cos(n + 1)φ nimmt ihre Extrema ±1 in den Stellen φ_{j} = \frac{jπ}{n+1} an, das Polynom ω_{n+1} seine Extrema ±2^{−n} daher in t_{j} = cos \frac{jπ}{n+1}, j = 0, …, n + 1. Daher gilt

∥ω_{n+1}∥_{∞} = 2^{−n}.

Dies ist tatsächlich der Minimalwert dieser Norm, gäbe es nämlich ein Polynom der Form p_{n+1} = x^{n+1} + … mit kleinerer Norm, dann müßte für dessen Differenz zu ω_{n+1} in den Stellen t_{j} gelten

ω_{n+1}(t_{j}) − p_{n+1}(t_{j}) \{ \begin{matrix}< 0 & für & n + 1 − j gerade \\ > 0 & für & n + 1 − j ungerade \end{matrix} , j = 0, …, n + 1.

Das Polynom ω_{n+1} − p_{n+1} vom Grad n (!) hätte dann aber mindestens n + 1 Nullstellen. Dies führt zu einem Widerspruch.

Durch die Transformation (2.6.7) wird

T_{n+1}(ξ) = T_{n+1}(\frac{α + β − 2x}{β − α}) = 2^{n}(\frac{−2}{β − α})^{n+1}x^{n+1} + …,

die Normierung des höchsten Koeffizienten ergibt damit

ω_{n+1}(x) = ( − \frac{β − α}{2})^{n+1}2^{−n}T_{n+1}(ξ).

Daraus folgt die Schranke (2.6.6).

Nach dem Satz von Weierstraß kann jede stetige Funktion beliebig genau durch Polynome approximiert werden. Es ist jedoch ein Trugschluß, dieses Ergebnis unbesehen auf Interpolationspolynome zu übertragen, selbst wenn immer mehr Stützstellen verwendet werden. Dazu wird die Fehleraussage (2.6.3) für zwei Klassen von Knoten betrachtet. Für äquidistante Punkte x_{j} = α + j(β − α)/n, j = 0, …, n, ergibt sich für ω_{n+1} aus (2.6.2) die einfache Schranke

∥ω_{n+1}∥_{∞} ≤ (\frac{β − α}{n})^{n+1}n! ≤ c(\frac{β − α}{e})^{n+1} \frac{1}{\sqrt{n}}, äquidistant,

deren asymptotisches Verhalten mit der Stirlingschen Formel approximiert wurde. Mit Hilfe dieser Aussage und der aus (2.6.6) ergeben sich explizite Schranken für die Interpolationsfehler bei äquidistanten und Tschebyscheff-Knoten:

∥p_{n} − f∥_{∞} ≤ \frac{c}{\sqrt{n}}(\frac{β − α}{e})^{n+1} \frac{∥f^{(n+1)}∥}{(n + 1)!}, äquidistant,  (2.6.8)
∥p_{n} − f∥_{∞} ≤ 2(\frac{β − α}{4})^{n+1} \frac{∥f^{(n+1)}∥}{(n + 1)!}, Tschebyscheff.  (2.6.9)

Bei diesen Formeln ist zu beachten, daß sich bei einer Vergrößerung des Polynomgrads n auch die Ordnung der Ableitung f^{(n+1)} erhöht. Wie das Beispiel

f(x) := \frac{1}{1 + 25x^{2}} , x ∈ [−1, 1],

bei äquidistanten Stützstellen zeigt, kann das Anwachsen der Ableitungen für n → ∞ verhindern, daß der Fehler klein wird. Tatsächlich divergiert die Folge der Interpolationspolynome {p_{n}} (n → ∞) bei diesem Beispiel in Randnähe bei ±1. Im Vergleich von (2.6.8) und (2.6.9) verbessert der Übergang zu Tschebyscheffpunkten den wichtigsten Vorfaktor e^{−n} etwas auf 4^{−n}.

Diese Beobachtungen legen die Frage nahe, wie weit man mit dem interpolierenden Polynom noch vom bestapproximierenden entfernt ist, d.h. von demjenigen p̂_{n} ∈ Π_{n} mit

∥p̂_{n} − f∥_{∞} = min_{p_{n}∈Π_{n}} ∥p_{n} − f∥_{∞} =: dist(f, Π_{n}).  (2.6.10)

Dazu wird der Interpolationsprozeß als ein Operator

P_{n} : \{ \begin{matrix}C[α, β] & ↦ & Π_{n}, \\ g & ↦ & P_{n}g, & (P_{n}g)(x_{i}) = g(x_{i}), i = 0, …, n, \end{matrix}

betrachtet. Dieser Operator ist linear und ein Projektor, P_{n}^{2} = P_{n}, denn Polynome p_{n} ∈ Π_{n} werden reproduziert, P_{n}p = p. Die Norm dieses Projektors kann aus den Lagrange-Polynomen berechnet werden. Dazu sei

λ_{n}(x) := ∑_{i=0}^{n} |L_{i}(x)|  die Lebesgue-Funktion.  (2.6.11)

Diese tritt im folgenden Satz auf, der ein sehr allgemeines Beweisprinzip benutzt.

Satz 2.6.2 Für f ∈ C[α, β] gilt

∥P_{n}f − f∥_{∞} ≤ (1 + ∥P_{n}∥) dist (f, Π_{n}),  (2.6.12)
∥P_{n}∥ = ∥λ_{n}∥_{∞} ≥ 1,  (2.6.13)

wobei ∥P_{n}∥ := sup {∥P_{n}g∥_{∞}/∥g∥_{∞} : g ∈ C[α, β], g ≢ 0}.

Bemerkung: Dies zeigt, daß der Interpolationsfehler höchstens um den Faktor 1 + ∥P_{n}∥ ≥ 2 vom minimalen Fehler (2.6.10) abweicht. Daher interessieren Interpolationsknoten mit möglichst kleinem Wert ∥P_{n}∥ = ∥λ_{n}∥_{∞}.

Beweis Mit einem beliebigem p ∈ Π_{n} gilt wegen P_{n}p = p die Aussage

∥P_{n}f − f∥_{∞} = ∥P_{n}f − P_{n}p + p − f∥_{∞} = ∥(I − P_{n})(p − f)∥_{∞}
≤ (1 + ∥P_{n}∥)∥p − f∥_{∞}.

Auf der rechten Seite kann nun zum Infimum von ∥p − f∥_{∞} übergegangen werden.

Für die Norm ∥P_{n}∥ folgt aus der Lagrange-Darstellung

∥P_{n}g∥_{∞} = ∥ ∑_{i=0}^{n} g(x_{i})L_{i}∥_{∞} ≤ ∥g∥_{∞}∥ ∑_{i=0}^{n} |L_{i}|∥_{∞} = ∥g∥_{∞}∥λ_{n}∥_{∞},

d.h., ∥P_{n}∥ ≤ ∥λ_{n}∥_{∞}. Zum Nachweis der Gleichheit sei x̂ ∈ [α, β] eine Maximalstelle von λ_{n}, d.h., λ_{n}(x̂) = ∥λ_{n}∥_{∞} und g eine spezielle Funktion mit ∥g∥_{∞} = 1 und g(x_{i}) = sign L_{i}(x̂). Hierfür gilt

∥P_{n}g∥_{∞} ≥ |P_{n}g(x̂)| = | ∑_{i=0}^{n} L_{i}(x̂) sign L_{i}(x̂)| = λ_{n}(x̂).

Dies zeigt die Gleichung in (2.6.13). Die untere Schranke für ∥P_{n}∥ gilt wegen ∥p∥ = ∥P_{n}p∥_{∞} ≤ ∥P_{n}∥∥p∥_{∞} ∀p ∈ Π_{n}.

Die Bestimmung eines bestapproximierenden Polynoms (2.6.10) ist ein sehr aufwendiger Prozeß. Zur Klärung der Frage, ob im konkreten Fall nicht eine gute Interpolierende ausreicht, kann der ’Verlustfaktor’ 1 + ∥P_{n}∥ herangezogen werden. Für Tschebyscheffknoten wächst er wie 1.52 + \frac{2}{π} ln(n + 1). Etwas günstiger verhält sich dieser Faktor für die gestreckten Tschebyscheffknoten

x_{k} = \frac{α + β}{2} − \frac{β − α}{2} \frac{cos \frac{2k+1}{2n+2}π}{cos \frac{π}{2n+2}} , k = 0, …, n, .  (2.6.14)

bei denen x_{0} = α, x_{n} = β. Die folgende Tabelle enthält die entsprechenden Werte für einige Polynomgrade.

n = 5 8 10 15 20
3.1 3.4 3.5 3.7 3.9 Tschebyscheffknoten (2.6.5)
1 + ∥P_{n}∥ ≅ 2.6 2.9 3.0 3.3 3.5 gestreckte Tscheb.Knoten (2.6.14)

3 Numerische Integration und Differentiation

In der Praxis stellt sich oft die Aufgabe, mit einer gegebenen Funktion f eine aufwendige, oder explizit nicht mögliche Operation durchzuführen. Als Ausweg kann man die Funktion durch eine ’einfachere’ ersetzen, für die die Operation (einfach) ausführbar ist. Bei Integration und Differentiation bietet sich die Polynom-Interpolierende in der Lagrange-Form aus §2.2 an:

\begin{aligned}f(x) ≅ & p_{n}(x) & = ∑_{j=0}^{n} L_{j}(x)f(x_{j}) & ⟹^{?} \\ ∫_{a}^{b} f(x)dx ≅ & ∫_{a}^{b} p_{n}(x)dx & = ∑_{j=0}^{n} ( ∫_{a}^{b} L_{j}(x)dx)f(x_{j}) & =: ∑_{j=0}^{n} α_{j}f(x_{j}), \\ f′(0) ≅ & p′_{n}(0) & = ∑_{j=0}^{n} L′_{j}(0) f(x_{j}) & =: ∑_{j=0}^{n} δ_{j}f(x_{j}). \end{aligned}  (3.0.1)

Die Näherungen für Integral- und Ableitungswerte ergeben sich also einfach als Linearkombinationen von Funktionswerten. Daher werden jetzt Approximationen dieses Typs behandelt, zunächst für die Integration.

3.1 Quadratur

Bei schwierigen Integranden (mit Singularitäten) ist es vorteilhaft, diesen als Produkt einer glatten Funktion und einer explizit aufgeführten, schwierigen Gewichtsfunktion g(x) > 0 (z.B. \sqrt{x}, 1/\sqrt{x}, ..) zu schreiben. Wir betrachten daher allgemeiner

Definition 3.1.1 Falls ∫_{a}^{b} f(x)g(x)dx existiert, heißt

∫_{a}^{b} f(x)g(x)dx = ∑_{j=0}^{n} α_{j}f(x_{j}) + R_{n}(f)  (3.1.1)

eine Quadraturformel mit den Gewichten α_{j} zu den Knoten

a ≤ x_{0} < x_{1} < … < x_{n} ≤ b.

Dabei ist R_{n}(f) der Quadraturfehler bzw. das Restglied . Die Formel (3.1.1) besitzt die Ordnung m ∈ N, wenn

R_{n}(p) = 0 ∀p ∈ Π_{m−1}.

Für die speziellen Quadraturformeln, die sich durch Integration des Interpolationspolynoms ergeben, vgl. (3.0.1), gilt

α_{j} = ∫_{a}^{b} L_{j}(x)g(x)dx, j = 0, …, n.  (3.1.2)

Aus der Darstellung (2.3.11) des Interpolationsfehlers r_{n} = f − p_{n} folgt

R_{n}(f) = ∫_{a}^{b} f(x)g(x) − ∑_{j=0}^{n} α_{j}f(x_{j}) = ∫_{a}^{b} r_{n}(x)g(x)dx
= ∫_{a}^{b} ω_{n+1}(x)f[x_{0}, …, x_{n}, x]g(x)dx.  (3.1.3)

Für f ∈ C^{n+1}[a, b] ergibt sich daraus durch Betragsabschätzung die Schranke

|R_{n}(f)| ≤ ∫_{a}^{b} |ω_{n+1}(x)|g(x)dx \frac{1}{(n + 1)!}∥f^{(n+1)}∥_{∞}.  (3.1.4)

Damit folgt insbesondere der

Satz 3.1.2 Die Ordnung einer interpolatorischen Quadraturformel (3.1.1), (3.1.2) ist mindestens n + 1.

Die Betragsschranke kann mit dem Mittelwertsatz der Integralrechnung noch verschärft werden, wenn das Nullstellenpolynom ω_{n+1} nur ein Vorzeichen besitzt, d.h., wenn

ω_{n+1}(x) = (x − x_{0}) ⋯ (x − x_{n}) ≥ 0 ∀x ∈ [a, b] (bzw. ≤ 0 ∀..).  (3.1.5)

Dann gilt, mit ξ_{1}, ξ_{2} ∈ (a, b), sogar

R_{n}(f) = ∫_{a}^{b} ω_{n+1}(x)g(x)dx · f[x_{0}, …, x_{n}, ξ_{1}]
= ϱ_{n} · f^{(n+1)}(ξ_{2}), ϱ_{n} := \frac{1}{(n + 1)!} ∫_{a}^{b} ω_{n+1}(x)g(x)dx.  (3.1.6)

3.2 Newton-Cotes-Formeln

Speziell für g ≡ 1 und äquidistante Knoten x_{j} = x_{0} + jh, j = 0, …, n, die die Randpunkte enthalten (d.h. x_{0} = a, h = (b−a)/n, ’abgeschlossene Formeln’) oder ausschließen (a < x_{0}, x_{n} < b, ’offene Formeln’) ergeben sich die Newton-Cotes-Formeln. Die einfachsten Spezialfälle sind: Rechteckregel: n = 0, offene Formel, Ordnung 2:

∫_{a}^{b} f(x)dx = (b − a) f(\frac{a + b}{2}) + \frac{(b − a)^{3}}{24} f′′(ξ).  (3.2.1)

Trapezregel: n = 1, abgeschlossene Formel, Ordnung 2:

∫_{a}^{b} f(x)dx = \frac{b − a}{2}[f(a) + f(b)] − \frac{(b − a)^{3}}{12} f′′(ξ).  (3.2.2)

Simpsonregel: n = 2, abgeschlossene Formel, Ordnung 4:

∫_{a}^{b} f(x)dx = \frac{b − a}{6}[f(a) + 4f(\frac{a + b}{2}) + f(b)] − \frac{(b − a)^{5}}{2880} f^{(4)}(ξ).  (3.2.3)

In diesen Formeln steht ξ jweils für eine unbekannte Zwischenstelle in (a, b). Eine Tabelle der Gewichte α_{j} und der Fehlerkoeffizienten ϱ_{n} für weitere Ordnungen folgt weiter unten. Zunächst wird nachgeprüft, daß bei der Rechteck- und Simpsonregel die Ordnung tatsächlich n + 2 ist, statt n + 1, wie nach Satz 3.1.2 zu erwarten.

Beweis von (3.2.3): Für a = 0 (oBdA) sind die Lagrangepolynome zu x_{0} = 0, x_{1} = h, x_{2} = 2h:

L_{0}(x) = \frac{(x − h)(x − 2h)}{2h^{2}}, L_{1}(x) = \frac{x(x − 2h)}{−h^{2}}, L_{2}(x) = \frac{x(x − h)}{2h^{2}} ∈ Π_{2}.

Daraus ergeben sich die Gewichte

α_{0} = ∫_{0}^{2h} L_{0}(x)dx = \frac{1}{2h^{2}} [\frac{1}{3}x^{3} − \frac{3h}{2}x^{2} + 2h^{2}x]_{0}^{2h} = \frac{h}{3} = α_{2}, α_{1} = ∫_{0}^{2h} L_{1}(x)dx = \frac{4}{3}h.

Die Fehlerdarstellungen (3.1.4) bzw. (3.1.6) stimmen allerdings noch nicht mit der in (3.2.3) überein. Dazu ist die Zusatzüberlegung erforderlich, daß wegen

\overline{}∫_{0}^{2h} ω_{3}(x)dx = ∫_{0}^{2h} x(x − h)(x − 2h)dx = 0  (3.2.4)

sogar kubische Polynome exakt integriert werden! Wir betrachten eine zusätzliche Interpolationsbedingung p′(x_{1}) = f′(x_{1}). Nach (2.3.7) folgt dann mit p_{2} = f(x_{0})L_{0} + f(x_{1})L_{1} + f(x_{2})L_{2} die Darstellung p_{3}(x) = p_{2}(x) + ω_{3}(x)f[x_{0}, x_{1}, x_{1}, x_{2}] und

∫_{0}^{2h} p_{3}(x)dx = ∫_{0}^{2h} p_{2}(x)dx + \underbrace{∫_{0}^{2h} ω_{3}(x)dx}_{=0} f[x_{0}, x_{1}, x_{1}, x_{2}] = α_{0}f(x_{0}) + α_{1}f(x_{1}) + α_{2}f(x_{2}).

Also gilt (3.1.3) sogar mit n = 3 und auch (3.1.6) mit ϱ_{3} = −\frac{1}{90}h^{5}, da

ω_{4}(x) = x(x − h)^{2}(x − 2h) ≤ 0 ∀x ∈ [0, 2h].

Dieser Beweis überträgt sich auf alle Newton-Cotes-Formeln mit geradem n, die Ordnung ist für diese n + 2 statt n + 1.

Die folgende Tabelle enthält die Gewichte und Fehlerkonstanten der Newton-Cotes-Formeln. Da die Gewichte rational sind, erfolgt die Angabe in der Form

∫_{a}^{b} f(x)dx = \frac{b − a}{γ} ∑_{j=0}^{n} β_{j}f(x_{j}) + c(\frac{b − a}{n})^{m+1}f^{(m)}(ξ), ξ ∈ (a, b).  (3.2.5)

Abgeschlossene Newton-Cotes-Formeln, x_{j} = a + jh, j = 0, …, n, h = \frac{b−a}{n}.
n  γ β_{0}  β_{1}  β_{2}  β_{3}  β_{4}  c  m
1  2  1  1  -1/12  2
2  6  1  4  1  -1/90  4
3  8  1  3  3  1  -3/80  4
4  90  7  32  12  32  7  -8/945  6
5  288 19  75  50  50  75 -275/12096  6
6  840 41 216  27  272  27  -9/1400  8
7 17280 751 3577 1323 2989 2989 -8183/518400 8
8 28350 989 5888 -928 10496 -4540 -2368/467775 10

Die fehlenden Koeffizienten β_{5}, …, β_{8} sind symmetrisch zu ergänzen. Die Gewichte für n ≥ 8 sind nicht mehr positiv. Dies erhöht etwas die Anfälligkeit der Formeln für Rundungsfehler.

Für die Konvergenz (n → ∞) der Quadraturformel (3.2.5) gilt das gleiche wie bei der Polynom-Interpolation. Das Anwachsen der höheren Ableitungen f^{(m)}, m = 2(⌊\frac{n}{2}⌋ + 1), kann die Konvergenz zerstören. Andererseits geht der Fehler

R_{n}(f) = c (\frac{b − a}{n})^{m+1} f^{(m)}(ξ)

sehr schnell gegen Null für (b − a) → 0. Dies kann durch Unterteilung des Gesamtintervalls ausgenutzt werden. Dabei wird eine Quadraturformel fester Ordnung iteriert angewendet. Bei der Trapezregel (3.2.2), z.B., ergibt sich mit Teilintervallen [x_{i−1}, x_{i}], x_{j} = a + jh, j = 0, …, n, h := (b − a)/n, die Näherung

∫_{a}^{b} f(x)dx = ∑_{i=1}^{n} ∫_{x_{i−1}}^{x_{i}} f(x)dx ≅ ∑_{i=1}^{n} \frac{h}{2}[f(x_{i}) + f(x_{i−1})]
= \frac{h}{2}[f(x_{0}) + 2f(x_{1}) + … + 2f(x_{n−1}) + f(x_{n})]. [figure: a; b]

Für diese Näherung und die zur Simpsonregel gilt folgende Fehleraussage.

Satz 3.2.1 Für n ∈ N sei h := (b − a)/n, x_{i} = a + ih, f_{i} := f(x_{i}), i = 0, …, n. Dann gilt mit ξ ∈ (a, b) für die a) iterierte Trapezregel bei f ∈ C^{2}[a, b]:

∫_{a}^{b} f(x)dx = \frac{h}{2}(f_{0} + 2f_{1} + … + 2f_{n−1} + f_{n}) − \frac{b − a}{12}h^{2}f′′(ξ),  (3.2.6)

b) iterierte Simpsonregel bei f ∈ C^{4}[a, b], n gerade:

∫_{a}^{b} f(x)dx = \frac{h}{3}(f_{0} + 4f_{1} + 2f_{2} + 4f_{3} + … + 4f_{n−1} + f_{n}) − \frac{b − a}{180}h^{4}f^{(4)}(ξ).  (3.2.7)

Beweis Die Beweise von a) und b) verlaufen analog. Bei b) wird die Formel (3.2.3) über die \frac{n}{2} =: k Intervalle [x_{2i−2}, x_{2i}] summiert. Beim Restglied ergibt sich dabei mit ξ_{i} ∈ (x_{2i−2}, x_{2i})

−\frac{1}{2880} ∑_{i=1}^{k}(x_{2i} − x_{2i−2})^{5}f^{(4)}(ξ_{i}) = −\frac{32}{2880}h^{5} ∑_{i=1}^{k} f^{(4)}(ξ_{i}) = −\frac{b − a}{180}h^{4}f^{(4)}(ξ).

An diesen Darstellungen sieht man, daß es sinnvoll ist, in (3.2.5) als Ordnung der Formel die Zahl m und nicht m + 1 anzugeben.

Der wesentliche Rechenaufwand bei beiden iterierten Formeln fällt bei den n + 1 Funktionsauswertungen f_{0}, …, f_{n} an. Bei einem Vergleich der Fehler sieht man, daß

R_{n}(f) ∼ \frac{1}{n^{2}} (Trapezregel) bzw. R_{n}(f) ∼ \frac{1}{n^{4}} (Simpsonregel)

gilt bei einem genügend oft differenzierbaren Integranden f. Eine Verdopplung der Zahl n der Funktionsauswertungen verkleinert den Fehler R_{n}(f) bei der Trapezregel um den Faktor \frac{1}{4}, bei der Simpsonregel dagegen um den Faktor \frac{1}{16}, bei vergleichbarem Aufwand. Daher sind bei glatten Integranden Formeln hoher Ordnung günstiger.

Beispiel 3.2.2 ∫_{1}^{2} \frac{dx}{x} = ln 2 = 0.6931472...

h Trapez Fehler Simpson Fehler
1 0.75  0.056
1/2 0.7083.. 0.015.. 0.694.. 0.00129..
1/4 0.6970.. 0.0038.. 0.69325..  0.00010..
1/8 0.6941.. 0.00097.. 0.69315..  0.000007..
1/16 0.69339.. 0.0002.. 0.6931476.. 0.0000004..

Diese Beobachtung führt natürlich sofort auf den Wunsch, mit möglichst wenig Funktionsauswertungen eine möglichst hohe Ordnung zu erzielen. Dieses Ziel wird bei der folgenden Klasse von Quadraturformeln erreicht.

3.3 Gauß-Quadratur

Bei den Newton-Cotes-Formeln ergab sich für geraden Polynomgrad n eine um eins erhöhte Konvergenzordnung aufgrund der Eigenschaft

∫_{a}^{b} ω_{n+1}(x)dx = 0, ω_{n+1} = (x − x_{0}) ⋯ (x − x_{n}),

die auf die Symmetrie der Knoten x_{i} zurückzuführen war. Durch geeignete Wahl der Knoten x_{i} kann es sogar erreicht werden, daß für den Quadraturfehler (3.1.1) gilt

R_{n}(f) = 0 ∀f ∈ Π_{2n+1}.  (3.3.1)

Dazu sei f ∈ Π_{2n+1} und p_{n}(x) = ∑_{i=0}^{n} f(x_{i})L_{i}(x) das zugehörige Interpolationspolynom vom Grad n. Dann ist f = p_{n} + ω_{n+1} · q_{n} mit q_{n} ∈ Π_{n}. Damit entspricht die Forderung (3.3.1) der Beziehung

R_{n}(f) = ∫_{a}^{b} f(x)g(x)dx − ∫_{a}^{b} p_{n}(x)g(x)dx = ∫_{a}^{b} ω_{n+1}(x)q_{n}(x)g(x)dx =^{!} 0.

Daher ist (3.3.1) offensichtlich genau dann erfüllt, wenn

∫_{a}^{b} ω_{n+1}(x)q(x)g(x)dx = 0 ∀q ∈ Π_{n}.  (3.3.2)

Für g > 0 in (a, b) stellt

(u, v)_{g} := ∫_{a}^{b} u(x)v(x) g(x)dx  (3.3.3)

ein Innenprodukt in C[a, b] dar. Die Forderung (3.3.2) bedeutet daher

ω_{n+1} ⊥_{g} Π_{n} ⟺ (ω_{n+1}, q)_{g} = 0 ∀q ∈ Π_{n},  (3.3.4)

es muß ω_{n+1} also g-orthogonal zu allen Polynomen vom Grad n gewählt werden!

Eine Familie von Orthogonalpolynomen ω_{k}, k ∈ N, zum Innenprodukt (3.3.3) kann mit Hilfe des E. Schmidtschen Orthogonalisierungsverfahrens aus der Basis {1, x, x^{2}, …} oder nach Satz 2.4.1 konstruiert werden. Diese Polynome besitzen glücklicherweise nur reelle Nullstellen in (a, b), die als Knoten x_{0}, …, x_{n} einer Quadraturformel verwendet werden können. Die wesentlichen Aussagen werden im nächsten Satz zusammengefaßt, später folgt ein Überblick über einige wichtige Klassen von Orthogonal-Polynomen.

Satz 3.3.1 Die Stützstellen x_{i}, i = 0, …, n, der Quadraturformel (3.1.1) seien als Nullstellen des Orthogonalpolynoms vom Grad n + 1 zur Gewichtsfunktion g ∈ C[a, b], g > 0 in (a, b), gewählt, d.h. ω_{n+1} ∈ Π_{n+1}, ω_{n+1} ⊥_{g} Π_{n}. Dann besitzt diese Gauß-sche Quadraturformel die Ordnung 2n + 2, d.h. R_{n}(f) = 0 ∀f ∈ Π_{2n+1}. Für f ∈ C^{2n+2}[a, b] gilt mit ξ ∈ (a, b),

R_{n}(f) = ∫_{a}^{b} f(x)g(x)dx − ∑_{i=0}^{n} α_{i}f(x_{i}) = \frac{1}{(2n + 2)!} ∫_{a}^{b} ω_{n+1}^{2}(x)g(x)dx f^{(2n+2)}(ξ).  (3.3.5)

Bemerkung: Gegenüber den Newton-Cotes-Formeln erhält man also ungefähr die doppelte Konvergenzordnung. Bei der Verwendung in iterierten Formeln besitzten die Gaußformeln aber praktische Nachteile (vgl. §3.4).

Beweis Hier ist nur noch zu zeigen, daß das Restglied die von (3.1.6) abweichende Form hat. Analog zum Beweis bei der Simpsonregel (3.2.3) werden zusätzliche Interpolationsbedingungen benutzt, nämlich f′(x_{0}), …, f′(x_{n}). Die Newtonform dieses Interpolationspolynoms p_{2n+1} ∈ Π_{2n+1} mit

p_{2n+1}(x_{i}) = f(x_{i}), p′_{2n+1}(x_{i}) = f′(x_{i}), i = 0, …, n,

hat im Vergleich zu p_{n} ∈ Π_{n}, p_{n}(x_{i}) = f(x_{i}), i = 0, …, n, nach (2.3.7) die Gestalt

p_{2n+1}(x) = p_{n}(x) + ω_{n+1}(x)f[x_{0}, .., x_{n}, x_{0}] + ω_{n+1}(x)(x − x_{0})f[x_{0}, .., x_{n}, x_{0}, x_{1}] +
… + ω_{n+1}(x)(x − x_{0}) ⋯ (x − x_{n−1})f[x_{0}, …, x_{n}, x_{0}, …, x_{n}].

Außerdem ist nach (2.3.11)

f(x) = p_{2n+1}(x) + ω_{n+1}^{2}(x)f[x_{0}, …, x_{n}, x_{0}, …, x_{n}, x].  (3.3.6)

Aufgrund der Orthogonalität (3.3.4) gilt aber

∫_{a}^{b} ω_{n+1}(x)(x − x_{0}) ⋯ (x − x_{k})g(x)dx = 0 ∀k < n, d.h.,
∫_{a}^{b} p_{2n+1}(x)g(x)dx = ∫_{a}^{b} p_{n}(x)g(x)dx = ∑_{i=0}^{n} α_{i}f(x_{i}).  (3.3.7)

Aus (3.3.6) folgt die Aussage (3.3.5), da die Fehlerformel (3.1.6) wegen ω_{n+1}^{2} ≥ 0 jetzt auf p_{2n+1} angewendet werden kann. Bemerkung: In (3.3.7) zeigt sich, daß die Gewichte β_{i} in der zu p_{2n+1} gehörigen Quadraturformel ∫_{a}^{b} p_{2n+1}(x)g(x)dx = ∑_{i=0}^{n}[α_{i}f(x_{i}) + β_{i}f′(x_{i})] alle verschwinden, β_{i} ≡ 0.

Zum Vergleich der verschiedenen Methoden betrachten wir folgendes

Beispiel 3.3.2 ∫_{−1}^{1} e^{x}dx = e^{1} − e^{−1} = 2 sinh 1 = 2.3504024. Näherungen

a) Trapezregel, Ordnung 2, 2 Schritte, 3 Punkte:

\frac{b − a}{4}[f(−1) + 2f(0) + f(1)] = 2 cosh^{2} \frac{1}{2} = 2.54308.., Fehler = 0.193..

b) Simpsonregel, Ordnung 4, 3 Punkte:

\frac{b − a}{6}[f(−1) + 4f(0) + f(1)] = \frac{1}{3}[4 + 2 cosh 1] = 2.36205.., Fehler = 0.012..

c) Gaußquadratur mit 2 Punkten, Ordnung 4. Bestimmung der Orthogonalpolynome: ω_{0} = P_{0} ≡ 1, ω_{1}(x) = P_{1}(x) = x ⊥ ω_{0}, Ansatz ω_{2} = x^{2} + ax + b ⊥ Π_{1}, d.h.

α) 0 =^{!} ∫_{−1}^{1}[x^{2} + ax + b]dx = [\frac{x^{3}}{3} + a\frac{x^{2}}{2} + bx]_{−1}^{1} = \frac{2}{3} + 2b ⇒ b = −\frac{1}{3},

β) 0 =^{!} ∫_{−1}^{1} x[x^{2} + ax + b]dx = [\frac{x^{4}}{4} + a\frac{x^{3}}{3} + b\frac{x^{2}}{2} ]_{−1}^{1} = \frac{2}{3}a ⇒ a = 0.

Dies ergibt ω_{2}(x) = x^{2} − \frac{1}{3} mit den Nullstellen x_{0} = −\frac{1}{\sqrt{3}}, x_{1} = \frac{1}{\sqrt{3}} = 0.57735.. Aus Symmetriegründen ist α_{0} = α_{1} = 1. Die Gaußnäherung hat daher den Wert

f(x_{0}) + f(x_{1}) = 2 cosh(x_{1}) = 2.342696.. Fehler = −0.0077..

Je nach Art der im Integranden zu berücksichtigenden Singularität (→ Gewichtsfunktion) ergeben sich verschiedene Polynomfamilien (vgl. folgende Tabelle). Die wichtigste Familie zur Gewichtsfunktion g ≡ 1 ist die der Legendrepolynome. Zur Vereinfachung wird meist das Standardintervall [−1, 1] zugrundegelegt, andere Intervalle können durch Variablensubstitution darauf zurückgeführt werden (wie (2.6.7)).

Polynom-Orthogonalfamilien nach Satz 2.4.1 und 3.3.1:

Intervall Gewichtsfunkt. Bezeichnung  Rekursionsformel
[−1, 1] g ≡ 1 Legendre-Pol. P_{n+1} = \frac{2n+1}{n+1}xP_{n} − \frac{n}{n+1}P_{n−1}, P_{0} = 1, P_{1} = x
[−1, 1] g(x) = \sqrt{1 − x^{2}} Tscheby. 2.Art U_{n+1} = 2xU_{n} − U_{n−1}, U_{0} = 1, U_{1} = 2x

(−1, 1) g(x) = \frac{1}{\sqrt{1−x^{2}}} Tscheby. 1.Art

T_{n+1} = 2xT_{n}−T_{n−1}, T_{0} = 1, T_{1} = x
Gewichte konstant, α_{j} = \frac{π}{n}
[0, ∞)  g(x) = e^{−x}  Laguerre-Pol. {L_{n+1} = \frac{2n+1−x}{n+1}L_{n} − \frac{n}{n+1}L_{n−1} \atop L_{0} = 1, L_{1} = 1 − x}
(−∞, ∞) g(x) = e^{−x^{2}}  Hermite-Pol. H_{n+1} = 2xH_{n} − 2nH_{n−1}, H_{0} = 1, H_{1} = 2x

Über die angegebenen Polynomfamilien gibt es eine umfangreiche Literatur v.a. im Zusammenhang mit Reihenentwicklungen für Lösungen von Differentialgleichungen (z.B. Courant-Hilbert). Quadratur-Knoten und -Gewichte sind tabelliert, die Berechnung ist bei Stoer, §3.5, besprochen.

Eine explizite Darstellung von Orthogonalpolynomen ist mit Hilfe der Rodriguez-Formeln möglich. Die Legendre-Polynome, z.B., haben, bis auf Konstanten, die Gestalt

P_{n}(x) = \frac{n!}{(2n)!} \frac{d^{n}}{dx^{n}} (x^{2} − 1)^{n}, n = 0, 1, ….  (3.3.8)

Diese Formel ergibt sich aus den Orthogonalitätsbedingungen (3.3.2) durch partielle Integration. Aus dieser Darstellung (3.3.8) folgt übrigens direkt die Existenz von n reellen Nullstellen in (−1, 1) nach dem Satz von Rolle.

3.4 Adaptive Integration

Bisher ist die Frage völlig offen geblieben, wie in einem konkreten Fall, bei einem speziellen Integranden, das Quadraturverfahren und dessen Parameter (Schrittweite h, Ordnung) zu wählen sind. Im allgemeinen ist man daran interessiert, den Integralwert mit einer bestimmten Genauigkeit ε bei minimalem Aufwand zu bestimmen. Falls über den Integranden genügend analytische Information vorhanden ist, kann im Prinzip aus der Restglieddarstellung (3.1.4) die Ordnung der Formel und die Zahl der Teilintervalle so bestimmt werden, daß die Fehlerschranke den Wert ε nicht überschreitet.

Diese aufwendige Methode läßt sich umgehen, wenn die Quadraturformel mit einer Fehler(ab)schätzung verbunden wird. Dies soll bei der iterierten Trapezregel besprochen werden. Wenn das Intervall [a, b] in n Teile [x_{i−1}, x_{i}] zerlegt ist, gilt in jedem Teil

∫_{x_{i−1}}^{x_{i}} f(x)dx − \frac{1}{2}(x_{i} − x_{i−1})[f(x_{i−1}) + f(x_{i})] = −\frac{1}{12}(x_{i} − x_{i−1})^{3}f′′(ξ_{i}) =: R[x_{i−1}, x_{i}]. (3.4.1)

Der lokal auftretende Fehler setzt sich also aus der aktuellen Teilintervallänge und dem lokalen Wert der zweiten Ableitung zusammen. Eine effiziente Strategie bei der Quadratur sollte den vorgegebenen Fehler mit möglichst wenig Funktionsauswertungen erreichen. Im Bereich kleiner Ableitungen kann dazu mit großen Schrittweiten vorgegangen werden, während bei großen Ableitungswerten viel feinere Unterteilungen nötig sind.

[figure]

Eine gute Strategie in diesem Sinn ist die der Gleichverteilung des Fehlers

|R[x_{i−1}, x_{i}]| ≤^{!} \frac{x_{i} − x_{i−1}}{b − a} ε, i = 1, …, n.  (3.4.2)

Dann gilt nämlich

|∫_{a}^{b} f(x)dx − ∑_{i=1}^{n} \frac{x_{i} − x_{i−1}}{2} [f(x_{i−1}) + f(x_{i})]| ≤ ∑_{i=1}^{n} |R[x_{i−1}, x_{i}]| ≤ ∑_{i=1}^{n} \frac{x_{i} − x_{i−1}}{b − a} ε = ε. (3.4.3)

Zur Anwendung der Strategie (3.4.2) sind zwei Fragen zu klären:

a) Wie erhält man eine Abschätzung des lokalen Fehlers R[x_{i−1}, x_{i}]?

b) Wie konstruiert man damit eine Unterteilung, die (3.4.2) erfüllt?

Zu a): Außer bei einfachen Integranden, bei denen ∥f′′∥_{[x_{i−1},x_{i}]} abgeschätzt werden kann (evtl. mit Intervallrechnung), begnügt man sich mit einer Schätzung des lokalen Fehlers R[x_{i−1}, x_{i}]. So gilt, z.B., mit h_{i} := x_{i} − x_{i−1} für ein ζ_{i} ∈ (x_{i−1}, x_{i}) die Aussage

f(x_{i−1}) − 2f(\frac{x_{i−1} + x_{i}}{2} ) + f(x_{i}) = \frac{1}{4}h_{i}^{2}f′′(ζ_{i}) ≅ −\frac{3}{h_{i}} R[x_{i−1}, x_{i}].  (3.4.4)

Nachweis durch Taylorentwicklung um μ = \frac{1}{2}(x_{i−1} + x_{i}):

f(x_{i−1})−2f(μ)+f(x_{i}) = f(μ)− \frac{h_{i}}{2} f′(μ)+ \frac{h_{i}^{2}}{8} f′′(ξ_{−})−2f(μ)+f(μ)+ \frac{h_{i}}{2} f′(μ)+ \frac{h_{i}^{2}}{8} f′′(ξ_{+}).

Mit der Approximation (3.4.4) wird das Kriterium (3.4.2) ersetzt durch

|f(x_{i−1}) − 2f(\frac{x_{i−1} + x_{i}}{2} ) + f(x_{i})| ≤^{!} \frac{3ε}{b − a}.  (3.4.5)

Zu b): Die Gitterkonstruktion zur Einhaltung von (3.4.2) bzw. (3.4.5) kann ganz einfach über

folgendes adaptive Verfahren geschehen:

— wähle x_{0} := a, x_{1} := b;

— Falls (3.4.5) verletzt ist, halbiere das Intervall: x_{1} := (x_{0}+ x_{1})/2;

— Falls (3.4.5) gilt, akzeptiere den Integralwert für ∫_{x_{0}}^{x_{1}} und fahre wie oben fort mit der Integration im Restintervall ∫_{x_{1}}^{b},

d.h. mit x_{0} := x_{1}, x_{1} := b. a x_{0}  bx_{1} x_{0}  x_{1} x_{0}  x_{1}

Der folgende Programmteil beschreibt diesen einfachen Algorithmus. Algorithmus 3.4.1 Einfache adaptive Quadratur

x_{0} := a; f0 := f(x0); x1 := b; f1 := f(x1); w := 0; e := 3ε/(b − a); repeat xm := 0.5 ∗ (x0 + x1); fm := f(xm);

if abs(f0 − 2 ∗ fm + f1) <= e then {akzeptieren} begin w := w + 0.5 ∗ (x1 − x0) ∗ (f0 + f1); x0 := x1; f0 := f1; x1 := b; f1 := f(x1)

end else {halbieren}

begin x1 := xm; f1 := fm end until x0 >= b;

In der Praxis sind Funktionsauswertungen zu teuer, um sie im Falle eines nicht akzeptierten Teilintegrals zu verwerfen. Durch eine Einschränkung der Teilintervallängen auf die Werte (b − a)2^{−j}, j ∈ N, und einfache Zusatzbedingungen kann erreicht werden, daß alle einmal berechneten Funktionswerte später auch verwendet werden. Die Verwaltung der gespeicherten Funktionswerte läßt sich elegant in einem Keller speicher (Stapel, stack, FILO) realisieren. Beispiel:

Schwarz markierte

Gitterwerte stehen im Keller

[figure: halbieren; halbieren; akzeptieren; halbieren; akzeptieren; etc...]

Bei professionellen Programmen wird außer der Schrittweite auch die Ordnung der Quadraturformel lokal gesteuert. Demo-Beispiel: Adaptive Integration von

∫_{0}^{1} e^{x} dx, ∫_{−1}^{1} (\sqrt{|x^{2} − 0.25|} − \frac{1}{3}) dx, ∫_{0}^{1} sin \frac{1}{x^{2} + 0.05} dx.

3.5 Richardson-Extrapolation, Romberg-Verfahren

Im letzten Abschnitt wurde zum ersten Mal die theoretische Kenntnis des Fehlerverhaltens von Quadraturformeln praktisch ausgenutzt. Dies kann in noch viel stärkerem Maße zu einer erheblichen Verbesserung der Konvergenz verwendet werden. Dazu sei noch einmal an die Werte des Beispiels aus §3.2 erinnert: Beispiel 3.5.1 : Iterierte Trapezregel zu W := ∫_{1}^{2} \frac{1}{x} dx = ln 2 = 0.6931472...

h 1  1/2  1/4  1/8  1/16
T_{h} 0.75  \underline{0.7}0833 \underline{0.69}702 \underline{0.69}4122 \underline{0.693}391
Fehler 0.0568 0.01518 0.00387 0.000975 0.000244
Fehler-Quotient 3.74 3.92 3.99 3.996

Der Quotient aufeinanderfolgender Fehler konvergiert anscheinend gegen 4 für h → 0,

\frac{W − T_{h}}{W − T_{h/2}} → 4, d.h., W − T_{h} − ah^{2} = o(h^{2}).

Dabei ist a eine Konstante und o(h^{k}), (h → 0), bezeichnet eine Funktion, die schneller gegen Null geht als h^{k}. Bei Vernachlässigung dieses Terms in der letzten Gleichung kann die unbekannte Konstante a bei Kenntnis von zwei Trapeznäherungen eliminiert werden in folgender Weise:

a ≐ \frac{1}{h^{2}} (W − T_{h}) ⇒ W ≐ T_{h/2} + a\frac{h^{2}}{4} ≐ T_{h/2} + \frac{h^{2}}{4} \frac{1}{h^{2}} (W − T_{h}), bzw.
W ≐ \frac{4}{3}T_{h/2} − \frac{1}{3}T_{h} =: T̂_{h/2}.  (3.5.1)

Die auf diese Weise neu kombinierten Werte zum letzten Zahlenbeispiel lauten

h = 1 1/2 1/4 1/8 1/16
T̂_{h}=  \underline{0.69}444 \underline{0.693}2 \underline{0.6931}6 \underline{0.693147}

Diese besitzen ca. die doppelte Anzahl von gültigen Ziffern wie die ursprünglichen Trapezwerte. Der Erfolg des Vorgehens beruht auf folgender Eigenschaft.

Definition 3.5.2 Die Größe T_{h}, 0 < h ∈ R, besitzt eine asymptotische Entwicklung (nach Potenzen von h^{k}), wenn q ∈ N und von h unabhängige Koeffizienten a_{j} ∈ R existieren so, daß

T_{h} = W + a_{1}h^{k} + a_{2}h^{2k} + … + a_{q}h^{qk} + O(h^{qk+1}), h → 0.  (3.5.2)

Bei der Trapezregel ist k = 2 (s.u.), die Linearkombination (3.5.1) liefert mit (3.5.2) die Entwicklung

T̂_{h/2} = \frac{4}{3}T_{h/2} − \frac{1}{3}T_{h} = W + a_{1}h^{2}(\frac{4}{3} \frac{1}{4} − \frac{1}{3}) + a_{2}(\frac{4}{3} \frac{1}{16} − \frac{1}{3}) + …
= W − \frac{1}{4}a_{2}h^{4} + …

In der Entwicklung wurde also der h^{2}-Fehleranteil eliminiert, T̂_{h} ist jetzt eine Näherung der Ordnung 4. Genauer gilt T̂_{h/2} = W + â_{2}(\frac{h}{2})^{4} + . . .. Daher kann das Extrapolationsverfahren von oben noch einmal auf T̂ angewendet werden. Bevor dieses Verfahren systematischer untersucht wird, sei zunächst die Aussage (3.5.2) für die Trapezregel formuliert.

Satz 3.5.3 (Euler-McLaurin-Summenformel) Für f ∈ C^{2q+2}[a, b] besitzt die iterierte Trapezregel (3.2.6) folgende h^{2}-Entwicklung, h = (b − a)/n,

T_{h} = \frac{h}{2}[f_{0} + 2f_{1} + … + 2f_{n−1} + f_{n}] = ∫_{a}^{b} f(x)dx  (3.5.3)

+ ∑_{j=1}^{q} b_{j}h^{2j}[f^{(2j−1)}(b) − f^{(2j−1)}(a)] + c_{2q+2}h^{2q+2}f^{(2q+2)}(ξ), ξ ∈ (a, b).

Beweis (-Idee, vgl. Stoer) Auf einem einzelnen Intervall, z.B. [0, h], gilt

\frac{h}{2}[f(0) + f(h)] = [(x − \frac{h}{2})f(x)]_{0}^{h} = ∫_{0}^{h} [(x − \frac{h}{2})f(x)]′ dx = ∫_{0}^{h} f(x)dx + ∫_{0}^{h}(x − \frac{h}{2})f′(x)dx.

Hier kann nun wieder partiell integriert werden. Dabei lassen sich die Integrationskonstanten so wählen, daß Terme mit ungeraden h-Potenzen nicht auftreten. Im ersten Schritt etwa ist p_{2}(x) := \frac{1}{2}(x^{2} − hx + h^{2}/6) eine Stammfunktion von (x − \frac{h}{2}) mit ∫_{0}^{h} p_{2}(x)dx = 0. Daher gilt

\frac{h}{2}[f(0) + f(h)] = ∫_{0}^{h} f(x)dx + \frac{h^{2}}{12}[f′(h) − f′(0)] + ∫_{0}^{h} p_{3}(x)f′′′(x)dx,

also b_{1} = 1/12, wobei p′_{3} = p_{2}, p_{3}(0) = p_{3}(h) = 0. Das Gesamtergebnis (3.5.3) folgt durch Summation über die Teilintervalle. Bemerkung: Der Summenformel entnimmt man, z.B., auch folgende Aussage: Wenn der Integrand (b − a)-periodisch ist, besitzt die Trapezregel sogar maximale Ordnung 2q + 2!

Folgendes Prinzip liegt den Extrapolationsverfahren zugrunde. Es soll eine Größe W = lim_{h→0} T_{h} =: T_{0} bestimmt werden, wobei T_{h} aber nur für (einzelne) Werte h > 0 tatsächlich berechnet werden kann. Anstatt nun die Elemente einer Folge von Werten T_{h_{0}}, T_{h_{1}}, … unabhängig voneinander zu betrachten, ist es günstiger, als Näherung für T_{0} den Wert des Interpolationspolynoms zu (h_{0}, T_{h_{0}}), …, (h_{m}, T_{h_{m}}) an der Stelle h = 0 heranzuziehen. Zur Auswertung des Polynoms in 0 eignet sich am besten der Neville-Algorithmus

(2.3.5). [figure: h_{0}; h_{1}; h_{2}; h_{3}; 0; T_{0}; T_{h}]

Dazu wird (3.5.2) als Polynom in h^{k} aufgefaßt. Für die Werte p_{ij} = p_{ij}(0) ergibt sich daraus der folgende Algorithmus der Richardson-Extrapolation:

p_{i0} := T_{h_{i}}, i = 0, …, m
p_{ij} := p_{i+1,j−1} + \frac{p_{i+1,j−1} − p_{i,j−1}}{(h_{i}/h_{i+j})^{k} − 1} , \{ \begin{matrix}i = 0, …, m − j \\ j = 1, …, m \end{matrix} .  (3.5.4)

Die Berechnung erfolgt wieder in einem Dreieckschema spalten- oder zeilenweise. In der Praxis werden meist feste Schrittweitenfolgen, z.B. h_{i}/h_{i+j} = 2^{j}, verwendet. Dann benötigt (3.5.4) nur 3 Operationen pro Schritt. Die durch die Extrapolation (3.5.4) erreichte Erhöhung der Konvergenzordnung ergibt sich aus

Satz 3.5.4 Wenn für die Größe T_{h} eine asymptotische Entwicklung (3.5.2) existiert, dann gilt für die nach (3.5.4) mit h_{0} > h_{1} > … extrapolierten Werte die Darstellung

p_{ij} = T_{0} + h_{i}^{k} ⋯ h_{i+j}^{k}[(−1)^{j}a_{j+1} + O(h_{i}^{k})],  (3.5.5)

h_{0} → 0, j < q. Bei einem konstanten Schrittweitenverhältnis v = h_{i}/h_{i−1} < 1 ergibt sich insbesondere

p_{ij} = T_{0} + h_{i+j}^{k(j+1)}[(−1)^{j}v^{−j(j−1)/2}a_{j+1} + O(h_{i+j}^{k})],  (3.5.6)

h_{0} → 0, j < q. Die Ordnung der Näherung hat sich also auf h^{k(j+1)} erhöht.

Beweis Alle Größen werden als Funktionen von s := h^{k} interpretiert. Da die Polynominterpolation eine lineare Operation darstellt, kann man sich beim Verfahren (3.5.4) auf die Betrachtung eines Summanden in (3.5.2) beschränken. Der Wert des Interpolationspolynoms q_{l,j}(s) vom Grad j zu einem Monom

h^{lk} = s^{l}, 1 = s^{0},

im Punkt s = 0 ist q_{0j}(0) = 1 (für l = 0) bzw. q_{lj}(0) = 0 (für 0 < l ≤ j). Dagegen entspricht der Wert für l = j + 1 gerade dem Interpolationsfehler bei g(s) := s^{j+1}, nach (2.3.11) also

p_{j+1,j}(0) = g(0) − (0 − s_{i}) ⋯ (0 − s_{i+j})g[s_{i}, …, s_{i+j}, 0] = (−1)^{j}s_{i} ⋯ s_{i+j} \frac{(j + 1)!}{(j + 1)!}.

Daher hat das Interpolationspolynom vom Grad j zu T_{0} + a_{1}s + … + a_{j+1}s^{j+1} in s = 0 den Wert T_{0} + (−1)^{j}s_{i} ⋯ s_{i+j}a_{j+1}. Dies entspricht der Behauptung.

Praktische Durchführung

1. In der Trapezregel brauchen nach einer Schrittweitenhalbierung bei der Berechnung von T_{h/2} die in T_{h} enthaltenen Funktionswerte nicht mehr neu berechnet zu werden. Bei Extrapolation sind daher folgende Schrittweitenfolgen günstig.

a) Romberg-Folge: h_{0} = β − α, h_{i} = 2^{−i}h_{0}. Diese Quadratur-Methode heißt Romberg-Verfahren. In Satz 3.5.4 gilt

p_{ij} = T_{0} + h_{i+j}^{2j+2}ā_{j+1} + ….

Wenn hiermit hohe Ordnungen erreicht werden sollen, werden allerdings sehr viele Funktionsauswertungen benötigt, nämlich 2^{j} + 1 für p_{0j}. Eine Formel der Ordnung 16 etwa verwendet hier 129 Punkte, während die Gaußformel dafür mit nur 8 Punkten auskommt!

b) Bulirsch-Folge: h_{0} = β − α und für i = 1, 2, …

h_{i}/h_{0} = \frac{1}{2}, \frac{1}{3}, \frac{1}{4}, \frac{1}{6}, \frac{1}{8}, \frac{1}{12}, … = \{ \begin{matrix}2^{−(i+1)/2}, & i ungerade, \\ \frac{2}{3}2^{−i/2}, & i gerade. \end{matrix}

Die Anzahl der für eine bestimmte Ordnung benötigten Stützstellen wächst hier langsamer, Ordnung 16, z.B., ist jetzt mit 25 Punkten erreichbar.

2. Wie bei den anderen Quadraturverfahren kennt man i. a. nicht die günstigste Ordnung (etwa die Differenzierbarkeitsordnung von f). Daher sollte die Durchführbarkeit der Extrapolation in der Praxis durch Überwachung der Konvergenzaussage (3.5.5), (3.5.6) sichergestellt werden. Für die Romberg-Folge gilt nach (3.5.6):

p_{ij} = T_{0} + h_{i+j}^{2j+2}ā_{j+1} + h_{i+j}^{2j+4}ā_{j+2} + ….

Daher ist

p_{i,j} − p_{i−1,j} = h_{i+j}^{2j+2}(1 − 2^{2j+2})ā_{j+1} + h_{i+j}^{2j+4}(1 − 2^{2j+4})ā_{j+2} + …
p_{i+1,j} − p_{i,j} = h_{i+j}^{2j+2}(2^{−2j−2} − 1)ā_{j+1} + h_{i+j}^{2j+4}(2^{−2j−4} − 1)ā_{j+2} + …

Für den Quotienten dieser Differenzen gilt daher

\frac{p_{i,j} − p_{i−1,j}}{p_{i+1,j} − p_{i,j}} = \frac{(1 − 2^{2j+2})ā_{j+1} + h_{i+j}^{2}(…)ā_{j+2} + …}{(2^{−2j−2} − 1)ā_{j+1} + h_{i+j}^{2}(…)ā_{j+2} + …} = 2^{2j+2} + O(h_{i+j}^{2}).

Daher sollte bei einer zu großen Abweichung

2^{−2j−2} \frac{p_{i,j} − p_{i−1,j}}{p_{i+1,j} − p_{i,j}} − 1

auf eine weitere Extrapolation j → j + 1 verzichtet werden.

Beispiel 3.5.5 ∫_{1}^{2} \frac{1}{x}dx = ln 2 = 0.69314718056, Rombergfolge. Die Tabelle zeigt die Werte p_{ij}, i = 1, .., 5, 0 ≤ j ≤ i.

h j=0 1 2 3 4
1/2 0.70833333333 0.69325396825 0.69314790148 0.69314718307 0.69314718056
1/4 0.69702380952 0.69315453065 0.69314719430 0.69314718057
1/8 0.69412185037 0.69314765282 0.69314718079
1/16 0.69339120221 0.69314721029
1/32 0.69320820827

Der Wert p_{14} ist auf alle 11 Stellen genau. In der rechtsstehenden Graphik wird die Genauigkeit der Näherungen in den verschiedenen Spalten dieser Tabelle gezeigt. An der horizontalen Achse ist der negative Zweier-Logarithmus der Schrittweiten abgetragen, an der vertikalen der Zehner-Logarithmus der Fehler. Die Ordnung der Näherungen in einer Spalte der Tabelle läßt sich an der Steigung der Punktereihen ablesen.

[figure: − log_{2}(h); 0; 1; 2; 3; 4; 5; −2; −4; −6; −8; −10; −12; j = 0; j = 1; j = 2; j = 3; j = 4]

Bemerkung: 1) Die Richardson-Extrapolation beruht allein auf der Existenz einer asymptotischen Entwicklung (3.5.2). Solche Entwicklungen existieren auch bei vielen anderen Verfahren (z.B. den Differenzenformeln in §3.6). Dort läßt sich die Extrapolation daher analog einsetzen.

2) Mit dem Romberg-Verfahren kann bei adaptiver Integration auch einfach eine Ordnungssteuerung auf den einzelnen Teilintervallen implementiert werden.

3.6 Numerische Differentiation

Zur Approximation von Ableitungen einer Funktion kann nach dem gleichen Prinzip wie bei den einfachen Quadraturformeln vorgegangen werden durch Verwendung von Ableitungen des Interpolationspolynoms:

f^{(k)}(x̂) ≅ p_{n}^{(k)}(x̂) = ∑_{j=0}^{n} f(x_{j})L^{(k)}(x̂).

Da hier weniger Gestaltungsmöglichkeiten bestehen als in §3.1, werden nur kurz einige Beispiele und Besonderheiten beim Fehlerverhalten besprochen. Im folgenden sei [α, β] ein (beliebig kleines) Intervall, das die Stelle x̂ enthält.

Satz 3.6.1 Es sei p_{n} ∈ Π_{n} das Interpolationspolynom zu f ∈ C^{n+1}[α, β] und einfachen Stützstellen x_{j} ∈ [α, β], j = 0, …, n. Dann gilt für k ≤ n und x̂ ∈ [α, β] die Aussage

p_{n}^{(k)}(x̂) − f^{(k)}(x̂) = r_{kn}(x̂)  mit
r_{kn}(x) = (x − x_{0}^{(k)}) ⋯ (x − x_{n−k}^{(k)})\frac{f^{(n+1)}(ξ_{k})}{(n + 1 − k)!},  (3.6.1)

ξ_{k} ∈ (α, β), wobei α < x_{0}^{(k)} < … < x_{n−k}^{(k)} < β. Mit ϱ := max_{j=0}^{n} |x̂ − x_{j}| ≤ β − α gilt daher

|r_{kn}(x̂)| ≤ \frac{ϱ^{n+1−k}}{(n + 1 − k)!}∥f^{(n+1)}∥_{∞}.

Beweis Iterierter Satz von Rolle, vgl. [Stummel-Hainer] Bemerkung: Nach (3.6.1) gibt es offensichtlich in [α, β] Stellen, in denen der Fehler verschwindet. Durch geeignete Wahl der Stützstellen kann x̂ in die Nähe solcher Punkte gebracht werden um, wie bei der Quadratur, eine bessere Konvergenz zu erhalten. Zur Untersuchung wird wieder eine zusätzliche Interpolationsstelle x_{n+1} herangezogen. In der Newtondarstellung ist

f(x) = p_{n}(x) + ω_{n+1}(x)f[x_{0}, …, x_{n+1}] + r_{n+1}(x),

ω_{n+1}(x) = (x − x_{0}) ⋯ (x − x_{n}). Aus dem letzten Satz folgt dann

f^{(k)}(x̂) − p_{n}^{(k)}(x̂) = ω_{n+1}^{(k)}(x̂)f[x_{0}, …, x_{n+1}] + r_{k,n+1}(x̂),  (3.6.2)

mit |r_{k,n+1}(x̂)| ≤ ϱ^{n+2−k}∥f^{(n+2)}∥_{∞}/(n + 2 − k)!. Daher wird also bei Auswertung in den Nullstellen von ω_{n+1}^{(k)} eine um eins erhöhte Konvergenzordnung erreicht, wenn ϱ → 0. Für Approximationen mit minimaler Knotenzahl, d.h. n = k, ergibt sich dazu

ω_{n+1}(x) = x^{n+1} − ( ∑_{j=0}^{n} x_{j})x^{n} + … ⇒ ω_{n+1}^{(n)}(x) = (n + 1)! x − n! ∑_{j=0}^{n} x_{j}.

Die Ableitung p_{n}^{(n)} ≡ n!f[x_{0}, …, x_{n}] ist konstant (vgl. (2.3.10)). Wegen (3.6.2) ist dieser Wert eine besonders gute Approximation für die Ableitung f^{(n)}(x) im Mittelpunkt der Knoten

x̂ = \frac{1}{n + 1} ∑_{j=0}^{n} x_{j},  (3.6.3)

z.B., wenn die Knoten um x̂ symmetrisch verteilt sind. In diesem Fall gilt also

f^{(n)}(x̂) − n!f[x_{0}, …, x_{n}] ≤ \frac{ϱ^{2}}{2} ∥f^{(n+2)}∥_{∞}.

Bei äquidistanten Knoten x_{j} = x_{0} + jh ist ϱ ≤ nh, in den einfachsten Fällen ergeben sich folgende Approximationen (sog. Differenzenformeln) für x̂ = 0:

f′(0) = \frac{1}{h}[f(h) − f(0)] + chf′′(ξ)
f′(0) = \frac{1}{2h}[f(h) − f(−h)] + ch^{2}f^{(3)}(ξ), vgl. (3.6.3)
f′′(0) = \frac{1}{h^{2}} [f(−h) − 2f(0) + f(h)] + ch^{2}f^{(4)}(ξ), vgl. (3.6.3)

Eine Formel höherer Ordnung ist

f′(0) = \frac{1}{12h}[f(−2h) − 8f(−h) + 8f(h) − f(2h)] + ch^{4}f^{(5)}(ξ).

Die Differenzenformeln sind umso genauer, je kleiner die Schrittweite h ist. Allerdings wird dann in der Formel durch die kleinen Zahlen h oder h^{2} dividiert. Daher wird der bei der Berechnung der Werte f(x_{j}) im Computer gemachte Fehler vergrößert und macht die Verwendung sehr kleiner Schrittweiten unsinnig. Dies soll an der symmetrischen ersten Differenz erläutert werden, detaillierter wird das Problem in §6 untersucht. Jetzt seien f̃(x_{j}) = f(x_{j}) + ϵ_{j} die tatsächliche berechneten Werte, deren Fehler durch eine kleine Konstante ϵ (ca. Maschinengenauigkeit, z.B. 10^{−11}) beschränkt sind, |ϵ_{j}| ≤ ϵ. Dann gilt für den Gesamtfehler der berechneten Approximation

|\frac{1}{2h}[f̃(h) − f̃(−h)] − f′(0)| = |ch^{2}f′′(ξ) + \frac{ϵ_{1} − ϵ_{0}}{2h} | ≤ \underbrace{ch^{2}∥f′′∥_{∞}}_{↘0} + \underbrace{\frac{ϵ}{h}}_{↗∞} (h → 0). (3.6.4)

Die Schranke wird minimal bei ĥ ≅ ϵ^{1/3} und einem Minimalwert ≅ ϵ^{2/3}. Man kann also bei diesem Beispiel nicht erwarten, eine Genauigkeit von mehr als \frac{2}{3} der im Computer verfügbaren Stellenzahl zu erreichen. Allgemein ist die erreichbare Genauigkeit bei Formeln höherer Konvergenzordnung besser.

4 Lineare Gleichungssysteme

Viele Näherungsverfahren der Numerik im Bereich der Differentialgleichungen, Integralgleichungen, etc. führen auf Lineare Gleichungssysteme (\underline{LGS}e). In anderen Anwendungen können Probleme direkt in dieser Form mathematisiert werden.

4.1 Beispiele

Beispiel 4.1.1 Input-Output-Analyse: Zur Analyse der Wechselwirkungen in einer Volkswirtschaft und der Auswirkungen geänderter Nachfrage wird die Wirtschaft in Produktionsbereiche P_{j}, j = 1, …, n, unterteilt. Mit y_{j} wird die Endnachfrage nach Produkten aus dem Bereich P_{j} bezeichnet, zusammengefaßt zu y ∈ R^{n}. Bei der Bestimmung der dazu erforderlichen Produktionsmengen x_{i} (in P_{i}) muß berücksichtigt werden, daß zur Herstellung eines Produktes in P_{i} Produkte aus anderen Bereichen benötigt werden (Auto: Maschinen, Stahl, Kunststoff, Elektroteile).

[figure: P_{1}, x_{1}; P_{2}, x_{2}; P_{3}, x_{3}; y_{2}; y_{1}; y_{3}; y]

Diese Beziehungen faßt man in einer Bedarfsmatrix B = (b_{ij}) zusammen:

b_{ij} : \{ \begin{matrix}Bedarf an Produkten aus P_{i} zur Produktion einer \\ Einheit (Geldwert) in P_{j}, b_{ij} ≥ 0. \end{matrix}  (4.1.1)

Die benötigte Gesamtproduktion x = (x_{i}) ∈ R^{n} ergibt sich also aus der Bilanzgleichung

x = \underbrace{y}_{End-Nachfrage} + \underbrace{Bx}_{interne Nachfrage}
⇔  x − Bx = y ⇔ (I − B)x = y.  (4.1.2)

Somit beschreibt die Matrix (I − B)^{−1} die Auswirkungen einer sich ändernden Endnachfrage y.

Beispiel 4.1.2 Elektrisches Netzwerk: Sind in einem Bauwerk die Leitungen stark genug, um eine Überhitzung zu vermeiden? Zur Untersuchung dieser Frage sind die angelegten Einzelspannungen U_{k} mit den Teilwiderständen R_{k} und den Teilströmen I_{k} zu verknüpfen. Das geschieht in den Kirchhoff’schen Regeln:

a) Knotenregel: Unter Beachtung der Richtung aller auf einen Knoten zu- bzw. abfließenden Ströme I_{k} gilt für jeden Knoten

∑_{k} I_{k} = 0

b) Maschenregel: Für jeden geschlossenen Teilstromkreis gilt (wieder unter Berücksichtigung der Stromrichtungen)

∑_{k} I_{k}R_{k} = ∑_{k} U_{k}

[figure: A; B; C; D; R_{1}; R_{3}; R_{4}; R_{6}; R_{2}; R_{5}; I_{1}; I_{4}; I_{6}; I_{3}; I_{5}; I_{2}; U]

Für das abgebildete Netzwerk gilt somit das folgende LGS:

Knoten  \begin{aligned}A : & −I_{1} & +I_{2} & & & & +I_{6} & = & 0 \\ B : & & −I_{2} & +I_{3} & & −I_{5} & & = & 0 \\ C : & & & & −I_{4} & +I_{5} & −I_{6} & = & 0 \\ D : & I_{1} & & −I_{3} & +I_{4} & & & = & 0 \end{aligned}  (4.1.3)

Maschen \begin{aligned}ABC : & & I_{2}R_{2} & & & −I_{5}R_{5} & −I_{6}R_{6} & = & U \\ ADB : & I_{1}R_{1} & +I_{2}R_{2} & +I_{3}R_{3} & & & & = & U \\ ADC : & I_{1}R_{1} & & & −I_{4}R_{4} & & +I_{6}R_{6} & = & 0 \\ BDC : & & & −I_{3}R_{3} & −I_{4}R_{4} & −I_{5}R_{5} & & = & 0 \end{aligned}  (4.1.4)

Die Gleichungen sind sicher nicht linear unabhängig. Man wird daher versuchen die linear abhängigen Gleichungen zu eliminieren. In Matrixform geht (4.1.3,4.1.4) über in

\begin{matrix}A \\ B \\ C \\ D \\ ACB \\ ADB \\ ADC \\ BDC \end{matrix} ( \begin{matrix}−1 & 1 & 0 & 0 & 0 & 1 \\ 0 & −1 & 1 & 0 & −1 & 0 \\ 0 & 0 & 0 & −1 & 1 & −1 \\ 1 & 0 & −1 & 1 & 0 & 0 \\ 0 & R_{2} & 0 & 0 & −R_{5} & −R_{6} \\ R_{1} & R_{2} & R_{3} & 0 & 0 & 0 \\ R_{1} & 0 & 0 & −R_{4} & 0 & R_{6} \\ 0 & 0 & −R_{3} & −R_{4} & −R_{5} & 0 \end{matrix} ) ( \begin{matrix}I_{1} \\ I_{2} \\ I_{3} \\ I_{4} \\ I_{5} \\ I_{6} \end{matrix} ) = ( \begin{matrix}0 \\ 0 \\ 0 \\ 0 \\ U \\ U \\ 0 \\ 0 \end{matrix} )  (4.1.5)

Eine Addition der Gleichungen eins, zwei, drei, vier bzw. fünf, sieben und Subtraktion von sechs und acht ergibt jeweils null. Damit bleiben sechs Gleichungen mit sechs Unbekannten.

Beispiel 4.1.3 Differenzenverfahren für ein Randwertproblem: Im Anschluß an die Einleitung wird das Randwertproblem

\begin{matrix}z′′(x) + f(x)z(x) = g(x) \\ z(0) = α, z(1) = β \end{matrix}  (4.1.6)

betrachtet. Mit den Bezeichnungen

z_{j} ≈ z(x_{j}), x_{j} = j · h, h = \frac{1}{m}, f_{j} := f(x_{j}), g_{j} := g(x_{j}),

wird dazu das lineare Gleichungssystem

\frac{z_{j+1} − 2z_{j} + z_{j−1}}{h^{2}} + f_{j}z_{j} = g_{j} j = 1, ⋯, m − 1
z_{0} = α, z_{n} = β.  (4.1.7)

gelöst. Dieses System führt auf eine sogenannte Tridiagonalmatrix

( \begin{matrix}−2 + h^{2}f_{1} & 1 & 0 & ⋯ & 0 \\ 1 & −2 + h^{2}f_{2} & 1 \\ ⋮ & ... & ... & ... & ⋮ \\ & & 1 & −2 + h^{2}f_{m−2} & 1 \\ 0 & ⋯ & 0 & 1 & −2 + h^{2}f_{m−1} \end{matrix} ) ( z_{1} ; z_{2} ; ⋮ ; z_{m−2} ; z_{m−1} ) = h^{2} ( g_{1} − α/h^{2} ; g_{2} ; ⋮ ; g_{m−2} ; g_{m−1} − β/h^{2} ) .

Matrizen dieser Form spielen daher im weiteren eine wesentliche Rolle.

Bemerkung: Auch bei anderen Probleme kommt man auf Bilanzgleichungen wie in Beispiel 1. In der Computergrafik, z.B., ergibt sich die absolute Helligkeit und Farbe eines Flächenelements aus der direkt und indirekt empfangenen Lichtmenge. Diese Beispiele führen sofort auf weitere Fragen:

— wann besitzen die LGSe eine Lösung?

— Wie löst man solche LGSe numerisch zweckmäßig auf?

— Spiegeln sich spezielle Eigenschaften der rechten Seite, z.B. positive Nachfrage y bzw. Spannung U in Beispiel 1 bzw. 2, auch in der Lösung x bzw. (I_{1}, …, I_{6}) wieder?

4.2 Hilfsmittel

Im R^{n} bzw. C^{n} (Sammelbegriff K^{n}) werden Spaltenvektoren betrachtet

x = ( x_{1} ; ⋮ ; x_{n} ) .

Eine wichtige Klasse von Normen sind, mit p ∈ R, p ≥ 1, die Hölder-Normen

∥x∥_{p} := (∑_{j=1}^{n} |x_{j}|^{p})^{1/p} ,  (4.2.1)

mit den wichtigsten Vertretern

∥x∥_{1} := ∑_{j=1}^{n} |x_{j}|  Summennorm  (4.2.2)
∥x∥_{2} := \sqrt{∑_{j=1}^{n} |x_{j}|^{2}}  Euklidnorm  (4.2.3)
∥x∥_{∞} := max_{j=1}^{n} |x_{j}|,  Maximumnorm  (4.2.4)

Mit diesen Normen ∥ · ∥_{p} ist K^{n} ein Banachraum. Da alle Normen im K^{n} äquivalent sind, existieren Konstanten mit

∥x∥_{p} ≤ c_{pq}∥x∥_{q} ∀x ∈ K^{n}, p, q ≥ 1.

Diese c_{pq} hängen im allgemeinen aber von n ab. Lineare Abbildungen von K^{n} → K^{m} werden (in der Einheits-Basis) durch Matrizen

A = (a_{ij})_{i=1,j=1}^{m,n} ∈ K^{m×n}

beschrieben. Jedes Paar von Vektornormen in K^{m}, K^{n} (mit gleichem Index p) induziert eine zugehörige Matrixnorm, die mit dem gleichen Symbol bezeichnet wird

∥A∥_{p} := sup_{x≠0} \frac{∥Ax∥_{p}}{∥x∥_{p}} = sup_{∥x∥_{p}=1} ∥Ax∥_{p}.  (4.2.5)

In (4.2.5) wird das Supremum als Maximum angenommen. Die durch (4.2.2ff) induzierten Normen sind:

∥A∥_{∞} =  max_{i=1}^{m} ∑_{j=1}^{n} |a_{ij}|  Zeilensummennorm,  (4.2.6)
∥A∥_{1} =  max_{j=1}^{n} ∑_{i=1}^{m} |a_{ij}|  Spaltensummennorm,  (4.2.7)
∥A∥_{2} = ρ(A^{∗}A)^{1/2} = \sqrt{max_{j=1}^{n} λ_{j}(A^{∗}A)} Spektralnorm,  (4.2.8)

wobei λ_{j}(A^{∗}A) die Eigenwerte von A^{∗}A sind und A^{∗} = Ā^{T}. Eine Matrixnorm heißt verträglich mit den Vektornormen, wenn

∥Ax∥ ≤ ∥A∥∥x∥ ∀x ∈ K^{n}, A ∈ K^{m×n}.  (4.2.9)

Als obere Schranke für ∥A∥_{2} betrachtet man oft die einfachere

∥A∥_{F} := (∑_{i=1}^{m} ∑_{j=1}^{n} |a_{ij}|^{2})^{1/2}  Frobeniusnorm.  (4.2.10)

Sie ist verträglich mit der Euklidnorm, denn

∥Ax∥_{2} ≤ ∥A∥_{F} ∥x∥_{2}.

Allerdings ist sie nicht die induzierte Norm, da z.B. ∥I∥_{F} = \sqrt{n} > ∥I∥_{2} = 1. Mit I wird die Einheitsmatrix, I = (δ_{ij}) bezeichnet. Für induzierte Nomen und für ∥·∥_{F} gilt die Produktformel

∥AB∥ ≤ ∥A∥ ∥B∥  (4.2.11)

In dieser Vorlesung werden nur Normen benutzt, die (4.2.11) erfüllen. Für viele Überlegungen zu quadratischen Matrizen A ∈ K^{n×n} ist der Spektralradius

ρ(A) := max{|λ_{j}(A)| : λ_{j}(A) EW zu A}  (4.2.12)

eine wichtige Größe. Wegen ρ ( \begin{matrix}0 & 1 \\ 0 & 0 \end{matrix} ) = 0 ist ρ(A) sicherlich keine Norm. Der folgende Satz zeigt aber, daß der Spektralradius eine untere Schranke für jede beliebige Matrixnorm ist, sich von geeigneten Normen beliebig wenig unterscheidet und für diagonalisierbare Matrizen sogar gleich sein kann.

Satz 4.2.1 a) Für jede Matrixnorm ∥ · ∥ gilt

ρ(A) ≤ ∥A∥.

b) Für jede Matrix A und jedes ε > 0 existiert eine (spezielle) Norm mit

∥A∥_{M} ≤ ρ(A) + ε.  (4.2.13)

c) Für diagonalisierbare Matrizen A kann in (4.2.13) ε = 0 gewählt werden, für hermitesche, symmetrische und normale Matrizen gilt ∥A∥_{2} = ρ(A).

Beweis a) x sei Eigenvektor von A ⇒ |λ|∥x∥ = ∥λx∥ = ∥Ax∥ ≤ ∥A∥∥x∥.

b) Die Jordan-Normalform von A sei

Λ = SAS^{−1} = ( \begin{matrix}λ_{1} & δ_{1} \\ & λ_{2} & δ_{2} \\ . & . & . \\ & & & λ_{n} \end{matrix} )

mit δ_{i} ∈ {0, 1}, i = 1, …, n−1. Eine weitere Ähnlichkeitstransformation mit der Diagonalmatrix

P = ( \begin{matrix}ε \\ & ε^{2} \\ & & . & . & . \\ & & & & & ε^{n} \end{matrix} )

führt Λ über in

Λ̃ = P^{−1}ΛP = (P^{−1}S)A(S^{−1}P).

Da Λ̃ die gleiche Hauptdiagonale wie Λ, in der Nebendiagonale aber Elemente εδ_{j} hat, gilt

∥Λ̃∥_{∞} = \{ \begin{matrix}max_{j=1}^{n}\{|λ_{j}| + ε|δ_{j}|\} ≤ ρ(Λ̃) + ε = ρ(A) + ϵ, & wenn ein δ_{j} ≠ 0, \\ max_{j=1}^{n}\{|λ_{j}|\} = ρ(Λ̃) = ρ(A), & wenn alle δ_{j} = 0. \end{matrix}

Für die Matrixnorm

∥B∥_{M} := ∥MBM^{−1}∥_{∞}, M := P^{−1}S,

gilt also b), bzw. c) im Fall δ_{j} ≡ 0.

Mit Satz 4.2.1 kann eine Aussage über die Lösbarkeit von Gleichungssystemen mit Matrix A = I − B gemacht werden.

Satz 4.2.2 (Neumannreihe) Unter der Voraussetzung

ρ(B) < 1  (4.2.14)

• ist das Gleichungssystem (I − B)x = b eindeutig lösbar,

• ist (I − B)^{−1} = ∑_{j=0}^{∞} B^{j},

• gibt es eine Matrixnorm so, daß ∥B∥ < 1 ist. Für diese gilt

∥(I − B)^{−1}∥ ≤ \frac{1}{1 − ∥B∥}.  (4.2.15)

Bemerkung: Dieser Satz wird für Störungsaussagen sehr häufig benutzt.

Beweis Da I − B regulär ist genau dann, wenn die Folgerung 0 = (I − B)x = x − Bx ⇒ x = 0 gilt, d.h. λ = 1 kein EW von B ist, folgt aus ρ(B) < 1, daß (I − B)^{−1} existiert. Mit den Teilsummen ∑_{k=0}^{m} B^{k} gilt

S_{m} := (I − B) ∑_{k=0}^{m} B^{k} = I − B + B − B^{2} + … − B^{m+1} = I − B^{m+1}.

Nach Satz 4.2.1 existiert eine Norm mit ∥B∥ < 1, da ρ(B) < 1. Daher gilt ∥S_{m}−I∥ = ∥B^{m+1}∥ ≤ ∥B∥^{m+1} → 0 für m → ∞ und somit S_{m} → I und

S_{m} → (I − B) ∑_{k=0}^{∞} B^{k} = I.

Damit folgt die Behauptung. Außerdem gilt

∥(I − B)^{−1}∥ = ∥ ∑_{k=0}^{∞} B^{k}∥ ≤ ∑_{k=0}^{∞} ∥B∥^{k} = \frac{1}{1 − ∥B∥}.

4.3 Der Gauß-Algorithmus

Dieser dient zur Lösung von linearen Gleichungssystemen

∑_{j=1}^{n} a_{ij}x_{j} = b_{i}, i = 1, …, n ⇔ Ax = b, A ∈ K^{n×n}  (4.3.1)

in endlich vielen Schritten und beruht auf der Beobachtung, daß die Lösung x von (4.3.1) unverändert bleibt, wenn Gleichungen in (4.3.1) addiert oder subtrahiert werden (allg: Linearkombination). Ziel ist die Konstruktion eines einfach lösbaren Systems in Dreieckform:

\begin{matrix}r_{11}x_{1} & +r_{12}x_{2} & + … & +r_{1n}x_{n} & = & b′_{1} \\ & r_{22}x_{2} & + … & +r_{2n}x_{n} & = & b′_{2} \\ & & ... & ⋮ & & ⋮ \\ & & & r_{nn}x_{n} & = & b′_{n} \end{matrix} \} ⇔ Rx = b′  (4.3.2)

Dieses kann, beginnend mit der letzten Zeile, schrittweise aufgelöst werden, falls alle r_{ii} ≠ 0 sind. Wir betrachten nur reguläre Matrizen A. Dann erhält man ein Dreiecksystem (4.3.2) in n − 1 Schritten auf folgende Weise.

1. für a_{11} = 0 wird eine Zeile mit a_{k1} ≠ 0 gesucht und diese dann mit der ersten vertauscht (Pivot-Schritt, k-te Zeile = Pivot-Zeile);

2. es wird dasjenige Vielfache der ersten Zeile zur i-ten Zeile addiert, das dort den Koeffizienten bei x_{1} zu Null macht (Eliminationsschritt, Faktor −a_{i1}/a_{11}). Nach Behandlung aller Zeilen i = 2, …, n geht das LGS über in die Form

A^{(2)}x = b^{(2)}, mit A^{(2)} = ( \begin{matrix}a_{11}^{(2)} & a_{12}^{(2)} & … & a_{1n}^{(2)} \\ 0 & a_{22}^{(2)} & … & a_{2n}^{(2)} \\ ⋮ & ⋮ & ... & ⋮ \\ 0 & a_{n2}^{(2)} & … & a_{nn}^{(2)} \end{matrix} )

3. die Schritte 1 und 2 werden auf das Restsystem mit

B^{(2)} := ( \begin{matrix}a_{22}^{(2)} & … & a_{2n}^{(2)} \\ ⋮ & ... & ⋮ \\ a_{n2}^{(2)} & … & a_{nn}^{(2)} \end{matrix} )  (4.3.3)

angewendet.

4. Nach n − 1 Wiederholungen mit Matrizen A^{(1)} := A, A^{(2)}, …, A^{(n)} ergibt sich ein Dreicksystem (4.3.2) mit R = A^{(n)}, das einfach aufzulösen ist.

Die Eliminationskoeffizienten

l_{ij} := \frac{a_{ij}^{(j)}}{a_{jj}^{(j)}}

haben eine besondere Bedeutung, die später erläutert wird. Man speichert sie bei Durchführung des Algorithmus an die freiwerdenden Plätze der a_{ij}^{(j+1)} = 0 (i > j).

Algorithmus 4.3.1 Gauß-Algorithmus ohne Pivotisierung, durchgeführt im Speicherplatz der Originalmatrix A (d.h. l_{ij} ↦ a_{ij}),

für j := 1, …, n − 1:
für i := j + 1, …, n:
l_{ij} := a_{ij}/a_{jj}; b_{i} := b_{i} − l_{ij}b_{j};
für k := j + 1, …, n: a_{ik} := a_{ik} − l_{ij}a_{jk};
x_{n} := b_{n}/a_{nn};
für i := n − 1, n − 2, …, 1:
x_{i} := (b_{i} − ∑_{j=i+1}^{n} a_{ij}x_{j})/a_{ii};

(4.3.4)

Der Rechenaufwand beträgt also i.w. \frac{2}{3}n^{3} Operationen. Soll jedoch das gleiche LGS mit einer anderen rechten Seite c gelöst werden, also Ay = c, müssen im obigen Algorithmus nur die b betreffenden Schritte wiederholt werden. Dies ist möglich, da die l_{ij} gespeichert wurden. Der Aufwand ist dann

∑_{j=1}^{n−1} 2(n − j) = n(n − 1) Operationen für b^{(n)}.

Die abschließende Auflösung des Dreiecksystems Rx = b^{(n)} benötigt ebenfalls

1 + ∑_{i=1}^{n−1}[1 + 2(n − i)] = n^{2} Operationen.

Rechenaufwand Der Gauß-Algorithmus benötigt i.w. \frac{2}{3}n^{3} arithmetische Operationen. Zur wiederholten Auflösung mit neuer rechter Seite b sind nur 2n^{2} Operationen erforderlich.

LR-Zerlegung

Die Durchführung eines Eliminationsschritts ohne Pivotisierung beim System A^{(j)}x = b^{(j)},

für i = j + 1, …, n: ; b_{i}^{(j+1)} := b_{i}^{(j)} − l_{ij}b_{j}^{(j)}; ; für k := j + 1, …, n: ; a_{ik}^{(j+1)} := a_{ik}^{(j)} − l_{ij}a_{jk}^{(j)};

entspricht der Multiplikation dieses Systems mit einer speziellen Matrix:

A^{(j+1)}x = L_{j}^{−1}A^{(j)}x = L_{j}^{−1}b^{(j)} = b^{(j+1)},

wobei

L_{j}^{−1} = ( \begin{matrix}1 \\ & . & . & . \\ & & & & 1 \\ & & & & −l_{j+1,j} & 1 \\ & & & & ⋮ & & ... \\ & & & & −l_{nj} & & & 1 \end{matrix} ) , l_{j} := ( 0 ; ⋮ ; 0 ; l_{j+1,j} ; ⋮ ; l_{nj} ) .  (4.3.5)

Wegen e_{j}^{T} l_{j} = 0 (e_{j} = j-ter Einheitsvektor) gilt (I − l_{j}e_{j}^{T})(I + l_{j}e_{j}^{T}) = I, also L_{j} = I + l_{j}e_{j}^{T} und L_{j}^{−1} = I − l_{j}e_{j}^{T}. Somit wird die obere Dreieckmatrix R = A^{(n)} erzeugt in der Form

R = A^{(n)} = L_{n−1}^{−1}A^{(n−1)} = … = L_{n−1}^{−1} ⋯ L_{1}^{−1}A ⇔
A = L_{1}L_{2} ⋯ L_{n−1}R =: LR.  (4.3.6)

Da die Menge der unteren bzw. oberen Dreieckmatrizen abgeschlossen ist unter Matrixmultiplkation, ist L eine untere und R eine obere Dreieckmatrix:

A = LR = ( \begin{matrix}1 & 0 & … & 0 \\ ∗ & 1 \\ ⋮ & & ... \\ ∗ & ∗ & … & 1 \end{matrix} ) · ( \begin{matrix}∗ & ∗ & … & ∗ \\ 0 & ∗ & & ∗ \\ & & ... & ⋮ \\ 0 & & & ∗ \end{matrix} )  (4.3.7)

Satz 4.3.2 Der Gaußalgorithmus (4.3.4) (ohne Pivotisierung) erzeugt eine LR-Zerlegung der Matrix A. Damit reduziert sich die Lösung von Ax = b auf

b = Ax = L \underbrace{(Rx)}_{b^{(n)}} ⇔ Lb^{(n)} = b, Rx = b^{(n)},  (4.3.8)

also auf die Auflösung von zwei LGSen mit Dreieckmatrizen. Die beiden Faktoren L und R werden bei (4.3.4) wieder in A abgespeichert mit Ausnahme der Hauptdiagonalen von L.

Bemerkung: Die LR-Zerlegung kann auch direkt erzeugt werden ohne die Zwischenmatrizen A^{(j)}. Die Identität A = L · R wird dabei als Gleichungssystem für L und R aufgefaßt und liefert

a_{ij} = ∑_{k=1}^{min\{i,j\}} l_{ik}r_{kj} ⟺ \{ \begin{matrix}a_{ij} = & ∑_{k=1}^{j−1} l_{ik}r_{kj}+ & l_{ij}r_{jj}, & i > j, \\ a_{ij} = & ∑_{k=1}^{i−1} l_{ik}r_{kj}+ & r_{ij}, & i ≤ j. \end{matrix}  (4.3.9)

Es können verschiedene Indexfolgen (i, j) angegeben werden so, daß man in diesen Gleichungen direkt nach den l_{ij} (obere Gleichungen) bzw. r_{ij} (untere Gleichungen) auflösen kann. Die Effizienz ist dabei sprach- und maschinenabhängig (Matrizen zeilen-/spaltenweise gespeichert?) und führt auf die Algorithmen von Banachiewicz, Crout, etc.

Pivotisierung

Im allgemeinen ist der Gauß-Algorithmus nicht ohne Zeilenvertauschungen durchführbar. Dies führt auf zwei Fragen

— Für welche Problemmklassen ist keine Pivotisierung nötig?

— welche Pivotstrategien sind für die übrigen sinnvoll? Bei der Diskussion ist die Tatsache hilfreich, daß der Gauß-Algorithmus bestimmte Strukturen bzw. Eigenschaften der Matrix A erhält.

Definition 4.3.3 A sei eine n × n-Matrix.

— A heißt hermitesch positiv definit (HPD), wenn A = A^{∗} und x^{∗}Ax > 0 für x ≠ 0 gilt (alle Eigenwerte von A sind dann reell und positiv).

— A heißt streng diagonaldominant, wenn

|a_{ii}| > ∑_{j≠i^{j=1}}^{n} |a_{ij}|, i = 1, …, n.  (4.3.10)

— A heißt (2m + 1)-Bandmatrix (Tridiagonalmatrix für m = 1), wenn

a_{ij} = 0 für |i − j| > m.

Bei definiten und streng diagonaldominanten Matrizen haben insbesondere die Hauptdiagonalelemente einen Wert ungleich Null. Die Erhaltung bestimmter Strukturen ermöglicht oft eine Reduktion des Aufwands beim Gauß-Algorithmus.

Satz 4.3.4 a) Der Gaußalgorithmus sei bei einer Matrix A ohne Pivotisierung durchführbar. Ist die Matrix A hermitesch, positiv (negativ) definit, streng diagonaldominant oder 2m + 1-Bandmatrix, dann hat jede Restmatrix (4.3.3) wieder die gleiche Eigenschaft. Bei definiten und streng diagonaldominanten Matrizen ist daher keine Pivotisierung nötig.

b) Für eine positiv (negativ) definite Matrix A ∈ K^{n×n} existiert genau eine Dreieckzerlegung A = L̃R̃ (A = −L̃R̃) mit l̃_{ii} = r̃_{ii} > 0, i = 1, …, n, und L̃^{∗} = R̃. Diese Cholesky-Zerlegung A = L̃L̃^{∗} erfordert etwa den halben Rechenaufwand der gewöhnlichen LR-Zerlegung.

Beweis a) Der erste Eliminationsschritt erzeugt die Umformung

A = A^{(1)} = ( \begin{matrix}a_{11} & z^{∗} \\ s & B^{(1)} \end{matrix} ) mit s = ( a_{21} ; ⋮ ; a_{n1} ) , z^{∗} = (a_{12}, …, a_{1n}), ⟶

A^{(2)} = ( \begin{matrix}a_{11} & z^{∗} \\ 0 & B^{(2)} \end{matrix} ) , B^{(2)} := (a_{ik} − \frac{1}{a_{11}} a_{i1}a_{1k})_{i,k=2}^{n} = B^{(1)} − \frac{1}{a_{11}} sz^{∗}.

Daraus ergeben sich die Aussagen, von denen hier nur A = A^{∗} und Definitheit gezeigt werden.

Wenn A hermitesch ist, gilt s = z und B^{(1)} = B^{(1)}^{∗}. Daher ist auch B^{(2)} hermitesch. Wenn A noch positiv definit ist, gilt x^{∗}Ax > 0 für alle x ∈ K^{n}. Für x = (1, 0, …, 0)^{T} folgt a_{11} > 0, im ersten Schritt ist also keine Zeilenvertauschung notwendig. Nun sei mit y ∈ K^{n−1} speziell

x̂ = ( \begin{matrix}\frac{−1}{a_{11}} s^{∗}y \\ y \end{matrix} ) ⇒ Ax̂ = ( \begin{matrix}a_{11} & s^{∗} \\ s & B^{(1)} \end{matrix} ) ( \begin{matrix}\frac{−1}{a_{11}} s^{∗}y \\ y \end{matrix} ) = ( \begin{matrix}0 \\ B^{(1)}y − \frac{1}{a_{11}} ss^{∗}y \end{matrix} ) = ( \begin{matrix}0 \\ B^{(2)}y \end{matrix} ) .

Also ist y^{∗}B^{(2)}y = x̂^{∗}Ax̂ > 0, d.h., B^{(2)} wieder positiv definit.

b) Die Existenz einer Dreieckzerlegung A = L̃R̃ mit l̃_{ii} = r̃_{ii} > 0 folgt sofort aus dem ersten Beweisteil. Es kann nämlich mit D := diag(\sqrt{r_{11}}, …, \sqrt{r_{nn}}) gesetzt werden L̃ := LD, R̃ := D^{−1}R. Durch Induktion läßt sich auch zeigen, daß diese Zerlegung eindeutig ist. Wegen L̃R̃ = A = A^{∗} = R̃^{∗}L̃^{∗} erhält man dann sofort L̃ = R̃^{∗} und R̃ = L̃^{∗} .

Kriterium 4.3.5 Falls A symmetrisch und streng diagonaldominant ist mit a_{ii} > 0, dann ist A positiv definit.

Diese Aussage und weitere Kriterien findet man bei Rutishauser: Vorlesungen über numerische Mathematik, 1976. Damit ist in vielen wichtigen Fällen gesichert, daß der Gauß-Algorithmus ohne Pivotisierung durchführbar ist.

Bemerkung: Bei großen praktischen Problemen können LGSe mit n = 10^{5} … 10^{6} Unbekannten auftreten. Die Matrizen haben dabei aber nur wenige Elemente a_{ij} ≠ 0 (Anteil < 10%, ‘dünnbesetzt’), wie, z.B., bei Bandstruktur. Ohne die Ausnutzung solcher Struktureigenschaften wären so große Probleme auch auf modernen Supercomputern nicht lösbar.

In der Theorie ist eine Zeilenvertauschung beim Gauß-Algorithmus nur dann nötig, wenn das Pivotelement verschwindet, a_{jj}^{(j)} = 0. Bei der praktischen Rechnung im Computer mit endlichen Zahldarstellungen sollte aber auch die Verwendung zu kleiner Pivotelemente vermieden werden (genauere Analyse in §6.)

Beispiel 4.3.6 Alle (Zwischen-)Ergebnisse werden auf zwei Stellen gerundet. Aus

\begin{aligned}0.01 x_{1} & + & 2 x_{2} & = & 1 \\ x_{1} & + & x_{2} & = & 3 \end{aligned} wird \begin{aligned}0.01 x_{1} & + & 2x_{2} & = & 1 \\ 0 · x_{1} & − & 200 x_{2} & = & −97 \end{aligned} ,  (4.3.11)

denn l_{21} = a_{21}/a_{11} = 1/0.01 = 1.0 · 10^{2} (Gleitpunktdarstellung) ⇒

a_{22}^{(2)} = a_{22} − l_{21}a_{12} = 1 − 100 · 2 = −199 Rundung: ã_{22}^{(2)} = −2 · 10^{2}
b_{2}^{(2)} = b_{2} − l_{21}b_{1} = 3 − 100 = −97 (ist exakt).

Damit erhält man

x̃_{2} = −97/(−200) = 0.49, x̃_{1} = (1 − 2 · 0.49)/0.01 = 2.0.

Die exakte Lösung ist aber (2.512 …, 0.487 …). Vertauscht man aber die beiden Gleichungen in (4.3.11), so ergibt die Elimination

\begin{aligned}x_{1} & +x_{2} & = 3 \\ 0.01x_{1} & +2x_{2} & = 1 \end{aligned} → \begin{aligned}x_{1} & +x_{2} & = 3 \\ & 2x_{2} & = 0.97 \end{aligned} → \begin{aligned}x_{1} & = 2.5 \\ x_{2} & = 0.49 \end{aligned}

Um diese Ungenauigkeiten zu verhindern, verwendet man verschiedene Pivot-Strategien: Im Schritt j wird zur Vertauschung mit Zeile j die Zeile Nr. p ∈ {j, …, n} nach folgender Regel gewählt:

1. Spaltenpivotisierung, absolutes Maximum:

|a_{pj}^{(j)}| = max_{k=j}^{n} |a_{kj}^{(j)}|.

2. Spaltenpivotisierung, relatives Maximum:

\frac{|a_{pj}^{(j)}|}{∑_{ν=j}^{n} |a_{pν}^{(j)}|} = max_{k=j}^{n} \frac{|a_{kj}^{(j)}|}{∑_{ν=j}^{n} |a_{kν}^{(j)}|}.

3. Vollständige Pivotisierung, zusätzlich werden auch Spaltenvertauschungen (Umnumerierung der Variablen) vorgenommen

|a_{pq}^{(j)}| = max_{i,k=j}^{n} |a_{ik}^{(j)}|.

Wegen des hohen Aufwands werden die Strategien 2) und 3) nur in Ausnahmefällen benutzt. Strategie 2) unterdrückt den Einfluß der Multiplikation von Zeilen mit einer Konstanten (Skalierung). Ein ähnlicher Effekt ist bei 1) erzielbar durch Äquilibrierung der Matrix, bei der zu Beginn alle Zeilen auf Summennorm 1 skaliert werden. Auch die einfache Strategie 1) erhöht den Aufwand um 50% :

Rechenaufwand

für den Gauß-Algorithmus mit Pivotisierung 1): n^{3} Operationen

Inverse Matrix A^{−1}: Die Lösung von Ax = b läßt sich theoretisch sehr elegant in der Form x = A^{−1}b angeben. Selbst zur Lösung vieler LGSe Ax^{(j)} = b^{(j)}, j = 1, 2, …, lohnt es sich aber nicht, die Inverse A^{−1} explizit zu berechnen. Der Rechenaufwand für das Produkt x = A^{−1}b ist der gleiche, wie der zur Lösung der beiden Dreiecksysteme bei LRx = b, nämlich 2n^{2} (vgl. Berechnung nach (4.3.4)).

Manchmal ist es aber für theoretische Aussagen günstig, die Elemente von A^{−1} zu kennen (z.B. Input-Output-Analyse: Wechselwirkungen zwischen Produktionszweigen). Bei gegebener LR-Zerlegung von A ergeben sich die Spalten von

A^{−1} = C = (c^{(1)}, …, c^{(n)}) aus LRc^{(j)} = e^{(j)}, j = 1, …, n.

Unter Ausnutzung der speziellen Gestalt der Einheitsvektoren e^{(j)} benötigt man zur Berechnung \frac{4}{3}n^{3} Operationen zusätzlich zur LR-Zerlegung, also 2n^{3} Operationen insgesamt.

Rechteckige Matrizen A ∈ R^{m×n}, m < n: Die Gauß-Elimination führt hier auf eine LR-Zerlegung

A = LR = ( \begin{matrix}1 \\ ⋮ & ... \\ ∗ & ⋯ & 1 \end{matrix} ) ( \begin{matrix}∗ & ⋯ & ∗ & ⋯ & ∗ \\ & ... & ⋮ & & ⋮ \\ & & ∗ & ⋯ & ∗ \end{matrix} )

mit L ∈ R^{m×m}, R ∈ R^{m×n}. Wenn die Diagonalelemenete r_{11}, …, r_{mm} alle nicht verschwinden, kann die allgemeine Lösung des unterbestimmten Gleichungssystems Ax = b mit den freien Parametern x_{m+1}, …, x_{n} aus dem Dreiecksystem Rx = L^{−1}b bestimmt werden.

4.4 Fehlerausbreitung, Kondition

Die Auswirkungen von Rundungsfehlern bei der Durchführung des Gauß-Algorithmus werden später diskutiert. Aber auch die Verfälschung von Eingangsdaten (z.B. durch Rundung auf endliche Genauigkeit) wirkt sich auf die Lösung des LGS aus. Zur Untersuchung wird angenommen, daß statt des ursprünglichen Problems Ax = b mit regulärer Matrix A das gestörte Problem

(A + δA)y = b + δb, y = x + δx  (4.4.1)

exakt gelöst wird. Wie groß ist dann die Störung δx von x?

Multiplikation der Gleichung mit A^{−1} ergibt

(I + A^{−1}δA)y = A^{−1}(b + δb) = x + A^{−1}δb.  (4.4.2)

Nach Satz 4.2.2 (v. Neumann) ist dieses LGS lösbar, wenn in einer Norm gilt

∥A^{−1}δA∥ ≤ ∥A^{−1}∥∥δA∥ =: q < 1.  (4.4.3)

Dann folgt die Schranke

∥y∥ ≤ \frac{∥x + A^{−1}δb∥}{1 − q}.  (4.4.4)

Nach (4.4.2) gilt auch δx = y − x = A^{−1}δb − A^{−1}δAy. Daraus folgt mit (4.4.3) und (4.4.4)

∥δx∥ = ∥y − x∥ ≤ ∥A^{−1}δb∥ + q∥y∥
≤ ∥A^{−1}δb∥ + \frac{q}{1 − q} (∥x∥ + ∥A^{−1}δb∥)
≤ \frac{q}{1 − q} ∥x∥ + \frac{1}{1 − q} ∥A^{−1}∥∥δb∥.  (4.4.5)

Besonders aussagekräftig sind Abschätzungen, die skalierungsinvariant sind, bei einer Multiplikation des LGS mit Konstanten also unverändert bleiben. Dazu betrachtet man relative Fehler. Mit ∥b∥ = ∥Ax∥ ≤ ∥A∥∥x∥ folgt aus (4.4.5):

\frac{∥δx∥}{∥x∥} ≤ \frac{q}{1 − q} + \frac{∥A^{−1}∥ · ∥A∥}{1 − q} \frac{∥δb∥}{∥b∥}.

Bezieht man sich auch bei δA auf den relativen Fehler, etwa bei

q = ∥A^{−1}∥∥δA∥ = ∥A^{−1}∥ · ∥A∥ \frac{∥δA∥}{∥A∥},

dann taucht in der Abschätzung außer den Fehlern nur eine zusätzliche Konstante auf:

Definition 4.4.1 Zu einer gegebenen Matrixnorm ∥ · ∥ heißt

κ(A) := ∥A∥ ∥A^{−1}∥

die Konditionszahl der Matrix A. Bei speziellen Normen übernimmt man den Index, z.B., κ_{∞}(A) = ∥A∥_{∞}∥A^{−1}∥_{∞}.

Die Konditionszahl beschreibt die Empfindlichkeit des LGS gegenüber Störungen. Für verträgliche Matrixnormen gilt κ(A) ≥ 1 wegen 1 ≤ ∥I∥ = ∥AA^{−1}∥ ≤ ∥A∥∥A^{−1}∥. Die gerade durchgeführte Diskussion hat folgenden Satz bewiesen:

Satz 4.4.2 Mit φ seien die relativen Fehler im gestörten System (4.4.1) bezeichnet,

φ_{x} := \frac{∥δx∥}{∥x∥}, φ_{b} := \frac{∥δb∥}{∥b∥}, φ_{A} := \frac{∥δA∥}{∥A∥}.

Damit gilt: Das gestörte LGS (4.4.1) ist eindeutig lösbar für

κ(A) · φ_{A} < 1.  (4.4.6)

Der relative Fehler in der Lösung ist beschränkt durch

φ_{x} ≤ \frac{κ(A)}{1 − κ(A)φ_{A}} (φ_{A} + φ_{b}).  (4.4.7)

Für große κ(A) ≫ 1 ist das Problem schlecht konditioniert. Dann können schon kleine Störungen der Daten zu erheblichen Änderungen der Lösung des LGS führen.

Bei der Berechnung einer Lösung von (4.4.1) können weitere (Rundungs-) Fehler auftreten. Die Genauigkeit einer Näherungslösung x̃ kann mit Hilfe des Defekts oder Residuums

r := Ãx̃ − b̃,  Ã = A + δA, b̃ = b + δb,  (4.4.8)

überprüft werden. Dazu gilt

Satz 4.4.3 Mit den Bezeichnungen von Satz 4.4.2 und r aus (4.4.8) gilt für den relativen Fehler der Näherungslösung x̃ zu x = A^{−1}b die Abschätzung

\frac{∥x̃ − x∥}{∥x∥} ≤ \frac{κ(A)}{1 − κ(A)φ}_{A} (φ_{a} + φ_{b} + \frac{∥r∥}{∥b∥}) .  (4.4.9)

Beweis x̃ unterscheidet sich von y aus Satz 4.4.2 folgendermaßen:

Ãy = b̃, Ãx̃ = b̃ + r ⇒ x̃ − y = Ã^{−1}r.

Mit den Schranken aus Satz 4.4.2 folgt

\frac{∥x̃ − x∥}{∥x∥} ≤ \frac{∥y − x∥}{∥x∥} + \frac{∥Ã^{−1}r∥}{∥x∥} ≤ φ_{x} + \frac{∥A^{−1}∥}{1 − κ(A)φ_{A}} · \frac{∥A∥∥r∥}{∥b∥}

also die Behauptung, denn

∥Ã^{−1}∥ = ∥(A + δA)^{−1}∥ ≤ \frac{∥A^{−1}∥}{1 − ∥A^{−1}δA∥},

nach (4.4.2), (4.4.4).

Auch hier geht die Konditionszahl entscheidend ein. Wegen dieser Bedeutung sollte bei der praktischen Rechnung immer auch die Kondition der Matrix (ab-)geschätzt werden, um die Genauigkeit der tatsächlich berechneten Lösung einstufen zu können.

Schranken für κ(A)

Da die Zeilensummennorm ∥ · ∥_{∞} einer Matrix einfacher bestimmt werden kann als, z.B., ∥ · ∥_{2}, werden hier Ansätze diskutiert, diese Norm der Inversen ∥A^{−1}∥_{∞} abzuschätzen:

1. Für streng diagonaldominante Matrizen (4.3.10) ist A = D(I − D^{−1}B) mit D = diag(a_{ii}) und ∥D^{−1}B∥_{∞} < 1. Aus Satz 4.2.2 folgt daher

κ_{∞}(A) ≤ ∥A∥_{∞} \frac{∥D^{−1}∥_{∞}}{1 − ∥D^{−1}B∥_{∞}} .

2. Wenn die LR-Zerlegung einer Matrix A = LR vorliegt, kann mit akzeptablem Rechenaufwand (≈ n^{2}) auch eine Schranke für ∥A^{−1}∥_{∞} ≤ ∥L^{−1}∥_{∞}∥R^{−1}∥_{∞} berechnet werden. Die Methode beruht auf folgenden Eigenschaften nichtnegativer Matrizen, die hier nur für R formuliert werden. Ungleichungen und Beträge bei Matrizen sind dabei komponentenweise zu verstehen.

(a) Für B = (b_{ij}) mit b_{ij} ≥ 0 (kurz: B ≥ 0) gilt

∥B∥_{∞} = ∥Be∥_{∞} , e = (1, 1, …, 1)T.

(b) Für C^{−1} ≥ 0 ist ∥C^{−1}∥_{∞} = ∥z∥_{∞}, wobei z das LGS Cz = e löst. Daher kann die Norm ∥C^{−1}∥_{∞} berechnet werden, ohne C^{−1} explizit zu kennen.

(c) Die Norm ∥ · ∥_{∞} ist monoton, d.h. aus

|b_{ij}| ≤ |c_{ij}| ∀i, j (kurz: |B| ≤ |C|), folgt ∥B∥_{∞} ≤ ∥C∥_{∞}.

(d) Zerlegt man R = D(I − B) mit D = diag(r_{ii}), dann ist B strikt obere Dreieckmatrix mit ρ(B) = 0 ⇒ B^{n} = 0. Aus Satz 4.2.2 folgt

|R^{−1}| = |(I − B)^{−1}D^{−1}| = | ∑_{j=0}^{n−1} B^{j}||D^{−1}| ≤ ∑_{j=0}^{n−1} |B|^{j}|D|^{−1} = (|D|(I − |B|))^{−1}.

Die Eigenschaften (a) - (d) führen auf

Satz 4.4.4 R ∈ R^{n×n} sei eine reguläre obere Dreieckmatrix. Der (positive) Vektor z ∈ R^{n} sei definiert durch das LGS

|r_{ii}|z_{i} − ∑_{j=i+1}^{n} |r_{ij}|z_{j} = 1, i = n, n − 1, …, 1.  (4.4.10)

Dann gilt

∥R^{−1}∥_{∞} ≤ ∥z∥_{∞}.

Beispiel 4.4.5

A = ( \begin{matrix}2 & 3 & −5 \\ 4 & 8 & −3 \\ −6 & 1 & 4 \end{matrix} ) = ( \begin{matrix}1 & 0 & 0 \\ 2 & 1 & 0 \\ −3 & 5 & 1 \end{matrix} ) ( \begin{matrix}2 & 3 & −5 \\ 0 & 2 & 7 \\ 0 & 0 & −46 \end{matrix} ) = L · R.

Zur Abschätzung von ∥R^{−1}∥_{∞} ist zu lösen

( \begin{matrix}2 & −3 & −5 \\ 0 & 2 & −7 \\ 0 & 0 & 46 \end{matrix} ) ( \begin{matrix}z_{1} \\ z_{2} \\ z_{3} \end{matrix} ) = ( \begin{matrix}1 \\ 1 \\ 1 \end{matrix} ) ⟹ ( \begin{matrix}z_{1} \\ z_{2} \\ z_{3} \end{matrix} ) = ( \begin{matrix}1.418 \\ 0.576 \\ 0.0217 \end{matrix} ) .

Dies führt auf die Schranke ∥R^{−1}∥_{∞} ≤ ∥z∥_{∞} ≐ 1.418. Für ∥L^{−1}∥_{∞} ergibt sich analog

( \begin{matrix}1 & 0 & 0 \\ −2 & 1 & 0 \\ −3 & −5 & 1 \end{matrix} ) ( \begin{matrix}u_{1} \\ u_{2} \\ u_{3} \end{matrix} ) = ( \begin{matrix}1 \\ 1 \\ 1 \end{matrix} ) ⟹ ( \begin{matrix}u_{1} \\ u_{2} \\ u_{3} \end{matrix} ) = ( \begin{matrix}1 \\ 3 \\ 19 \end{matrix} ) .

Hier erhält man die Schranke ∥L^{−1}∥_{∞} ≤ ∥u∥_{∞} = 19, zusammen mit der ersten führt sie auf die Abschätzung ∥A^{−1}∥_{∞} ≤ 26.95 (zum Vergleich: ∥A^{−1}∥_{∞} ≐ 0.451). Mit ∥A∥_{∞} = 15 folgt die Schranke κ_{∞}(A) ≤ 404.25 für die Konditionszahl.

Spalten-Pivotisierung (hier: Vertauschung der Zeilen 1 und 3) wirkt sich auch auf die berechneten Schranken günstig aus, es ist

( \begin{matrix}0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{matrix} ) A = ( \begin{matrix}−6 & 1 & 4 \\ 4 & 8 & −3 \\ 2 & 3 & −5 \end{matrix} ) = ( \begin{matrix}1 & 0 & 0 \\ −\frac{2}{3} & 1 & 0 \\ −\frac{1}{3} & \frac{5}{13} & 1 \end{matrix} ) ( \begin{matrix}−6 & 1 & 4 \\ 0 & \frac{26}{3} & −\frac{1}{3} \\ 0 & 0 & −\frac{46}{13} \end{matrix} ) =: L̂R̂.

Als Abschätzung erhält man jetzt ∥R̂^{−1}∥_{∞} ≤ 0.376, ∥L̂^{−1}∥_{∞} ≤ 2.616 und daher die viel schärfere

Schranke ∥A^{−1}∥_{∞} ≤ 0.984, da ∥A^{−1}∥_{∞} = ∥(P A)^{−1}∥_{∞} mit P = ( \begin{matrix}0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{matrix} ) = P^{−1}.

4.5 Iterationsverfahren für lineare Gleichungssysteme

Für lineare Gleichungssysteme der Form (I − B)x = r (vgl. Input-Output-Analyse) mit ‘kleiner’ Matrix B, genauer, wenn ρ(B) < 1, ist eine explizite Darstellung der Lösung aus Satz 4.2.2 (Neumannreihe) bekannt,

x = (I − B)^{−1}r = ∑_{j=0}^{∞} B^{j}r = r + B ∑_{j=0}^{∞} B^{j}r.  (4.5.1)

Die Partialsummen dieses Ausdrucks ergeben sich aus der Rekursion bzw. Iteration x^{(0)} := 0,

x^{(k+1)} := Bx^{(k)} + r, k = 0, 1, …,  (4.5.2)

denn: x^{(1)} = r, x^{(2)} = r + Br, x^{(3)} = r + Br + B^{2}r, . . .. Diese Konvergenzaussage läßt sich erheblich verallgemeinern. Die Iteration (4.5.2) dient nämlich zur Bestimmung eines Fixpunkts der Abbildung g(x) := Bx + r, d.h. eines Vektors mit

z = g(z),  g : R^{n} → R^{n}.  (4.5.3)

Allgemein gilt für kontrahierende Abbildungen g der

Satz 4.5.1 (Banachscher Fixpunksatz) Gegeben sei ein Banachraum H und eine Abbildung g : H → H. Gelten auf einer abgeschlossenen Teilmenge Ω ⊂ H und für q ∈ R, 0 < q < 1, die Aussagen

g(Ω) ⊂ Ω  (‘g bildet Ω auf sich ab’)  (4.5.4)
∥g(x) − g(y)∥ ≤ q∥x − y∥ ∀x, y ∈ Ω, (‘g ist kontrahierend’)  (4.5.5)

dann besitzt g genau einen Fixpunkt z = g(z) ∈ Ω. Dieser kann durch die Iteration

x^{(k+1)} := g(x^{(k)}), k = 0, 1, …, x^{(0)} ∈ Ω beliebig,  (4.5.6)

berechnet werden, es ist lim_{k→∞} x^{(k)} = z. Quantitativ gelten die Fehlerabschätzungen

∥x^{(k)} − z∥ ≤ \frac{q}{1 − q} ∥x^{(k)} − x^{(k−1)}∥ (a-posteriori)  (4.5.7)
≤ \frac{q^{k}}{1 − q} ∥x^{(1)} − x^{(0)}∥ (a-priori).  (4.5.8)

Eine Bedingung der Form (4.5.5) (mit i.a. beliebigem q > 0) heißt Lipschitz-Bedingung.

Beweis Wegen (4.5.5) gilt

∥x^{(k+1)} − x^{(k)}∥ = ∥g(x^{(k)}) − g(x^{(k−1)})∥ ≤ q∥x^{(k)} − x^{(k−1)}∥ ≤ …
≤ q^{k}∥x^{(1)} − x^{(0)}∥.

Analog ergibt sich, für beliebiges m > 0, aus der Dreiecksungleichung die Schranke

∥x^{(k+m)} − x^{(k)}∥ ≤ ∑_{j=0}^{m−1} ∥x^{(k+j+1)} − x^{(k+j)}∥ ≤ ∑_{j=0}^{m−1} q^{k+j}∥x^{(1)} − x^{(0)}∥
≤ \frac{q^{k}}{1 − q} ∥x^{(1)} − x^{(0)}∥ → 0, k → ∞.

Daher ist {x^{(k)}} Cauchyfolge, wegen der Vollständigkeit von Ω also auch konvergent, ⇒ x̂ = lim_{k→∞} x^{(k)} existiert. Aus der Stetigkeit von g folgt

x̂ = lim_{k→∞} x^{(k)} = lim_{k→∞} x^{(k+1)} = lim_{k→∞} g(x^{(k)}) = g( lim_{k→∞} x^{(k)}) = g(x̂),

d.h. x̂ ist Fixpunkt von g. Dieser ist eindeutig, denn wegen q < 1:

∥x̂ − z∥ = ∥g(x̂) − g(z)∥ ≤ q∥x̂ − z∥ ⇒ x̂ = z.

Wie oben folgt aus x^{(k)} − z = lim_{m→∞} (x^{(k)} − x^{(k+m)}) die Schranke

∥x^{(k)} − z∥ ≤ ∑_{j=0}^{∞} q^{j+1}∥x^{(k)} − x^{(k−1)}∥ = \frac{q}{1 − q} ∥x^{(k)} − x^{(k−1)}∥.

Dieser Satz ist die Grundlage der meisten Konvergenzaussagen bei Iterationsverfahren, auch bei nichtlinearen Problemen. Wegen Satz 4.2.1 kann die Bedingung (4.5.5), ∥B∥ < 1, bei der affin-linearen Funktion (4.5.2) natürlich durch die Bedingung ρ(B) < 1 an den Spektralradius ersetzt werden. Außerdem gilt die Umkehrung

Satz 4.5.2 Für ρ(B) > 1 gibt es Startvektoren x^{(0)} ∈ R^{n} so, daß (4.5.2) divergiert.

Beweis (-idee): Wähle x^{(0)} = z + y so, daß By = λy mit |λ| > 1.

Außer in einigen Spezialfällen liegt die Matrix A unseres LGSs natürlich nicht in der Form A = I −B vor. Oft kann man sie aber als Störung eines Hauptteils M schreiben. Von praktischem Interesse sind dabei allerdings nur Hauptteile M, die auf einfach auflösbare Gelichungssysteme führen (z.B. Diagonal-, Dreieck-Matrix).

Definition 4.5.3 Die Zerlegung einer Matrix

A = M − N  (4.5.9)

heißt regulär, wenn M regulär ist und

ρ(M^{−1}N) < 1.  (4.5.10)

Nach Satz 4.5.1 definiert jede reguläre Zerlegung von A ein konvergentes Iterationsverfahren:

b = Ax = Mx − Nx ⟺ Mx = Nx + b ⟺ x = M^{−1}Nx + M^{−1}b,

d.h. (4.5.3) mit B := M^{−1}N = I − M^{−1}A, r := M^{−1}b. Dazu gehört die Iteration: x^{(0)} := 0,

Mx^{(k+1)} := Nx^{(k)} + b ⟺ M(x^{(k+1)} − x^{(k)}) := b − Ax^{(k)}  (4.5.11)
x^{(k+1)} := M^{−1}Nx^{(k)} + M^{−1}b ⟺ x^{(k+1)} := M^{−1}b + (I − M^{−1}A)x^{(k)}. (4.5.12)

Dabei wird die Form (4.5.11) bei der praktischen Durchführung benutzt, während (4.5.12) daraus durch Multiplikation mit M^{−1} hervorgeht und sich für theoretische Untersuchungen anbietet. Eine Zerlegung ist umso günstiger, je kleiner der Konvergenzfaktor ρ(M^{−1}N) ist und je weniger Aufwand ein Schritt (4.5.11) kostet. Beide Kriterien lassen sich auf folgende Weise miteinander in Beziehung setzen. Bemerkung: Benutzt man in Satz 4.5.1 die Konstante q = ρ(M^{−1}N), so folgt aus (4.5.8), daß zur Verringerung des Startfehlers ∥x^{(1)} − x^{(0)}∥ auf die Endgenauigkeit ∥x^{(k)} − z∥ ≤ 10^{−l}∥x^{(1)} − x^{(0)}∥ ungefähr

k = \frac{l}{− log_{10} ρ(M^{−1}N)} Schritte

nötig sind. Verschiedene Zerlegungen von A lassen sich daher anhand der Größe

\frac{1}{− log_{10} ρ(M^{−1}N)} · (Aufwand für einen Schritt (4.5.11))  (4.5.13)

vergleichen. (4.5.13) gibt den zur Verkleinerung des Fehlers um \frac{1}{10} benötigten Aufwand an.

Bevor die Standard-Iterationsverfahren behandelt werden, sei hier eine Anwendung beim Gauß-Algorithmus erwähnt, die Nachiteration:

Bei sehr schlecht konditionierten linearen Gleichungssystemen, κ(A) ≫ 1, kann die mit Hilfe des Gaußalgorithmus berechnete Lösung durch Rundungsfehler stark verfälscht sein. Dann gilt für die berechnete LR-Zerlegung nur noch L̃R̃ ≅ A. In diesem Fall kann oft noch eine vernünftige Lösung berechnet werden mit M := L̃R̃ in (4.5.11), (vgl. auch Satz 4.4.3) d.h. durch

L̃R̃(x^{(k+1)} − x^{(k)}) = b − Ax^{(k)}, wenn ρ(I − R̃^{−1}L̃^{−1}A) < 1.

Der Speicherbedarf verdoppelt sich allerdings, da die Originalmatrix A zur Berechnung des Defekts b − Ax^{(k)} benötigt wird. Die Defektberechnung sollte mit doppelter Zahlengenauigkeit erfolgen.

Gesamt- und Einzelschrittverfahren

Beispiel 4.5.4 Betrachtet werde das folgende 2 × 2-Gleichungsystem mit Lösung (2, 1)^{T}.

x_{1} + 0.01x_{2} = 2.01 ⟺ x_{1} = 2.01 −0.01x_{2}
−0.02x_{1} +  4x_{2} = 3.96 ⟺ 4x_{2} = 3.96 \underbrace{+0.02x_{1}}

‘Störung’

‘Sukzessives Einsetzen’, beginnend mit x^{(0)} = \binom{0}{0} liefert der Reihe nach Vektoren

\begin{matrix}x^{(0)} & x^{(1)} & x^{(2)} & x^{(3)} \\ 0 & 2.01 & 2.0001 & 1.9999995 \\ 0 & 0.99 & 1.00005 & 1.0000005 \end{matrix}

Dabei wurde sozusagen die Diagonale der Matrix ({1 \atop −0.02} {0.01 \atop 4}) als Hauptteil M benutzt, der Rest als ‘Störung’. Eine weitere Variante ergibt sich, wenn man zur Berechnung von x_{2}^{(k)} den schon bekannten Wert x_{1}^{(k)} statt x_{1}^{(k−1)} benutzt. Zugrunde liegt beiden Verfahren eine Zerlegung der Matrix A = L + D + R in Hauptdiagonale, unteres und oberes Dreieck,

A = ([figure: L; D; R] ) , d.h., L = ( \begin{matrix}0 & ⋯ & 0 \\ ∗ & ... & ⋮ \\ ∗ & ∗ & 0 \end{matrix} ) , R = ( \begin{matrix}0 & ∗ & ∗ \\ ⋮ & ... & ∗ \\ 0 & ⋯ & 0 \end{matrix} )  (4.5.14)

und D = diag(a_{11}, a_{22}, …, a_{nn}), a_{ii} ≠ 0.

Gesamtschrittverfahren, Jacobi-Iteration: Zerlegung M := D, N := −L − R, Iterationsmatrix B_{G} = −D^{−1}(L + R).

\{ \begin{matrix}Dx^{(k+1)} & = & b − (L + R)x^{(k)}, & k = 0, 1, … \\ x_{i}^{(k+1)} & = & \frac{1}{a_{ii}} [b_{i} − ∑_{j=1}^{i−1} a_{ij}x_{j}^{(k)} − ∑_{j=i+1}^{n} a_{ij}x_{j}^{(k)}], & i = 1, …, n. \end{matrix}  (4.5.15)

Einzelschrittverfahren, Gauß-Seidel-Iteration: Zerlegung M := D + L, N := −R, Iterationsmatrix B_{E} = −(D + L)^{−1}R.

\{ \begin{matrix}(D + L)x^{(k+1)} & = & b − Rx^{(k)}, & k = 0, 1, … \\ x_{i}^{(k+1)} & = & \frac{1}{a_{ii}} [b_{i} − ∑_{j=1}^{i−1} a_{ij}x_{j}^{(k+1)} − ∑_{j=i+1}^{n} a_{ij}x_{j}^{(k)}], & i = 1, …, n. \end{matrix}  (4.5.16)

Die Formeln (4.5.15) und (4.5.16) lassen direkt den Rechenaufwand für einen Iterationsschritt erkennen, er beträgt bei beiden Verfahren maximal 2n^{2} Operationen. Für Matrizen, bei denen nur wenige Elemente von Null verschieden sind, gilt genauer

Rechenaufwand

pro Schritt (4.5.15), (4.5.16) = 2·(Anzahl der nichttrivialen Matrixelemente)

Diese einfache Abhängigkeit ist ein entscheidender Vorteil von Iterationsverfahren da eine dünne Besetzung von A ohne Schwierigkeit ausgenutzt werden kann, im Gegensatz zu den Eliminationsverfahren.

Ein einfaches, hinreichendes Kriterium für die Konvergenz der Iteration ist wieder die Diagonaldominanz von A.

Satz 4.5.5 Die Matrix A sei streng diagonaldominant, (4.3.10). Dann konvergieren Gesamtund Einzelschrittverfahren, genauer gilt

∥B_{E}∥_{∞} = ∥(D + L)^{−1}R∥_{∞} ≤ ∥D^{−1}(L + R)∥_{∞} = ∥B_{G}∥_{∞} < 1.  (4.5.17)

Somit gelten die Abschätzungen (4.5.8) in der Maximumnorm mit q = ∥B_{G}∥_{∞} bzw. q = ∥B_{E}∥_{∞}.

Beweis Die betrachtete Matrixnorm ist ∥.∥_{∞}.

a) Strenge Diagonaldominanz ist äquivalent mit ∥B_{G}∥ = max_{i} ∑_{j≠i} |a_{ij}/a_{ii}| < 1.

b) Es wird die stärkere Aussage

∥C∥ ≤ ∥B_{G}∥, C := (|D| − |L|)^{−1}|R|  (4.5.18)

bewiesen. Wie im (vorgezogenen) Beweis von Satz 4.4.4 gilt

|B_{E}| = |(D + L)^{−1}R| ≤ (|D| − |L|)^{−1}|R| = C.

Mit (4.5.18) folgt daraus die Behauptung (4.5.17), denn ∥B_{E}∥ ≤ ∥C∥ ≤ ∥B_{G}∥. Zur Ungleichung (4.5.18): Da C ≥ 0 ist ∥C∥ = ∥z∥_{∞} =: q wobei Ce =: z, e = (1, …, 1)^{T}. Mit

(I − |D^{−1}L|)^{−1}|D^{−1}R|e = z ⟺ z = |D^{−1}L|z + |D^{−1}R|e

folgt

q = ∥z∥_{∞} = max_{i} \{ ∑_{j<i} |\frac{a_{ij}}{a_{ii}} |z_{j} + ∑_{j>i} |\frac{a_{ij}}{a_{ii}} |\}
≤ max_{i} \{q ∑_{j<i} |\frac{a_{ij}}{a_{ii}} | + ∑_{j>i} |\frac{a_{ij}}{a_{ii}} |\} = ∥D^{−1}(qL + R)∥.  (4.5.19)

Nach Division durch q wird daraus die Ungleichung

1 ≤ max_{i} \{ ∑_{j<i} |\frac{a_{ij}}{a_{ii}} | + \frac{1}{q} ∑_{j>i} |\frac{a_{ij}}{a_{ii}} |\} = ∥D^{−1}(L + \frac{1}{q}R)∥,

die wegen der Diagonaldominanz aber nur für q < 1 erfüllt sein kann. Also gilt ∥C∥ = q ≤ ∥D^{−1}(qL + R)∥ ≤ ∥D^{−1}(L + R)∥ = ∥B_{G}∥, d.h. (4.5.19)⇒(4.5.18)⇒(4.5.17).

Der Satz zeigt, daß bezüglich der Zeilensummennorm das Einzelschrittverfahren nicht schlechter konvergiert als das Gesamtschrittverfahren. Auf die asymptotisch (k → ∞) entscheidende Größe, den Spektralradius, laßt sich diese Aussage in einem wichtigen Spezialfall übertragen.

Satz 4.5.6 (Stein-Rosenberg) Die Matrix B_{G} = −D^{−1}(L + R) sei nicht-negativ, B_{G} ≥ 0. Dann gilt einer der Fälle

\begin{matrix}0 = & ρ(B_{E}) & = & ρ(B_{G}) \\ 0 < & ρ(B_{E}) & < & ρ(B_{G}) & < & 1 \\ & ρ(B_{E}) & = & ρ(B_{G}) & = & 1 \\ & ρ(B_{E}) & > & ρ(B_{G}) & > & 1 \end{matrix} \} ⟺ |ρ(B_{G}) − 1| ≤ |ρ(B_{E}) − 1|,

mit Gleichheit genau für ρ = 0, 1.

Im nichttrivialen Konvergenzfall konvergiert also das Einzelschrittverfahren für solche Matrizen besser. Es gibt folgende hinreichenden Kriterien für die Konvergenz von Gesamt- und Einzelschritt-Verfahren:

1. (4.3.10), strenge Zeilen-Diagonaldominanz: |a_{ii}| − ∑_{j≠i} |a_{ij}| > 0 ∀i.

2. strenge Spalten-Diagonaldominanz |a_{jj}| − ∑_{i≠j} |a_{ij}| > 0 ∀j.

3. Symmetrie und positive Definitheit.

4. schwache Zeilen- bzw. Spalten-Diagonaldominanz: A unzerlegbar und |a_{ii}| − ∑_{j≠i} |a_{ij}| ≥ 0 bzw. |a_{jj}| − ∑_{i≠j} |a_{ij}| ≥ 0 mit echter Ungleichung ‘ >′ an mindestens einer Stelle.

Im letzten Fall mußte ausgeschlossen werden, daß das LGS in kleinere Teilprobleme zerfällt:

Definition 4.5.7 Eine Matrix A = (a_{ij}) heißt unzerlegbar, wenn keine Umordnung (i_{1}, i_{2}, …, i_{n}) der Indizes (1, 2, …, n) existiert so, daß die Matrix dann folgende Struktur hat

(a_{i_{k}i_{j}} )_{k,j=1}^{n} = ( \begin{matrix}A_{11} & A_{12} \\ 0 & A_{22} \end{matrix} ) .

Relaxationsverfahren

Die gerade beschriebenen Verfahren können oft durch Einführung eines Beschleunigungsparameters ohne praktischen Mehraufwand verbessert werden. Zur Vereinfachung der Darstellung wird hier davon ausgegangen, daß die Matrix des Gleichungssystems schon in der Form A = I − B vorliegt mit einer geeigneten Iterationsmatrix B. Dies ist o.B.d.A. möglich, da für jede reguläre Zerlegung A = M − N das LGS Ax = b äquivalent zu (I − B)x = M^{−1}b, B = M^{−1}N, ist. Mit 0 < ω ∈ R wird das Iterationsverfahrens (4.5.2) modifiziert:

x^{(k+1)} := (1 − ω)x^{(k)} + ω(Bx^{(k)} + r) = x^{(k)} + ω(r − Ax^{(k)}),  (4.5.20)

k = 0, 1, …. Die Iterationsmatrix ist hier also

B(ω) := (1 − ω)I + ωB = I − ωA,  (4.5.21)

wobei B(1) = B. Das Ziel beim Ansatz (4.5.20),(4.5.21) ist es natürlich, ω so zu bestimmen, daß der Konvergenzfaktor ρ(B(ω)) möglichst klein wird. Allgemein ist ρ(B(0)) = 1. Eine Optimierung des Parameters ω ist einfach, wenn A und B nur reelle Eigenwerte besitzen. Die Eigenwerte von A seien daher λ_{n} ≤ … ≤ λ_{1}, die von B sind dann μ_{i} = 1 − λ_{i}. Wenn λ_{n} > 0 ist, kann ein ω > 0 so gewählt werden, daß ρ(B(ω)) = max_{i} |1 − ωλ_{i}| < 1 wird. Dazu muß man nur die flachste und steilste Gerade betrachten,

[figure: 1; ω]
ρ(B(ω)) = max{|1 − ωλ_{1}|, |1 − ωλ_{n}|}.  (4.5.22)

Der optimale Parameter ω̂ ergibt sich im Schnittpunkt dieser beiden (geknickten) Geraden:

−(1 − ωλ_{1}) = 1 − ωλ_{n} ⟺ \frac{1}{ω̂} = \frac{λ_{1} + λ_{n}}{2} .

Satz 4.5.8 Die Eigenwerte λ_{i} von A seien reell und positiv, 0 < λ_{n} ≤ … ≤ λ_{2} ≤ λ_{1}. Dann ist der optimale Relaxationsparameter ω̂ bei (4.5.20) gegeben durch

ω̂ = \frac{2}{λ_{1} + λ_{n}} mit ρ(B(ω̂)) = \frac{λ_{1} − λ_{n}}{λ_{1} + λ_{n}} < 1.

Bemerkung: 1) Die Konvergenz des einfachen Verfahrens (ω = 1) war nicht vorausgesetzt, d.h. μ_{1} < −1, λ_{1} > 2, ist zugelassen.

2) Falls der Mittelpunkt des Spektrums von A kleiner Eins ist, \frac{1}{2}(λ_{1} + λ_{n}) < 1, gilt ω̂ > 1. Man spricht dann von Überrelaxation.

Das Verfahren (4.5.20) läßt sich sehr einfach analysieren, da die Iterationsmatrix B(ω) linear von ω abhängt. Es hat aber, etwa in Verbindung mit dem Einzelschrittverfahren mit B = −(D+L)^{−1}R den Nachteil, daß für den Vektor x^{(k)} und (D+L)^{−1}Rx^{(k)} getrennte Speicherplätze erforderlich sind. Geschickter ist es, die Relaxation direkt in jeder Komponente durchzuführen. Für das LGS Ax = b hat ein einzelner Schritt die Form

Algorithmus 4.5.9 SOR-Verfahren (successive overrelaxation)

für i := 1 bis n:
s := b_{i};
für j := 1 bis n: s := s − a_{ij} ∗ x_{j};
x_{i} := x_{i} + ω ∗ s/a_{ii};

(4.5.23)

Mit Iterationsindizes k = 0, 1, …, versehen lautet ein Verfahrensschritt einfach

a_{ii}x_{i}^{(k+1)} := a_{ii}x_{i}^{(k)} + ω[b_{i} − ∑_{j<i} a_{ij}x_{j}^{(k+1)} − ∑_{j≥i} a_{ij}x_{j}^{(k)}], i = 1, …, n .

In der Matrix-Schreibweise

(D + ωL)x^{(k+1)} := [(1 − ω)D − ωR]x^{(k)} + ωb  (4.5.24)

wird allerdings erkennbar, daß die Iterationsmatrix

B_{S}(ω) := (D + ωL)^{−1}[(1 − ω)D − ωR]

nichtlinear vom Parameter ω abhängt. Eine Analyse des Verfahrens ist für diese Vorlesung zu aufwendig. Als Beispiel einer Konvergenzaussage sei zitiert

Satz 4.5.10 Für eine symmetrische und positiv definite Matrix A gilt

|ω − 1| ≤ ρ(B_{S}(ω)) < 1 ∀0 < ω < 2.

Meist wird eine Beschleunigung nur für ω > 1 erreicht, d.h. bei Überrelaxation. Eine sehr genaue Analyse ist bei bestimmten, praktisch wichtigen Matrixstrukturen möglich.

Demo-Beispiel: Poisson-Gleichung auf Einheitsquadrat mit n = 10, das LGS besteht i.w. aus Gleichungen der Form 4x_{i} − x_{i−1} − x_{i+1} − x_{i−10} − x_{i+10} = 0, wobei für Komponenten mit Indizes außerhalb {1, …, 100} feste Werte eingesetzt werden. Theoretisch berechenbar ist ρ(B_{G}) = 0.959, ρ(B_{E}) = ρ(B_{G})^{2} = 0.9206, ρ(B_{S}(ω̂)) = 0.560 ≅ ρ(B_{E})^{7}. Also hat eine SOR-Iteration den gleichen Effekt wie ca. 7 Einzelschritt- oder 14 Gesamtschritt-Iterationen (fast) ohne Mehraufwand.

5 Nichtlineare Gleichungssysteme

Probleme, bei denen Unbekannte x ∈ R^{n} zu bestimmen sind, die Bedingungen in einer der beiden Formen

f(x) = 0, f : R^{n} ↦ R^{n},  (5.0.1)
x = g(x), g : R^{n} ↦ R^{n},  (5.0.2)

erfüllen, heißen nichtlineare Gleichungssysteme, in ausführlicher Form geschrieben

{ f_{1}(x_{1}, …, x_{n}) = 0 ; ⋮ ; f_{n}(x_{1}, …, x_{n}) = 0  { x_{1} = g_{1}(x_{1}, …, x_{n}) ; ⋮ ; x_{n} = g_{n}(x_{1}, …, x_{n}) .

Dabei wird im folgenden mindestens einmalige stetige Differenzierbarkeit der Funktionen f bzw. g angenommen. Die Gleichungen (5.0.1) und (5.0.2) sind Standardformen solcher Probleme, (5.0.1) heißt Nullstellen-, (5.0.2) Fixpunktproblem. Für die Lösung von (5.0.2) ist im Banachschen Fixpunktsatz ein hinreichendes Existenzkriterium und ein Lösungsverfahren bekannt (Iteration). Beim Nullstellenproblem (5.0.1) werden meist Umformungen auf die Gestalt (5.0.2) untersucht, für die der Fixpunktsatz anwendbar ist. Zunächst wird der einfachste Spezialfall n = 1 betrachtet.

5.1 Nullstellen einer skalaren Funktion

Für reelle Funktionen g können die Aussagen des Fixpunktsatzes durch Monotoniebetrachtungen verfeinert werden. Es sei g ∈ C^{1}[a, b].

• Die Existenz eines Fixpunkts (oder einer Nullstelle) kann allein aus dem Zwischenwertsatz

gefolgert werden:

a ≤ g(a), g(b) ≤ b ⇒ ∃ z = g(z) ∈ [a, b].

• Die Überprüfung der Lipschitzbedingung kann zur Vereinfachung auf den Fixpunkt z selbst beschränkt werden. Wenn |g′(z)| < 1 gilt, folgt aus der Stetigkeit von g′ die Existenz einer ganzen Umgebung von z, in der Konvergenz eintritt. Zusätzlich wirkt sich das Vorzeichen von g′(z) auf die Art der Konvergenz aus, bei positiver Steigung von g ist die Konvergenz monoton, bei negativer alternierend. Die Umgebung von z, in der Konvergenz gegen z eintritt, der sogenannte Einzugsbereich von z, kann sogar wesentlich größer sein als der Bereich {x : |g′(x)| < 1} aus dem Fixpunktsatz. Im folgenden linken Beispiel hat die Funktion g den weiteren Fixpunkt 0 mit g′(0) > 1 (’abstoßender Fixpunkt’). Offensichtlich konvergiert die Iteration hier für alle Startwerte x_{0} ∈ (0, z] gegen z. Dies läßt sich induktiv ganz einfach aus den Eigenschaften

x < g(x) < g(z) ∀x ∈ (0, z)

herleiten, denn dann gilt x_{k} < g(x_{k}) = x_{k+1} < z.

[figure: 0 < g′(z) < 1: monotone Konvergenz; g; x_{0}; x_{1}; x_{2}; z; −1 < g′(z) < 0: alternierende Konvergenz; g; x_{0}; x_{1}; x_{2}; z]

• Im Fall g′(z) = 0 tritt ein weiterer Effekt auf: Beispiel 5.1.1 f(x) = x^{2} − a = 0 (a > 0) ⟺ x = \frac{a}{x} ⟺ 2x = x + \frac{a}{x}.

Es sei g(x) := \frac{1}{2}(a + \frac{a}{x}) ⇒ z = g(z) = \sqrt{a}, die Iteration x_{k+1} := g(x_{k}) heißt Heron-Verfahren. Die nebenstehende Tabelle zeigt die Iterierten für a = 2. Offensichtlich verdoppelt sich die Anzahl der richtigen Ziffern bei jedem Schritt. Dieser Effekt ist mit dem Banachschen Fixpunktsatz alleine nicht erklärbar.

\begin{matrix}k & x_{k} \\ 0 & 1 \\ 1 & \underline{1.}5 \\ 2 & \underline{1.41}66 \\ 3 & \underline{1.41421}56 \\ 4 & \underline{1.414213562} \end{matrix}

Eine Analyse ergibt im speziellen Beispiel die Identität

x_{k+1} − z = \frac{x_{k}^{2} + a}{2x_{k}} − \sqrt{a} = \frac{1}{2x_{k}} (x_{k}^{2} − 2x_{k}\sqrt{a} + a) = \frac{1}{2x_{k}} (x_{k} − z)^{2},

bzw. allgemein mit der Eigenschaft g′(z) = \frac{1}{2}(1 − a/z^{2}) = 0 und dem Satz von Taylor

x_{k+1} − z = g(x_{k}) − g(z) = \underbrace{g′(z)}_{=0} (x_{k} − z) + \frac{1}{2}g′′(ξ_{k})(x_{k} − z)^{2}.  (5.1.1)

Aus beiden Formeln folgt, daß der Fehler bei jedem Iterationsschritt ungefähr quadriert wird mit der Konsequenz

|x_{k} − z| ≤ 10^{−m} ⇒ |x_{k+1} − z| ≤ \frac{1}{2}|g′′(z)| 10^{−2m}.

Dies entspricht ungefähr einer Verdopplung der Zahl der gültigen Ziffern pro Schritt.

Zur Beschreibung solcher Effekte führt man die Konvergenzordnung von Iterationsverfahren ein.

Definition 5.1.2 Eine Folge {x_{k}} mit lim_{k→∞} x_{k} = z, bzw. ein sie erzeugendes Iterationsverfahren, heißen konvergent von der Ordnung p ≥ 1, wenn k_{0} ∈ N, q ∈ R_{+} (und q < 1 bei Ordnung p = 1) existieren mit

|x_{k+1} − z| ≤ q |x_{k} − z|^{p} ∀k ≥ k_{0}.  (5.1.2)

Im allgemeinen wird als Ordnung das maximal mögliche p angegeben. Für p = 1, 2, 3 spricht man speziell von linearer, quadratischer und kubischer Konvergenz. Die Ordnung eines Iterationsverfahrens läßt sich an der Taylor-Entwicklung der Iterationsfunktion g im Fixpunkt z ablesen (wie im Beispiel).

Satz 5.1.3 Es sei z = g(z) ∈ U ein Fixpunkt von g ∈ C^{p}(U), p > 1, U offen. Es gelte

g′(z) = … = g^{(p−1)}(z) = 0, g^{(p)}(z) ≠ 0.

Dann konvergiert die Iterationsfolge {x_{k}}, x_{k} := g(x_{k−1}), für Startwerte x_{0} genügend nahe an z mit der Ordnung p gegen z.

Beweis Wenn 0 < |x_{0} − z| ≤ ε mit genügend kleinem ε gilt, ist

x_{k+1} − z = g(x_{k}) − g(z) = g′(z)(x_{k} − z) + … + \frac{g^{(p−1)}(z)}{(p − 1)!}(x_{k} − z)^{p−1} + \frac{g^{(p)}(ξ_{k})}{p!}(x_{k} − z)^{p}

wobei rechts alle Summanden, bis auf den letzten, verschwinden (g^{(p)}(ξ) ≠ 0 wegen der Stetigkeit). Daher gilt (5.1.2). Die Konvergenz folgt aus

|x_{k+1} − z| ≤ q|x_{k} − z|^{p} ≤ (qε^{p−1})|x_{k} − z|,

wenn qε^{p−1} < 1.

Bei der Konstruktion von Iterationsverfahren zur Nullstellenbestimmung geht man ähnlich vor wie früher: Die Funktion f wird durch ein einfacheres Modell approximiert (z.B. ein Polynom), für das sich eine Nullstelle einfach berechnen läßt. Dazu gibt es verschiedene Ansätze.

Newton-Verfahren

Approximation der Funktion f durch Abschnitte des Taylorpolynoms:

f(z) = \underbrace{\underbrace{0 = f(x_{k}) + f′(x_{k})(z − x_{k})}_{→ Newton-Verf.} +\frac{1}{2}f′′(x_{k})(z − x_{k})^{2}}_{→ Newton-Raphson-Verf.} + …

Das lineare Modell führt auf das Newtonverfahren

[figure: x_{k}; z]
x_{k+1} := g_{N}(x_{k}), g_{N}(x) := x − \frac{f(x)}{f′(x)} ,  (5.1.3)

das quadratische Modell auf das Newton-Raphson-Verfahren

x_{k+1} := g_{R}(x_{k}), g_{R}(x) := x − \frac{2f(x)}{f′(x) + signf′\sqrt{f′(x)^{2} − 2f(x)f′′(x)}} .  (5.1.4)

Nur das Newtonverfahren wird im folgenden genauer analysiert. Offensichtlich gilt

z = g_{N}(z) = z − \frac{f(z)}{f′(z)} ⇒ f(z) = 0.

Daher ist jeder Fixpunkt von g_{N} auch Nullstelle von f. Als Anwendung von Satz 5.1.3 ergeben sich für f′(z) ≠ 0 aus

\begin{matrix}g′_{N}(x) = 1 − \frac{f′(x)^{2} − f(x)f′′(x)}{f′(x)^{2}} = f(x)\frac{f′′(x)}{f′(x)^{2}} = 0 & in x = z, \\ g′′_{N}(x) = \frac{f′(x)^{2}f′′(x) + f(x)[⋯]}{f′(x)^{3}} = \frac{f′′(z)}{f′(z)} & in x = z, \end{matrix}  (5.1.5)

die Aussagen, daß (für f′(z) ≠ 0) das Newtonverfahren quadratisch konvergiert, in einem Wendepunkt von f (mit f′′(z) = 0) sogar kubisch. Das Newton-Raphson-Verfahren (5.1.4) konvergiert i.a. kubisch.

Beim Newton-Verfahren verläuft die Konvergenz meist monoton, im Beispiel 5.1.1, z.B., galt ab dem zweiten Schritt x_{k} ↘ \sqrt{a}. Dies folgt aus der Fehlerdarstellung (5.1.1),

x_{k+1} − z = \frac{1}{2}g′′_{N}(ξ_{k}) \underbrace{(x_{k} − z)^{2}}_{≥0} ⇒ sign(x_{k+1} − z) = sign g′′_{N}(z) = sign \frac{f′′(z)}{f′(z)}

nahe bei z.

[figure: g′′_{N}(z) > 0; x_{1}; x_{2}; x_{3}; g′′_{N}(z) < 0; x_{1}; x_{2}; x_{3}]

Bemerkung: 1) Wie die meisten Verfahren höherer Ordnung konvergiert das Newtonverfahren i.a. nur lokal, d.h. für genügend kleine Startfehler |x_{0} − z|. Eine konkrete Aussage über dessen zulässige Größe folgt im nächsten Abschnitt für den R^{n}. Der Einzugsbereich des Newtonverfahrens kann in ungünstigen Fällen sehr klein sein. Dann ist es sehr schwer, einen geeigneten Startwert x_{0} zu finden.

2) Auch bei mehrfachen Nullstellen, d.h. bei f′(z) = 0, ist das Newtonverfahren noch verwendbar. Bei f(x) = (x − z)^{m}r(x), r(z) ≠ 0, gilt nämlich

g_{N}(x) = x − \frac{(x − z)^{m}r(x)}{m(x − z)^{m−1}r(x) + (x − z)^{m}r(x)} = x − \frac{(x − z)r(x)}{mr(x) + (x − z)r′(x)} ⇒

x_{k+1} − z = g_{N}(x_{k}) − z = (x_{k} − z)(1 − \frac{1}{m + (x_{k} − z)r′(x_{k})/r(x_{k})}) ≅ (1 − \frac{1}{m})(x_{k} − z).

Daher konvergiert das Newtonverfahren noch linear mit dem Kontraktionsfaktor 1 − \frac{1}{m} < 1.

Sekantenverfahren, Regula falsi

Zur Approximation der Funktion f bei der Nullstellenbestimmung ist außer dem Taylorpolynom auch ein Interpolationspolynom einsetzbar. Ausgehend von zwei Funktions-Wertepaaren (x_{0}, f_{0}), (x_{1}, f_{1}) läßt sich eine verbesserte Näherung über die Nullstelle der linearen Interpolierenden (Sekante) bestimmen:

s(x) = f[x_{1}] + (x − x_{1})f[x_{1}, x_{0}] = f_{1} + (x − x_{1})\frac{f_{1} − f_{0}}{x_{1} − x_{0}} =^{!} 0. [figure: x_{1}; x_{0}; x_{2}; f_{1}; f_{0}; z]

Dies führt auf den neuen Wert

x_{2} = x_{1} − f_{1} \frac{x_{1} − x_{0}}{f_{1} − f_{0}} = \frac{x_{0}f_{1} − x_{1}f_{0}}{f_{1} − f_{0}} .  (5.1.6)

Die erste Form betont die Ähnlichkeit mit dem Newtonverfahren, da (x_{1} − x_{0})/(f_{1} − f_{0}) ≅ 1/f′(x_{1}). Bei Wiederholung der Konstruktion (5.1.6) mit {x_{1}, x_{2}} kann die nächste Näherung allerdings wieder schlechter als x_{0} sein. Dies wird verhindert bei der

Regula falsi Mit (5.1.6) wird stets eine Einschließung der Nullstelle z konstruiert. Ausgehend von einem Intervall [x_{k}, y_{k}] mit f(x_{k})f(y_{k}) < 0 wird definiert

[x_{k+1}, y_{k+1}] := \{ \begin{matrix}[m_{k}, y_{k}] & für & f(m_{k})f(y_{k}) < 0 \\ [x_{k}, m_{k}] & für & f(x_{k})f(m_{k}) < 0 \end{matrix} mit m_{k} := \frac{x_{k}f(y_{k}) − y_{k}f(x_{k})}{f(y_{k}) − f(x_{k})}. (5.1.7)

Nach Konstruktion ist dann f(x_{k+1})f(y_{k+1}) < 0. Allerdings hat das Verfahren den entscheidenden Nachteil, daß einer der Randpunkte nie verbessert wird, wenn f′′ in der Nähe von z ein festes Vorzeichen besitzt:

[figure: x_{0}; y_{k}; x_{1}; x_{k}; y_{0}; y_{1}; f′′ > 0:; f′′ < 0:]

Daher besitzt dieses Verfahren i.a. nur die Konvergenzordnung eins. Bei Verzicht auf die Einschließungseigenschaft erhält man das

Sekantenverfahren Ohne Beachtung des Vorzeichenwechsels der Funktionswerte wird (5.1.6) als Iterationsvorschrift angewendet:

x_{k+1} = x_{k} − f(x_{k})\frac{x_{k} − x_{k−1}}{f(x_{k}) − f(x_{k−1})}, k = 1, 2, …  (5.1.8)

Dieses Iterationsverfahren hat eine andere Struktur als alle bisherigen. Da zur Konstruktion von x_{k+1} zwei frühere Iterierte verwendet werden, handelt es sich nicht mehr um eine einfache Fixpunktiteration, sondern um eine mehrstufige Iteration.

Definition 5.1.4 Ein Iterationsverfahren der Form

x_{k+1} := G(x_{k}, x_{k−1}, …, x_{k−m+1}), k ≥ m − 1,

mit G : R^{m} ↦ R heißt m-stufiges Verfahren.

Zur Untersuchung der Konvergenz des Verfahrens betrachten wir die Fortpflanzung der Fehler. Aus (5.1.8) folgt

x_{k+1} − z = x_{k} − z − \frac{f(x_{k}) − f(z)}{f[x_{k−1}, x_{k}]} = (x_{k} − z)\frac{f[x_{k−1}, x_{k}] − f[x_{k}, z]}{f[x_{k−1}, x_{k}]} (5.1.9)
= \frac{(x_{k} − z)(x_{k−1} − z)}{f[x_{k−1}, x_{k}]} \frac{f[x_{k−1}, x_{k}] − f[x_{k}, z]}{x_{k−1} − z}
= (x_{k} − z)(x_{k−1} − z)\frac{f[x_{k−1}, x_{k}, z]}{f[x_{k−1}, x_{k}]},

oder kurz mit e_{k} := x_{k} − z:

e_{k+1} = e_{k} e_{k−1} \frac{f[x_{k−1}, x_{k}, z]}{f[x_{k−1}, x_{k}]}.  (5.1.10)

Aus (2.3.10) folgt, daß Stellen ξ_{k}, η_{k} aus der konvexen Hülle von x_{k}, x_{k−1}, z existieren mit

f[x_{k−1}, x_{k}] = f′(ξ_{k}), f[x_{k−1}, x_{k}, z] = \frac{1}{2}f′′(η_{k}).

Für f′(z) ≠ 0 gibt es daher eine Umgebung von z, in der (5.1.8) konvergiert.

Satz 5.1.5 Es sei U = [z −r, z +r], r > 0, eine Umgebung der Nullstelle z von f ∈ C^{2}(U). Es gelte

|f′(x)| ≥ m_{1} > 0, \frac{1}{2}|f′′(x)| ≤ M_{2} ∀x ∈ U.

Dann konvergiert das Sekantenverfahren (5.1.8) für zwei beliebige Startwerte x_{0}, x_{1} ∈ U mit M|x_{0} − z| < 1, M|x_{1} − z| < 1 (M := M_{2}/m_{1}) gegen die Nullstelle z. Die Konvergenzordnung ist dabei mindestens p_{S} = \frac{1}{2}(1 + \sqrt{5}) = 1.618.. .

Beweis a) Nach (5.1.10) gilt mit q := M max{|e_{0}|, |e_{1}|} < 1 induktiv

|e_{k+1}| ≤ M|e_{k}e_{k−1}| ≤ q|e_{k}| < |e_{k}|, k ≥ 1.

Somit übertragen sich die benötigten Eigenschaften auf e_{k+1}, es ist |e_{k+1}| < r, M|e_{k+1}| < q und es folgt |e_{k+1}| ≤ q^{k}|e_{1}| → 0.

b) Wir betrachten nur den Fall f′′(z) ≠ 0 und zeigen, daß das Verfahren dann genau von der Ordnung p = p_{S}, mit p^{2} = p + 1, konvergiert. Dazu sei q̂ := \frac{1}{2}f′′(z)/f′(z) ≠ 0 und e_{0}, e_{1} ≠ 0. Nach Teil a) und (5.1.10) gilt dann e_{k+1} = q_{k}e_{k}e_{k−1} mit q_{k} ≠ 0 für k ≥ k_{0},

q_{k} → q̂, und die neue Folge c_{k} := e_{k+1}/e_{k}^{p} ist dann wohldefiniert. Für sie gilt

c_{k} = \frac{e_{k+1}}{e_{k}^{p}} = q_{k}e_{k}^{1−p}e_{k−1} = q_{k}c_{k−1}^{1−p}e_{k−1}^{1+p−p^{2}} = q_{k}c_{k−1}^{1−p}.

Dies ist eine einstufige Rekursionsformel, zu der wegen 0 < p − 1 < 1 eine beschränkte Folge {c_{k}} gehört (Übung). Daraus folgt die Behauptung.

Bemerkungen: 1) Die Ordnung des Sekantenverfahrens ist etwas geringer als die des Newtonverfahrens. Allerdings benötigt ein Iterationsschritt (5.1.8) nur eine neue Funktionsauswertung, während beim Newtonverfahren f(x_{k}) und f′(x_{k}) zu berechnen sind. Dies ist bei einem Effizienzvergleich zu berücksichtigen: Mit Hilfe von k = 2m Funktionsauswertungen wird der Anfangsfehler |e_{0}| i.w. reduziert auf

|e_{0}|p{k/2 \atop N} (Newton-Verf.) bzw. |e_{0}|pk S (Sekanten-Verf.).

Die effektiven Ordnungen (bezogen auf die Zahl der Funktionsauswertungen) sind also für Newton- und Sekanten-Verfahren

p_{N}^{1/2} = \sqrt{2} = 1.414 … < p_{S} = 1.618 ….

Da das Sekantenverfahren somit eine bessere effektive Ordnung besitzt und außerdem keine Ableitungen benötigt, ist es für skalare Probleme dem Newtonverfahren i.a. vorzuziehen (HP-Rechner: Solve-Taste).

Beispiel 5.1.6 f(x) := cos(x) cosh(x) + 1. Anwendung von Newton- und Sekantenverfahren:

Newton  Sekanten
x_{0}=1.8  x_{0}=1.8, x_{1}=1.9
x_{2}=\underline{1.87}36979
x_{1}=\underline{1.87}95674 x_{3}=\underline{1.875}0786
x_{4}=\underline{1.8751040}95
x_{2}=\underline{1.8751}186 x_{5}=\underline{1.875104069}

2) Die Vorteile von Regula falsi und Sekantenverfahren lassen sich durch einfache Überwachung vereinigen. Zusätzlich zur Folge {x_{k}} aus (5.1.8) wird die bisher beste Einschließung

a_{k} := max{x_{j} : x_{j} ≤ z, j ≤ k}, b_{k} := min{x_{j} : x_{j} ≥ z, j ≤ k},

gespeichert und ein x_{k+1} ∉ [a_{k}, b_{k}] durch den besseren Randwert ersetzt. Weitere Varianten sind in der Literatur beschrieben, ihre Konvergenzordnungordnungen reduzieren sich geringfügig auf ungefähr 1.6.

Interpolationsverfahren höherer Ordnung

Beim Übergang zu Interpolationspolynomen von f höherer Ordnung tritt das Problem auf, dessen Nullstellen bestimmen zu müssen. Dies läßt sich durch Betrachtung der (lokalen) Umkehrfunktion φ := f^{−1} umgehen. Wenn nämlich z Nullstelle von f ist, f(z) = 0, dann gilt natürlich z = φ(0). Dazu werden die Wertepaare (x_{j}, y_{j} = f(x_{j})), j = k, k − 1, , …, k − m, als Daten der Umkehrfunktion interpretiert, (y_{j}, φ(y_{j}) = x_{j}), und so interpoliert:

[figure: y_{0}; x_{0}; y; x; x_{1}; y_{1}; x_{2}; y_{2}; φ = f^{−1}]
q_{m} ∈ Π_{m} : q_{m}(y_{j}) = x_{j}, j = k, k − 1, …, k − m.

Die nächste Iterierte ergibt sich als x_{k+1} = q_{m}(0). Die Verbesserungen gegenüber dem Sekantenverfahren sind aber nicht mehr groß (Ordnung < 2 ∀m).

5.2 Newtonverfahren im R^{n}

Im Gegensatz zum skalaren Fall n = 1 gibt es bei der Lösung nichtlinearer Gleichungssysteme (5.0.1) mit n > 1 kaum eine Alternative zum Newtonverfahren. Nach Definition der Ableitung in einer Stelle x̄ ∈ R^{n},

f′(x̄) := \frac{∂f}{∂x}(x̄) = ( \begin{matrix}\frac{∂f_{1}}{∂x_{1}} (x̄) & … & \frac{∂f_{1}}{∂x_{n}} (x̄) \\ ⋮ & & ⋮ \\ \frac{∂f_{n}}{∂x_{1}} (x̄) & … & \frac{∂f_{n}}{∂x_{n}} (x̄) \end{matrix} ) = ( ∇f_{1} ; ⋮ ; ∇f_{n} ) zu f = ( f_{1} ; ⋮ ; f_{n} ) ,  (5.2.1)

gilt mit der Matrix A := f′(x̄) die Aussage

f(x) = f(x̄) + A(x − x̄) + o(∥x − x̄∥), x → x̄.  (5.2.2)

Falls der Abstand ∥z − x̄∥ zu einer Nullstelle z klein genug ist, kann zur Approximation von z das lineare Modell benutzt werden:

0 = f(z) = f(x̄) + A(z − x̄) + … ⇒ z ≅ x̄ − A^{−1}f(x̄).

Dies führt auf das folgende Newtonverfahren im R^{n}, bei dem mit einem Startvektor x^{(0)} ∈ R^{n} die Iteration

f′(x^{(k)})(x^{(k+1)} − x^{(k)}) = −f(x^{(k)}), k = 0, 1, …,  (5.2.3)

durchgeführt wird. In jedem Schritt (5.2.3) ist dabei ein lineares Gleichungssystem zu lösen, mit dessen Lösung die aktuelle Näherung korrigiert wird,

A_{k}s^{(k)} = −f(x^{(k)})  mit Matrix A_{k} = f′(x^{(k)}),
x^{(k+1)} := x^{(k)} + s^{(k)}. (5.2.4)

5.2 Newtonverfahren im R^{n} 71

Die Inverse A_{k}^{−1} wird dazu aber i.a. nicht berechnet (vgl. §4). Die Gestalt des Einzugsbereichs der Iteration (5.2.3) ist in der Regel sehr kompliziert. Unter geeigneten Voraussetzungen kann aber eine Kugel um z angegeben werden, in der Konvergenz x^{(k)} → z eintritt für jeden Startwert x^{(0)} aus der Kugel. Dazu sei an den Mittelwertsatz im R^{n} erinnert:

Satz 5.2.1 Es sei D ⊆ R^{n} offen, f ∈ C^{2}(D) und D_{0} ⊆ D konvex und abgeschlossen. Dann gelten für x, y ∈ D_{0} die Aussagen

f(x) − f(y) = ∫_{0}^{1} f′(y + t(x − y)) dt (x − y),  (5.2.5)
∥f(x) − f(y)∥ ≤ L_{1}∥x − y∥, L_{1} := max{∥f′(x)∥ : x ∈ D_{0}},  (5.2.6)
(f′(x) − f′(y))z = ∫_{0}^{1} f′′(y + t(x − y)) dt [z, x − y] ∀z ∈ R^{n},  (5.2.7)
∥f′(x) − f′(y)∥ ≤ L_{2}∥x − y∥, L_{2} := max{∥f′′(x)∥ : x ∈ D_{0}}.  (5.2.8)

Bei (5.2.7) ist zu beachten, daß f′′ eine bilineare Abbildung ist, f′′(x) : R^{n} × R^{n} → R^{n}. Die Komponenten f′′_{i} sind symmetrische Matrizen und f′′(x)[z, y] = (z^{T} f′′_{i}(x)y)_{i=1}^{n}.

Beweis Es werden die skalaren Funktionen φ_{i}(t) := f_{i}(y + t(x − y)), t ∈ [0, 1] betrachtet. Nach der Kettenregel gilt

\frac{dφ_{i}}{dt} (t) = gradf_{i}(y + t(x − y)) · (x − y) ⇒
φ_{i}(1) − φ_{i}(0) = ∫_{0}^{1} φ′_{i}(t)dt = ∫_{0}^{1} gradf_{i}(y + t(x − y)) · (x − y),

d.h. (5.2.5) nach (5.2.1). Die Schranke (5.2.6) ergibt sich daraus sofort, denn

∥f(x) − f(y)∥ ≤ ∥ ∫_{0}^{1} f′(y + t(x − y))dt∥ ∥x − y∥ ≤ max_{t∈[0,1]} ∥f′(y + t(x − y))∥ ∥x − y∥.

Der Beweis von (5.2.7),(5.2.8) geht analog. Mit diesen Hilfsmitteln läßt sich nun die lokale Konvergenz des Newtonverfahrens mit Ordnung zwei zeigen.

Satz 5.2.2 Es sei D ⊆ R^{n} offen, f ∈ C^{2}(D) und z ∈ D mit f(z) = 0. Die Ableitung f′(z) sei regulär und es gelte

∥f′(z)^{−1}∥ ≤ \frac{1}{λ_{1}} ,  (5.2.9)
sup_{x∈D} ∥f′′(x)∥ ≤ L_{2}.  (5.2.10)

Die Kugel K_{δ} := {x ∈ R^{n} : ∥x − z∥ ≤ δ} sei in D enthalten,

K_{δ} ⊆ D für δ < \frac{2λ_{1}}{3L_{2}} .

Dann konvergiert das Newtonverfahren (5.2.3) für jeden Startvektor x^{(0)} ∈ K_{δ} gegen z. Die Konvergenz ist quadratisch,

∥x^{(k+1)} − z∥ ≤ \frac{1}{2} \frac{L_{2}}{λ_{1} − δL_{2}} ∥x^{(k)} − z∥^{2}.  (5.2.11)

Beweis O.B.d.A. wird der erste Schritt mit x^{(0)} =: x betrachtet. Es gilt nach (5.2.3) und (5.2.5)

∥x^{(1)} − z∥ = ∥ x − z − f′(x)^{−1}(f(x) − f(z))∥
= ∥(I − f′(x)^{−1} ∫_{0}^{1} f′(z + t(x − z))dt)(x − z)∥
≤ ∥f′(x)^{−1}∥ ∫_{0}^{1} ∥f′(x) − f′(z + t(x − z))∥dt ∥x − z∥.  (5.2.12)

Nach (5.2.8) mit y = z + t(x − z), d.h., x − y = (1 − t)(x − z), läßt sich die Differenz der Ableitungen abschätzen durch

∫_{0}^{1} ∥f′(x) − f′(z + t(x − z))∥dt ≤ L_{2} ∫_{0}^{1}(1 − t)dt ∥x − z∥ = \frac{1}{2}L_{2}∥x − z∥.  (5.2.13)

Als nächstes wird die Regularität der Ableitung f′(x) gezeigt. Es ist f′(z)^{−1}f′(x) = I + f′(z)^{−1}(f′(x) − f′(z)). Nach Voraussetzung (5.2.9) ist der zweite Summand klein,

∥f′(z)^{−1}(f′(x) − f′(z))∥ ≤ \frac{L_{2}}{λ_{1}} ∥x − z∥ ≤ \frac{L_{2}δ}{λ_{1}} < \frac{2}{3} < 1,

nach dem Satz von Neumann, Satz 4.2.2, existiert daher f′(x)^{−1} und nach (4.2.15) ist

∥f′(x)^{−1}∥ ≤ ∥f′(z)^{−1}∥\frac{1}{1 − L_{2}δ/λ_{1}} ≤ \frac{1}{λ_{1} − L_{2}δ} .

Diese Schranke und (5.2.13) führen mit (5.2.12) auf die letzte Behauptung (5.2.11),

∥x^{(1)} − z∥ ≤ \frac{1}{λ_{1} − δL_{2}} \frac{1}{2}L_{2}∥x − z∥^{2}.

Damit ist die quadratische Konvergenz gesichert, wenn noch ∥x^{(1)} − z∥ ≤ q∥x − z∥, q < 1, gilt. Dies kann für δ < 2λ_{1}/(3L_{2}) garantiert werden:

∥x^{(1)} − z∥ ≤ \underbrace{\frac{1}{2} \frac{L_{2}δ}{λ_{1} − δL_{2}}}_{=: q < 1} ∥x − z∥ < \frac{1}{3} \frac{λ_{1}}{λ_{1} − 2λ_{1}/3}∥x − z∥ = ∥x − z∥.

Durchführung des Newtonverfahrens

1. Satz 5.2.2 garantiert Konvergenz nur in einer, eventuell sehr kleinen, Kugel um die Nullstelle (lokale Konvergenz). Das globale Konvergenzverhalten des Verfahrens kann verbessert werden, indem der Fortschritt der Iteration anhand der Norm ∥f(x)∥_{2} überprüft wird. Man versucht dabei, die Funktion

φ(x) := ∥f(x)∥_{2}^{2} zu minimieren.

Dazu wird der Vektor des Newtonschritts s^{(k)} := −f′(x^{(k)})^{−1}f(x^{(k)}) nur als Suchrichtung benutzt, und der nächste Punkt x^{(k+1)} auf dem Strahl

x^{(k+1)} := x^{(k)} + λ_{k}s^{(k)}, 0 < λ_{k} ≤ 1,

so bestimmt, daß φ(x^{(k+1)}) < φ(x^{(k)}) gilt. Man führt eine sog. Liniensuche durch. Da

\frac{d}{dλ}φ(x^{(k)} + λs^{(k)})|_{λ=0} = −2φ(x^{(k)}) < 0

gilt, existiert ein solcher Punkt für genügend kleines λ. In der Praxis kann dazu die Strecke x^{(k)} … x^{(k)}+ s^{(k)} solange halbiert werden, bis φ einen kleineren Wert annimmt. Diese Wahl führt auf λ_{k} ∈ \{1, \frac{1}{2}, \frac{1}{4}, …\}. Da dann λ_{k} ≤ 1 gilt, spricht man vom gedämpften Newtonverfahren. Nahe bei der Nullstelle wählt diese Methode automatisch wieder λ_{k} = 1, sodaß die quadratische Konvergenz nicht zerstört wird.

[figure: x^{(k)}; x^{(k)} + s^{(k)}; λ = \frac{1}{2}; Höhenlinien von φ]

2. Im R^{n} sind pro Schritt des Newtonverfahrens n^{2} + n Komponenten von f und f′ zu berechnen und eine LR-Zerlegung durchzuführen. Wenn x^{(k)} genügend nahe bei z liegt, kann evtl. die Ableitungsmatrix (und ihre LR-Zerlegung) von früher übernommen werden. Dies führt zum vereinfachten Newtonverfahren

f′(x^{(0)})(x^{(k+1)} − x^{(k)}) = −f(x^{(k)}), k = 0, 1, ….  (5.2.14)

Bei den Gleichungssystemen ändert sich jetzt nur die rechte Seite (vgl. §4.3), −f(x^{(k)}). Die Konvergenz der vereinfachten Iteration (5.2.14) ist dafür nur noch linear mit dem asymptotischen Konvergenzfaktor ∥I − f′(x^{(0)})^{−1}f′(z)∥.

Demo-Beispiel Im Quadrat [−1, 1] × [−1, 1] ⊆ R^{2} besitzt die Funktion

f(x) = ( \begin{matrix}x_{1}^{2} + 9x_{2}^{2} + 2x_{1} − 3 \\ 4x_{1}^{2} − x_{2}^{2} − x_{2} − 1 \end{matrix} )

4 Nullstellen bei (−0.72, 0.66), (0.62, 0.39), (0.43, −0.46) und (−0.44, −0.64). Die normale Newton-Iteration mit dem Startwert (0, 0.4) erzeugt die Werte (12-stellige Rechnung)

Der erste Schritt führt nach weit außerhalb des Quadrats mit einer starken Vergrößerung des Wertes φ. Später konvergiert die Iteration offensichtlich quadratisch gegen eine Lösung in der unteren Halbebene. Bei einer Liniensuche im ersten Schritt wäre die nähergelegene Nullstelle bei (0.62, 0.39) gefunden worden.

k  x_{1}^{(k)}  x_{2}^{(k)} φ(x^{(k)})

0 0.000000000 0.400000000 2.2E+00 1 3.900000000 -0.466666667 6.4E+01 2 1.974863569 -0.097182979 1.5E+01 3 1.024133838 -0.509788636 4.2E+00 4 0.603428523 -0.429913469 7.4E-01 5 0.457214218 -0.460213498 9.0E-02 6 0.433986060 -0.464807423 2.3E-03 7 0.433367993 -0.464932100 1.6E-06 8 0.433367555 -0.464932188 0.0E+00

6 Analyse der Rundungsfehler

Bisher wurden alle Verfahren auf der Basis einer Rechnung mit reellen Zahlen diskutiert. In einem Computer stehen aber nur endlich viele Zahldarstellungen (Maschinenzahlen) zur Approximation reeller Zahlen zur Verfügung. Bei jeder Dateneingabe und -verknüpfung treten daher i.a. Fehler auf, die sich — eventuell katastrophal — auf das Endergebnis auswirken können.

6.1 Zahldarstellung und Rundungsfehler

Die gängige (Dezimal-) Darstellung reeller Zahlen, z.B. e=2.71828.., entspricht der Angabe der Koeffizienten in folgender Reihen-Entwicklung

e = 2 · 10^{0} + 7 · 10^{−1} + 1 · 10^{−2} + 8 · 10^{−3} + …

zur Basis 10. Auf Computern ist eine Zahldarstellung günstiger zu einer Basis B, die eine Zweierpotenz ist, z.B., B = 2, B = 16. Jede reelle Zahl x ist darstellbar in der Form

x = ±(x_{m}B^{m} + x_{m−1}B^{m−1} + … + x_{1}B + x_{0} + x_{−1}B^{−1} + …),  (6.1.1)

mit x_{j} ∈ {0, 1, …, B − 1}, wenn 1 < B ∈ N. Diese Darstellung ist nur dann eindeutig, wenn von zwei möglichen Darstellungen die endliche gewählt wird (man beachte: 1.999 … = 2). Eine Abbildung mit möglichst kleinem relativem Fehler von (6.1.1) auf eine endliche Zahlmenge läßt sich bei der Gleitpunktdarstellung erreichen. Bei dieser werden der höchste Exponent m und die ersten ℓ Ziffern x_{m}, …, x_{m−ℓ+1} angegeben. Der zulässige Exponentenbereich muß dabei natürlich auch beschränkt werden. Außerdem ist eine Standardisierung in folgender Weise üblich:

Definition 6.1.1 Die Menge M der normalisierten Gleitpunktzahlen enthält die Elemente x = 0 und die Zahlen

x = ±0.ξ_{1}ξ_{2} … ξ_{ℓ} · B^{d} := ±(ξ_{1}B^{−1} + ξ_{2}B^{−2} + … + ξ_{ℓ}B^{−ℓ})B^{d},  (6.1.2)
mit ξ_{j} ∈ {0, 1, …, B − 1}, ξ_{1} ≠ 0, d ∈ Z, |d| ≤ e.

Im folgenden wird allerdings ein unbeschränkter Exponentenbereich (e = ∞) angenommen.

Beispiel 6.1.2 Binärdarstellung, B = 2. Wegen der Normalisierung ξ_{1} ≠ 0 gilt immer ξ_{1} = 1. Daher kann an Stelle von ξ_{1} das Vorzeichen gespeichert werden. In Turbo-Pascal wird eine real-Zahl in 5+1=6 Byte gespeichert:

±0.ξ_{1}ξ_{2} … ξ_{ℓ} · B^{d} ↦  d  ±ξ_{2}ξ_{3}.. · · ·  ⋯  ⋯  ⋯ ξ_{ℓ}

Hier gilt also ℓ = 40, e = 128. Die Zahlgenauigkeit beträgt ca. 12 Dezimalstellen, die Größe ist durch 2^{d} ≅ 10^{38} beschränkt.

Ein zentraler Bestandteil jeder Computerarithmetik ist die Zuordnung von reellen Zahlen zu Gleitpunktzahlen, also die Abbildung

rd : \{ \begin{matrix}R & ↦ & M \\ x & ↦ & rd(x) \end{matrix} .

Eine triviale Variante der Rundung ist das Abschneiden der Darstellung (6.1.1) mit ξ_{1} … ξ_{ℓ} = x_{m} … x_{m−ℓ+1}. Günstiger ist aber die gewöhnliche Rundung

rd(±0.x_{1}x_{2} … x_{ℓ}x_{ℓ+1} . . . · B^{d}) := \{ \begin{matrix}±0.x_{1}x_{2} … x_{ℓ} · B^{d} & falls & x_{ℓ+1} < B/2 \\ ±(0.x_{1}x_{2} … x_{ℓ} + B^{−ℓ}) · B^{d} & falls & x_{ℓ+1} ≥ B/2 \end{matrix} (6.1.3)

bei Dezimalzahlen etwa wird ab 5 aufwärts gerundet. Bei dieser Rundung kann für den relativen Fehler folgendes gezeigt werden.

Satz 6.1.3 Für x ≠ 0 gilt mit (6.1.3)

|\frac{rd(x) − x}{x}| ≤ \frac{1}{2}B^{1−ℓ} =: eps ⟺ rd(x) = x(1 + ϵ), |ϵ| ≤ eps.

Die Größe eps heißt Maschinengenauigkeit, bei B = 2 ist eps = 2^{−ℓ}.

Beweis In (6.1.3) ist |x| ≥ B^{d−1}. In beiden Fällen gilt dort

|rd(x) − x| ≤ \frac{B}{2} B^{−ℓ−1}B^{d} ≤ \frac{1}{2}B^{1−ℓ}B^{d−1} ≤ |x| · eps.

Dies bedeutet, daß die Funktion rd aus (6.1.3) jeweils auf die nächstgelegene Maschinenzahl abbildet. Da das Ergebnis der Verknüpfung von zwei Maschinenzahlen i.a. nicht wieder eine solche ist, werden bei jeder Verknüpfung neue Rundungsfehler erzeugt. Daher müssen Maschinenoperationen von reellen Verknüpfungen unterschieden werden:

Definition 6.1.4 Für a, b ∈ M und ∗ ∈ {+, −, ×, /} bezeichne (mit b ≠ 0 im Fall der Division)

a ˜∗ b = gl(a ∗ b)

das Ergebnis der entsprechenden (geräteabhängigen) Gleitpunktoperation.

Bei der Konstruktion eines Rechners (Hardware) ist anzustreben, daß der Fehler bei diesen Operationen den zu erwartenden Rundungsfehler nicht übersteigt. Dies kann durch Verwendung eines Hilfsregisters (’Akkumulator’) mit doppelter Stellenzahl 2ℓ garantiert werden. Dort wird die Operation mit 2ℓ Stellen ausgeführt und dann auf ℓ Stellen gerundet.

Satz 6.1.5 Für die Gleitpunktoperationen zu ∗ ∈ {+, −, ×, /} auf einem ℓ-ziffrigen Rechner mit doppeltlangem Akkumulator (2ℓ Stellen) gilt für a, b ∈ M (b ≠ 0 bei Division)

a ˜∗ b = (a ∗ b)(1 + δ), |δ| ≤ eps = \frac{1}{2}B^{1−ℓ}.  (6.1.4)

Erläuterung: Bei Addition von a = ±0.α_{1} … α_{ℓ}B^{c}, b = ±0.β_{1} … β_{ℓ}B^{d}, (oBdA c ≥ d) ist als erstes eine Exponentenanpassung durchzuführen:

[figure: ±0.α_{1}α_{2} … α_{ℓ}; ±0.β_{1}β_{2} … β_{ℓ}; c − d]

Man sieht leicht, daß für c − d ≤ ℓ das Ergebnis exakt mit 2ℓ Stellen darstellbar ist, für c − d > ℓ andererseits gilt gl(a + b) = a. Das Ergebnis der Multiplikation ist ebenfalls mit 2ℓ Stellen exakt darstellbar.

Die wichtigste Konsequenz der Rundung ist der Verlust der Assoziativität bei Gleitpunktoperationen. Eine wichtige Aufgabe der Fehleranalyse ist daher die Identifikation günstiger Anordnungen bei mehrfachen Verknüpfungen.

Beispiel 6.1.6 ℓ = 3, a = 0.721, b = 0.457_{10}2, c = −0.456_{10}2. Es ist

(a ˜+b) ˜+c = (0.464_{10}2) ˜+(−0.456_{10}2) = 0.800_{10}0,
a ˜+(b ˜+c) =  0.721 ˜+(0.1)  = 0.821_{10}0.

Beide Ergebnisse sind offensichtlich verschieden.

Der in diesem Beispiel bei der ersten Version beobachtete Effekt wird Auslöschung genannt: Besitzen zwei Zahlen a, b ∈ M gleiche Exponenten und gleiche führende Ziffern, so ist bei Subtraktion das Ergebnis exakt ! Sind in den Operanden aber alte Fehler vorhanden, werden diese sehr verstärkt, da dann |a−b| ≪ |a|+|b| ist in (6.1.4). Dies muß bei der Fehlerfortpflanzung besonders beachtet werden.

Zunächst wird die Bildung mehrfacher Produkte und Summen betrachtet, also

w̃_{n} := gl(a_{1} ∗ a_{2} ∗ … ∗ a_{n}), n ∈ N,  (6.1.5)

mit ∗ ∈ {+, ×}. Das Ergebnis w̃_{n} werde dabei rekursiv berechnet mit gerundeten Werten ã_{j},

w̃_{n} := gl(… gl(gl(ã_{1} ∗ ã_{2}) ∗ ã_{3}) …) = gl(w̃_{n−1} ∗ ã_{n}),  (6.1.6)

wobei ã_{i} = a_{i}(1 + δ_{i}), |δ_{i}| ≤ eps. Für die weiteren relativen Fehler gelte ebenfalls |ϵ_{i}| ≤ eps. Produkt: Hier gilt

w̃_{2} = gl(ã_{1} · ã_{2}) = gl(a_{1}(1 + δ_{1})a_{2}(1 + δ_{2})) = a_{1}a_{2}(1 + δ_{1})(1 + δ_{2})(1 + ϵ_{2})
⋯
w̃_{n} = gl(w̃_{n−1} · ã_{n}) = w̃_{n−1} · a_{n}(1 + δ_{n})(1 + ϵ_{n}),

Also

\begin{matrix}w̃_{n} = w_{n}(1 + γ_{n}) & mit \\ (1 − eps)^{2n−1} ≤ 1 + γ_{n} ≤ (1 + eps)^{2n−1}. \end{matrix}  (6.1.7)

Ausdrücke dieser Form treten jetzt öfter auf. Nach dem Mittelwertsatz gilt (1 + x)^{m} = 1 + mx(1 + ξ)^{m−1} mit |ξ| ≤ |x|. Daraus folgt

|(1 + x)^{m} − 1| ≤ m|x|(1 + |x|)^{m−1} ≤ m|x|e^{(m−1)|x|} ≤ 1.06m|x| für (m − 1)|x| ≤ 0.1 . (6.1.8)

Daher gilt in (6.1.7) für γ_{n} die Aussage

|γ_{n}| ≤ 1.06(2n − 1)eps, falls 2(n − 1)eps ≤ 0.1 .  (6.1.9)

Summe: Bei der Addition ergibt sich

w̃_{2} = gl(ã_{1} + ã_{2}) = (a_{1}(1 + δ_{1}) + a_{2}(1 + δ_{2}))(1 + ϵ_{2})
= a_{1}(1 + δ_{1})(1 + ϵ_{2}) + a_{2}(1 + δ_{2})(1 + ϵ_{2})
⋯
w̃_{n} = gl(w̃_{n−1} + ã_{n}) = (w̃_{n−1} + a_{n}(1 + δ_{n})(1 + ϵ_{n})
= [w̃_{n−2} + a_{n−1}(1 + δ_{n−1})](1 + ϵ_{n−1})(1 + ϵ_{n}) + a_{n}(1 + δ_{n}))(1 + ϵ_{n}) = …
= a_{1}(1 + σ_{1}) + a_{2}(1 + σ_{2}) + … + a_{n}(1 + σ_{n}),

mit (1 + σ_{i}) = (1 + δ_{i})(1 + ϵ_{i}) ⋯ (1 + ϵ_{n}). Aus (6.1.8) folgt daher

|σ_{i}| ≤ 1.06(n − i + 2)eps, wenn (n − i + 1)eps ≤ 0.1 .  (6.1.10)

Bemerkung: Bei der Produktbildung ist in der Fehlerschranke keine Bevorzugung einer bestimmten Anordnung der Operanden erkennbar. Bei der Summe dagegen liefern die ersten Summanden den größten relativen Fehlerbeitrag. Daher ist zu erwarten, daß der absolute Fehler in w̃_{n} kleiner wird, wenn zuerst die betragskleinsten Koeffizienten a_{i} summiert werden, da dann die Schranke

|w̃_{n} − w_{n}| ≤ 1.06eps ∑_{i=1}^{n}(n − i + 2)|a_{i}|

minimal wird. Daher sollte man, z.B., bei der Summation (monoton) konvergenter Reihen mit den letzten, d.h. kleinsten, Koeffizienten beginnen (‘Rückwärts-Summation’). Ungünstige arithmetische Ausdrücke: Aufgrund der Rundungsfehler geht bei Gleitpunktrechnung nicht nur die Assoziativität von Summe und Produkt verloren, auch andere Gesetze gelten im allgemeinen nicht mehr (exakt). Daher können verschiedene, im Reellen äquivalente Ausdrücke, wie z.B. die der binomischen Formel a^{2} − b^{2} = (a + b)(a − b), sehr unterschiedliche numerische Ergebnisse liefern. Dazu werde die Funktion

f(x) := \sqrt{1 + x^{2}} − x  (6.1.11)

betrachtet. Für x ≥ 0 ist 0 ≤ f(x) ≤ 1. Da |f′(x)| = |\frac{x}{\sqrt{1+x^{2}}} − 1| ≤ 1 ist für x ≥ 0, führt eine Störung im Argument x bei exakter Rechnung nur zu einer geringen Verfälschung im Funktionswert f, die nicht größer als die Abweichung in x selbst ist. Werden allerdings die Teilschritte in (6.1.11) nur mit endlicher Genauigkeit ausgeführt, sieht das Ergebnis anders aus. Selbst wenn nur bei der Addition in (6.1.11) ein relativer Fehler ϵ, |ϵ| ≤ eps, erzeugt wird, gilt

f̃(x) = \sqrt{1 ˜+x^{2}} − x = \sqrt{(1 + x^{2})(1 + ϵ)} − x = f(x) + \frac{ϵ}{2}\sqrt{1 + x^{2}} + O(ϵ^{2}).

Für große x → ∞ ist also ein großer absoluter Fehler ≅ \frac{1}{2}xϵ zu erwarte, wegen |f| ≤ 1 ist der relative Fehler noch viel größer. In der Gestalt (6.1.11) tritt nämlich bei der Differenzbildung der beiden großen Ausdrücke \sqrt{1 + x^{2}} und x eine Auslöschung führender Stellen auf. Diese kann durch Umformung in die äquivalente Form

f(x) = \sqrt{1 + x^{2}} − x = \frac{1 + x^{2} − x^{2}}{\sqrt{1 + x^{2}} + x} = \frac{1}{x + \sqrt{1 + x^{2}}}  (6.1.12)

vermieden werden.

Beispiel 6.1.7 Formel (6.1.11) wird mit 4-ziffriger Dezimalrechnung in x = 9.999 ausgewertet, bei exakter Rechnung ist f(9.999) = 0.04988 … Dagegen ist x˜∗x = 99.98, 1 ˜+99.98 = 101.0, \sqrt{˜ 101} = 10.05 und daher f̃(x) = 0.05100. Dies entspricht einem relativen Fehler von 0.022 ≅ 450 · eps. Die letzte, äquivalente Form in (6.1.12) ergibt dagegen den korrekten 4-stelligen Wert 0.04988. Für x ≥ 100 schließlich liefert 4-stellige Rechnung in (6.1.11) immer den Wert f̃(x) = 0.

6.2 Rundungsfehleranalyse einiger Algorithmen

Für einige der früher behandelten Verfahren werden nun Konsequenzen aus dem Auftreten von Rundungsfehlern behandelt. Bei numerischen Verfahren, die selbst nur Näherungen mathematischer Lösungen liefern, ist die wichtigste die, daß zum Approximationsfehler des (abstrakten) Verfahrens bei Durchführung auf einem Rechner noch Rundungsfehler hinzukommen, im Gesamtfehler des realen Verfahrens also beide zu berücksichtigen sind.

Approximationsverfahren

Bei Interpolation, Quadratur und Differentiation konnte die Güte der Approximation durch Vergrößerung eines Parameters n (Grad, Knotenzahl,..) verbessert werden. Für größere Werte von n treten dabei allerdings i.a. vermehrt Rundungsfehler auf.

Beispiel 6.2.1 Es soll s := ∑_{k=1}^{∞} a_{k} durch s_{n} := ∑_{k=1}^{n} a_{k} angenähert werden, dabei sei |a_{k}| ≤ ck^{−m−1} ∀k. Dann gilt für den Approximationsfehler

|s_{n} − s| ≤ ∑_{k=n+1}^{∞} |a_{k}| ≤ c ∑_{k=n+1}^{∞} k^{−m−1} ≤ c ∫_{n}^{∞} x^{−m−1}dx = \frac{c}{mn^{m}} .

Statt s_{n} wird aber berechnet s̃_{n} mit |s̃_{n} − s_{n}| ≤ 1.06eps(n + 1)c(1 + \frac{1}{m}), vgl. (6.1.10). Also ist

|s̃_{n} − s| ≤ \frac{c_{0}}{n^{m}} + c_{1}n · eps.

Beispiel 6.2.2 Approximation von f′(0) durch den symmetrischen Differenzenquotient D_{n} = \frac{n}{2}[f(\frac{1}{n}) − f(−\frac{1}{n})] mit Schrittweite h = \frac{1}{n}. Nach (3.6.4) gilt

|D̃_{n} − f′(0)| ≤ \frac{c_{0}}{n^{2}} + c_{1}n · eps.

Beispiel 6.2.3 Zur Approximation von I := ∫_{a}^{b} f(x)dx kann die iterierte Trapezregel mit h = (b − a)/n, x_{j} := a + jh, dienen,

T_{h} = h[\frac{1}{2}f(a) + ∑_{j=1}^{n−1} f(x_{j}) + \frac{1}{2}f(b)].

Für die tatsächlich berechneten Funktionswerte f̃_{j} gelte f̃_{j} = f(x_{j})(1+δ_{j}) mit |δ_{j}| ≤ δ·eps. Nach (6.1.10) gilt für den numerisch berechneten Wert T̃_{h} eine Abschätzung |T̃_{h} − T_{h}| = \frac{b−a}{n}|\frac{1}{2}f_{0}σ_{0} + ∑_{j} f_{j}σ_{j} + \frac{1}{2}f_{n}σ_{n}| ≤ c(b − a)∥f∥_{∞}n · eps. Mit (3.2.6) führt dies auf die Abschätzung für den Gesamtfehler

|T̃_{h} − I| ≤ |T_{h} − I| + |T̃_{h} − T_{h}| ≤ c_{0}h^{2} + c_{1}n · eps.

In all diesen Fällen verhält sich der Fehler so, wie in der Graphik gezeigt: Dem für n → ∞ kleiner werdenden Verfahrensfehler wirkt ein wachsender Rundungsfehler entgegen, da sich beide i. a. addieren. Die mit diesen realen Verfahren überhaupt erreichbare Genauigkeit ist daher begrenzt.

[figure: n; Rundungsfehler; Verfahrensfehler; Gesamtfehler]

Als Beispiel werde ein Verfahren der Ordnung m mit linear anwachsenden Rundungsfehlern betrachtet. Für den Gesamtfehler sei also eine Schranke F_{n} der Form

F_{n} = \frac{c_{0}}{n^{m}} + c_{1}eps · n

bekannt. Die Ableitung dieses Ausdrucks nach n ist ∂F_{n}/∂n = −mc_{0}/n^{m+1} + c_{1}eps und führt auf die Minimalstelle

n_{min} ≅ (\frac{c_{0}m}{c_{1}eps})^{1/(m+1)} ⇒ F_{min} ≥ c_{2}eps^{m/(m+1)}.

Dies bedeutet, daß auf einem Rechner mit ℓ Stellen bei einem Verfahren der Ordnung m die Genauigkeit auf ca. \frac{m}{m+1}ℓ Stellen beschränkt ist. Daher können nur Verfahren hoher Ordnung Genauigkeiten im Bereich der vollen Maschinengenauigkeit erreichen.

Gauß-Algorithmus

Da der (reelle) Gauß-Algorithmus die exakte Lösung eines LGS liefert, treten kein Verfahrenssondern nur Rundungsfehler auf. Allgemein kann ein ungenaues Ergebnis bei der numerischen Lösung eines bestimmten Problems (mindestens) zwei Ursachen haben.

1. Das mathematische Problem reagiert empfindlich auf Störungen der Eingangsdaten. Bei linearen Gleichungssystemen ist dies bei einer großen Konditionszahl κ ≫ 1 der Fall, vgl. (4.4.7). In diesem Fall kann natürlich nicht erwartet werden, daß der numerische Algorithmus gute Ergebnisse liefert.

2. Das mathematische Problem ist unempfindlich gegen Störungen, der numerische Algorithmus erzeugt große Fehler.

Um hier die ‘Verantwortlichkeiten’ klar zu machen, beschränkt man sich meist auf eine sogenannte Rückwärtsanalyse der Algorithmen. Dem entspricht folgende Begriffsbildung.

∥ ∥ ∥ ∥

Ein Algorithmus heißt gut konditioniert, wenn er das exakte Ergebnis eines wenig gestörten Ausgangsproblem liefert.

Dieser Begriff schließt also nur den zweiten Fall aus, im ersten Fall sind große Fehler im Ergebnis auf die schlechten Eigenschaften des mathematischen Problems zurückzuführen.

Beim Gauß-Algorithmus ist in diesem Sinne der Nachweis zu führen, daß er bei Anwendung auf ein n × n-Gleichungssystem Ax = b die exakte Lösung eines gestörten Problems

(A + δA)x̃ = b + δb, mit ∥δA∥ = c · eps  (6.2.1)

berechnet, wobei die Konstante c nicht zu groß ist. Konkret läßt sich folgendes beweisen.

Satz 6.2.4 Der Gauß-Algorithmus (ohne Pivotisierung) liefert beim System Ax = b eine Lösung des gestörten Systems (6.2.1), wobei für δA elementweise gilt

|δA| ≤ eps · n(3|A| + 5|L̃||R̃|) + O(eps^{2}).  (6.2.2)

Dabei sind L̃, R̃ die tatsächlich berechneten LR-Faktoren von A.

Als wichtigster Anteil ist das Betragsprodukt |L̃||R̃| zu erkennen, dessen Elemente die von |A| möglicherweise stark überschreiten können. Dies ist besonders dann der Fall, wenn kleine Pivotelemente auftreten, da l_{ij} = a_{ij}^{(j)}/a_{jj}^{(j)}, vgl. (4.3.4). Der Satz ist aber auch bei Pivotisierung anwendbar, da der Gauß-Algorithmus bei Spaltenpivotisierung die LR-Zerlegung eines Systems (P A)x = P b bestimmt, wobei P eine Permutationsmatrix ist. Bei dieser Pivotisierungsstrategie gilt |l̃_{ij}| ≤ 1, d.h. ∥L̃∥_{∞} ≤ n für den berechneten L-Faktor in LR = P A, vgl. Beispiel 4.4.5.

Trotz dieser günstigen Aussagen können große Fehler in einer Lösung auftreten, wenn die Konditionszahl der Matrix groß ist, κ(A) ≫ 1. Dann ist aber, wie erläutert, schon das Ausgangsproblem fehleranfällig.

Fixpunkt-Iteration

Die zentrale Eigenschaft kontraktiver Iterationsverfahren ist die Tatsache, daß der Anfangsfehler in jedem Schritt um einen festen Faktor verkleinert wird. Dies trifft dann natürlich auch auf Fehler zu, die erst im Verlauf der Rechnung eingeschleppt wurden. Daher können solche Verfahren den Fixpunkt im wesentlichen mit derjenigen Genauigkeit bestimmen, die bei der Auswertung der Funktion g erreicht wird.

Satz 6.2.5 Die Funktion g erfülle die Voraussetzungen (4.5.4),(4.5.5) des Banach’schen Fixpunktsatzes, z sei der Fixpunkt. Für die tatsächlich berechnete Funktion g̃ sei

∥g̃(x) − g(x)∥ ≤ ϵ ∀x ∈ Ω.  (6.2.3)

Dann gilt bei der gestörten Iteration

x̃^{(k+1)} := g̃(x̃^{(k)}),  (6.2.4)

die a-posteriori-Schranke

∥x̃^{(k+1)} − z∥ ≤ \frac{1}{1 − q} (q∥x̃^{(k+1)} − x̃^{(k)}∥ + ϵ).  (6.2.5)

Beweis Mit der Aussage (4.5.7)

∥g(x) − z∥ ≤ \frac{q}{1 − q} ∥g(x) − x∥

aus dem Fixpunktsatz 4.5.1 folgt

∥x̃^{(k+1)} − z∥ = ∥g̃(x̃^{(k)}) − g(x̃^{(k)}) + g(x̃^{(k)}) − z∥
≤ ϵ + ∥g(x̃^{(k)}) − z∥
≤ ϵ + \frac{q}{1 − q} ∥g(x̃^{(k)}) − x̃^{(k)}∥
≤ (1 + \frac{q}{1 − q})ϵ + \frac{q}{1 − q} ∥g̃(x̃^{(k)}) − x̃^{(k)}∥.

Der Satz zeigt, daß bei der Iteration der Gesamtfehler ϵ/(1 − q) i.a. nicht unterschritten werden kann. Daher lohnt es sich auch nicht, den Iterationsfehler wesentlich unter diesen Wert zu drücken. Ein Abbruchkriterium für die gestörte Iteration (6.2.4), das bei beiden Fehleranteilen in (6.2.5) für gleiche Größenordnung sorgt, ist

q∥x̃^{(k+1)} − x̃^{(k)}∥ ≤^{!} ϵ.

Mit diesem Kriterium wird dann die bestmögliche Genauigkeit im wesentlichen erreicht.

Index

a-posteriori, 56, 81 a-priori, 56 äquidistant, 9, 22 Äquilibrierung, 51 adaptive Integration, 32 Akkumulator, 75 Anfangswertproblem, 4 Assoziativitat, 76 asymptotische Entwicklung, 34 Auslöschung, 76, 78

Banachscher Fixpunktsatz, 56, 81 baryzentrische Form, 8, 20 Bulirsch-Folge, 36

Cholesky-Zerlegung, 49 Clenshaw-Algorithmus, 18, 20

Defekt, 53 Differentiation, 24, 38 Differenzen

-Formel, 39

-Quotient, 11, 15, 79 -Verfahren, 41 dividierte, 11, 12

Drei-Term-Rekursion, 15 Dreieck

-Matrix, 47, 54 -Schema, 9, 11, 35 -System, 46

Eigenwert, 48, 61 Einzelschritt-Verfahren, 59 Einzugsbereich, 63, 66 Elektrisches Netzwerk, 40 Euler-McLaurin-Summenformel, 34 Extrapolations-Verfahren, 34

Fehler -Abschätzung, 56, 59 -Gleichverteilung, 32 -Schätzung, 31, 32 relativer, 52, 75 Fixpunkt, 56, 63, 81 abstoßender, 63

Gauß

-Algorithmus, 46, 80 Rundungsfehler, 79

-Quadratur, 30 -Seidel-Iteration, 59

Gesamt-Fehler, 39, 78

Gesamtschritt-Verfahren, 59 Gewichtsfunktion, 15, 25, 31 Gleichungssystem linear, 40 nichtlinear, 63, 70 Störung, 52 Gleitpunktzahlen, 74

Heron-Verfahren, 64 Hölder-Normen, 42 Horner-Schema, 11

Innenprodukt, 15, 29

Input-Output-Analyse, 40, 51, 55 Integration, 24 Interpolations-

Fehler, 14, 20, 22

Polynom, 7, 29, 38, 67, 70 Hermite-, 7 Lagrange-, 7, 20, 24 Newton-, 10, 20, 30, 38

Problem

Hermite-, 14 Punkte, neue, 8, 11

Iteration, 56 lineare, 57 mehrstufig, 68

Rundungsfehler, 80

Jacobi-Iteration, 59 Jordan-Normalform, 44

Keller-Speicher, 33 Kirchhoff’sche Regeln, 40 Konditionszahl, 52, 80

Schranken, 54 kontrahierende Abbildung, 56 Konvergenz, 27

-Faktor, 57 -Ordnung, 68 effektive, 69 alternierend, 63 linear, 65 lokal, 66 monoton, 63, 66 quadratisch, 65, 66

Lebesgue-Funktion, 23 Liniensuche, 73 Lipschitz-Bedingung, 56, 63 LR-Zerlegung, 48, 49, 54, 58, 80

Maschinengenauigkeit, 39, 75 Matrix, 43

-Norm, induzierte, 43

Band-, 49

diagonaldominant, 49, 54, 59 diagonalisierbar, 44 dünnbesetzt, 50, 59 inverse, 51 positiv definit, 48, 60 unzerlegbar, 60

Minimierungsverfahren, 72 Mittelwertsatz, 25, 71

Nach-Iteration, 58 Neumann-Reihe, 45, 55, 72 Neville-Algorithmus, 12, 20, 35 Newton -Raphson-Verfahren, 65 -Verfahren, 65, 69 gedämpftes, 73 vereinfachtes, 73

Newton-Cotes

-Formeln, 26 Gewichte, 27

Nullstelle, 63 mehrfache, 66

Ordnung, 36, 38 eines Iterationsverfahrens, 64

Pendel, 3

Pivotisierung, 46, 48 Spalten-, 50, 80 Strategien, 50

Polynom -Orthogonalfamilien, 31 bestapproximierendes, 23 Legendre-, 31 Orthogonal-, 15, 29, 30 Tschebyscheff-, 16

Quadratur, 25 -Fehler, 25, 33 -Formel, 25 Gauß-, 29 Gewichte, 25, 30 iteriert, 27, 29 Ordnung, 25, 29

Randwertproblem, 4

Rechenaufwand, 7, 9, 11, 12, 18, 19, 28, 47,

49, 51, 59 Rechteckregel, 26 regula falsi, 67 Reihenentwicklungen, 31 Relaxation, 61

Parameter, 61 Über-, 61, 62

Residuum, 53 Restglied, 25, 29, 31 Richardson-Extrapolation, 35 Rodriguez-Formel, 31 Romberg-Folge, 36 Rückwärts

-Analyse, 80 -Summation, 77

Rundung, 75 Rundungsfehler, 39, 50, 52, 58, 75

Satz von Neumann, 45 Rolle, 14, 31, 38 Stein-Rosenberg, 60 Weierstraß, 22

Sekanten-Verfahren, 67 Simpsonregel, 26, 30

iteriert, 28 SOR-Verfahren, 62 Spektral

-Norm, 43

-Radius, 43, 57, 60 Stützstellen, optimale, 20

Taylor-Entwicklung, 15, 19, 32, 65 Trapezregel, 26, 30, 79

iteriert, 28, 31, 34 Tridiagonalmatrix, 42, 49 Tschebyscheff

-Polynome, 16 -Punkte, 16, 21, 22 gestreckte, 24

Umkehrfunktion, 70

Volkswirtschaft, 40

Zeilen-Vertauschung, 46, 50 Zerlegung, reguläre, 57

Numerik IIA

Endlichdimensionale Probleme

B. Schmitt

Wintersemester 1994/95

Inhaltsverzeichnis

1 Interpolation und Approximation von Funktionen 3

1.1 Spline-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Existenz des Interpolations-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Konvergenz des Interpolations-Splines . . . . . . . . . . . . . . . . . . . . . . . . 7 Spline-Darstellungen, Beziér-, B-Splines . . . . . . . . . . . . . . . . . . . . . . . 10 Lokale Spline-Approximationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2 Trigonometrische Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Die schnelle Fourier-Transformation (FFT) . . . . . . . . . . . . . . . . . . . . . 18

2 Ausgleichsrechnung 23 2.1 Kleinste-Quadrate-Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Die Verallgemeinerte Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3 QR-Zerlegung und Berechnung von A^{+} . . . . . . . . . . . . . . . . . . . . . . . . 27

Praktische Durchführung, Rechenaufwand . . . . . . . . . . . . . . . . . . . . . . 29

3 Lineare Optimierung 32 3.1 Problemstellung, Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2 Eigenschaften und Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 Das Simplex-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2 INHALTSVERZEICHNIS

Praktische Durchführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Durchführung des Basiswechsels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Bestimmung einer Startecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4 Eigenwertprobleme von Matrizen 40 4.1 Grundlagen, Matrix-Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2 Reduktion auf einfachere Gestalt . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 Das unsymmetrische Eigenwertproblem . . . . . . . . . . . . . . . . . . . . . . . 45

Die Vektor-Iteration (nach von Mises) . . . . . . . . . . . . . . . . . . . . . . . . 46 Inverse Iteration (nach Wielandt) . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Orthogonale Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Das QR-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.4 Das symmetrische Eigenwertproblem . . . . . . . . . . . . . . . . . . . . . . . . . 56 Bisektionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Jacobi-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.5 Überblick der Eigenwert-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6 Eigenwert- und Fehler-Schranken . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Iterationsverfahren für große Matrizen 72 5.1 Polynomielle Beschleunigungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . 72 5.2 Das Verfahren der Konjugierten Gradienten . . . . . . . . . . . . . . . . . . . . . 78 5.3 Vorkonditionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.4 Lanczos-Verfahren zur Eigenwert-Berechnung . . . . . . . . . . . . . . . . . . . . 89

6 Fortsetzungsverfahren für nichtlineare Probleme 92 6.1 Die numerische Verfolgung von Lösungskurven . . . . . . . . . . . . . . . . . . . 92

Index 99

1 Interpolation und Approximation von Funktionen

1.1 Spline-Funktionen

Der Fehler bei der Interpolation einer Funktion f ∈ C^{k+1}[a, b] durch ein Polynom p_{k} vom Grad k mit Stützstellen ξ_{0}, …, ξ_{k} ∈ [a, b] hat die Gestalt (x ∈ [a, b])

|f(x) − p_{k}(x)| ≤ |(x − ξ_{0}) ⋯ (x − ξ_{k})|\frac{∥f^{(k+1)}∥_{∞}}{(k + 1)!} ≤ \frac{(b − a)^{k+1}}{(k + 1)!} ∥f^{(k+1)}∥_{∞}.  (1.1.1)

Beispiele zeigen, daß für k → ∞ i.a. keine Konvergenz ∥f − p_{k}∥_{∞} → 0 garantiert werden kann. Dagegen folgt aus (1.1.1) trivialerweise

|f − p_{k}| → 0 für (b − a) → 0, k fest.

Ähnlich wie bei den iterierten Quadraturformeln kann bei Unterteilung des Gesamtintervalls [a, b] durch ein Gitter

Δ : a = x_{0} < x_{1} < … < x_{n} = b, h_{i} := x_{i+1} − x_{i}, i = 0, …, n − 1, H := max_{i=0}^{n−1} h_{i}, (1.1.2)

mit günstigen Eigenschaften gerechnet werden, wenn die Funktion f in jedem Teilintervall [x_{i}, x_{i+1}] durch ein Polynom festen Grades k approximiert wird.

Definition 1.1.1 Zu einem Gitter Δ nach (1.1.2) und m, k ∈ N_{0}, 0 ≤ m < k, wird der Raum S_{Δ,k}^{m} aller Spline-Funktionen s bezeichnet, die

a) lokal, in jedem Teilintervall (x_{i}, x_{i+1}], Polynome vom Grad k sind, s|_{(x_{i},x_{i+1}]} ∈ Π_{k},

b) global m-mal stetig differenzierbar sind, s ∈ C^{m}[a, b].

Hier wird konkret nur der Fall der kubischen Splines (k = 3) mit m ∈ {1, 2} behandelt, einige Aussagen werden aber allgemeiner formuliert.

Anwendungsgebiete von Splines:

— Approximation (nicht-analytischer) Funktionen

— Approximation von Meßdaten

— Kurven- und Flächendarstellung in der Computer-Graphik

— Lösung von gewöhnlichen und partiellen Differentialgleichungen (FEM, Finite-Elemente-Methode)

Von besonderer Bedeutung sind die sogenannten natürlichen Splines aus S_{Δ,2m−1}^{2m−2} wegen der folgenden Minimaleigenschaft.

Satz 1.1.2 Mit einem Gitter Δ nach (1.1.2) und f ∈ C^{2}[a, b] erfülle die Splinefunktion s ∈ S_{Δ,3}^{2} die Interpolationsbedingungen

s(x_{i}) = f(x_{i}), i = 0, 1, …, n,  (1.1.3)

sowie eine der Bedingungen

a) s′′(a) = s′′(b) = 0,
b) s′(a) = f′(a), s′(b) = f′(b).

Dann gilt

∥f′′ − s′′∥_{2}^{2} = ∥f′′∥_{2}^{2} − ∥s′′∥_{2}^{2} ≥ 0,  (1.1.4)

wobei ∥g∥_{2}^{2} := ∫_{a}^{b} g(x)^{2}dx. Der so definierte Spline ist eindeutig bestimmt.

Beweis Mit dem L_{2}-Innenprodukt (f, g)_{2} := ∫_{a}^{b} f(x)g(x) dx gilt

∥f′′ − s′′∥_{2}^{2} − ∥f′′∥_{2}^{2} + ∥s′′∥_{2}^{2} = −2(f′′, s′′)_{2} + 2(s′′, s′′)_{2} = 2(s′′ − f′′, s′′)_{2}
= 2 ∫_{a}^{b}[s′′(x) − f′′(x)]s′′(x) dx.

Durch partielle Integration auf den einzelnen Teilintervallen [x_{i}, x_{i+1}] ergibt sich hier

∫_{x_{i}}^{x_{i+1}}[s′′ − f′′]s′′ dx = (s′ − f′)s′′|_{x_{i}}^{x_{i+1}} − ∫_{x_{i}}^{x_{i+1}}(s′ − f′)s′′′ dx
= (s′ − f′)s′′|_{x_{i}}^{x_{i+1}} − \underbrace{(s − f)}_{= 0, (1.1.3)} s′′′|_{x_{i}}^{x_{i+1}} + ∫_{x_{i}}^{x_{i+1}}(s − f) \underbrace{s^{(4)}}_{= 0, s ∈ Π_{3}} dx

Der verbleibende Beitrag (s′ − f′)s′′ ist stetig, bei Summation über die Teilintervalle zeigt sich

∫_{a}^{b}[s′′ − f′′]s′′ dx = ∑_{i=0}^{n−1} ∫_{x_{i}}^{x_{i+1}} ... = (s′(x) − f′(x))s′′(x)|_{a}^{b} = 0.

Dabei verschwindet die Klammer, wenn Bedingung b) erfüllt ist, bzw. die zweite Ableitung bei Bedingung a). Zum Nachweis der Eindeutigkeit seien s, s̄ zwei Splines, die die Voraussetzungen erfüllen. Für beide gilt dann (1.1.4), also

0 ≤ ∥s′′∥_{2}^{2} − ∥s̄′′∥_{2}^{2} = ∥s′′ − s̄′′∥_{2}^{2} = ∥s̄′′∥_{2}^{2} − ∥s′′∥_{2}^{2} ≤ 0.

Daher ist s′′ − s̄′′ ≡ 0, also s(x) − s̄(x) = cx + d, c, d ∈ R. Da die Differenz wegen (1.1.3) aber in allen x_{i} verschwindet, gilt s = s̄.

Bemerkung: Unter allen Funktionen, die die Werte (x_{i}, f(x_{i})) interpolieren, hat der natürliche kubische Spline nach (1.1.4) minimale zweite Ableitung im quadratischen Mittel, bei b) etwa ist

∥s′′∥_{2} = min{∥g′′∥_{2} : g ∈ C^{2}[a, b], g(x_{i}) = f(x_{i}) ∀i, g′′(a) = g′′(b) = 0}.

In der Mechanik entspricht ∥g′′∥_{2} der Biegenergie eines elastischen Lineals, wie es früher im Schiffsbau eingesetzt wurde (Strak-Latte, engl. Spline).

Existenz des Interpolations-Splines

Für den Interpolationsspline s ∈ S_{Δ,3}^{2}, der gegebene Werte y_{i} interpoliert, s(x_{i}) = y_{i}, i = 0, …, n, wird in jedem Teilintervall eine Darstellung als Polynom benötigt. Dazu bietet sich die folgende Beziér-Bernstein-Darstellung an, die auf dem Standardintervall [0, h], h > 0, lautet

s(x) = \frac{1}{h^{k}} ∑_{j=0}^{k} \binom{k}{j}x^{j}(h − x)^{k−j}b_{j}  (1.1.5)

mit Koeffizienten b_{0}, …, b_{k}. Diese Darstellung besitzt folgende Eigenschaften:

\begin{matrix}(a) & b_{j} ≡ 1 ⇒ s(x) = \frac{1}{h^{k}} ∑_{j=0}^{k} \binom{k}{j}x^{j}(h − x)^{k−j} = \frac{1}{h^{k}} (x + h − x)^{k} ≡ 1 \\ (b) & s(0) = b_{0}, s(h) = b_{k} \\ (c) & s′(x) = \frac{1}{h^{k}} [−k(h − x)^{k−1}b_{0} + k(h − kx)(h − x)^{k−2}b_{1} + x(…)] ⇒ \\ & s′(0) = \frac{b_{1} − b_{0}}{h/k} , s′(h) = \frac{b_{k} − b_{k−1}}{h/k} \\ (d) & s′′(0) = \frac{k(k−1)}{h^{2}}(b_{0} − 2b_{1} + b_{2}), s′′(h) = \frac{k(k−1)}{h^{2}}(b_{k−2} − 2b_{k−1} + b_{k}). \end{matrix} \}  (1.1.6)

Die Eigenschaft (c) führt bei k = 3 auf eine einfache geometrische Interpretation der Koeffizienten b_{j}. Werden die Paare (ξ_{j}, b_{j})T mit ξ_{j} = jh/3 betrachtet, dann ist die Gerade \overline{(ξ_{0}, b_{0})T (ξ_{1}, b_{1})T} die Tangente an s in x = ξ_{0} = 0 und \overline{(ξ_{2}, b_{2})T (ξ_{3}, b_{3})T} die Tangente an s in x = ξ_{3} = h. Durch b_{0}, b_{3} werden also die Werte von s in den Randpunkten beeinflußt, durch b_{1}, b_{2} die dortigen Ableitungen. Man bezeichnet die Koeffizienten oft als Kontrollpunkte.

[figure: x; x_{0} = ξ_{0}; ξ_{1}; ξ_{2}; ξ_{3} = x_{1}; b_{0}; b_{1}; b_{2}; b_{3}; s(x)]

Der Spline s wird auf dem Gesamtintervall [a, b] durch lokale Darstellungen (1.1.5) zusammengesetzt. Dazu wird ein Zusatzgitter eingeführt,

…^{x_{0} y_{0}}  ^{x_{1} y_{1}}  ^{x_{2} y_{2}}  … ξ_{0} b_{0} ξ_{1} b_{1} ξ_{2} b_{2} ξ_{3} b_{3} ξ_{4} b_{4} ξ_{5} b_{5} ξ_{6} b_{6}  ^{\begin{matrix}ξ_{ik+j} := x_{i} + \frac{j}{k}h_{i}, \\ j = 0, …, k − 1, \\ i = 0, …, n − 1, \end{matrix}  (1.1.7)}

Die Stetigkeitsbedingungen an s im Punkt x_{j} = ξ_{kj}, 1 ≤ j ≤ n − 1, mit Polynomstücken (1.1.5) lauten für

C^{0}: erfüllt mit b_{kj} = y_{j}.

C^{1}: Nach (1.1.6,c) gilt

s′(x_{j}−) = \frac{k}{h_{j−1}} (b_{kj} − b_{kj−1}) =^{!} \frac{k}{h_{j}} (b_{kj+1} − b_{kj}) = s′(x_{j}+) ⟺

\frac{1}{h_{j−1}} b_{kj−1} + \frac{1}{h_{j}} b_{kj+1} = (\frac{1}{h_{j−1}} + \frac{1}{h_{j}})b_{kj} = (\frac{1}{h_{j−1}} + \frac{1}{h_{j}})y_{j}.  (1.1.8)

2. Ableitung: Nach (1.1.6,d) ist s′′(x_{j}−) =^{!} s′′(x_{j}+) äquivalent mit

\frac{1}{h_{j−1}^{2}} (b_{kj−2} − 2b_{kj−1} + b_{kj}) = \frac{1}{h_{j}^{2}} (b_{kj} − 2b_{kj+1} + b_{kj+2}) =: μ_{j}  (1.1.9)

Im folgenden werden jetzt die Werte μ_{j} = \frac{1}{6}s′′(x_{j}) aus (1.1.9) als eigentliche Parameter des Splines interpretiert, die Koeffizienten b lassen sich daraus bei k = 3 berechnen. Die Beziehungen (1.1.9) an beiden Rändern von [x_{j}, x_{j+1}],

\begin{aligned}2b_{3j+1} − b_{3j+2} & = & y_{j} − h_{j}^{2}μ_{j} \\ −b_{3j+1} + 2b_{3j+2} & = & y_{j+1} − h_{j}^{2}μ_{j+1} \end{aligned}

können nach b_{3j+1}, b_{3j+2} aufgelöst werden und ergeben

\begin{matrix}b_{3j+1} & = & \frac{1}{3}(2y_{j} + y_{j+1}) − \frac{1}{3}h_{j}^{2}(2μ_{j} + μ_{j+1}) \\ b_{3j+2} & = & \frac{1}{3}(y_{j} + 2y_{j+1}) − \frac{1}{3}h_{j}^{2}(μ_{j} + 2μ_{j+1}) \end{matrix} \} .  (1.1.10)

Diese Gleichungen führen auf folgende Formulierung der C^{1}-Bedingungen (1.1.8):

h_{j−1}μ_{j−1} + 2(h_{j−1} + h_{j})μ_{j} + h_{j}μ_{j+1} = \frac{y_{j+1} − y_{j}}{h_{j}} − \frac{y_{j} − y_{j−1}}{h_{j−1}} , j = 1, …, n − 1.

Bei Division durch h_{j−1} + h_{j} = x_{j+1} − x_{j−1} vereinfacht sich insbesondere die rechte Seite (vgl. Numerik-I,(2.3.2)),

\underbrace{\frac{h_{j−1}}{h_{j−1} + h_{j}}}_{=: α_{j}} μ_{j−1} + 2μ_{j} + \underbrace{\frac{h_{j}}{h_{j−1} + h_{j}}}_{=: β_{j}} μ_{j+1} = y[x_{j−1}, x_{j}, x_{j+1}], j = 1, …, n − 1.  (1.1.11)

Zusätzlich sind noch die Randbedingungen aus Satz 1.1.2 zu berücksichtigen. Im Fall a), s′′(a) = s′′(b) = 0 bedeuten diese einfach

μ_{0} = μ_{n} = 0.

Nach Streichung dieser beiden Unbekannten ist (1.1.11) ein quadratisches Gleichungssystem. Im Fall b), s′(a) = y′_{0}, s′(b) = y′_{n}, ist nach (1.1.6,c) und (1.1.10) am linken Rand

y_{0} + \frac{h_{0}}{3} y′_{0} = b_{1} = \frac{1}{3}(2y_{0} + y_{1}) − \frac{h_{0}^{2}}{3} (2μ_{0} + μ_{1}).

Da rechts analoges gilt, führen diese Bedingungen b) also auf die zusätzlichen Gleichungen

\begin{matrix}2μ_{0} + μ_{1} & = & \frac{1}{h_{0}} (\frac{y_{1}−y_{0}}{h_{0}} − y′_{0}) = y[x_{0}, x_{0}, x_{1}] \\ μ_{n−1} + 2μ_{n} & = & y[x_{n−1}, x_{n}, x_{n}] \end{matrix} \} .  (1.1.12)

In beiden Fällen ergeben sich die Momente μ = (μ_{j})_{j} als Lösung eines Gleichungssystems

Aμ = r

mit einer Tridiagonalmatrix

\begin{matrix}A = ( \begin{matrix}2 & β_{1} \\ α_{2} & 2 & β_{2} \\ & α_{3} & 2 & β_{3} \\ & & ... & ... & ... \end{matrix} ) & bzw. & A = ( \begin{matrix}2 & β_{0} \\ α_{1} & 2 & β_{1} \\ & α_{2} & 2 & β_{2} \\ & & ... & ... & ... \end{matrix} ) . \\ ∈ R^{(n−1)×(n−1)} & & ∈ R^{(n+1)×(n+1)} \end{matrix}  (1.1.13)

Lemma 1.1.3 Für beide Matrizen A in (1.1.13) gilt

∥A^{−1}∥_{∞} ≤ 1.

Beweis Nach (1.1.11), (1.1.12) ist α_{j}, β_{j} ≥ 0, α_{j} + β_{j} = 1, (mit α_{0} := β_{n+1} := 0). Diese Matrix ist diagonaldominant, daher gilt für jeden Vektor r und μ mit Aμ = r und jeden Index j:

2|μ_{j}| = |r_{j} − α_{j}μ_{j−1} − β_{j}μ_{j+1}| ≤ |r_{j}| + (\underbrace{α_{j} + β_{j}}_{≤ 1})∥μ∥_{∞}.

Betrachtet man auf der linken Seite den Index mit |μ_{j}| = ∥μ∥_{∞}, folgt

2∥μ∥_{∞} ≤ ∥r∥_{∞} + ∥μ∥_{∞} ⇒ ∥μ∥_{∞} = ∥A^{−1}r∥_{∞} ≤ ∥r∥_{∞}.

Da also insbesondere die Gleichungssysteme mit A immer lösbar sind, folgt

Satz 1.1.4 Für beliebige Gitter Δ und beliebige Datenwerte y_{j}, y′_{0}, y′_{n}, existiert der eindeutig bestimmte Interpolationsspline s ∈ S_{Δ,3}^{2} (vgl. Satz 1.1.2) mit s(x_{j}) = y_{j}, j = 0, …, n sowie s′′(a) = s′′(b) = 0 oder s′(a) = y′_{0}, s′(b) = y′_{n}.

Mit Hilfe von Lemma 1.1.3 läßt sich auch einfach eine a-priori-Schranke für den Spline herleiten, bei einem äquidistantes Gitter (h_{j} ≡ h), etwa gilt

|s(x)| ≤ 3 ∥y∥_{∞} ( + h max{|y′_{0}|, |y′_{n}|}), x ∈ [a, b].

Für das Interpolationspolynom existiert dagegen eine solche Schranke nicht mit einem für alle n beschränkten Vorfaktor.

Konvergenz des Interpolations-Splines

Wie nach der einleitenden Bemerkung zu erwarten, konvergiert der Interpolationsspline einer glatten Funktion gegen diese bei feiner werdendem Gitter (H → 0). Überraschenderweise zeigt sich jedoch, daß dabei keine weiteren Voraussetzungen über das Gitter benötigt werden und daß sogar die ersten drei Ableitungen des Splines gegen die der Funktion konvergieren. Zum Nachweis der entsprechenden Aussage wird folgendes Hilfsmittel benötigt.

Lemma 1.1.5 Die Funktion g ∈ C^{2}[a, b] verschwinde in beiden Randpunkten, g(a) = g(b) = 0. Dann gilt

∥g∥_{∞} ≤ \frac{(b − a)^{2}}{8} ∥g′′∥_{∞}, ∥g′∥_{∞} ≤ (b − a)∥g′′∥_{∞}.

Beweis Taylorentwicklung um x ∈ (a, b) ergibt

\begin{matrix}0 = g(a) = & g(x) + (a − x)g′(x) + \frac{1}{2}(a − x)^{2}g′′(ξ_{1}), ξ_{1} ∈ (a, b), \\ 0 = g(b) = & g(x) + (b − x)g′(x) + \frac{1}{2}(b − x)^{2}g′′(ξ_{2}), ξ_{2} ∈ (a, b). \end{matrix}

Durch Multiplikation der Gleichungen mit (b−x) bzw. (x−a) und Addition wird g′(x) eliminiert und man erhält

0 = (b − x + x − a)g(x) + \frac{1}{2}(b − x)(x − a)[(x − a)g′′(ξ_{1}) + (b − x)g′′(ξ_{2})].

Daraus folgt dann die erste Ungleichung,

|g(x)| ≤ \frac{(b − x)(x − a)}{2(b − a)}(|x − a| + |b − x|)∥g′′∥_{∞} ≤ \frac{(b − a)^{2}}{8} ∥g′′∥_{∞}.

Die zweite Ungleichung gilt, da nach dem Satz von Rolle ein x_{0} ∈ [a, b] existiert mit g′(x_{0}) = 0 und daher

|g′(x)| = |g′(x_{0}) + (x − x_{0})g′′(ξ)| = |x − x_{0}||g′′(ξ)| ≤ (b − a)∥g′′∥_{∞}.

Die Konvergenz des Interpolationssplines nach Satz1.1.2,b wird im folgenden Satz beschrieben.

Satz 1.1.6 Gegeben sei f ∈ C^{4}[a, b] und ein Gitter Δ. Dann gelten für den Interpolationsspline s ∈ S_{Δ,3}^{2} mit

s(x_{j}) = f(x_{j}), j = 0, …, n, s′(a) = f′(a), s′(b) = f′(b),

und seine Ableitungen folgende Fehlerschranken. Für x ∈ (x_{j}, x_{j+1}], 0 ≤ j < n, ist

|s^{(i)}(x) − f^{(i)}(x)| ≤ c_{i}H^{2}h_{j}^{2−i}∥f^{(4)}∥_{∞}, 0 ≤ i ≤ 3.

Beweis Es wird eine weitere Splinefunktion ŝ ∈ S_{Δ,3}^{0} eingeführt, die die Bedingungen

ŝ(x_{j}) = f(x_{j}), ŝ′′(x_{j}) = f′′(x_{j}), j = 0, …, n,

erfüllt. Dann ist b̂_{3j} = b_{3j} = f(x_{j}) =: f_{j} und nach (1.1.10) gilt mit μ̂_{j} := \frac{1}{6}ŝ′′(x_{j}) die Beziehung

\{ \begin{matrix}b̂_{3j+1} & = & \frac{1}{3}(2f_{j} + f_{j+1}) − \frac{1}{3}h_{j}^{2}(2μ̂_{j} + μ̂_{j+1}) \\ b̂_{3j+2} & = & \frac{1}{3}(f_{j} + 2f_{j+1}) − \frac{1}{3}h_{j}^{2}(μ̂_{j} + 2μ̂_{j+1}) \end{matrix} .

Daraus folgt

|b_{3j+ν} − b̂_{3j+ν}| ≤ h_{j}^{2}∥μ − μ̂∥_{∞}, ν = 1, 2,  (1.1.14)

und aus der Beziérdarstellung (1.1.5) in (x_{j}, x_{j+1}],

s(x) − ŝ(x) = \frac{3}{h_{j}^{3}} ∑_{ν=1}^{2}(x − x_{j})^{ν}(x_{j+1} − x)^{3−ν}(b_{3j+ν} − b̂_{3j+ν}),

ergibt sich für die Ableitungen der Differenz die Schranke

|s^{(i)}(x) − ŝ^{(i)}(x)| ≤ \frac{3}{h_{j}^{3}} ∑_{ν=1}^{2} |\frac{d^{i}}{dx^{i}} [(x − x_{j})^{ν}(x_{j+1} − x)^{3−ν}]| max_{ν} |b_{3j+ν} − b̂_{3j+ν}|
≤ \frac{c̃_{i}}{h_{j}^{i}} max_{ν} |b_{3j+ν} − b̂_{3j+ν}|,

mit c̃_{0} = \frac{3}{4}, c̃_{1} = 3, c̃_{2} = 18, c̃_{3} = 36. Mit dieser Aussage und (1.1.14) wurde also bisher gezeigt

|s^{(i)}(x) − ŝ^{(i)}(x)| ≤ c̃_{i}h_{j}^{2−i}∥μ − μ̂∥_{∞}, x ∈ (x_{j}, x_{j+1}].  (1.1.15)

Die Momente von s werden aus dem Gleichungssystem Aμ = r, (1.1.11), (1.1.12), bestimmt. Daher gilt

μ − μ̂ = A^{−1}(r − Aμ̂) ⇒ ∥μ − μ̂∥_{∞} ≤ ∥r − Aμ̂∥_{∞},

da ∥A^{−1}∥_{∞} ≤ 1 nach Lemma 1.1.3. Die Komponenten r_{j} und (Aμ̂)_{j} können durch Taylorentwicklung um x_{j} verglichen werden, für 1 ≤ j < n ist

6(Aμ̂)_{j} = \frac{1}{h_{j−1} + h_{j}} (h_{j−1}f′′(x_{j−1}) + 2(h_{j−1} + h_{j})f′′(x_{j}) + h_{j}f′′(x_{j+1}))
= 3f′′(x_{j}) + (h_{j} − h_{j−1})f′′′(x_{j}) + \frac{1}{2} \frac{1}{h_{j−1} + h_{j}} [h_{j−1}^{3}f^{(4)}(ξ_{1}) + h_{j}^{3}f^{(4)}(ξ_{2})],
r_{j} = f[x_{j−1}, x_{j}, x_{j+1}] = \frac{1}{h_{j−1} + h_{j}} (\frac{1}{h_{j}} (f_{j+1} − f_{j}) − \frac{1}{h_{j−1}} (f_{j} − f_{j−1}))
= \frac{1}{2}f′′(x_{j}) + \frac{1}{6}(h_{j} − h_{j−1})f′′′(x_{j}) + \frac{1}{24} \frac{1}{h_{j−1} + h_{j}} [h_{j−1}^{3}f^{(4)}(ξ_{3}) + h_{j}^{3}f^{(4)}(ξ_{4})],

mit Zwischenstellen ξ_{ν} ∈ (x_{j−1}, x_{j+1}). Für die gesuchte Differenz folgt daher die Schranke

|r_{j} − (Aμ̂)_{j}| ≤ (\frac{1}{12} + \frac{1}{24})\frac{h_{j−1}^{3} + h_{j}^{3}}{h_{j−1} + h_{j}} ∥f^{(4)}∥_{∞} ≤ \frac{H^{2}}{8} ∥f^{(4)}∥_{∞},

die sich analog auch in den Fällen j = 0, n nachweisen läßt. Nach Einsetzen dieser Ergebnisse in (1.1.15) zeigt sich für die Differenz der beiden Spline-Funktionen die Aussage

|s^{(i)}(x) − ŝ^{(i)}(x)| ≤ \frac{1}{8}c̃_{i}H^{2}h_{j}^{2−i} ∥f^{(4)}∥_{∞}, x ∈ (x_{j}, x_{j+1}].

Zum Nachweis der Behauptung ist nun nur noch zu zeigen, daß eine solche Abschätzung auch für die Differenz ŝ − f gilt. Nach Konstruktion verschwinden ŝ − f und ŝ′′ − f′′ in allen Gitterpunkten x_{j}, j = 0, …, n. Daher besitzt in jedem Teilintervall (x_{j}, x_{j+1}] die Funktion

ŝ − f  ŝ′ − f′  ŝ′′ − f′′  ŝ′′′ − f′′′ ; 2 Nullstellen 1 Nullstelle 2 Nullstellen 1 Nullstelle .

Bei der ersten und dritten Ableitung wurde dazu der Satz von Rolle angewendet. Daher folgen aus Lemma 1.1.5 rekursiv die Schranken

\begin{matrix}|ŝ′′ − f′′| ≤ \frac{1}{8}h_{j}^{2}∥f^{(4)}∥_{∞}, & |ŝ′′′ − f′′′| ≤ h_{j}∥f^{(4)}∥_{∞} & ⇒ \\ |ŝ − f| ≤ \frac{1}{64}h_{j}^{4}∥f^{(4)}∥_{∞}, & |ŝ′ − f′| ≤ \frac{1}{8}h_{j}^{3}∥f^{(4)}∥_{∞}. \end{matrix}

Die beiden Schranken für die Differenzen in s^{(i)} − f^{(i)} = s^{(i)} − ŝ^{(i)} + ŝ^{(i)} − f^{(i)} ergeben die Behauptung.

Spline-Darstellungen, Beziér-, B-Splines

Zur Darstellung von Splines sind zwei Methoden verbreitet. Die erste, mit Beziér-Stücken (1.1.5) bietet sich an, wenn sowohl C^{2}- als auch C^{1}- oder C^{0}-Splines verwendet werden sollen. Allerdings benutzt diese Darstellung bei C^{2}-Splines unnötig viele Parameter. Dies wird bei Verwendung einer Basis von S_{Δ,3}^{2} aus B-Splines vermieden.

Die Beziér-Darstellung wird nur für äquidistante Gitter behandelt. Dies ist aber bei einer der wichtigsten Anwendungen, der Parameterdarstellung von Kurven (s_{1}(x), s_{2}(x), …) im R^{2} bzw. R^{3} keine starke Einschränkung. In diesem Fall, h_{j} ≡ h, gibt es für die verschiedenen Stetigkeitsbedingungen einfache geometrische Interpretationen.

• Die C^{1}-Bedingung (1.1.8) lautet b_{3j} = \frac{1}{2}(b_{3j−1}+b_{3j+1}). Da auch ξ_{3j} = \frac{1}{2}(ξ_{3j−1}+ξ_{3j+1}) gilt, ist also der R^{2}-Punkt (ξ_{3j}, b_{3j})T Mittelpunkt der Verbindungsstrecke von (ξ_{3j−1}, b_{3j−1})T und (ξ_{3j+1}, b_{3j+1})T.

• Für die Ausdrücke in der C^{2}-Bedingung wird ein neuer Parameter eingeführt, damit wird aus (1.1.9):

2b_{3j−1} − b_{3j−2} = 2b_{3j+1} − b_{3j+2} =: a_{j},  außerdem ist
2ξ_{3j−1} − ξ_{3j−2} = 2ξ_{3j+1} − ξ_{3j+2} = ξ_{3j} = x_{j}.

Daher liegt der Punkt (x_{j}, a_{j})T im Schnittpunkt der Geraden durch (ξ_{ν}, b_{ν})T mit ν = 3j − 2, 3j − 1 sowie ν = 3j + 1, 3j + 2. Umgekehrt, dritteln die Punkte (ξ_{3j+ν}, b_{3j+ν})T, ν = 1, 2, die Strecke von (x_{j}, a_{j})T nach (x_{j+1}, a_{j+1})T, denn

\begin{matrix}2b_{3j+1} − b_{3j+2} = a_{j} \\ −b_{3j+1} + 2b_{3j+2} = a_{j+1} \end{matrix} \} ⇒ \{ \begin{matrix}b_{3j+1} = \frac{1}{3}(2a_{j} + a_{j+1}) \\ b_{3j+2} = \frac{1}{3}(a_{j} + 2a_{j+1}) \end{matrix} .  (1.1.16)

Diese Beziehungen der Beziér-Koeffizienten beim C^{2}-Spline erlauben folgende geometrische Interpretation (Hilfslinien), die analog auch für Kurven (s_{1}(x), s_{2}(x))T gilt. Der Spline ist hier nur links von x_{j} skizziert:

[figure: x_{j−1}; x_{j}; x_{j+1}; x_{j+2}; ξ_{3j+1}; ξ_{3j+2}; a_{j−1}; b_{3j−3}; b_{3j−2}; b_{3j−1}; a_{j}; b_{3j+1}; b_{3j+2}; a_{j+1}; a_{j+2}; b_{3j}; b_{3j+3}]

Mit (1.1.16) können die C^{1}-Bedingungen umformuliert werden,

2b_{3j} = b_{3j−1} + b_{3j+1} = \frac{1}{3}(a_{j−1} + 4a_{j} + a_{j+1}).

Daher lassen sich die Koeffizienten a_{j} des C^{2}-Interpolationssplines aus dem Gleichungssystem

a_{j−1} + 4a_{j} + a_{j+1} = 6y_{j}, j = 1, …, n − 1,  (1.1.17)

mit den Randbedingungen

a_{0} = y_{0},  a_{n} = y_{n},  bei s′′(a) = s′′(b) = 0, bzw.
2a_{0} + a_{1} = 3y_{0} + hy′_{0}, a_{n−1} + 2a_{n} = 3y_{n} − hy′_{n} bei s′(a) = y′_{0}, s′(b) = y′_{n}, (1.1.18)

bestimmen. Die Beziér-Koeffizienten {b_{ν}} ergeben sich daraus nach (1.1.16).

Zur Auswertung eines Splines s in Beziér-Darstellung kann natürlich die Formel (1.1.5) direkt verwendet werden, nach (1.1.6a) ist sie eine konvexe Linearkombination und daher numerisch stabil. Wegen der auftretenden Binomialkoeffizienten läßt sich die Auswertung aber (analog zum Pascalschen Dreieck) auch durch mehrfache lineare Interpolation realisieren. Dazu sei für x ∈ [x_{j}, x_{j+1}]

s(x) = ∑_{i=0}^{k} \binom{k}{i}ξ^{i}(1 − ξ)^{k−i}b_{kj+i}, ξ := \frac{x − x_{j}}{h} .

Dann ergibt sich s(x) = b_{0}^{(k)} aus dem Dreieckschema

\begin{aligned}b_{i}^{(0)} & := & b_{kj+i}, & i = 0, …, k; \\ b_{i}^{(ν)} & := & (1 − ξ)b_{i}^{(ν−1)} + ξb_{i+1}^{(ν−1)}, & i = 0, …, k − ν; ν = 1, …, k. \end{aligned}  (1.1.19)

Auch (1.1.19) enthält nur konvexe Linearkombinationen.

Beweis von (1.1.19): Die Identität b_{i}^{(ν)} = ∑_{μ=0}^{ν} \binom{ν}{μ}ξ^{μ}(1−ξ)^{ν−μ}b_{i+μ}^{(0)} läßt sich leicht durch Induktion über ν verifizieren.

Die wesentlichen Parameter eines Splines s sind die Größen a_{j}, aus denen sich die Splinewerte durch lineare Operationen (1.1.16), (1.1.19) berechnen. Daher existiert eine Basisdarstellung der Form

s(x) = ∑_{j=0}^{n} a_{j}B_{j}(x), x ∈ [a, b],  (1.1.20)

wobei die Funktion B_{j}, 0 ≤ j ≤ n, dem Spline entspricht, den man für die speziellen Koeffizienten (a_{m})_{m} = (δ_{jm})_{m} erhält. Dieser Spline hat im Innern des Intervalls die folgende Gestalt (vgl. die geometrische Interpretation)

x^{j−2} x^{j−1} x^{j} x^{j+1} x^{j+2} a_{j} = 1B_{j}

Der Träger von B_{j} für 2 ≤ j ≤ n − 2, ist [x_{j−2}, x_{j+2}], umfaßt also 4 = k + 1 Teilintervalle. In Randnähe ergeben sich etwas unterschiedliche Formen.

Diese Basisfunktionen werden B-Splines genannt. Aus der Herleitung ist ersichtlich, daß diese eine Zerlegung der Eins bilden mit B_{j} ≥ 0, ∑_{j} B_{j}(x) ≡ 1, wie dies bei den Bernsteinpolynomen, vgl. (1.1.6,a), schon der Fall war. Die B-Splines können aber auch vollkommen unabhängig davon und für beliebige Gitter Δ definiert werden. Die Bezeichnungen vereinfachen sich in Randnähe, wenn das Gitter um 2k = 6 Punkte erweitert wird,

\overline{Δ} : x_{−3} < x_{−2} < x_{−1} < x_{0} < … < x_{n} < x_{n+1} < … < x_{n+3},  (1.1.21)

z.B. durch x_{−1} := 2x_{0} − x_{−1}, x_{n+1} := 2x_{n} − x_{n−1}, . . .. Eine geschlossene Darstellung der B-Splines kann mit Hilfe der folgenden Funktion von zwei Argumenten angegeben werden.

\overline{}x t g  ^{g(t; x) := (t − x)_{+}^{3} = \{ \begin{matrix}(t − x)^{3} & für & t − x ≥ 0, \\ 0 & für & t − x < 0. \end{matrix}  (1.1.22)}

Für festes t ist offensichtlich g(t; ·) ∈ C^{2}(R).

Definition 1.1.7 Zum Gitter \overline{Δ} werden die kubischen (normalisierten) B-Splines definiert durch die dividierte Differenz

B_{i}(x) := (x_{i+2} − x_{i−2}) g[x_{i−2}, x_{i−1}, …, x_{i+2}; x], i = −1, …, n + 1.

Die dividierten Differenzen (vgl. Numerik I,(2.3.2)) sind dabei bezüglich des ersten Arguments t von g zu bilden. Es gelten folgende Eigenschaften:

B_{i}(x) = 0 ∀x ∉ (x_{i−2}, x_{i+2}),  (1.1.23)
B_{i}(x) > 0 ∀x ∈ (x_{i−2}, x_{i+2}),  (1.1.24)
∑_{i=−1}^{n+1} B_{i}(x) = ∑_{i=j−1}^{j+2} B_{i}(x) ≡ 1, wenn x ∈ (x_{j}, x_{j+1}], 0 ≤ j < n.  (1.1.25)

Beweis von (1.1.23): Für x ≥ x_{i+2} ist g(x_{j}, x) = 0, j = i − 2, .., i + 2. Für x ≤ x_{i−2} ist g[x_{i−2}, x_{i−1}, …, x_{i+2}; x] vierte Differenz des kubischen Polynoms (t − x)^{3} in t, also ebenfalls 0.

(1.1.24): Folgt aus dem nächsten Satz. (1.1.25): Nach Definition ist B_{i}(x) = g[x_{i−1}, .., x_{i+2}; x] − g[x_{i−2}, .., x_{i+1}; x]. Nach (1.1.23) ist für x ∈ (x_{j}, x_{j+1}] :

∑_{i} B_{i}(x) = ∑_{i=j−1}^{j+2} B_{i}(x)

= \underbrace{g[x_{j+1}, .., x_{j+4}; x]}_{1} −g[x_{j}, .., x_{j+3}; x] + g[x_{j}, .., x_{j+3}; x] + … − \underbrace{g[x_{i−3}, .., x_{j}; x]}_{0} = 1.

Der Wert 1 ergibt sich dabei im ersten Fall aus Satz 2.3.6d (Numerik I), da g(t; ·) = t^{3} + …, und der Wert 0, da g ≡ 0 für die auftretenden Argumentwerte. Durch die Eigenschaften (1.1.23-1.1.25) ist umgekehrt der B-Spline B_{i} eindeutig festgelegt und stimmt daher mit dem aus (1.1.20) überein.

Zur numerischen Berechnung ist der Zugang über die Differenzen nicht sehr geeignet (Auslöschung). Ähnlich wie bei der Beziér-Darstellung kann aber auch für einen Spline in B-Spline-Darstellung ein stabiles Rekursionsschema angegeben werden.

Satz 1.1.8 Die Splinefunktion s ∈ S_{Δ,3}^{2} sei dargestellt mit Hilfe der B-Splines zum erweiterten Gitter \overline{Δ},

s(x) = ∑_{i=−1}^{n+1} a_{i}B_{i}(x).

Der Wert s(x) mit x ∈ (x_{j}, x_{j+1}], 0 ≤ j ≤ n, ergibt sich aus der Rekursion

a_{i−2}^{(m)} = \frac{1}{x_{i−m} − x_{i−4}} ((x_{i−m} − x)a_{i−3}^{(m−1)} + (x − x_{i−4})a_{i−2}^{(m−1)}), \{ \begin{matrix}i = j + m + 1, …, j + 4, \\ m = 1, 2, 3, \end{matrix}

(1.1.26)

mit a_{i}^{(0)} := a_{i}, i = 1, …, n + 1. Es gilt

s(x) = a_{j+2}^{(3)} = ∑_{i=j−1}^{j+2} a_{i}B_{i}(x).

Mit Satz 1.1.8 kann ein C^{2}-Spline ohne Umweg über die Beziér-Form ausgewertet werden.

Bemerkung: a) Die Linearkombinationen in (1.1.26) sind konvex. Daher werden in den a_{i} evtl. vorhandene Fehler nicht verstärkt.

b) Am Funktionswert in (x_{j}, x_{j+1}] sind nur beteiligt

\begin{aligned}& a_{j−1} & a_{j} & a_{j+1} & a_{j+2} \\ x_{j−2} & x_{j−1} & x_{j} & x_{j+1} & x_{j+2} & x_{j+3}. \end{aligned}

Der Beweis des Satzes ist aufwendig und soll daher nicht vorgeführt werden. Ein wesentliches Hilfsmittel dabei ist die Leibniz-Regel für dividierte Differenzen,

(fg)[x_{i}, …, x_{i+j}] = ∑_{ν=0}^{j} f[x_{i}, …, x_{i+ν}] g[x_{i+ν}, …, x_{i+j}].

Sowohl B-Spline- als auch Beziér-Darstellung bieten eine Reihe von praktischen Vorteilen, die darauf beruhen, daß die verwendeten Basisfunktionen eine lokale Zerlegung der Eins bilden:

∥ ∥ ∥ ∥

Der Funktionswert s(x) an einer beliebigen Stelle x im Intervall ist eine konvexe Linearkombination von k + 1 = 4 Koeffizienten.

Konsequenzen:

— Bei Auswertung des Splines treten keine zusätzlichen Rundungsfehler auf.

— Die Koeffizienten schließen, als Punkte betrachtet, den Funktionsgraphen ein. Graphik-Algorithmen wie Skalierung, Clipping (Abschneiden bei Fenstern, Verdeckung) können eine Vorentscheidung anhand der Koeffizienten treffen.

— Bei Koordinatentransformationen (Zoom) sind alle Koeffizienten gleich zu behandeln.

— Änderungen einzelner Koeffizienten haben nur lokale Änderungen des Splines zur Folge (→ interaktiver Entwurf).

Beispiel 1.1.9 Ausschnitt einer R^{2}-Graphik aus kubischen Beziér-Splines mit Kontrollpunkten:

Hardcopy Micky-Maus, 64%

Lokale Spline-Approximationen

Um die Notwendigkeit zu umgehen, zur Bestimmung des Splines ein Gleichungssystem lösen zu müssen, und auch die Fernwirkung einzelner (großer) Funktionswerte zu unterbinden, kann man versuchen, Spline-Koeffizienten explizit anzugeben unter Verzicht auf die exakte Interpolationseigenschaft. Den einfachsten Fall behandelt Satz 1.1.10 Die Funktion f sei Lipschitz-stetig auf R mit der Lipschitz-Konstanten L. Mit den Eigenschaften (1.1.23)-(1.1.25) der Basis-Funktionen B_{j} gilt für

s(x) := ∑_{j=−1}^{n+1} f(x_{j})B_{j}(x)

die Konvergenzaussage

∥s − f∥_{∞} ≤ 2HL.

Beweis Für x ∈ (x_{j}, x_{j+1}] ist 1 = ∑_{i=j−1}^{j+2} B_{i}(x) und daher

|s(x) − f(x)| = | ∑_{i=j−1}^{j+2} (f(x_{i}) − f(x))B_{i}(x)| ≤ max_{|x−y|≤2H} |f(x) − f(y)| ≤ 2HL.

Allgemeiner werden Approximationen der Form

Qf := ∑_{i=−1}^{n+1} a_{i}(f)B_{i}  (1.1.27)

betrachtet für f ∈ C[a − d, b + d] mit d := max{|x_{0} − x_{−3}|, |x_{n+3} − x_{n}|}. Diese heißen lokale Spline-Approximation, wenn a_{i}(f) nur von Funktionswerten im Träger von B_{i}, also [x_{i−2}, x_{i+2}], abhängt. Besonders interessant sind dabei lineare Funktionale a_{i}, z.B.,

a_{i}(f) = ∑_{j=1}^{ℓ} α_{ij}f(ξ_{ij}), ξ_{ij} ∈ [x_{i−2}, x_{i+2}].  (1.1.28)

Dann ist nämlich Q ein linearer Operator. Bei (1.1.28) gilt zunächst

|a_{i}(f)| ≤ ∑_{j=1}^{ℓ} |α_{ij}| sup{|f(x)| : x ∈ [x_{i−2}, x_{i+2}]} =: A_{i}∥f∥_{[x_{i−2},x_{i+2}]}.  (1.1.29)

Daraus folgt eine lokale Abschätzung für Qf. Wenn x ∈ [x_{j}, x_{j+1}] gilt, ist nämlich

|Qf(x)| ≤ ∑_{i=j−1}^{j+2} |a_{i}(f)|B_{i}(x) ≤ max_{i=j−1}^{j+2} |a_{i}(f)| ≤ max_{i=j−1}^{j+2} A_{i}∥f∥_{[x_{j−3},x_{j+4}]}.  (1.1.30)

Nach einem einfachen Prinzip kann mit dieser lokalen Schranke eine Konvergenzaussage abgeleitet werden.

Satz 1.1.11 Zu einem erweiterten Gitter Δ̄ sei ein lokaler Approximationsoperator Q definiert, der (1.1.30) erfüllt. Wenn Q Polynome vom Grad m reproduziert, d.h., Qp = p ∀p ∈ Π_{m}, dann gilt für f ∈ C^{m+1}[a − d, b + d] die Fehlerschranke

∥f − Qf∥_{[a,b]} ≤ c(1 + max_{i=−1}^{n+1} A_{i})H^{m+1}∥f^{(m+1)}∥_{[a−d,b+d]}

Beweis Nach Voraussetzung gilt mit beliebigen Polynomen p ∈ Π_{m}

f − Qf = f − p − (Qf − p) = f − p − Q(f − p).

Mit (1.1.30) folgt daraus für x ∈ (x_{j}, x_{j+1}], 0 ≤ j < n, dann

|f(x) − Qf(x)| ≤ |f(x) − p(x)| + |Q(f − p)(x)| ≤ (1 + max_{i=−1}^{n+1} A_{i})∥f − p∥_{[x_{j−3},x_{j+4}]}.

Nun kann ein Polynom p so gewählt werden (z.B. durch Interpolation), daß

∥f − p∥_{[x_{j−3},x_{j+4}]} ≤ cH^{m+1}∥f^{(m+1)}∥_{[x_{j−3},x_{j+4}]}.

Die optimale Konvergenzaussage für kubische Splines, O(H^{4}), folgt aus diesem Satz also, wenn Q kubische Polynome reproduziert und die Konstante max_{i} A_{i} nicht vom Gitter Δ̄ abhängt.

Beispiel 1.1.12 (Schoenberg, H^{2}-Approximation):

a_{i}(f) := f(x̄_{i}), x̄_{i} := \frac{1}{3}(x_{i−1} + x_{i} + x_{i+1}),

bei beliebigem Gitter. Q reproduziert lineare Funktionen. Für äquidistantes Gitter stimmt Q mit der Approximation aus Satz 1.1.10 überein, da x̄_{i} = x_{i}.

Beispiel 1.1.13 (H^{4}-Approximation) Die Gestalt der Funktionale (1.1.28) mit ℓ = 3 bei allgemeinem Gitter ist sehr kompliziert, bei äquidistantem Gitter vereinfachen diese sich zu

a_{i}(f) := f(x_{i}) − \frac{h^{2}}{3} f[x_{i−1}, x_{i}, x_{i+1}],

(vgl. dazu (1.1.11)). Q reproduziert kubische Polynome.

Auch ohne Auflösung eines linearen Gleichungssystems (1.1.11) bzw. (1.1.17) kann also eine H^{4}-Approximation einer C^{4}-Funktion konstruiert werden, wenn auf die strenge Interpolationsforderung aus Satz 1.1.6 verzichtet wird.

1.2 Trigonometrische Interpolation

Zur Approximation periodischer Funktionen werden zweckmäßigerweise Polynome auf dem komplexen Einheitskreis bzw. direkt trigonometrische Polynome

p(x) := a_{0} + a_{1}e^{ix} + a_{2}e^{2ix} + … + a_{n−1}e^{(n−1)ix}, x ∈ [0, 2π),  (1.2.1)

betrachtet. Hier ist i = \sqrt{−1} die imaginäre Einheit. Bei der Interpolation werden aus praktischen Gründen nur äquidistante Stützstellen x_{k} = 2π \frac{k}{n}, k = 0, …, n − 1, behandelt. Zu gegebenen Stützwerten y_{k} ∈ C ist das Interpolationspolynom p gesucht mit

p(x_{k}) = p(2π \frac{k}{n}) = y_{k}, k = 0, 1, …, n − 1.  (1.2.2)

Wegen der 2π-Periodizität von p ist dann auch p(2πk/n) = y_{k}∀k ∈ Z, wenn definiert wird y_{k+jn} := y_{k}∀j ∈ Z. Nach Einführung der Größe ω_{n} := exp(2πi/n) entspricht (1.2.2)

y_{k} = p(x_{k}) = ∑_{j=0}^{n−1} a_{j}e^{2πijk/n} = ∑_{j=0}^{n−1} a_{j} ω_{n}^{jk}, k = 0, 1, …, n − 1.  (1.2.3)

Die Zahl ω_{n} ist eine n-te primitive Einheitswurzel mit ω_{n}^{n} = 1. Aus dieser Eigenschaft folgen die Beziehungen

\begin{matrix}ω_{n}^{k+jn} = ω_{n}^{k} ∀j ∈ Z \\ ∑_{k=0}^{n−1} ω_{n}^{jk}ω_{n}^{−ℓk} = nδ_{jℓ} = \{ \begin{matrix}n & für & j = ℓ \\ 0 & für & j ≠ ℓ \end{matrix} . \end{matrix}  (1.2.4)

Beweis Die Nachweise für Periodizität und Summenwert bei j = ℓ sind trivial, für j ≠ ℓ gilt

∑_{k=0}^{n−1} ω_{n}^{(j−ℓ)k} = \frac{1 − ω_{n}^{(j−l)n}}{1 − ω_{n}^{j−ℓ}} = 0, da ω_{n}^{n} = 1.

Die Identität (1.2.4) besagt, daß die Vektoren w^{(k)} := (ω_{n}^{jk})_{j=0}^{n−1} ∈ C^{n} eine Orthonormalbasis bilden im Innenprodukt

(y, z) := \frac{1}{n} ∑_{j=0}^{n−1} y_{j} z̄_{j}.  (1.2.5)

Daher läßt sich die Lösung des Interpolationsproblems (1.2.3) explizit angeben, denn dazu sind die Koeffizienten a_{j} in der Orthonormalentwicklung y = ∑_{j=0}^{n−1} a_{j}w^{(j)} zu berechnen.

Satz 1.2.1 Die Koeffizienten a_{j} des Interpolationspolynoms (1.2.1) mit (1.2.2) sind

a_{j} = (y, w^{(j)}) = \frac{1}{n} ∑_{k=0}^{n−1} y_{k} ω_{n}^{−jk}, j = 0, 1, …, n − 1.  (1.2.6)

Beweis Da {w^{(j)}} eine Orthonormalbasis ist, gilt (y, w^{(j)}) = ( ∑_{k=0}^{n−1} a_{k}w^{(k)}, w^{(j)}) = a_{j}.

Bemerkung: Man beachte die Ähnlichkeit von (1.2.3) und (1.2.6).

Da bei der Interpolation nach einer Orthonormalbasis entwickelt wurde, sind Teilsummen ∑_{j} a_{j}w^{(j)} auch jeweils Bestapproximierende an y:

Satz 1.2.2 Für beliebiges ℓ ≤ n − 1 minimiert das Abschnittspolynom

p_{ℓ}(x) := a_{0} + a_{1}e^{ix} + … + a_{ℓ}e^{iℓx}

unter allen Polynomen q_{ℓ} vom Grad ℓ die Fehlerquadratsumme

∑_{k=0}^{n−1} |y_{k} − q_{ℓ}(x_{k})|^{2}.

18 1 INTERPOLATION UND APPROXIMATION VON FUNKTIONEN Beweis (Pythagoras) p_{ℓ} ist Orthogonalprojektion von p auf Π_{ℓ} bzgl. (·, ·). Reelle Trigonometrische Interpolation: Für reelle Daten y_{k} ∈ R kann das reelle trigonometrische Polynom

φ(x) := \frac{α_{0}}{2} + ∑_{k=1}^{m−1}(α_{k} cos kx + β_{k} sin kx) + \frac{α_{m}}{2} cos mx,  (1.2.7)

das die Werte y_{k} interpoliert, über (1.2.6) bestimmt werden. Satz 1.2.3 Die Koeffizienten a_{j} seien mit n := 2m, y_{k} ∈ R, nach (1.2.6) definiert und

α_{j} := 2Re a_{j} = a_{j} + a_{n−j} = \frac{2}{n} ∑_{k=0}^{n−1} y_{k} cos kx_{j}, j = 0, …, m,
β_{j} := −2Im a_{j} = \frac{1}{i}(a_{n−j} − a_{j}) = \frac{2}{n} ∑_{k=0}^{n−1} y_{k} sin kx_{j}, j = 1, …, m − 1.

Dann gilt für das trigonometrische Polynom (1.2.7) mit diesen Koeffizienten die Aussage

φ(x_{k}) = y_{k} k = 0, …, n − 1.

Beweis Für reelle y_{k} ist

a_{n−j} = \frac{1}{n} ∑_{k=0}^{n−1} y_{k}ω_{n}^{k(j−n)} = \frac{1}{n} ∑_{k=0}^{n−1} y_{k}ω_{n}^{kj} = ā_{j}.

Damit folgt

y_{k} = p(x_{k}) = ∑_{j=0}^{n−1} a_{j}ω^{jk} = ∑_{j=0}^{m−1} a_{j}ω_{n}^{jk} + ∑_{ℓ=1}^{m} a_{n−ℓ}ω_{n}^{kn−kℓ}
= a_{0} + ∑_{j=1}^{m−1}(a_{j}ω_{n}^{jk} + a_{n−j}ω_{n}^{−jk}) + a_{m}ω^{mk}
= a_{0} + ∑_{j=1}^{m−1} 2Re (a_{j}ω_{n}^{jk}) + a_{m}(−1)^{k} = φ(x_{k}),

denn 2Re (a_{j}ω_{n}^{jk}) = α_{j} cos jx_{k} + β_{j} sin jx_{k}. Die schnelle Fourier-Transformation (FFT) Sowohl zur Bestimmung der Koeffizienten (1.2.6) als auch zur Auswertung des Polynoms (1.2.3) sind Summen der Form

z_{k} := ∑_{j=0}^{n−1} b_{j}ω_{n}^{jk}, k = 0, …, n − 1; ω_{n}^{n} = 1,

zu berechnen (diskrete Fourier-Transformation). Im Normalfall werden dafür n^{2} Operationen benötigt. Wenn n aber eine Zweierpotenz ist, kann der Aufwand auf n log_{2} n Operationen gesenkt werden (→ schnelle Fourier-Tr.) aufgrund der hohen Symmetrie der Koeffizienten ω_{n}^{jk}. Das Prinzip ist schon bei n = 2m erkennbar, es gilt

\begin{matrix}z_{2k} = & ∑_{j=0}^{n−1} b_{j}ω_{2m}^{2jk} = ∑_{j=0}^{m−1}(b_{j} + b_{j+m})ω_{m}^{jk} & =: ∑_{j=0}^{m−1} b_{j}^{g}ω_{m}^{jk}, \\ & da ω_{2m}^{2} = ω_{m}, ω_{m}^{(j+m)k} = ω_{m}^{jk}, \\ z_{2k+1} = & ∑_{j=0}^{n−1} b_{j}ω_{2m}^{2jk+j} = ∑_{j=0}^{m−1}[(b_{j} − b_{j+m})ω_{n}^{j}]ω_{m}^{jk} & =: ∑_{j=0}^{m−1} b_{j}^{u}ω_{m}^{jk}, \\ & da ω_{2m}^{2} = ω_{m}, ω_{2m}^{m} = −1. \end{matrix} \}  (1.2.8)

Durch den Übergang vom Gesamtvektor (b_{j})_{j=0}^{n−1} zu den beiden Teilvektoren (b_{j}^{g}, b_{j}^{u})_{j=0}^{m−1}, der 2m Additionen und m Multiplikationen kostet, kann die Gesamt-Fourier-Transformation zu n = 2m auf 2 Transformationen der halben Ordnung m zurückgeführt werden. Für den Aufwand A_{n} der Fourier-Transformation gilt also

A_{2m} = 2A_{m} + 3m, A_{1} = 0.

Für n = 2^{ℓ} ist die Methode (1.2.8) rekursiv anwendbar. Es läßt sich leicht nachrechnen, daß dann die Rekursionsformel durch A_{2^{ℓ}} = 3ℓ2^{ℓ−1} = \frac{3}{2}n log_{2} n erfüllt wird, denn A_{2^{ℓ+1}} = 3(ℓ + 1)2^{ℓ} = 2[3ℓ2^{ℓ−1}] + 3 2^{ℓ}. Also gilt

Satz 1.2.4 Für n = 2^{ℓ} können die Summen (1.2.3) bzw. (1.2.6) mit \frac{3}{2}n log_{2} n komplexen Operationen berechnet werden.

Praktische Durchführung bei n = 2^{ℓ} [Cooley-Tuckey]: Die Durchführung der ℓ Transformations-Stufen bei Anwendung von (1.2.8) kann ohne zusätzlichen Speicherbedarf, d.h., am Platz von (b_{j}), stattfinden. Dazu werden die Koeffizienten b_{j}^{g}, j = 0, …, m−1, in die vordere Hälfte und die b_{j}^{u}, j = 0, …, m−1, in die hintere Hälfte eingeordnet, die nächste Transformations-Stufe arbeitet getrennt auf beiden Hälften:

\{ \begin{matrix}b_{j}^{(1)} := & b_{j}^{g} = b_{j} + b_{j+m}, & j = 0, …, m − 1, & Berechnung \{z_{2j}\} \\ b_{j+m}^{(1)} := & b_{j}^{u} = (b_{j} − b_{j+m})ω_{n}^{j}, & j = 0, …, m − 1, & Berechnung \{z_{2j+1}\}. \end{matrix}  (1.2.9)

Zur korrekten Zuordnung werden die Indizes der Koeffizienten b_{j}^{(1)} und die der Zielkoeffizienten z_{k} anhand ihrer Binärdarstellung (in den Kästchen) verglichen:

Koeff. mit \{ \begin{matrix}k = 2j \\ k = 2j + 1 \end{matrix}  kommt in Position \{ \begin{matrix}j \\ m + j \end{matrix}
Index binär: s_{ℓ−1} ⋯ s_{1} s_{0}  ⟶  s_{0} s_{ℓ−1} ⋯ s_{1}

Die weiteren Stufen lassen die höchste Binärstelle unverändert und ändern die restlichen analog. Daher hat sich nach ℓ = log_{2} n Schritten die Binärdarstellung des Index umgedreht:

z_{k} mit k = s_{ℓ−1} ⋯ s_{1} s_{0} steht in b_{j}^{(ℓ)} mit j = s_{0} s_{1} ⋯ s_{ℓ−1} .

Daher ist am Ende der FFT ein Permutationsschritt durchzuführen.

Beispiel 1.2.5 Schnelle Fourier-Transformation bei n = 8 = 2^{3}

Index binär 1.Schritt für Koeff 2.Schritt für Koeff 3.Schritt Index Koeff
b_{0} 000  b_{0} + b_{4}  xx0  b_{0} + b_{2}  x00  b_{0} + b_{1}  000  z_{0}
b_{1} 001  b_{1} + b_{5}  xx0  b_{1} + b_{3}  x00  (b_{0} − b_{1})ω^{0} 100  z_{4}
b_{2} 010  b_{2} + b_{6}  xx0  (b_{0} − b_{2})ω^{0}  x10  b_{2} + b_{3}  010  z_{2}
b_{3} 011  b_{3} + b_{7}  xx0  (b_{1} − b_{3})ω^{2}  x10  (b_{2} − b_{3})ω^{0} 110  z_{6}
b_{4} 100 (b_{0} − b_{4})ω^{0}  xx1  b_{4} + b_{6}  x01  b_{4} + b_{5}  001  z_{1}
b_{5} 101 (b_{1} − b_{5})ω^{1}  xx1  b_{5} + b_{7}  x01  (b_{4} − b_{5})ω^{0} 101  z_{5}
b_{6} 110 (b_{2} − b_{6})ω^{2}  xx1  (b_{4} − b_{6})ω^{0}  x11  b_{6} + b_{7}  011  z_{3}
b_{7} 111 (b_{3} − b_{7})ω^{3}  xx1  (b_{5} − b_{7})ω^{2}  x11  (b_{6} − b_{7})ω^{0} 111  z_{7}

PASCAL-Programm zur schnellen Fourier-Transformation (die Unterprogramme cadd,csub,cmul realisieren die komplexen Operationen):

type complex = record  r,i: real  end;
      vektor = array[0..n_] of complex;
procedure wkoeff(n: integer; var om: vektor); {berechnet OM[J]=om^j}
var j,nh: integer; w: complex;
begin nh:=n div 2; w.r:=cos(pi/nh); w.i:=-sin(pi/nh);
  with om[0] do begin r:=1; i:=0 end;
  for j:=1 to nh-1 do cmul(om[j-1],w,om[j])
end; {wkoeff}
procedure FFT(n: integer; var z: vektor);
var i,j,jh,k,ia,id,ig,igr,ip,i1,i2,ng,ngr,L: integer;  zh: complex;
begin i:=n; L:=0;
  while i<>1 do begin L:=L+1; i:=i div 2 end; {N=2^L}
  id:=n div 2; ngr:=1;
  for ig:=1 to L do      { L=log2(N) Transformationen }
  begin ia:=0;
    for igr:=1 to ngr do { Transf. auf NGR=2^(IG-1) Teilfelder anwenden }
    begin ip:=0;
      for i:=0 to id-1 do { Laenge der Teilfelder: ID=2^(L-IG)}
      begin i1:=ia+i; i2:=i1+id;
        csub(z[i1],z[i2],zh);
        cadd(z[i1],z[i2],z[i1]);
        cmul(zh,om[ip],z[i2]);
        ip:=ip+ngr;
      end;{i}    ia:=ia+2*id;
    end;{igr}   id:=id div 2; ngr:=2*ngr;

end;{ig}
for j:=0 to n-1 do               {Index-Vertauschung:}
begin jh:=j; k:=0;
for i:=1 to L do { K:=bitinv(J) : }
begin k:=k+k; if odd(jh) then k:=k+1; jh:=jh div 2 end;
if k>j then   {vertausche einmal}
begin zh:=z[j]; z[j]:=z[k]; z[k]:=zh end;
end;{j}
end; {FFT}

Anwendungen der FFT:

a) Approximation von Koeffizienten der Fourier-Entwicklung

c_{j} = \frac{1}{2π} ∫_{0}^{2π} f(x)e^{−ijx}dx, j ∈ Z,  (1.2.10)

von 2π-periodische Funktionen f. Wenn f reell ist, gilt

Re c_{j} = \frac{1}{2π} ∫_{0}^{2π} f(x) cos jx dx, Im c_{j} = −\frac{1}{2π} ∫_{0}^{2π} f(x) sin jx dx.

Mit den Werten y_{k} = f(x_{k}) = f(2πk/n), k ∈ Z, in (1.2.6) gilt wegen der Periodizität

a_{j} = \frac{1}{n} ∑_{k=0}^{n−1} f(x_{k}) exp(−2πi\frac{jk}{n})
= \frac{h}{2π} (\frac{1}{2}f(0) + ∑_{k=1}^{n−1} f(x_{k}) exp(−2πi\frac{jk}{n}) + \frac{1}{2}f(2π)),

mit h = 2π/n. Dies ist aber gleichzeitig die Trapeznäherung an das Integral (1.2.10). Aus der Euler-McLaurin-Summenformel (vgl. Numerik I, Satz 3.5.3) folgt, daß die Trapezregel für periodische und genügend oft differenzierbare Integranden eine beliebig hohe Ordnung besitzt:

|a_{j} − c_{j}| ≤ k_{m}(\frac{j + 1}{n})^{m} max_{ν≤m} ∥f^{(ν)}∥_{∞}, 0 ≤ j < n.

Daher bilden die ersten diskreten Fourierkoeffizienten a_{j} (z.B. mit j ≤ αn, α < 1) sehr gute Approximationen an die c_{j}. Dies gilt nicht mehr für j ≅ n, da für eine reelle, stetige Funktion f zwar gilt c_{j} → 0, j → ∞, aber a_{n−j} = ā_{j}.

b) Schnelle Berechnung diskreter Faltungen von Vektoren. Zu Vektoren u = (u_{0}, u_{1}, …, u_{n−1})T, y = (y_{0}, y_{1}, …, y_{n−1})T ∈ C^{n}, deren Komponenten bei Bedarf n-periodisch fortgesetzt werden, wird folgendes Produkt definiert,

z = u ∗ y : ⟺ z_{k} = ∑_{j=0}^{n−1} u_{k−j} y_{j}, k = 0, …, n − 1,  (1.2.11)

bzw. k ∈ Z. Dieses Faltungsprodukt ∗ ist kommutativ und assoziativ. Werden die diskreten Fouriertransformierten zu u, y, z ∈ C^{n} mit û, ŷ, ẑ bezeichnet, etwa ŷ = (ŷ_{k}) = ( ∑_{j=0}^{n−1} y_{j}ω_{n}^{jk}), so gilt

ẑ = ˆ (u ∗ y) = û ∘ ŷ:= (û_{k}ŷ_{k})_{k=0}^{n−1}.  (1.2.12)

Beweis Wegen der Periodizität ist

ẑ_{k} = ∑_{j=0}^{n−1} z_{j}ω_{n}^{jk} = ∑_{j=0}^{n−1} ∑_{m=0}^{n−1} u_{j−m}y_{m}ω_{n}^{(j−m)k}ω_{n}^{mk} = ∑_{m=0}^{n−1} y_{m}ω_{n}^{mk} ∑_{j=−m}^{n−1−m} u_{j}ω_{n}^{jk} = ŷ_{k}û_{k}.

Wegen (1.2.12) läßt sich die Berechnung einer Faltung (Aufwand direkt: 2n^{2}) auf drei Fouriertransformationen und eine komponentenweise Multiplikation zurückführen, dies erfordert insgesamt nur ca. \frac{9}{4}n log_{2} n Operationen. Sind in (1.2.11) u und z bekannt, kann umgekehrt das Gleichungssystem für y mit der zyklischen Matrix (u_{k−j})_{k,j=0}^{n−1} mit gleichem Aufwand (statt n^{3} bei Gauß-Elimination) gelöst werden. Anwendungen von (1.2.11), (1.2.12):

— digitale Filter, z.B. gleitender Mittelwert z_{j} := \frac{1}{4}(y_{j−1} + 2y_{j} + y_{j+1}), Tiefpaß-Filter,

— Bildverarbeitung (Spezialfall), mehrdimensionale Fouriertransformation, Bildtelephon,

— Polynom- bzw. Langzahl-Multiplikation (statt über C in endlichen Zahlkörpern),

— Statistik

c) Polynom-Interpolation in Tschebyscheff-Knoten: vgl. Numerik I, §2.4.

Verallgemeinerungen, Weiterentwicklungen

• Permutationsfreie FFT: Durch geeignete Zusammenfassung von Schritten in den letzten ⌊ℓ/2⌋ Stufen der FFT erscheinen die Koeffizienten am Ende in der richtigen Reihenfolge.

• Für allgemeinere n mit Primfaktorzerlegung n = p_{1}p_{2} ⋯ p_{ℓ} ist analog eine Aufspaltung in ℓ Stufen möglich (z.B. n = 1000 = 2^{3}5^{3}).

• Das Berechnungsprinzip ist auch auf einige andere Transformationen übertragbar, z.B., die Hartley-Transformation (reelle trigonometrische Entwicklung, reell durchführbar), Walsh-Transformation (reelle Entwicklung nach Treppenfunktionen).

2 Ausgleichsrechnung

Bei vielen wissenschaftlichen Problemen weiß oder vermutet man, wie eine meßbare Größe y ∈ R von Versuchsparametern a = (a_{1}, …, a_{p})T ∈ R^{p} abhängt,

y = f(a_{1}, …, a_{p}; x_{1}, …, x_{n}).

Dabei sind (x_{1}, …, x_{n})T =: x unbekannte Konstanten einer bestimmten Funktion f, die aufgrund von Messungen zu bestimmen sind, im Idealfall in der Form

y_{k} = f(a_{k1}, …, a_{kp}; x_{1}, …, x_{n}), k = 1, …, m.  (2.0.1)

Für m > n existiert aber i.a. keine Lösung des Gleichungssystems (2.0.1), da die Meßwerte normalerweise Fehler enthalten. Daher beschränkt man sich darauf, (2.0.1) mit möglichst kleinem Defekt zu lösen:

∑_{k=1}^{m} |y_{k} − f(a_{k1}, …, a_{kp}; x_{1}, …, x_{n})|^{2} =^{!} min .  (2.0.2)

Diese, auf Gauß zurückgehende Methode der kleinsten Quadrate hat u. a. besonders gute statistische Eigenschaften. Im folgenden werden nur lineare Funktionen f und die Euklidnorm betrachtet.

2.1 Kleinste-Quadrate-Lösung

Das erste Ziel ist es hier, für beliebige lineare Gleichungssysteme einen verallgemeinerten Lösungsbegriff zu definieren.

Definition 2.1.1 Zu A ∈ C^{m×n}, m, n ∈ N, und y ∈ C^{m} heißt x̂ ∈ C^{n} Kleinste-Quadrate-Lösung, wenn x̂ das Funktional

∥Ax − y∥_{2}^{2} = (Ax − y)^{∗}(Ax − y)  (2.1.1)

minimiert. Ist das Minimum von (2.1.1) nicht eindeutig, wird mit x^{+} diejenige Kleinste-Quadrate-Lösung mit kleinster Norm bezeichnet,

∥x^{+}∥_{2} = min{∥x̂∥_{2} : x̂ ∈ C^{n} minimiert (2.1.1)}.  (2.1.2)

Um die Lösungen aus Definition 2.1.1 genauer charakterisieren zu können, werden folgende Begriffe benötigt. Zu A ∈ C^{m×n} heißen

N(A) := {x ∈ C^{n} : Ax = 0}  Nullraum bzw. Kern R(A) := {y ∈ C^{m} : ∃x ∈ C^{n} mit Ax = y} = AC^{n} Bildraum von A. (2.1.3)

Folgende wichtige Beziehung aus der Linearen Algebra wird später verwendet:

R(A)^{⊥} = N(A^{∗}).  (2.1.4)

Satz 2.1.2 Es sei P : C^{n} ↦ R(A) der Orthogonal-Projektor auf R(A), d.h., P^{2} = P, P^{∗} = P. Dann sind die folgenden Aussagen äquivalent:

∥Ax̂ − y∥_{2} = min{∥Ax − y∥_{2} : x ∈ C^{n}},  (2.1.5)
Ax̂ = P y  (2.1.6)
A^{∗}Ax̂ = A^{∗}y, bzw., A^{∗}(Ax̂ − y) = 0 ‘Normalengleichung’.  (2.1.7)

Beweis a) (Äquivalenz der ersten beiden Aussagen) Wegen Ax = P Ax ∀x gilt

∥Ax − y∥_{2}^{2} = ∥Ax − P y − (I − P)y∥^{2}
= ∥Ax − P y∥_{2}^{2} − 2Rey^{∗} \underbrace{(I − P^{∗})P}_{= 0}(Ax − y) + ∥(I − P)y∥_{2}^{2}.

Da der letzte Summand nicht von x abhängt, wird das Minimum für ∥Ax − P y∥_{2} = 0 angenommen, da P y ∈ R(A).

b) (Äquivalenz der beiden letzten Gleichungen)

\begin{matrix}(2.1.6) ⟺ & Defekt d := Ax̂ − y = (P − I)y & ∈ R(A)^{⊥} \\ (2.1.7) ⟺ & Defekt d := Ax̂ − y & ∈ N(A^{∗}) \end{matrix} \} äquivalent wegen (2.1.4)

Aus diesem Satz läßt sich leicht ableiten

Satz 2.1.3 Das Ausgleichsproblem (2.1.1) besitzt (mindestens) eine Kleinste-Quadrate-Lösung x̂. Für m ≥ n, Rang(A) = n, ist sie eindeutig. Die allgemeine Lösung von (2.1.1) hat die Form x̂ + N(A). Die Lösung x^{+} mit kleinster Norm (2.1.2) ist eindeutig bestimmt.

Beweis a) Existenz, aus (2.1.6) und P y ∈ R(A) oder aus (2.1.7): A^{∗}A ist positiv semidefinit, denn x^{∗}A^{∗}Ax = ∥Ax∥_{2}^{2} ≥ 0. Es ist x^{∗}A^{∗}Ax = ∥Ax∥_{2}^{2} = 0 ⟺ Ax = 0, also N(A^{∗}A) = N(A) ⇒ R(A^{∗}A) = N(A^{∗}A)^{⊥} = N(A)^{⊥} = R(A^{∗}). Daher ist (2.1.7) lösbar, die allgemeine Lösung ist x̂ + N(A).

b) Eindeutigkeit von x^{+}: Im affinen Unterraum x̂ + N(A) existiert genau ein Element kleinster Norm, x^{+}, die Projektion des Nullpunkts auf diesen Unterraum.

2.2 Die Verallgemeinerte Inverse

Analog zum regulären Fall mit quadratischer Matrix A, wo sich die Lösung in der Form x = A^{−1}y angeben läßt, kann auch die Zuordnung y ↦ x^{+} durch eine Matrix realisiert werden.

Definition 2.2.1 Mit A ∈ C^{m×n}, der Orthogonalprojektion P : C^{m} ↦ R(A) und der restringierten Abbildung Ã := A|_{N(A)^{⊥}} heißt

A^{+} : \{ \begin{matrix}C^{m} & ↦ & C^{n} \\ y & ↦ & A^{+}y := (Ã)^{−1}P y \end{matrix}  (2.2.1)

Verallgemeinerte Inverse von A (bzw. Moore-Penrose-Inverse, Pseudo-Inverse).

Skizze:

[figure: C^{n}; C^{n}; A; A^{+}; Ã; N(A); R(A); x̂; x^{+}; 0; x̂ + N(A); N(A)^{⊥}; y; P y]

Satz 2.2.2 Die Minimallösung x^{+} von (2.1.1), (2.1.2) stimmt mit

x^{+} = A^{+}y  (2.2.2)

überein, es gilt R(A^{+}) = N(A)^{⊥}.

Beweis Jedes x ∈ C^{n} ist eindeutig zerlegbar, x = x_{0} + x_{⊥} in x_{0} ∈ N(A) und x_{⊥} ∈ N(A)^{⊥}. Damit ist Ax = Ãx_{⊥}. Mit einer solchen Zerlegung einer Minimallösung x̂ = x_{0} + x^{+} von (2.1.1) ergibt sich aus (2.1.6) und Satz 2.1.3 die Aussage:

Ãx^{+} = Ax̂ = P y.

Bemerkung: a) Jede Matrix besitzt eine Verallgemeinerte Inverse (auch die Nullmatrix).

b) Für Rang(A) = n, m ≥ n, gilt also

A^{+} = (A^{∗}A)^{−1}A^{∗}.

Ist außerdem noch m = n, stimmen A^{+} und A^{−1} überein.

Die Verallgemeinerte Inverse kann unabhängig von Definition 2.2.1 als Lösung der im nächsten Satz angegebenen Gleichungen charakterisiert werden.

Satz 2.2.3 Die Verallgemeinerte Inverse A^{+} aus (2.2.1) ist die eindeutig bestimmte Lösung der Gleichungen

\begin{aligned}(a) & A^{+}A & = & (A^{+}A)^{∗} \\ (b) & AA^{+} & = & (AA^{+})^{∗} \\ (c) & AA^{+}A & = & A \\ (d) & A^{+}AA^{+} & = & A^{+} \end{aligned}  (2.2.3)

Es gilt A^{++} = A und (A^{+})^{∗} = (A^{∗})^{+}.

Beweis a) Im folgenden spielen die Orthogonalprojektoren

P : C^{m} ↦ R(A)
U : C^{n} ↦ N(A)^{⊥}, I − U : C^{n} ↦ N(A),

eine wichtige Rolle. Als erstes wird nämlich gezeigt, daß AA^{+} = P, A^{+}A = U ist. Dazu wird definiert

R := A^{+}A = Ã^{−1}P A = Ã^{−1}A : C^{m} ↦ N(A)^{⊥}.  (2.2.4)

Mit I = U + (I − U) gilt A = AU + A(I − U) = AU = ÃU. Also ist R = Ã^{−1}A = Ã^{−1}AU = Ã^{−1}ÃU = U, und da U hermitesch ist, gilt insgesamt

U = A^{+}A = (A^{+}A)^{∗},  d.h. (2.2.3,a).  (2.2.5)

Analog folgt

P = AA^{+} = (AA^{+})^{∗},  d.h. (2.2.3,b).  (2.2.6)

Daraus ergeben sich aber auch die restlichen Gleichungen, denn

(AA^{+})A = P A = A  wegen (2.2.6),  d.h. (2.2.3,c),
(A^{+}A)A^{+} = UA^{+} = A^{+} wegen (2.2.5),  d.h. (2.2.3,d).

Also löst A^{+} aus (2.2.1) die Gleichungen (2.2.3).

b) Zum Nachweis der Eindeutigkeit sei Â eine Lösung von (2.2.3). Dann gelten für P̂ := AÂ und Û = ÂA die Beziehungen P̂^{∗} = P̂ und Û^{∗} = Û, sowie

P̂^{2} = (AÂA)Â = AÂ = P̂, Û^{2} = (ÂAÂ)A = ÂA = Û.  (2.2.7)

Beide Abbildungen sind also Orthogonal-Projektoren, für die jetzt die Eigenschaften

N(Û) = N(A), R(P̂) = R(A)

nachgewiesen werden. Für Û etwa folgt aus (2.2.3,c) die Identität A = AÂA = AÛ, also N(Û) ⊆ N(A). Andererseits ist für x ∈ N(A) auch Ûx = ÂAx = 0 und somit N(Û) = N(A). Analog ergibt sich die Aussage für R(P̂).

Da die Bildräume der Orthogonalprojektoren P̂ bzw. Û mit denen von P bzw. U übereinstimmen, sind auch die Projektoren gleich, P̂ = AÂ = P = AA^{+} und Û = ÂA = U = A^{+}A. Aus (2.2.3,d) folgt daher

Â = (ÂA)Â = A^{+}AÂ = A^{+}AA^{+} = A^{+}.

c) Die beiden letzten Aussagen folgen aus der Eindeutigkeit nach Ersetzung von A in (2.2.3) durch A^{+} bzw. A^{∗}. Der nächste Abschnitt behandelt die numerische Berechnung der verallgemeinerten Inversen A^{+}.

2.3 QR-Zerlegung und Berechnung von A^{+} 27

2.3 QR-Zerlegung und Berechnung von A^{+}

In der Numerik I wurde gezeigt, daß die Fehleranfälligkeit eines linearen Gleichungssystems Bx = b durch die Konditionszahl κ(B) = ∥B∥∥B^{−1}∥ bestimmt wird. Die Lösung des Ausgleichsproblems (2.1.1) kann für Rang(A) = n zwar über die Normalengleichung (2.1.7), A^{∗}A = A^{∗}y, berechnet werden. Die Kondition der dabei auftretenden Matrix B = A^{∗}A ist allerdings i.a. sehr schlecht, im invertierbaren Fall m = n gilt κ_{2}(B) = κ_{2}(A^{∗}A) = ϱ(A^{∗}A)ϱ(A^{−1}A^{∗}^{−1}) = κ_{2}(A)^{2}. Die Konditionszahl des Ausgangssystems Ax = y wird beim Übergang zur Normalengleichung also quadriert.

Eine Abhilfe bietet hier die Zerlegung der Matrix in eine unitäre Matrix Q und eine obere Dreieckmatrix R, die sogenannte QR-Zerlegung,

A = QR, Q ∈ C^{m×m}, Q^{∗}Q = I, R = ( \begin{matrix}r_{11} & r_{12} & ⋯ & r_{1n} \\ & r_{22} & ⋯ & r_{2n} \\ . & . & . \end{matrix} ) ∈ C^{m×n}  (2.3.1)

Bei einer regulären, quadratischen Matrix A kann auch diese Zerlegung zur Lösung des Linearen Gleichungssystems Ax = y verwendet werden, es gilt x = R^{−1}Q^{∗}y. Diese Darstellung ist oft sogar numerisch stabiler als die übliche LR-Zerlegung, A = LR̃ (vgl. Numerik I), da κ_{2}(R) = κ_{2}(QR) = κ_{2}(A), aber i.a. κ_{2}(R̃) ≫ κ_{2}(LR̃) = κ_{2}(A). Allerdings ist die Berechnung der QR-Zerlegung etwas teurer als die der LR-Zerlegung.

Die QR-Zerlegung (2.3.1) läßt sich im Prinzip mit dem Orthogonalisierungsverfahren von E.Schmidt (angewendet auf die Spaltenvektoren) berechnen. Dabei können allerdings große Rundungsfehler auftreten, etwa wenn Spaltenvektoren von A fast linear abhängig sind. Es ist numerisch günstiger, die Matrix durch elementare Spiegelungen (Householder-Transformationen) umzuformen. Dabei wird jeweils, analog zum Gauß-Algorithmus, der erste Spaltenvektor der (Rest-) Matrix auf ein Vielfaches des ersten Einheitsvektors abgebildet.

Lemma 2.3.1 Mit u ∈ C^{m}, ∥u∥_{2} = 1, sei

H := I − 2uu^{∗}.  (2.3.2)

Die Matrix H ist hermitesch (H^{∗} = H), unitär (H^{∗}H = I) und involutorisch (H^{2} = I).

Beweis H^{∗} = I − 2uu^{∗} = H ⇒ H^{∗}H = H^{2}, H^{2} = I − 4uu^{∗} + 4(u^{∗}u)uu^{∗} = I. Geometrisch: y = Hx = x − 2(u^{∗}x)u Spiegelung an u^{⊥}.

[figure: u; u^{⊥}; y; x]

Anwendung: u ist so zu bestimmen, daß x auf die e^{(1)}-Achse gespiegelt wird, e^{(1)} = (1, 0, 0, …)T.

Hx = x − 2(u^{∗}x)u =^{!} βe^{(1)} (= y).  (2.3.3)

\begin{matrix}H unitär & ⇒ & |β| = ∥x∥_{2} \\ H hermitesch & ⇒ & R ∋ x^{∗}Hx = βx^{∗}e^{(1)} = βx̄_{1} \end{matrix} \} ⇒ β = ±σ∥x∥_{2},

wobei x_{1} = σ|x_{1}|. Mit (2.3.3) und ∥u∥_{2} = 1 folgt die Darstellung

u = \frac{x − βe^{(1)}}{∥x − βe^{(1)}∥}.

In der ersten Komponente von u tritt die Differenz x_{1} − β auf. Um bei der Berechnung dieser Differenz eine Auslöschung führender Ziffern zu vermeiden, wird das Vorzeichen bei β so gewählt, daß tatsächlich eine Addition der Beträge stattfindet:

x_{1} − β = σ|x_{1}| ∓ σ∥x∥_{2} =^{!} σ(|x_{1}| + ∥x∥_{2}),

also β = −σ∥x∥_{2}. Damit wird

∥x − βe^{(1)}∥_{2}^{2} = (|x_{1}|^{2} + ∥x∥_{2})^{2} + |x_{2}|^{2} + … + |x_{m}|^{2} = 2∥x∥(|x_{1}| + ∥x∥).

Zusammenfassend ergibt sich

Lemma 2.3.2 Der Vektor 0 ≠ x ∈ C^{m} mit x_{1} = σ|x_{1}| wird durch die Matrix

H = I − \frac{vv^{∗}}{∥x∥_{2}(|x_{1}| + ∥x∥_{2})}, v := x + σ∥x∥_{2}e^{(1)},

auf −σ∥x∥_{2}e^{(1)} abgebildet.

Mit dieser Konstruktion können in der ersten Spalte der Matrix A die Subdiagonalelemente eliminiert werden durch die Wahl HAe^{(1)} = βe^{(1)}. Wie beim Gaußalgorithmus wird dieser Schritt mit den Restmatrizen wiederholt. Im j-ten Schritt (A^{(1)} := A) hat man also

A^{(j)} = ( \begin{matrix}∗ & ⋯ & ∗ & ∗ & ⋯ & ∗ \\ & ... & ⋮ & ⋮ & & ⋮ \\ & & ∗ & ∗ & ⋯ & ∗ \\ & & & a_{jj}^{(j)} & ⋯ & a_{jn}^{(j)} \\ & 0 & & ⋮ & & ⋮ \\ & & & a_{mj}^{(j)} & ⋯ & a_{mn}^{(j)} \end{matrix} ) =: ( \begin{matrix}R^{(j)} & B^{(j)} \\ 0 & Ã^{(j)} \end{matrix} ) ,

mit R^{(j)} ∈ C^{(j−1)×(j−1)}, Ã^{(j)} ∈ C^{(m−j+1)×(n−j+1)}. Da Produkte von Spiegelungen unitär sind, kann A unitär auf Dreieckgestalt transformiert werden. Dazu sind die Transformationsmatrizen in der Form

H^{(j)} = ( \begin{matrix}I_{j−1} & 0 \\ 0 & H̃^{(j)} \end{matrix} ) ⇔ u^{(j)} = ( 0 ; ⋮ ; 0 ; ∗ ; ⋮ ; ∗ ) \begin{matrix}\} j − 1 \\ \} m − j + 1 \end{matrix}

zu wählen. Beim Produkt H^{(j)}A^{(j)} = A^{(j+1)} bleiben dann die ersten j − 1 Zeilen unverändert. Die Anwendung von Lemma 2.3.2 erfolgt mit

H̃^{(j)} ( a_{jj}^{(j)} ; ⋮ ; a_{mj}^{(j)} ) =^{!} ( ∗ ; 0 ; ⋮ ; 0 ) .  (2.3.4)

In k := min{m − 1, n} Schritten ergibt sich so

A^{(k+1)} = R^{(k+1)} =: R = H^{(k)} ⋯ H^{(2)}H^{(1)}A ⟺ A = H^{(1)}H^{(2)} ⋯ H^{(k)}R =: QR.

Der folgende Satz faßt diese Konstruktion zusammen.

Satz 2.3.3 Die QR-Zerlegung einer Matrix A ∈ C^{m×n} in das Produkt einer unitären Matrix Q ∈ C^{m×m} und einer oberen Dreieckmatrix R ∈ C^{m×n} ergibt sich in k = min{m−1, n} Schritten in folgender Weise.

A^{(1)} := A, A^{(j)} = (a_{μν}^{(j)})_{μ=1,ν=1}^{m,n}.  (2.3.5)

Für j = 1, 2, …, k berechne man

\begin{matrix}c_{j}^{2} := ∑_{μ=j}^{m} |a_{μj}^{(j)}|^{2}, c_{j} > 0, K_{j} := c_{j}^{2} + |a_{jj}^{(j)}|c_{j} \\ v^{(j)} := σ_{j}c_{j}e^{(j)} + ( 0 ; ⋮ ; 0 ; a_{jj}^{(j)} ; ⋮ ; a_{mj}^{(j)} ) , wobei σ_{j}|a_{jj}^{(j)}| = a_{jj}^{(j)}, \end{matrix} \}  (2.3.6)

und bilde

\begin{matrix}H^{(j)} := I − \frac{1}{K_{j}} v^{(j)}v^{(j)}^{∗} \\ A^{(j+1)} := H^{(j)}A^{(j)} = A^{(j)} − v^{(j)}(\frac{1}{K_{j}} v^{(j)}^{∗}A^{(j)}) \end{matrix} \}  (2.3.7)

Dann ist A = QR mit

Q = H^{(1)} ⋯ H^{(k)}, R = A^{(k+1)},  (2.3.8)

wobei R = ( \begin{matrix}r_{11} & … & r_{1m} & … & r_{1n} \\ & ... & ⋮ & & ⋮ \\ 0 & & r_{mm} & … & r_{mn} \end{matrix} ) , R = ( \begin{matrix}r_{11} & … & r_{1n} \\ & ... & ⋮ \\ 0 & & r_{nn} \\ & 0 \end{matrix} )
wenn  m ≤ n, k := m − 1,  m > n, k := n.

Praktische Durchführung, Rechenaufwand

Aus Effizienzgründen werden keine Produkte von Matrizen ausgerechnet, der Übergang A^{(j+1)} = H^{(j)}A^{(j)} wird der Klammerung in (2.3.7) entsprechend durchgeführt. Auch Q wird nicht explizit berechnet. Bei der Auflösung mehrerer Gleichungssysteme mit Matrix A kann das Produkt Q^{∗}y mit gleichem Aufwand in der Form H^{(k)} ⋯ H^{(1)}y ausgewertet werden. Dazu kann man die Komponenten der Vektoren v^{(j)} im freien Platz unter und einschließlich der Hauptdiagonale von R unterbringen. Nur die Elemente r_{jj} werden zur Vereinfachung anderweitig gespeichert. So erfordert die Durchführung von (2.3.6),(2.3.7) folgenden Rechenaufwand:

Der Aufwand für c_{j}, K_{j} ist von niederer Ordnung und wird vernachlässigt. In (2.3.7) werden berechnet:

z^{(j)}^{∗} := v^{(j)}^{∗}A^{(j)} = (\underbrace{0 … 0}_{j−1} \underbrace{∗ … ∗}_{m−j+1}) ( \begin{matrix}. & . & . \\ \underbrace{0}_{j−1} & \underbrace{Ã^{(j)}}_{n−j+1} \end{matrix} ) _{\}m−j+1} = (\underbrace{0 … 0}_{j−1} • \underbrace{∗ … ∗}_{n−j}).

Da das Ergebnis in der j-ten Spalte (’•’) nach Konstruktion (2.3.4) nicht berechnet werden muß, sind für die Produktbildung 2(m − j + 1)(n − j) Operationen nötig. Der Vektor v^{(j)} besitzt höchstens m−j +1, z^{(j)} nicht mehr als n−j nichttriviale Elemente. Daher benötigt die Bildung von A^{(j+1)} = A^{(j)} − v^{(j)}[\frac{1}{K_{j}} z^{(j)}^{∗}] ebenfalls 2(m − j + 1)(n − j) Operationen (Spalte j bekannt). Im Fall n < m erhält man so den Gesamtaufwand

4 ∑_{j=1}^{n}(m − j + 1)(n − j) = 4 ∑_{ν=0}^{n−1}(m − n + ν + 1)ν = \frac{4}{3}n^{3} + 2(m − n)n^{2} + …

Ein analoges Ergebnis gilt für n ≥ m und führt auf

Satz 2.3.4 Der Rechenaufwand für die QR-Zerlegung einer m × n-Matrix beträgt

\frac{4}{3} min\{m^{3}, n^{3}\} + 2|m − n| min\{m^{2}, n^{2}\} + … Operationen.

Bemerkung: Im regulären Fall mit m = n ist die QR-Zerlegung also ungefähr doppelt so teuer wie eine LR-Zerlegung ohne Pivotisierung und noch 33% teurer als dieselbe mit Spaltenpivotisierung. Dafür wird die Konditionszahl κ_{2} von R bei der QR-Zerlegung nicht vergrößert.

Mit Hilfe der QR-Zerlegung kann die verallgemeinerte Inverse A^{+} bei rechteckigen Matrizen von vollem Rang, Rang(A) = min{m, n}, berechnet werden. Für m ≥ n, Rang(A) = n, gilt

A = QR, mit R = ( \begin{matrix}R_{0} \\ 0 \end{matrix} ) , R_{0} ∈ C^{n×n} regulär.  (2.3.9)

Durch Aufspaltung der transformierten rechten Seite Q^{∗}y = z = ( ẑ ; z̃) , ẑ = (z_{1}, …, z_{n})T, ergibt

sich direkt in (2.1.1)

∥Ax − y∥_{2}^{2} = ∥Q(Rx − Q^{∗}y)∥_{2}^{2} = ∥Rx − z∥_{2}^{2} = ∥R_{0}x − ẑ∥_{2}^{2} + ∥z̃∥_{2}^{2}.  (2.3.10)

Da die zweite Norm unabhängig von x ist, wird das Minimum bei R_{0}x = ẑ angenommen, also ist x̂ = R_{0}^{−1}ẑ. Zu dieser Zuordnung y ↦ x̂ = x^{+} gehört die Matrix

A^{+} = R_{0}^{−1}E_{nm}Q^{∗}, E_{nm} := ( \begin{matrix}1 & & & 0 ⋯ \\ & ... & & ⋮ \\ & & 1 & 0 ⋯ \end{matrix} ) = (I_{n}|0) ∈ R^{n×m}.  (2.3.11)

Die Matrix E_{nm} wählt dabei die ersten n Komponenten eines m-Vektors aus. Die Darstellung (2.3.11) ist äquivalent zu A^{+} = (A^{∗}A)^{−1}A^{∗}, numerisch aber besser konditioniert (vgl. die Diskussion am Anfang des Abschnitts) und billiger! Für die Projektoren aus §2.2 gilt hier übrigens

U = A^{+}A = I_{n} : C^{n} ↦ C^{n} = N(A)^{⊥},

P = AA^{+} = QET_{nm}R_{0}R_{0}^{−1}E_{nm}Q^{∗} = Q ( \begin{matrix}I_{n} & 0 \\ 0 & 0 \end{matrix} ) Q^{∗} : C^{m} ↦ R(A).

Im Fall m < n, Rang(A) = m, kann analog vorgegangen werden durch Berechnung der QR-Zerlegung von A^{∗} = QR. Hier gilt A^{+} = QET_{mn}(R_{0}^{∗})^{−1} : C^{m} ↦ C^{n}.

Der allgemeine Fall, Rang(A) < min{m, n}, läßt sich mit Spalten- bzw. Zeilenvertauschungen auf eine Kombination der beiden behandelten Fälle zurückführen.

Beispiel 2.3.5 Computer-Tomographie Die Dichte-Verteilung in einem Körper kann aus der von außen gemessenen Absorption von (Röntgen-, Gamma-) Strahlen rekonstruiert werden. Zur Rekonstruktion kann, z.B., eine Schicht des Untersuchungsbereichs in Quadrate unterteilt werden. Der Bereich wird dann mit einer Reihe von parallelen Meßstrahlen durchleuchtet und die Messung unter verschiedenen Drehwinkeln der Apparatur wiederholt. Setzt man in jedem Teilquadrat des Untersuchungsbereichs eine konstante Dichte d_{j} voraus, dann ergibt sich für die Absorption a_{i} im i-ten Meßstrahl die Beziehung

[figure: l_{ij}; Sender; Empfänger]

a_{i} = ∑_{j} ℓ_{ij}d_{j}.

Dabei gibt ℓ_{ij} die Weglänge des i-ten Meßstrahls im j-ten Quadrat an. Nach genügend vielen Messungen erhält man ein (überbestimmtes) Lineares Gleichungssystem für die unbekannten Dichten d_{j}. Dieses Rekonstruktionsproblem (Radon-Transformation) reagiert allerdings empfindlich auf Störungen. Daher sind in der Praxis Zusatzmaßnahmen erforderlich, um akzeptable Lösungen zu bekommen (Demo-Programm TOMODEMO.PAS).

3 Lineare Optimierung

3.1 Problemstellung, Normalform

Die lineare Optimierung befaßt sich mit einem, v.a. im kaufmännischen Bereich, sehr wichtigen Problem der numerischen Datenverarbeitung, dem der Optimierung einer linearen Funktion unter linearen Nebenbedingungen in Form von Ungleichungen (’Lineare Programme’).

Beispiel 3.1.1 Eine gewünschte Metallegierung L_{0} aus 30% Blei, 30% Zink und 40% Zinn soll möglichst billig produziert werden. Als Ausgangsmaterial stehen 5 Legierungen L_{1}, …, L_{5} zur Verfügung mit folgenden Daten:

Legierung L_{1} L_{2} L_{3} L_{4} L_{5} L_{0}
Gewichts- Blei 0.1 0.1 0.6 0.4 0.3 0.3
Anteile  Zink 0.5 0.4 0.1 0.2 0.6 0.3
Zinn 0.4 0.5 0.3 0.4 0.1 0.4
Preis/kg 40 45 50 52 20 ?

Zur mathematischen Formulierung dieses Problems werden die Gewichtsanteile x_{i} der Legierungen L_{i} an L_{0} eingeführt. Bei der Produktion sind die Nebenbedingungen

x_{i} ≥ 0, i = 1, …, 5,
Blei: 0.1x_{1} + 0.1x_{2} + 0.6x_{3} + 0.4x_{4} + 0.3x_{5} = 0.3
Zink: 0.5x_{1} + 0.4x_{2} + 0.1x_{3} + 0.2x_{4} + 0.6x_{5} = 0.3
Zinn: 0.4x_{1} + 0.5x_{2} + 0.3x_{3} + 0.4x_{4} + 0.1x_{5} = 0.4

einzuhalten, das Ziel ist aber letztendlich die Minimierung der Kosten

40x_{1} + 45x_{2} + 50x_{3} + 52x_{4} + 20x_{5} =^{!} min .

Viel Optimierungsprobleme besitzen eine ähnliche Form oder können auf diese umgeformt werden. Sie wird als Normalform verwendet.

Definition 3.1.2 Gegeben sei eine Matrix A ∈ R^{m×n}, m < n, mit Rang A = m, und b ∈ R^{m}, c ∈ R^{n}. Die Aufgabe, ein x̂ ∈ R^{n} zu bestimmen, das unter den Nebenbedingungen

Ax = b, x ≥ 0,

(d.h. x_{i} ≥ 0 ∀i = 1, …, n) die Zielfunktion

cTx

maximiert, heißt Lineares Optimierungsproblem in Normalform (LON). Kurzformulierung

cTx̂ = max{cTx : x ∈ M},  M := {x ∈ R^{n} : Ax = b, x ≥ 0}.  (3.1.1)

Die Menge M wird die der zulässigen Punkte genannt.

Andere lineare Probleme können in die Form (3.1.1) übergeführt werden. Außer trivialen Umformungen (Multiplikation mit −1) kommen auch in Frage:

— Ungleichungen als Nebenbedingungen α_{1}x_{1} + … + α_{n}x_{n} ≤ β werden durch Einführung einer Schlupfvariablen y ersetzt durch α_{1}x_{1} + … + α_{n}x_{n} + y = β, y ≥ 0.

— Variablen x ohne Vorzeichenbeschränkung werden ersetzt durch zwei nichtnegative, x = y_{1} − y_{2}, y_{1}, y_{2} ≥ 0.

3.2 Eigenschaften und Grundlagen

Das (schrittweise) Konstruktionsverfahren zur Berechnung einer Lösung von (3.1.1) nutzt die speziellen geometrischen Eigenschaften von M aus.

Satz 3.2.1 Die Menge M aus (3.1.1) ist konvex. Es treten folgende Fälle auf:

a) Für M = ∅ existiert keine Lösung des LON.

b) Für M ≠ ∅, M beschränkt, existiert eine Lösung des LON.

c) Für M ≠ ∅ existiert eine Lösung genau dann, wenn sup{cTx : x ∈ M} < ∞.

Beweis M ist konvex als Durchschnitt des affinen Unterraums {x ∈ R^{n} : Ax = b} und der Halbräume H_{i} = {x ∈ R^{n} : x_{i} ≥ 0}. Die Aussage a) ist trivial, b) gilt, da M kompakt und die Zielfunktion stetig ist. Teil c) wird später konstruktiv gezeigt.

Definition 3.2.2 Ein Punkt x ∈ M heißt Ecke, wenn er nicht konvexe Linearkombination anderer Punkte von M ist, d.h. wenn

x = λy + (1 − λ)z, λ ∈ (0, 1), y, z ∈ M ⇒ x = y = z.

Da die Zielfunktion linear ist, kann man sich auf die Betrachtung der Ecken von M beschränken. Diese können durch jeweils m Spalten von A beschrieben werden. Dazu werden folgende Bezeichnungen benötigt.

Zu einer Indexmenge J = {j_{1}, …, j_{k}} ⊆ N := {1, …, n} sei |J| := k und

x_{J} := (x_{j_{1}}, …, x_{j_{k}}), A_{J} := (a^{(j_{1})}, …, a^{(j_{k})}).  (3.2.1)

Bis auf weiteres sei hier angenommen, daß die Komponenten bzw. Spalten nach aufsteigenden Indizes angeordnet sind. Bei der tatsächlichen Rechnung ist diese Festlegung aber i.a. nicht mehr sinnvoll. Dabei sind a^{(j)} := Ae^{(j)}, e^{(j)} := (δ_{ij})_{i}, die Spaltenvektoren der Matrix A = (a^{(1)}, …, a^{(n)}). Umgekehrt wird zu einem zulässigen Punkt (x ∈ M) definiert

I(x) := {i ∈ N : x_{i} > 0}.

Eine besondere Bedeutung besitzen die regulären m × m-Untermatrizen von A.

Definition 3.2.3 Für J = {j_{1}, …, j_{m}} ⊆ N heißt A_{J} Basis, wenn A_{J} regulär ist. Zu A_{J} wird eine Basislösung x̄ definiert durch x̄_{J} := A_{J}^{−1}b, x̄_{K} = 0, wobei K = N \ J. Wenn x̄ zulässig ist (d.h. für A_{J}^{−1}b ≥ 0), heißt A_{J} zulässige Basis.

Der Begriff der Basis stellt den Zusammenhang her zwischen dem geometrischen Objekt Ecke und der algebraischen Definition der Menge M. Die zulässigen Basislösungen sind nämlich genau die Ecken von M. Hier wird allerdings nur eine Richtung dieser Aussage gezeigt.

Satz 3.2.4 Jede zulässige Basislösung ist Ecke von M.

Beweis Von zentraler Bedeutung in diesem Kapitel ist die folgende Eckendarstellung von M, bei der M von einer Ecke her parametrisiert wird. Zur Basis A_{J}, J ⊆ N, sei K := N \ J. Für jedes x ∈ M gilt

b = Ax = ∑_{j=1}^{n} a^{(j)}x_{j} = ∑_{j∈J} a^{(j)}x_{j} + ∑_{j∈K} a^{(j)}x_{j} = A_{J}x_{J} + A_{K}x_{K}.  (3.2.2)

Multiplikation mit A_{J}^{−1} führt auf

x_{J} = A_{J}^{−1}b − A_{J}^{−1}A_{K}x_{K} = x̄_{J} − A_{J}^{−1}A_{K} x_{K}.  (3.2.3)

Hier sind die Basisvariablen x_{J} eines Punktes x ∈ M in Abhängigkeit der Nichtbasisvariablen x_{K} parametrisiert.

Zum Eckennachweis seien x̄ = λy + (1 − λ)z, y, z ∈ M, also insbesondere 0 = x̄_{K} = λy_{K} + (1 − λ)z_{K}. Da aber y, z ≥ 0, λ, 1 − λ ≥ 0 ist, folgt y_{K} = z_{K} = 0 = x̄_{K}, aus (3.2.3) auch die Gleichheit der J-Komponenten, y_{J} = x̄_{J} − 0, z_{J} = x̄_{J} − 0, also ist x̄ = y = z Ecke von M.

Da es \binom{n}{m} Untermatrizen von A der Größe m × m gibt, kann es höchstens so viele Ecken von M geben, also insbesondere nur endlich viele. Das im folgenden beschriebene Simplexverfahren arbeitet die Ecken von M zielgerichtet ab, beginnend mit einer Startecke. Wichtig ist dabei die möglichst eindeutige Zuordnung von Basen und Ecken. Daher nennt man eine Basislösung bzw. Ecke nicht ausgeartet, wenn x̄_{J} > 0 gilt. Denn eine ausgeartete Ecke x mit |I(x)| < m kann durch verschiedene Basen erzeugt werden. Dies kann im folgenden Algorithmus auf Zyklen führen, die durch zusätzliche Maßnahmen unterdrückt werden müssen (vgl. Collatz/Wetterling). Dieser (seltene) Fall wird hier ausgeschlossen durch die Forderung, daß das LON nicht ausgeartet ist, d.h., keine ausgearteten Ecken enthält.

3.3 Das Simplex-Verfahren

Das Grundprinzip ist ein schrittweises Vorgehen in der Weise, daß in einer Ausgangsecke x̄ mit Basis A_{J} eine Nachbarecke konstruiert wird, in der die Zielfunktion einen echt größeren Wert besitzt. Da M nur endlich viele Ecken besitzt, ist das Verfahren daher endlich.

Es sei also x̄ eine nicht ausgeartete Ecke mit Basis A_{J} und K := N \ J, also x̄_{J} = A_{J}^{−1}b > 0, x̄_{K} = 0. Die Basisdarstellung (3.2.3) wird etwas abgekürzt, für jedes x ∈ M gilt

x_{J} = x̄_{J} − A_{J}^{−1}A_{K}x_{K} = x̄_{J} + ∑_{j∈K} v_{J}^{(j)}x_{j}, x_{j} ≥ 0 (j ∈ K),  (3.3.1)

wobei v_{J}^{(j)} := −A_{J}^{−1}a^{(j)}, j ∈ K. Diese Darstellung (3.3.1) gilt aber nur solange wie x_{J} ≥ 0, also

0 ≤ x_{i} = \underbrace{x̄_{i}}_{>0} + ∑_{j∈K} v_{i}^{(j)} \underbrace{x_{j}}_{≥0}, i ∈ J.

Für feste Indizes i ∈ J, j ∈ K, bedeutet dies

v_{i}^{(j)} \{ \begin{matrix}≥ 0 & ⇒ & Forderung x_{i} ≥ 0 ist keine Restriktion für x_{j}, \\ < 0 & ⇒ & x_{j} darf als Maximalwert − x̄_{i}/v_{i}^{(j)} annehmen. \end{matrix}

Daher führt die Vorzeichenbedingung x ≥ 0 in (3.3.1) auf die Einschränkung

x_{j} ≤ min\{−\frac{x̄_{i}}{v_{i}^{(j)}} : i ∈ J, v_{i}^{(j)} < 0\} =: ϑ_{j} > 0.  (3.3.2)

Falls v_{J}^{(j)} ≥ 0 ist, werde dabei ϑ_{j} = ∞ gesetzt. Aus (3.3.2) ergibt sich, wie weit von der Ecke x̄ aus in jede der Richtungen x_{j}, j ∈ K, gegangen werden kann innerhalb von M. Zur Auswahl einer Richtung, in der die Zielfunktion ansteigt, wird diese Funktion mit (3.3.1) betrachtet:

cTx = cT_{J}x_{J} + cT_{K}x_{K} = \underbrace{cT_{J}x̄_{J}}_{alter Wert} + ∑_{j∈K}(cT_{J}v_{J}^{(j)} + c_{j})x_{j}
= cTx̄ + ∑_{j∈K} γ_{j}x_{j}, γ_{j} := cT_{J}v_{J}^{(j)} + c_{j}, j ∈ K.  (3.3.3)

Die Parameter γ_{j} geben an, wie die Zielfunktion proportional zu x_{j} anwächst. Sie werden daher als reduzierte Gewinne (bzw. −γ_{j} als reduzierte Kosten) bezeichnet. Eine Vergrößerung der Variablen x_{j}, j ∈ K, ist offensichtlich nur für γ_{j} > 0 sinnvoll. Außerdem kann an (3.3.3) folgendes abgelesen werden:

a) Wenn γ_{j} ≤ 0 ∀j ∈ K gilt, ist x̄ Maximallösung.

b) Gilt für ein j ∈ K mit γ_{j} > 0 wegen ϑ_{j} = ∞ an x_{j} keine Einschränkung, dann gibt es kein Maximum, da sup{cTx : x ∈ M} = ∞.

c) Für γ_{j} > 0 gibt das Produkt γ_{j}ϑ_{j} die in x_{j}-Richtung erzielbare Vergrößerung der Zielfunktion an. Als ’beste’ lokale Strategie liegt hier daher die Wahl derjenigen Richtung mit maximalem Wert von γ_{j}ϑ_{j} nahe. Dies erfordert aber einen hohen Rechenaufwand, wie weiter unten überlegt wird. Es wird nun ein Vektor x ∈ M betrachtet, der bei maximaler Vergrößerung einer einzelnen Komponente x_{j} : 0 → ϑ_{j} mit γ_{j} > 0 entsteht,

x_{J}^{(1)} := x̄_{J} + v_{J}^{(j)}ϑ_{j}, x_{K}^{(1)} := e_{K}^{(j)}ϑ_{j}.

Wenn r ∈ J derjenige Index ist, in dem das Minimum in (3.3.2) angenommen wird, so verschwindet nach Konstruktion genau die Komponente x_{r}^{(1)} = 0. Die Indexmenge I(x) der nichtverschwindenden Komponenten ändert sich beim Übergang zu x^{(1)} daher gemäß

I(x^{(1)}) = I(x̄) \ {r} ∪ {j}.  (3.3.4)

Daher ist x^{(1)} eine Nachbarecke von x̄. Daß dazu AI(x^{(1)}) auch eine Basis ist, wird später gezeigt. Durch die Beziehung (3.3.4) zwischen den Indexmengen kann aber auch umgekehrt das Verfahren vollständig beschrieben werden.

Praktische Durchführung

Die Berechnung aller Vektoren v^{(j)} in (3.3.1) ist recht aufwendig, die Multiplikation A_{J}^{−1}A_{K} kostet ca. 2m^{2}(n − m) Operationen, und ist im Falle γ_{j} ≤ 0 auch überflüssig. Der Kostenvektor γ kann vielmehr ohne Kenntnis der v^{(j)} berechnet werden:

γ_{j} = c_{j} − (\underbrace{cT_{J}A_{J}^{−1}}_{pT})a^{(j)} = c_{j} − pTa^{(j)}, j ∈ K.

Anhand dieser Werte läßt sich feststellen, welche v^{(j)} überhaupt benötigt werden zu Bestimmung des lokal besten Schritts mit max_{j} γ_{j}ϑ_{j}. In der Praxis entscheidet man sich für irgendeine Richtung mit γ_{j} > 0 und berechnet nur das zugehörige v^{(j)}. Die jetzt beschriebene Verfahrensvariante wird in der Literatur das revidierte Simplexverfahren genannt.

In einer Ausgangsecke x^{(0)} ∈ M wird die zugehörige Basis A_{J}, J = I(x^{(0)}), benötigt. Damit kann folgendes Verfahren durchgeführt werden.

Algorithmus 3.3.1 Simplex-Verfahren

Eingabe:  Zulässige Basis A_{J}, J ⊆ N
Schritt 1  x_{J} := A_{J}^{−1}b, K := N \ J, x_{K} := 0
2  berechne pT := cT_{J}A_{J}^{−1}, γ_{j} := c_{j} − pTa^{(j)}, j ∈ K.
3 wenn γ_{j} ≤ 0 ∀j ∈ K ⇒ STOP, Optimum!
4 wähle s ∈ K mit γ_{s} > 0, berechne v_{J}^{(s)} := −A_{J}^{−1}a^{(s)}.
5  wenn v_{i}^{(s)} ≥ 0 ∀i ∈ J ⇒  STOP, unbeschränkt!

6 Bestimme r ∈ J: −x_{r}/v_{r}^{(s)} = ϑ_{s} = min{−x_{i}/v_{i}^{(s)} : v_{i}^{(s)} < 0, i ∈ J}

7  J := J \ {r} ∪ {s}, gehe nach 1

Einige Eigenschaften des Verfahrens enthält

Satz 3.3.2 Das LON sei nicht ausgeartet, x^{(0)} ∈ M eine Ecke mit Basis A_{J}.

a) Wenn in Schritt 3 alle γ_{j} ≤ 0 sind, dann ist x^{(0)} Optimallösung. b) Es existiert keine endliche Lösung, wenn mit einem γ_{s} > 0 auch v_{J}^{(s)} ≥ 0, s ∈ K.

c) Wenn in Schritt 6 gilt ϑ_{s} = −x_{r}/v_{r}^{(s)} < ∞, dann wird mit J^{(1)} := J \ {r} ∪ {s} durch A_{J^{(1)}} eine zulässige Basis definiert. Für die zugehörige Ecke x^{(1)} ist x_{r}^{(1)} = 0, x_{s}^{(1)} = ϑ_{s} > 0.

Beweis Die Aussagen a) und b) wurden schon im Anschluß an (3.3.3) behandelt. Zum Nachweis von c) betrachten wir den Strahl x(ϑ) mit

x_{J}(ϑ) := x_{J}^{(0)} + ϑv_{J}^{(s)}, x_{K}(ϑ) := ϑe_{K}^{(s)}.

Offensichtlich ist x(ϑ_{s}) = x^{(1)}, insbesondere x_{s}^{(1)} = x_{s}(ϑ_{s}) = ϑ_{s}, und

x_{r}^{(1)} = x_{r}^{(0)} + ϑ_{s}v_{r}^{(s)} = x_{r}^{(0)} + (−x_{r}^{(0)}/v_{r}^{(s)})v_{r}^{(s)} = 0.

Dies bestätigt die Aussage zu J^{(1)}. Als wesentlicher Punkt ist nun noch die Regularität von A_{J^{(1)}} nachzuweisen. Nach Schritt 7 wird bei A_{J^{(1)}} die Spalte a^{(r)} durch a^{(s)} ersetzt. Bei geeigneter Einordnung heißt dies

\begin{aligned}A_{J^{(1)}} & = & A_{J} + (a^{(s)} − a^{(r)})e^{(r)}T & ⟺ \\ A_{J}^{−1}A_{J^{(1)}} & = & I + A_{J}^{−1}(a^{(s)} − a^{(r)})e^{(r)}T. \end{aligned}  (3.3.5)

Eine Matrix der Gestalt I + ue^{(r)}T ist regulär für e^{(r)}Tu + 1 = u_{r} + 1 ≠ 0. Denn für beliebiges y ∈ R^{n} folgt aus

0 =^{!} (I + ue^{(r)}T)y = y + uy_{r}

durch Betrachtung der r-ten Komponente zunächst y_{r} = 0 (für 1 + u_{r} ≠ 0) und damit y = 0. Also ist I + ue^{(r)}T tatsächlich regulär. Speziell bei (3.3.5) lautet diese Regularitätsbedingung

0 ≠ 1 + e^{(r)}TA_{J}^{−1}(a^{(s)} − a^{(r)}) = 1 − v_{r}^{(s)} − 1 = −v_{r}^{(s)} < 0,

da A_{J}^{−1}a^{(r)} = e^{(r)}. Also ist A_{J^{(1)}} regulär und damit Basis. Da die endlich vielen Ecken von M mit streng wachsender Zielfunktion durchlaufen werden, gilt

Satz 3.3.3 Für ein nicht ausgeartetes Lineares Optimierungsproblem in Normalform erzeugt das Simplexverfahren, ausgehend von einer Startecke, eine endliche Folge von Ecken mit streng wachsender Zielfunktion. Das Verfahren endet mit einer optimalen Ecke oder der Aussage, daß eine solche nicht existiert.

Durchführung des Basiswechsels

In der Diskussion wurde bisher noch nicht auf die Auflösung der drei Gleichungssysteme

A_{J}x_{J} = b, pTA_{J} = cT_{J}, A_{J}v_{J}^{(s)} = −a^{(s)},

eingegangen, die in jedem Schritt des Simplexverfahrens auftreten. Betrachtete man jeden Schritt isoliert, wäre hierzu ein Aufwand von O(m^{3}) Operationen notwendig. Allerdings unterscheiden sich die Basen A_{J^{(0)}} und A_{J^{(1)}} aus aufeinanderfolgenden Schritten nur wenig, da J^{(1)} = J^{(0)} \ {r} ∪ {s}. Dieser Zusammenhang kann auf verschiedene Weise ausgenutzt werden. Beim (für Handrechnung) üblichen Tabellenverfahren werden die Inversen der Basismatrizen mitgeführt und ein Austauschschritt von A_{J^{(0)}}^{−1} zu A_{J^{(1)}}^{−1} verwendet. Hierbei können sich allerdings Rundungsfehler in unkontrollierter Weise ausbreiten.

Alternativ kann eine QR-Zerlegung der Basismatrizen mitgeführt und bei jedem Basiswechsel angepaßt werden. Dieses Verfahren ist i.a. numerisch stabiler. Abweichend von der früheren Vereinbarung wird jetzt die Freiheit in der Zuordnung der Basisindizes auf Spaltenpositionen der Matrizen A_{J} ausgenutzt. Daher werden die Indizes der Mengen J als m-Tupel geschrieben, d.h. angeordnet. Beim Austausch der Spalte a^{(r)} durch a^{(s)} in der Form

J^{(0)} ∼ (j_{1}, …, j_{k} = r, …, j_{m}) ↦ J^{(1)} ∼ (j_{1}, …, j_{k−1}, j_{k+1}, …, j_{m}, s)
A_{J^{(0)}} = (  a_{1}^{(r)} ; ⋮ ; a_{m}^{(r)}  ) ↦ A_{J^{(1)}} = (  a_{1}^{(s)} ; ⋮ ; a_{m}^{(s)} )

wird die k-te Spalte von A_{J^{(0)}} gestrichen und a^{(s)} als letzte Spalte neu eingefügt. Bei bekannter QR-Zerlegung von A_{J^{(0)}} = QR_{0} ergibt sich nach dieser Operation im R-Faktor folgende Struktur.

R_{0} = QTA_{J^{(0)}} = [figure: (; )] ↦ QTA_{J^{(1)}} = ([figure: k] ) .

In der letzten Spalte von QTA_{J^{(1)}} steht als neuer Vektor QTa^{(s)}, ab Spalte k wurde jeweils ein neues Subdiagonalelement eingeführt. Diese m − k Elemente können mit ebenso vielen unitären Zeilenumformungen (2 × 2-Rotationen) wieder eliminiert werden. Daher benötigt ein einzelner Simplexschritt tatsächlich nur O(m^{2}) Operationen.

Bestimmung einer Startecke

Als Ausgangspunkt des Simplexverfahrens wird eine Ecke x^{(0)} ∈ M benötigt. Für eine spezielle Klasse von Problemen kann eine solche direkt angegeben werden. Das Optimierungsproblem

By ≤ b, y ≥ 0, dTy =^{!} max,

mit B ∈ R^{m×k} geht nach Einführung von Schlupfvariablen z ∈ R^{m} über in die Normalform

By + z = b, y ≥ 0, z ≥ 0, (dT, 0T) ( \begin{matrix}y \\ z \end{matrix} ) =^{!} max .

In den Bezeichnungen von (3.1.1) gilt also

A = (B, I) ∈ R^{m×(k+m)}, x = ( \begin{matrix}y \\ z \end{matrix} ) , c = ( \begin{matrix}d \\ 0 \end{matrix} ) .

Bei diesem Problem ist für b ≥ 0 der Vektor x^{(0)} = ( \begin{matrix}0 \\ b \end{matrix} ) eine zulässige Ecke mit Basis

A_{J} = I_{m}, J = {k + 1, …, k + m}.

Diese Eigenschaft läßt sich auch bei allgemeinen Problemen zur Konstruktion einer Startecke im Rahmen einer Anlaufrechnung verwenden. Dazu dient folgendes Hilfsproblem für u ∈ R^{n+m}:

(A, I_{m})u = b, u ≥ 0, −u_{n+1} − … − u_{n+m} =^{!} max .  (3.3.6)

Der Punkt uT = (0, bT) ist eine zulässige Ecke von (3.3.6), wenn b ≥ 0. Letzteres kann aber durch geeignete Skalierung der einzelnen Gleichungen im LON erreicht werden. Eine Optimallösung von (3.3.6) existiert, da die Zielfunktion durch Null nach oben beschränkt ist. Der Wert der Hilfs-Zielfunktion in der Optimallösung û von (3.3.6) liefert folgende Information

−û_{n+1} − … − û_{n+m} \{ \begin{matrix}= 0 & : & (û_{1}, …, û_{n})T ist Ecke von M, \\ < 0 & : & M = ∅. \end{matrix}

Zusammen mit dieser Anlaufrechnung ist das Simplexverfahren also in der Lage, das LON vollständig zu behandeln. Fazit: Das Simplexverfahren liefert entweder in endlich vielen Schritten eine Lösung des Linearen Optimierungsproblems, oder eine Begründung dafür, weshalb eine solche nicht existiert. Zum Rechenaufwand: Obwohl Beispiele konstruiert werden können, bei denen das Simplexverfahren alle \binom{n}{m} Ecken des Simplex M absucht und daher einen exponentiellen Aufwand besitzt, tritt diese Situation in praktischen Problemen kaum auf, dort arbeitet das Verfahren sehr effizient. Neuere theoretische Ergebnisse beweisen, daß das LON mit polynomiell wachsendem Aufwand gelöst werden kann, die auf dem konstruktiven Beweisprinzip beruhenden Verfahren sind allerdings (noch) keine Konkurrenz für das Simplexverfahren.

4 Eigenwertprobleme von Matrizen

Bei Systemen von gewöhnlichen Differentialgleichungen mit konstanter Koeffizientenmatrix A ∈ R^{n×n} führt der Standardansatz

y′(t) = Ay(t), Ansatz y(t) = e^{λt}y_{0} ⇒ Ay_{0} = λy_{0}.

auf ein Eigenwertproblem. Analog lassen sich Schwingungsprobleme in der Mechanik in der Regel über Eigenwertprobleme behandeln. Von ähnlicher Art ist folgendes Beispiel:

Eine Generatorturbine mit n Schaufelrädern kann als biegsame Achse mit n an den Stellen s_{j} aufgesetzten Gewichten (Massen m_{j}) modelliert werden.

[figure: m_{1}; m_{2}; m_{3}; m_{4}; s_{1}; s_{2}; s_{3}; s_{4}]

Wenn eine Einheitskraft, angebracht an der Stelle s_{j}, an einer anderen Stelle s_{i} die Auslenkung b_{ij} verursacht und die Auslenkungen zu verschiedenen Kräften sich linear überlagern, kann die Maximal-Drehzahl ω_{max} auf folgende Weise bestimmt werden. Eine Auslenkung der Größe x_{j} an der Stelle s_{j} erzeugt bei Rotation mit Drehzahl ω eine Kraft m_{j}ω^{2}x_{j} auf die Achse. Die Achse wird dann zerstört, wenn die Kräfte insgesamt die bestehende Auslenkung aufrecht erhalten können, d.h., für

\{ \begin{matrix}x_{1} & = & ω^{2}(b_{11}m_{1}x_{1} + … + b_{1n}m_{n}x_{n}) \\ & & ⋯ \\ x_{n} & = & ω^{2}(b_{n1}m_{1}x_{1} + … + b_{nn}m_{n}x_{n}) \end{matrix} , d.h.,

x = ω^{2}Ax, A = (b_{ij}m_{j})_{i,j}.

4.1 Grundlagen, Matrix-Normalformen

Definition 4.1.1 Gegeben sei eine Matrix A ∈ C^{n×n}. Ein Wert λ ∈ C heißt Eigenwert von A, wenn ein x ∈ C^{n} existiert mit

Ax = λx,  x ≠ 0.  (4.1.1)

Der Vektor x heißt (Rechts-) Eigenvektor von A zum Eigenwert λ, der Nullraum N(A − λI) = {x : Ax = λx} Eigenraum, seine Dimension die (geometrische) Vielfachheit des Eigenwerts (‘Anzahl der linear unabhängigen Eigenvektoren’).

Die Eigenwerte von A sind Nullstellen des charakteristischen Polynoms

p(z) = det(A − zI) = (−1)^{n}[z^{n} + b_{n−1}z^{n−1} + … + b_{0}]  (4.1.2)
= (−1)^{n}(z − λ_{1})^{γ_{1}}(z − λ_{2})^{γ_{2}} ⋯ (z − λ_{k})^{γ_{k}}.

Die Vielfachheit γ_{j} der Nullstelle λ_{j} heißt algebraische Vielfachheit von λ_{j}. Außer bei Vielfachheit γ_{1} = 1 kann die geometrische Vielfachheit kleiner sein als die algebraische.

Beispiel 4.1.2 Es sei

C_{m}(λ) := ( \begin{matrix}λ & 1 & & 0 \\ & λ & 1 \\ & & ... & ... \\ & & & λ \end{matrix} ) ∈ C^{m×m}.  (4.1.3)

Das charakteristische Polynom ist p(z) = (λ − z)^{m}, λ ist also m-facher algebraischer Eigenwert von C_{m}(λ). Die Lösungen des Gleichungssystems

(C_{m}(λ) − λI)x = ( x_{2} ; ⋮ ; x_{m} ; 0 ) = 0

besitzen die Form x = ce^{(1)}, c ∈ C, die geometrische Vielfachheit von λ ist also nur eins.

Definition 4.1.3 Für λ ∈ C, k ∈ N und x ∈ C^{n}, c ≠ 0, gelte

(A − λI)^{k}x = 0, aber (A − λI)^{k−1}x ≠ 0.  (4.1.4)

Dann heißt x Hauptvektor vom Grad k zum Eigenwert λ.

Satz 4.1.4 Haupt- und Eigenvektoren zu verschiedenen Eigenwerten sind linear unabhängig. Hauptvektoren verschiedenen Grades sind linear unabhängig. Wenn x^{(k)} ein Hauptvektor vom Grad k ist, dann ist x^{(k−j)} := (A − λI)^{j}x^{(k)} ein Hauptvektor vom Grad k − j. Der Unterraum

U := [x^{(k)}, (A − λI)x^{(k)}, …, (A − λI)^{k−1}x^{(k)}]

ist ein invarianter Unterraum von A, d.h., AU ⊆ U.

Ein Basiswechsel im C^{n} entspricht einer Ähnlichkeitstransformation der Matrix A mit einer regulären Matrix T ∈ C^{n×n},

A ↦ T AT^{−1} =: B.  (4.1.5)

B besitzt offensichtlich die gleichen Eigenwerte wie A, während die Haupt- und Eigenvektoren transformiert werden,

x ist Haupt-/Eigenwert von A ⟺ T x ist Haupt-/Eigenwert von B.

Ähnlichkeitstransformationen übertragen sich auf Funktionen von A, es gilt etwa

(T AT^{−1})^{−1} = T A^{−1}T^{−1}, (T AT^{−1})^{k} = T A^{k}T^{−1}.

Von besonderem Interesse sind Ähnlichkeitstransformationen, die eine Matrix auf einfache Gestalt bringen, an der sich wesentliche Eigenschaften ablesen lassen.

Satz 4.1.5 (Jordan-Normalform) Zu jeder Matrix A ∈ C^{n×n} gibt es eine reguläre Matrix X so, daß A = XJX^{−1} mit

J = ( \begin{matrix}C_{m_{1}}(λ_{1}) & & & & 0 \\ & . & . & . \\ 0 & & & & C_{m_{k}}(λ_{k}) \end{matrix} ) = ( \begin{matrix}λ_{1} & 1 \\ & ... & ... \\ & & λ_{1} & 1 \\ & & & λ_{1} & 0 \\ & & & & λ_{2} & 1 \\ & & & & & ... & ... \end{matrix} ) .  (4.1.6)

Eigenwerte in verschiedenen Jordanblöcken C_{m} können dabei übereinstimmen. Die Spalten von X enthalten die (Rechts-) Haupt- und Eigenvektoren von A, X = (x^{(1)}, …, x^{(n)}). Die Zeilen von X^{−1} sind die Links- Haupt- bzw. Eigenvektoren, (y^{(1)}, …, y^{(n)})^{∗} = X^{−1}, daher sind diese zueinander orthogonal, y^{(i)}^{∗}x^{(j)} = δ_{ij}.

Eine Matrix, bei der alle Jordanblöcke die Größe eins haben (J hat in der Nebendiagonale keine Einsen), heißt diagonalisierbar. Sie besitzt also n linear unabhängige Eigenvektoren. Jede Matrix mit nur einfachen Eigenwerten ist offensichtlich diagonalisierbar.

Ungeachtet ihrer theoretischen Bedeutung wird die Jordan-Normalform bei numerischen Berechnungen kaum verwendet, da sie sehr empfindlich auf Störungen der Matrix reagiert. So ist etwa die Matrix

C_{2}(1) = ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} )

in Jordan-Normalform. Wird aber eines der Hauptdiagonalelemente geringfügig abgeändert, dann ist die Matrix diagonalisierbar und ihre Jordan-Normalform hat eine Null über der Diagonalen. Eine ‘stabilere’ Normalform ist die folgende .

Satz 4.1.6 (Schur-Normalform) Jede Matrix A ∈ C^{n×n} kann durch eine unitäre Matrix U, U^{∗} = U^{−1}, auf obere Dreieckgestalt transformiert werden,

A = USU^{∗}, S = ( \begin{matrix}λ_{1} & s_{12} & … & s_{1n} \\ & λ_{2} & & s_{2n} \\ & & ... & ⋮ \\ & & & λ_{n} \end{matrix} ) .  (4.1.7)

In der Hauptdiagonalen von S stehen die Eigenwerte in beliebiger Reihenfolge.

Beweis Mit einer QR-Zerlegung der Matrix X = UR in der Jordan-Normalform zeigt sich

A = XJX^{−1} = U(RJR^{−1})U^{∗}.

Da RJR^{−1} =: S als Produkt oberer Dreieckmatrizen wieder obere Dreieckmatrix ist, deren Hauptdiagonalelemente die von J sind, folgt die Behauptung.

Definition 4.1.7 Eine Matrix A heißt normal, wenn

A^{∗}A = AA^{∗}.  (4.1.8)

Spezielle normale Matrizen sind die reell symmetrischen (A^{T} = A), die hermiteschen (A^{∗} = A), schief-hermiteschen (A^{∗} = −A) und unitären (A^{∗} = A^{−1}).

Satz 4.1.8 a) Eine Matrix ist genau dann normal, wenn sie unitär diagonalisierbar ist.

b) Eine normale Matrix besitzt eine Orthonormalbasis aus Eigenvektoren.

c) Die Eigenwerte einer hermiteschen Matrix sind reell, die einer schief-hermiteschen rein imaginär, die einer unitären liegen auf dem Einheitskreis.

Beweis Trivial bei Einsatz der Schur-Normalform.

Für quantitative Aussagen werden meist Normabschätzungen herangezogen, mit der Schur-Normalform ergibt sich in der Spektralnorm ∥.∥_{2}

∥A∥_{2} = ∥USU^{∗}∥_{2} = ∥S∥_{2}.  (4.1.9)

Für normale Matrizen ist daher ∥A∥_{2} = ϱ(A) = max_{i=1}^{n} |λ_{i}|. Für allgemeine Matrizen sei an Satz 4.2.1 aus der Numerik I erinnert:

Satz 4.1.9 a) Für jede Matrixnorm ∥ · ∥ gilt ρ(A) ≤ ∥A∥.

b) Für jede Matrix A und jedes ε > 0 existiert eine (spezielle) Norm mit

∥A∥_{M} ≤ ρ(A) + ε.  (4.1.10)

c) Für diagonalisierbare Matrizen A kann in (4.1.10) ε = 0 gewählt werden.

Beispiel 4.1.10 Die wichtigsten Verfahren zur Eigenwert-Bestimmung verwenden (implizit) hohe Potenzen A^{k} von A. Für

C_{2}(λ) = ( \begin{matrix}λ & 1 \\ 0 & λ \end{matrix} ) ist C_{2}^{k} = ( \begin{matrix}λ^{k} & kλ^{k−1} \\ 0 & λ^{k} \end{matrix} ) .

Hier sieht man, daß bei λ ≠ 0 die Norm nicht durch |λ|^{k} beschränkt ist, mit x = e^{(2)} etwa gilt

|λ|^{−k}∥C_{2}^{k}x∥_{2} = |λ|^{−k}|λ^{k−1}|\sqrt{k^{2} + |λ|^{2}} = \sqrt{1 + k^{2}/|λ|^{2}} → ∞ (k → ∞).

In der Schranke aus Satz 4.1.9 ist also ε > 0 zu setzen.

4.2 Reduktion auf einfachere Gestalt

Die wichtigsten Verfahren zur Behandlung des Eigenwertproblems erzeugen iterativ eine Ähnlichkeitstransformation der Matrix auf obere Dreieck- oder Diagonalgestalt. Der Rechenaufwand pro Iterationsschritt kann sich dabei ganz erheblich verringern, wenn die Struktur der Ausgangsmatrix der angestrebten nahekommt.

Definition 4.2.1 Die Matrix A = (a_{ij}) ∈ C^{n×n} ist eine

Hessenberg-Matrix ⟺ a_{ij} = 0 für j < i − 1,
Tridiagonal-Matrix ⟺ a_{ij} = 0 für |i − j| > 1.

Ausführlich:

( \begin{matrix}a_{11} & a_{12} & . & … & a_{1n} \\ a_{21} & a_{22} & . & & a_{2n} \\ 0 & a_{32} & a_{33} \\ & & ... & ... & ⋮ \\ 0 & & & a_{n,n−1} & a_{nn} \end{matrix} )

Hessenberg-Form

( \begin{matrix}a_{11} & a_{12} & 0 & … & 0 \\ a_{21} & a_{22} & a_{23} \\ & ... & ... & ... \\ 0 & & . & . & a_{n−1,n} \\ 0 & … & 0 & a_{n,n−1} & a_{nn} \end{matrix} )

Tridiagonal-Gestalt

Satz 4.2.2 Zu jeder Matrix A ∈ C^{n×n} gibt es eine unitäre Matrix U so, daß B := UAU^{∗} Hessenberg-Form besitzt. U kann als Produkt von Householder-Spiegelungen (2.3.2) dargestellt werden, U = H^{(n−2)} ⋯ H^{(1)}. Der Rechenaufwand für diese Transformation beträgt \frac{10}{3}n^{3} Operationen. Wenn A symmetrisch ist, dann ist dies auch B, also tridiagonal. Der Aufwand reduziert sich dann auf \frac{4}{3}n^{3} Operationen.

Bemerkung: A kann auch durch eine untere Dreieckmatrix L auf Hessenbergform LAL^{−1} transformiert werden. Diese Methode erfordert nur den halben Rechenaufwand der unitären Reduktion und kann mit Hilfe von Pivotisierungen auch numerisch stabil durchgeführt werden. Allerdings führt dieses Verfahren nicht auf die Schur-Normalform von A bei Anwendung der später folgenden Verfahren (QR-Iteration).

Beweis des Satzes durch Konstruktion: Der einzige Unterschied zum Vorgehen bei der QR-Zerlegung ist die Einschränkung, daß auf A =: A^{(1)} ausschließlich Ähnlichkeitstransformationen anzuwenden sind,

A^{(j+1)} := H^{(j)}A^{(j)}H^{(j)}, H^{(j)} = I − 2u^{(j)}u^{(j)}^{∗}.  (4.2.1)

Damit bei der Rechts-Multiplikation mit H^{(j)} die gerade eliminierte j-te Spalte von H^{(j)}A^{(j)} nicht wieder aufgefüllt wird, ist auch u_{j}^{(j)} = 0 zu wählen. Es sei jetzt

A^{(j)} = ( \begin{matrix}∗ & … & ∗ & ∗ & … & ∗ \\ ∗ & . & & . & . & . \\ & ... ... & ⋮ & ⋮ & & ⋮ \\ 0 & ∗ & ∗ & ∗ & … & ∗ \\ & & a_{j+1,j}^{(j)} & ∗ & … & ∗ \\ 0 & & ⋮ & ⋮ & & ⋮ \\ & & a_{nj}^{(j)} & ∗ & … & a_{nn}^{(j)} \end{matrix} ) \begin{matrix}\} j \\ \} n − j \end{matrix} ∈ C^{n×n}

Mit Lemma 2.3.2 wird eine Spiegelung (4.2.1) bestimmt mit

u^{(j)} = ( 0 ; ⋮ ; 0 ; u_{j+1}^{(j)} ; ⋮ ; u_{n}^{(j)} ) so, daß H^{(j)} ( ∗ ; ⋮ ; a_{jj}^{(j)} ; a_{j+1,j}^{(j)} ; ⋮ ; a_{nj}^{(j)} ) = ( ∗ ; ⋮ ; a_{jj}^{(j)} ; ∗ ; 0 ; ⋮ ) .

Dann wird diese j-te Spalte beim Übergang zu A^{(j+1)} = H^{(j)}A^{(j)}H^{(j)} nicht mehr verändert. Nach n − 2 Schritten ist A^{(n−1)} =: B in Hessenbergform. Die Vektoren können wieder, i.w., in den freien Plätzen von B untergebracht werden. Aufwand: Wie bei Satz 2.3.3 sind nur die Matrix-Umformungen relevant. Die erste,

Ã^{(j)} := H^{(j)}A^{(j)} = A^{(j)} − \underbrace{2u^{(j)}·}_{2(n−j)^{2}} [ \underbrace{u^{(j)}^{∗}A^{(j)}}_{2(n−j)^{2}} ]

benötigt 4(n − j)^{2} Operationen, die zweite

A^{(j+1)} = Ã^{(j)}H^{(j)} = Ã^{(j)} − \underbrace{2[Ã^{(j)}u^{(j)}}_{2n(n−j)} ] \underbrace{·u^{(j)}^{∗}}_{2(n−j)n}

4n(n − j) Operationen, da Ã^{(j)}u^{(j)} vollbesetzt ist. Der Gesamtaufwand ist somit

4 ∑_{j=1}^{n−2}(n − j)^{2} + 4 ∑_{j=1}^{n−2} n(n − j) = \frac{4}{3}n^{3} + 2n^{3} + … = \frac{10}{3}n^{3} + O(n^{2}).

Die Symmetrie von B folgt aus der von A: A = A^{∗} ⇒ B^{∗} = UA^{∗}U^{∗} = UAU^{∗} = B.

4.3 Das unsymmetrische Eigenwertproblem

Die hier behandelten Verfahren, Vektor-, orthogonale und QR-Iteration, arbeiten nach einem gemeinsamen Prinzip, einer Verallgemeinerung der zunächst behandelten Vektoriteration. Da in der Praxis unterschiedliche Fragestellungen auftreten können, sind alle drei Varianten von Interesse. Das allgemeinste Verfahren ist die QR-Iteration, mit der die volle Schur-Normalform (alle Eigenwerte) berechnet werden kann. Oft spielen aber nur bestimmte Eigenwerte eine wichtige Rolle, z.B., die größten, die (betrags-)kleinsten oder die einer Stelle λ̂ am nächsten gelegenen (im Turbinenbesipiel die bei der Solldrehzahl liegenden kritischen Drehzahlen). Hier ist die Vektoroder orthogonale Iteration vorzuziehen, vor allem dann, wenn die Matrix A groß und dünnbesetzt ist, da diese Verfahren A nur über Matrix-Vektor-Multiplikationen verwenden.

Die Vektoriteration beruht darauf, daß sich in der Folge {A^{k}}_{k} der betragsgrößte Eigenwert, λ_{1}^{k}, gegen die anderen durchsetzt. Bei der numerischen Berechnung hoher Potenzen A^{k} sind allerdings Vorsichtsmaßnahmen zu treffen.

Die Vektor-Iteration (nach von Mises)

Ausgehend von 0 ≠ z^{(0)} ∈ C^{n} wird eine Vektorfolge berechnet durch

\begin{matrix}q^{(k−1)} := z^{(k−1)}/|z_{i_{k}}^{(k−1)}| & wobei |z_{i_{k}}^{(k−1)}| = ∥z^{(k−1)}∥_{∞} & (Normierung) \\ z^{(k)} := Aq^{(k−1)}, & & (Iteration) \\ λ^{(k)} := z_{i_{k}}^{(k)}/q_{i_{k}}^{(k−1)} \end{matrix} \} k = 1, 2, … (4.3.1)

Bemerkung: a) q^{(k)} ist aus praktischen Gründen auf eins normiert, stimmt aber bis auf die Normierung mit dem Vektor A^{k}z^{(0)} überein,

q^{(k)} = v^{(k)}/∥v^{(k)}∥_{∞}, v^{(k)} := A^{k}z^{(0)}.  (4.3.2)

b) Bei Iterationsverfahren x^{(k+1)} := Ax^{(k)} + b zur Lösung Linearer Gleichungssysteme (I − A)x̂ = b gilt für den Fehler v^{(k)} := x^{(k)} − x̂ und den Defekt d^{(k)} := (I − A)x^{(k)} − b = (I − A)v^{(k)} die gleiche Beziehung, v^{(k)} = Av^{(k−1)} = … = A^{k}v^{(0)}. Daher ist der nächste Satz auch in diesem Zusammenhang von grundlegender Bedeutung (vgl. §5).

c) Die Bestimmung von λ^{(k)} ind (4.3.1) muß auf eine etwas komplizierte Weise erfolgen, da hierbei gleiche Komponenten von z^{(k)} und q^{(k−1)} verglichen werden müssen. Zahlenbeispiel:

A := ( \begin{matrix}0 & 1 & −3 \\ 1 & 2 & −1 \\ −3 & −1 & 0 \end{matrix} ) , z^{(0)} := ( \begin{matrix}1 \\ 0 \\ 0 \end{matrix} ) , x^{(1)} = ( \begin{matrix}1 \\ 1 \\ −1 \end{matrix} ) , λ_{1} = 4, λ_{2} = −3.

Vektoriteration, die betragsmaximale Komponente ist unterstrichen:

k = 1 2 3 … 10 11 12 13 14
0 \underline{3.33} 0.8  \underline{3.898} 3.455 \underline{3.940} 3.682 \underline{3.966}
z^{(k)} 1 1.66 2.1  3.595 3.688 3.762 3.819 3.862
\underline{-3} -0.33 \underline{-3.5}  -3.291 \underline{-3.922} -3.583 \underline{-3.955} -3.759
λ^{(k)} 0 0.33 0.8  3.291 3.455 3.583 3.682 3.759

Offensichtlich konvergieren z^{(k)} → λ_{1}x^{(1)}, λ^{(k)} → λ_{1}, allerdings recht langsam |λ^{(k)}−λ_{1}|/|λ^{(k−1)}− λ_{1}| ≅ \frac{3}{4} = |λ_{2}/λ_{1}|.

Da Eigenvektoren nur bis auf Konstanten bestimmt sind, müssen in der folgenden Konvergenzaussage die Vektoren q^{(k)} und x^{(1)} gleichartig normiert werden.

Satz 4.3.1 Für die Eigenwerte der Matrix A gelte |λ_{1}| > |λ_{2}| ≥ … ≥ |λ_{n}|. An dem Startvektor z^{(0)} sei der Eigenvektor x^{(1)} beteiligt,d.h., z^{(0)} = α_{1}x^{(1)} + … mit α_{1} ≠ 0. Dann konvergiert die Vektor-Iteration in dem Sinn, daß eine skalare Folge σ_{k} ∈ C existiert mit

σ_{k}q^{(k)} → x^{(1)}, λ^{(k)} → λ_{1}, k → ∞.

Für eine quantitative Aussage sei 0 < ε < |λ_{1}| − |λ_{2}|. Zu einem festen Index i mit x_{i}^{(1)} ≠ 0 sei σ_{k} = x_{i}^{(1)}/q_{i}^{(k)}. Dann existieren Konstanten c, k_{0} so, daß

\begin{matrix}|λ^{(k)} − λ_{1}| \\ ∥σ_{k}q^{(k)} − x^{(1)}∥ \end{matrix} \} ≤ c (\frac{|λ_{2}| + ε}{|λ_{1}|})^{k} , k ≥ k_{0}.

Beweis Zur Vereinfachung des Beweises wird zusätzlich die Diagonalisierbarkeit von A vorausgesetzt. Der Startvektor besitze die Entwicklung

z^{(0)} = ∑_{j=1}^{n} α_{j}x^{(j)}, α_{1} ≠ 0.

Dann gilt für die Vektoren v^{(k)} aus (4.3.2) die Darstellung

v^{(k)} = ∑_{j=1}^{n} λ_{j}^{k}α_{j}x^{(j)} = λ_{1}^{k}α_{1}(x^{(1)} + ∑_{j=2}^{n} \frac{α_{j}}{α_{1}} (\frac{λ_{j}}{λ_{1}} )^{k}x^{(j)}).  (4.3.3)

Mit dem normierten Vektor q^{(k−1)} := v^{(k−1)}/∥v^{(k−1)}∥ folgt dann

λ^{(k)} = \frac{z_{i_{k}}^{(k)}}{q_{i_{k}}^{(k−1)}} = \frac{v_{i_{k}}^{(k)}}{v_{i_{k}}^{(k−1)}} = λ_{1} \frac{x_{i_{k}}^{(1)} + ∑_{j=2}^{n} \frac{α_{j}}{α_{1}} (\frac{λ_{j}}{λ_{1}} )^{k}x_{i_{k}}^{(j)}}{x_{i_{k}}^{(1)} + ∑_{j=2}^{n} \frac{α_{j}}{α_{1}} (\frac{λ_{j}}{λ_{1}} )^{k−1}x_{i_{k}}^{(j)}}

Nach Konstruktion ist |q_{i_{k}}^{(k−1)}| = 1, da (λ_{j}/λ_{1})^{k} → 0 ∀j > 1 ist daher auch x_{i_{k}}^{(1)} ≠ 0 für k ≥ k_{0}. Daher folgt |λ^{(k)} − λ_{1}| ≤ c|\frac{λ_{2}}{λ_{1}} |^{k}, k ≥ k_{0}.

Für σ := λ_{1}/|λ_{1}| ≠ 1 ist asymptotisch q^{(k)} ≃ σ^{k}x^{(1)}. Konvergenz gilt also nur für die von q^{(k)} aufgespannten Unterräume. Eine übliche Konvergenzaussage kann nach Einfrieren einer Komponente gemacht werden. Für x_{i}^{(1)} ≠ 0 gilt auch v_{i}^{(k)} ≠ 0 für k ≥ k_{0} nach (4.3.3). Daher ist

\frac{q^{(k)}}{q_{i}^{(k)}} = \frac{v^{(k)}}{v_{i}^{(k)}} = \frac{x^{(1)} + ∑_{j=2}^{n} \frac{α_{j}}{α_{1}} (\frac{λ_{j}}{λ_{1}} )^{k}x^{(j)}}{x_{i}^{(1)} + ∑_{j=2}^{n} \frac{α_{j}}{α_{1}} (\frac{λ_{j}}{λ_{1}} )^{k}x_{i}^{(j)}} = \frac{x^{(1)}}{x_{i}^{(1)}} + O(|\frac{λ_{2}}{λ_{1}} |^{k}).

Bei einer nicht diagonalisierbaren Matrix kann das Wachstum der nichttrivialen Jordanblöcke nach einer Aufspaltung

J = X^{−1}AX = ( \begin{matrix}λ_{1} & 0 \\ 0 & M \end{matrix} )

mit Satz 4.1.9 abgeschätzt werden. Dann tritt in der Aussage tatsächlich ein ε > 0 auf.

Der zum betragsgrößten Eigenwert λ_{1} gehörige Eigenvektor x^{(1)} setzt sich im Verlauf der Iteration also gegenüber den anderen Eigenvektoren durch. Daher werden λ_{1} bzw. x^{(1)} als dominanter Eigenwert bzw. Eigenvektor bezeichnet. Die Voraussetzung α_{1} = y^{(1)}^{∗}x^{(1)} ≠ 0 kann oft aus theoretischen Gründen garantiert werden. Aber selbst ohne Vorkenntnis wird durch Rundungsfehler i.a. ein Beitrag mit α_{1} ≠ 0 eingeschleppt.

Die Konvergenz der einfachen Vektoriteration ist nur linear mit dem Konvergenzfaktor |λ_{2}/λ_{1}|. Wenn λ_{1} und λ_{2} nur geringe Betragsunterschiede aufweisen, konvergiert die Iteration nur sehr langsam. Folgende Beobachtungen führen aber zu merklichen Verbesserungen:

• Die Eigenwerte der Matrix A − λI sind λ_{j} − λ. Eine solche Spektralverschiebung kann die Konvergenz von (4.3.1) verbessern, z.B., wenn λ_{1}λ_{2} < 0, oder 0 < … ≤ λ_{2} < λ_{1} bei reellen Eigenwerten.

• Die Eigenwerte von A^{−1} sind λ_{j}^{−1}, die von (A − λI)^{−1} also (λ_{j} − λ)^{−1}. Der etwa zur Berechnung von λ_{1} relevante Quotient

max_{j≠1} |\frac{λ_{1} − λ}{λ_{j} − λ}|

wird bei geeigneter Wahl von λ beliebig klein.

Dies nutzt folgendes Verfahren aus.

Inverse Iteration (nach Wielandt)

λ ∈ C sei kein Eigenwert von A, mit z^{(0)} ∈ C^{n} wird iterativ berechnet

\begin{matrix}q^{(k−1)} := z^{(k−1)}/|z_{i_{k}}^{(k−1)}| & wobei |z_{i_{k}}^{(k−1)}| = ∥z^{(k−1)}∥_{∞} \\ z^{(k)} := (A − λI)^{−1}q^{(k−1)}, \\ λ^{(k)} := λ + q_{i_{k}}^{(k−1)}/z_{i_{k}}^{(k)} \end{matrix} \} k = 1, 2, …  (4.3.4)

Für die Konvergenz dieses Verfahrens gilt

Satz 4.3.2 Der Eigenwert λ_{m} von A sei in Bezug auf λ isoliert, d.h., es gelte

|λ_{m} − λ| < |λ_{j} − λ| ∀j ≠ m.

Wenn der Eigenvektor x^{(m)} an z^{(0)} beteiligt ist, also y^{(m)}^{∗}z^{(0)} ≠ 0 gilt, dann konvergieren die Werte λ^{(k)} gegen λ_{m} und (im verallgemeinerten Sinn) die Vektoren q^{(k)} gegen x^{(m)}. Quantitativ gilt für jedes ε > 0 mit |λ_{m} − λ| + ε < |λ_{j} − λ| ∀j ≠ m eine Schranke

\begin{matrix}|λ^{(k)} − λ_{m}| \\ min_{σ∈C} ∥σq^{(k)} − x^{(m)}∥ \end{matrix} \} ≤ c (\frac{|λ_{m} − λ|}{min_{j≠m} |λ_{j} − λ| − ε})^{k} , k ≥ k_{0}.

Durch geeignete Wahl von λ läßt sich also gezielt ein einzelner Eigenwert der Matrix bestimmen. Zur weiteren Beschleunigung der Konvergenz kann in (4.3.4) für λ jeweils die aktuellste Eigenwert-Schätzung, λ^{(k−1)}, zur Spektralverschiebung verwendet werden:

z^{(k)} := (A − λ^{(k−1)}I)^{−1}q^{(k−1)}.

Bei dieser Variante ist nun in jedem Schritt eine LR- oder QR-Zerlegung durchzuführen. Daher sollte hier die Matrix vorher in Hessenbergform gebracht werden, da jede Zerlegungen dann nur einen O(n^{2})-Aufwand erfordern. Diese Variante der Inversen Iteration hat in gutartigen Situationen hervorragende Eigenschaften (vgl. symmetrisches Eigenwertproblem). In schwierigen Fällen kann es aber vorkommen, daß nur der erste Schritt eine Verbesserung bringt. Die wichtigste Einsatzmöglichkeit der Inversen Iteration ist die Berechnung einzelner Eigenvektoren, wenn Eigenwert-Approximationen mit einem anderen Verfahren (z.B. QR-Verfahren, Bisektion) geliefert wurden. Zu den problematischen Fällen gilt

Beispiel 4.3.3 Es sei A = ( \begin{matrix}1 & 1 \\ ε & 1 \end{matrix} ) mit kleinem ε, z.B., ε = 10^{−10}. Eine solche Matrix kann etwa bei Maschinenrechnung anstelle eines 2 × 2-Jordanblocks entstehen. Sie hat die Eigenwerte 1±\sqrt{ε} und die Eigenvektoren x^{(1/2)} = ( \begin{matrix}1 \\ ±\sqrt{ε} \end{matrix} ). Als Eigenwert-Näherung der Inversen Iteration werde λ = 1 verwendet. Dann ist

(A − λI)^{−1} ( \begin{matrix}x_{1} \\ x_{2} \end{matrix} ) = ( \begin{matrix}0 & 1 \\ ε & 0 \end{matrix} )^{−1} ( \begin{matrix}x_{1} \\ x_{2} \end{matrix} ) = ( \begin{matrix}x_{2}/ε \\ x_{1} \end{matrix} ) .

Für die ‘meisten’ Startvektoren q^{(0)} = ( \begin{matrix}x_{1} \\ x_{2} \end{matrix} ), die mit ε|x_{1}| < |x_{2}|, ist q^{(1)} = ( \begin{matrix}1 \\ εx_{1}/x_{2} \end{matrix} ) eine gute

Näherung der Eigenvektoren, denn ∥Aq^{(1)} − λq^{(1)}∥ = ε\sqrt{1 + |x_{1}/x_{2}|^{2}} ist klein. Dagegen ist die

nächste Iterierte z^{(2)} = ( \begin{matrix}x_{1}/x_{2} \\ 1 \end{matrix} ) wieder weit davon entfernt, da ∥Az^{(2)} − λz^{(2)}∥ = ∥q^{(1)}∥ = 1.

Die Vektor-Iteration (in der besprochenen Form) ist nur bei einfachen Eigenwerten mit genügend großem gegenseitigen Abstand praktisch verwendbar. Zur Behandlung mehrfacher, oder eng zusammenliegender Eigenwerte muß die Iteration gleichzeitig mit mehreren Vektoren durchgeführt werden. Bei der Vektor-Iteration wird die im Vektor z^{(k)} enthaltene Information aufgetrennt in einen Richtungsvektor q^{(k)} mit Norm eins und einen Multiplikator, die Eigenwert-Schätzung λ^{(k)}. Bei Iteration mit p > 1 Vektoren, d.h., mit Matrizen Z^{(k)} ∈ C^{n×p}, in der Form Z^{(k)} = AQ^{(k−1)} kann diese Aufspaltung

z^{(k)} = q^{(k)}∥z^{(k)}∥ durch die QR-Zerlegung Z^{(k)} = Q^{(k)}R^{(k)}

verallgemeinert werden. In Satz 2.3.3 war dabei Q als quadratische und R als n × p-Matrix in Dreieckform betrachtet worden. Da aber die letzten n − p Zeilen von R verschwinden, ist es hier (p ≪ n) geschickter, R als quadratische p × p-Matrix und Q als n × p-Matrix zu betrachten. Zur Vermeidung von Doppelbezeichnungen (vgl. QR-Iteration) wird der unitäre Faktor in diesem Verfahren U genannt. Die so verallgemeinerte Vektor-Iteration bietet außerdem einen einfachen Zugang zum wichtigsten Eigenwert-Verfahren, der QR-Iteration.

Orthogonale Iteration

Ausgehend von einer unitären Matrix U^{(0)} ∈ C^{n×p} werden Matrizen Z^{(k)}, U^{(k)} ∈ C^{n×p}, R^{(k)} ∈ C^{p×p} berechnet nach

\begin{matrix}Z^{(k)} & := & AU^{(k−1)} \\ U^{(k)}R^{(k)} & := & Z^{(k)} & (QR-Zerlegung) \end{matrix} \} k = 1, 2, …  (4.3.5)

Da die Spalten von U^{(k)} zueinander orthogonal sind, können sie i.a. natürlich nicht alle gegen Eigenvektoren von A konvergieren. Es zeigt sich aber, daß der von ihnen aufgespannte Unterraum R(U^{(k)}) gegen den invarianten Unterraum H_{p} von A mit AH_{p} ⊆ H_{p} konvergiert, der von den Eigenvektoren zu den p betragsgrößten Eigenwerten aufgespannt wird, H_{p} = [x^{(1)}, …, x^{(p)}]. Daher heißt (4.3.5) auch Unterraum-Iteration. Die orthogonale Iteration ist vor allem dann effektiv, wenn nur ein Teil (p ≪ n) der Eigenwerte einer großen Matrix berechnet werden soll. Wenn A dünn besetzt ist, kann dies bei der Multiplikation AU direkt ausgenutzt werden. Dagegen zerstört das im folgenden besprochene QR-Verfahren, das eng mit (4.3.5) zusammenhängt, eine eventuell vorhandene Struktur von A.

Bemerkung: Alle bei der orthogonalen Iteration (4.3.5) auftretenden Matrizen können für beliebige p < n als vordere Spalten quadratischer n × n-Matrizen betrachtet werden. Denn

— beim Produkt AU sind die einzelnen Spalten voneinander völlig unabhängig,

— bei der QR-Zerlegung nach Householder hängen die j-ten Spalten von R und U nicht von den nachfolgenden Spalten von Z ab, sie werden durch die Transforma- tionen H^{(j+1)}, H^{(j+2)}, … nicht mehr verändert, denn Ue^{(j)} = H^{(1)} ⋯ H^{(n−1)}e^{(j)} = H^{(1)} ⋯ H^{(j)}e^{(j)}.

Aufgrund dieser Bemerkung muß, etwa bei Konvergenzaussagen, nur der Fall p = n behandelt werden. Da diese Aussagen dann für die orthogonale Iteration und das QR-Verfahren aufgrund des folgenden Zusammenhangs völlig analog sind, werden sie beim QR-Verfahren behandelt. Zu diesem kommt man zwangsläufig, wenn man (im Fall p = n) die Matrizen

S^{(k)} := U^{(k)}^{∗}AU^{(k)}  (4.3.6)

betrachtet, die die Eigenwert-Information der orthogonalen Iteration enthalten. Überlegt man nämlich, wie S^{(k)} aus S^{(k−1)} hervorgeht, so ergibt sich aus (4.3.5) R^{(k)} = U^{(k)}^{∗}AU^{(k−1)} und daher einerseits

S^{(k)} = U^{(k)}^{∗}AU^{(k−1)}U^{(k−1)}^{∗}U^{(k)} = R^{(k)} \underbrace{U^{(k−1)}^{∗}U^{(k)}}_{=: Q^{(k)}},  (4.3.7)

aber auch

S^{(k−1)} = U^{(k−1)}^{∗}AU^{(k−1)} = U^{(k−1)}^{∗}Z^{(k)} = \underbrace{U^{(k−1)}^{∗}U^{(k)}}_{Q^{(k)}} R^{(k)}.

Also bekommt man S^{(k)} durch Berechnung einer QR-Zerlegung von S^{(k−1)} und anschließender Multiplikation der beiden Faktoren in umgekehrter Reihenfolge. Dies ist

Das QR-Verfahren

Mit S^{(0)} := A werden Matrizen Q^{(k)}, S^{(k)}, R^{(k)} ∈ C^{n×n} berechnet nach

\begin{matrix}Q^{(k)}R^{(k)} & := & S^{(k−1)} & (QR-Zerlegung) \\ S^{(k)} & := & R^{(k)}Q^{(k)} \end{matrix} \} k = 1, 2, …  (4.3.8)

Für die Subdiagonalelemente von S^{(k)} läßt sich im allgemeinsten Fall zeigen, daß bei der Anordnung |λ_{1}| ≥ … ≥ |λ_{n}| gilt

s_{ij}^{(k)} = O(|\frac{λ_{i}}{λ_{j}} |^{k}), j < i, k → ∞.  (4.3.9)

In der einfachen Form ist das Verfahren (4.3.8) zu aufwendig, da jeder Schritt O(n^{3}) Operationen kostet (Satz 2.3.3). Die Effizienz des Verfahrens kann durch die folgenden drei Maßnahmen dramatisch gesteigert werden.

• Satz 4.3.4 Besitzt S^{(0)} = A Hessenbergform, dann gilt dies auch für alle Iterierten S^{(k)}. In diesem Fall beträgt der Aufwand für einen Schritt (4.3.8) nur noch 8n^{2} Operationen. Beweis Die für die QR-Zerlegung (2.3.7) benutzten Spiegelungen H^{(j)} = I − 2u^{(j)}u^{(j)}^{∗} verwenden Vektoren u^{(j)}, in denen nur die j-te und j + 1-te Komponente nicht null sind. Bei der Rückmultiplikation S = RH^{(1)} … H^{(n−1)} werden in S nur Elemente direkt links von der Hauptdiagonale eingeführt.

• Satz 4.3.5 Bei Spektralverschiebung

\begin{matrix}Q^{(k)}R^{(k)} & := & S^{(k−1)} − λI \\ S^{(k)} & := & R^{(k)}Q^{(k)} + λI \end{matrix} \} k = 1, 2, …  (4.3.10)

verbessert sich die Konvergenzaussage (4.3.9) auf

s_{ij}^{(j)} = O(|\frac{λ_{i} − λ}{λ_{j} − λ}|^{k}), j < i,

mit der neuen Anordnung |λ_{1} − λ| ≥ … ≥ |λ_{n} − λ|.

Beweis Die Eigenwerte von S^{(k)} werden nicht verändert, denn

S^{(k)} = R^{(k)}Q^{(k)} + λI = Q^{(k)}^{∗}(S^{(k−1)} − λI)Q^{(k)} + λI = Q^{(k)}^{∗}S^{(k−1)}Q^{(k)},  (4.3.11)

konvergenzbestimmend sind aber die verschobenen Eigenwerte λ_{j} − λ.

• Satz 4.3.6 Ist S Hessenberg-Matrix mit s_{n,n−1} = 0, dann ist s_{nn} ein Eigenwert von S. Die restlichen Eigenwerte sind die von S_{1} in

S = ( \begin{matrix}& ∗ \\ S_{1} & ⋮ \\ & ∗ \\ 0 ⋯ 0 & s_{nn} \end{matrix} ) .

Beweis e^{(n)} ist Links-Eigenvektor von S mit Eigenwert s_{nn}. Die Links-Eigen- bzw. Haupt-Vektoren von S_{1} können mit einer geeigneten n-ten Komponente zu solchen von S erweitert werden. Wenn im Verlauf der Iteration das letzte Subdiagonalelement s_{n,n−1}^{(k)} sehr klein wird, kann daher die QR-Iteration mit der kleineren Matrix S_{1} fortgesetzt werden (Deflation).

Bei der praktischen Durchführung wird zur Anwendung von Satz 4.3.5 noch eine Strategie zur Wahl der (des) Spektralparameter(s) benötigt. Im allgemeinen ist die Konvergenz des letzten Diagonalelements gegen den betragskleinsten Eigenwert, s_{nn}^{(k)} → λ_{n}, am schnellsten. Nach einer Anlaufphase, etwa wenn

|1 − \frac{s_{nn}^{(k−2)}}{s_{nn}^{(k−1)}} | < \frac{1}{3}

gilt, kann dieses Verhalten durch die Wahl

λ^{(k)} := s_{nn}^{(k−1)}  (4.3.12)

für λ in Satz 4.3.5 unterstützt werden.

Bei reellen Matrizen mit nicht-reellen Eigenwerten treten diese in konjugiert-komplexen Paaren auf. Wenn genau zwei Eigenwerte gleichen Betrag haben, hat S^{(k)} für k → ∞ die Gestalt

S^{(k)} ≅ ( \begin{matrix}... & · & · & ⋯ \\ & ∗ & ∗ & ⋯ \\ & ∗ & ∗ & ⋯ \\ . & . & . \end{matrix} ) .

Auch bei reeller Rechnung können die komplexen Eigenwerte aus dem 2 × 2-Block

( \begin{matrix}s_{pp} & s_{p,p+1} \\ s_{p+1,p} & s_{p+1,p+1} \end{matrix} )

berechnet werden, wenn s_{p+1,p} das auch asymptotisch nicht verschwindende Subdiagonalelement in S^{(k)} ist. Die Spektralverschiebung nach Satz 4.3.5 bewirkt aber nur dann eine erhebliche Konvergenzbeschleunigung, wenn komplexe Spektralparameter λ verwendet werden. Die (aufwendige) komplexe Rechnung läßt sich dabei umgehen, wenn in zwei aufeinander folgenden Schritte konjugiert komplexe Parameter λ^{(k+1)} = λ̄^{(k)} verwendet werden. Dazu bieten sich an die beiden Eigenwerte von

( \begin{matrix}s_{n−1,n−1}^{(k−1)} & s_{n−1,n}^{(k−1)} \\ s_{n,n−1}^{(k−1)} & s_{nn}^{(k−1)} \end{matrix} ) .

Man überlegt sich leicht, daß dann die Matrizen S^{(k+1)}, Q^{(k+1)} wieder reell sind. Sie können mit reeller Rechnung aus S^{(k−1)}, Q^{(k−1)} durch einen QR-Doppelschritt berechnet werden. Dieser Spezialfall wird wegen seiner Komplexität nicht behandelt.

Ein umfassender, globaler Konvergenzbeweis für das QR-Verfahren ist nur beim symmetrischen Eigenwertproblem möglich. Im unsymmetrischen Fall gilt

Satz 4.3.7 Die Eigenwerte der Matrix A seien betragsmäßig verschieden und |λ_{1}| > … > |λ_{n}|. Für die Matrix Y := X^{−1} aus der Jordan-Normalform A = XJX^{−1} existiere die LR-Zerlegung. Dann konvergieren die Matrizen S^{(k)} des einfachen QR-Verfahrens (4.3.8) nach (4.3.9) gegen eine obere Dreieckmatrix, insbesondere gilt

s_{ii}^{(k)} → λ_{i}, k → ∞.

Die Konvergenz der QR-Iteration (4.3.10) mit Spektralverschiebung (4.3.12) ist lokal quadratisch, d.h.,

|s_{n,n−1}^{(k+1)}| ≤ c|s_{n,n−1}^{(k)}|^{2},

sobald |s_{n,n−1}^{(k)}| ‘klein genug’ ist.

Beweis Zur Hervorhebung des grundlegenden Beweisprinzips wird der Beweis nur unter Einschränkungen und nur für das einfache Verfahren (4.3.8) geführt. Es sei A reell und |λ_{n}| > 0, A also regulär. Ein wesentliches Argument im Beweis ist die weitgehende Eindeutigkeit und stetige Abhängigkeit der QR-Zerlegung. Dazu sind folgende Vorbemerkungen erforderlich:

— Die QR-Zerlegung nach Satz 2.3.3 enthält eine Vorzeichenentscheidung zur Vermeidung von Rundungsfehlern. Wählt man davon abweichend in R positive Hauptdiagonalelemente (β := ∥x∥_{2} in (2.3.3)), dann ist die QR-Zerlegung eindeutig.

— Diese QR-Zerlegung hängt auch stetig von der zerlegten Matrix ab, z.B., gilt für die QR- Faktoren Q_{k}, R_{k} einer Folge R + F_{k} = Q_{k}R_{k}, mit einer oberen Dreieckmatrix R (positive Hauptdiagonale) und F_{k} → 0, k → ∞, die Aussage Q_{k} → I, R_{k} → R. Zur Unterscheidung von den Matrizen des QR-Verfahrens sind diese hier ausnahmsweise unten indiziert.

a) Zunächst seien

U^{(k)} := Q^{(1)}Q^{(2)} ⋯ Q^{(k)}, k > 0, U^{(0)} := I,  (4.3.13)

die akkumulierten Transfomationsmatrizen der QR-Iteration (4.3.8), vgl. auch (4.3.7). Mit diesen gilt wegen (4.3.11)

AU^{(k−1)} = AQ^{(1)} ⋯ Q^{(k−1)} = Q^{(1)}S^{(1)}Q^{(2)} ⋯ Q^{(k−1)}
= Q^{(1)} ⋯ Q^{(k−1)}S^{(k−1)} = U^{(k−1)}S^{(k−1)}  (4.3.14)
= U^{(k−1)}Q^{(k)}R^{(k)} = U^{(k)}R^{(k)}.  (4.3.15)

und daher

A^{k} = A^{k}U^{(0)} = A^{k−1}U^{(1)}R^{(1)} = … = U^{(k)} \underbrace{R^{(k)} ⋯ R^{(2)}R^{(1)}} =: U^{(k)}R̂^{(k)}.  (4.3.16)

U^{(k)} ist also der eindeutige (s.o.) unitäre Faktor der QR-Zerlegung von A^{k}.

b) In der Jordan-Normalform von A sei UR_{X} = X die QR-Zerlegung von X (U ist die unitäre Matrix der Schur-Normalform, vgl. Beweis von Satz 4.1.6) und L_{Y} R_{Y} = Y die LR-Zerlegung von Y = X^{−1}. Dann gilt auch

A^{k} = XJ^{k}X^{−1} = UR_{X}J^{k}L_{Y} R_{Y} = UR_{X} \underbrace{(J^{k}L_{Y} J^{−k})}_{= I + F_{k}} J^{k}R_{Y} .  (4.3.17)

Da J diagonal ist, hat die untere Dreieckmatrix J^{k}L_{Y} J^{−k} Elemente l_{ij}(λ_{i}/λ_{j})^{k}. Die Subdiagonalen dieser Matrix verschwinden für k → ∞, da λ_{i}/λ_{j} ≤ q < 1 für j < i. Daher gilt in (4.3.17) tatsächlich

J^{k}L_{Y} J^{−k} = I + F_{k} mit ∥F_{k}∥ ≤ cq^{k} → 0, k → ∞.

Nach den einleitenden Bemerkungen hat die Folge der QR-Zerlegungen von R_{X}(I +F_{k}) = Q_{k}R_{k} die Eigenschaft Q_{k} → I, R_{k} → R_{X}. Als letzter Schritt sei

D := diag(σ_{i}), σ_{i} := sign(λ_{i}),

mit D^{2} = I. Aus (4.3.17) wird nun

A^{k} = UQ_{k}R_{k}J^{k}R_{Y} = (UQ_{k}D^{k})(D^{k}R_{k}J^{k}R_{Y}).  (4.3.18)

Dabei ist D^{k}R_{k}J^{k}R_{Y} eine obere Dreieckmatrix, deren Diagonalelemente als Produkte der Diagonalen ihrer Faktoren positiv sind, und UQ_{k}D^{k} ist unitär.

c) Durch Vergleich der beiden (eindeutigen) QR-Zerlegungen (4.3.16) und (4.3.18) von A^{k} folgt somit

U^{(k)} = UQ_{k}D^{k} und R̂^{(k)} = D^{k}R_{k}J^{k}R_{Y} .  (4.3.19)

Wegen Q_{k} → I konvergiert daher U^{(k)}D^{k} → U, die Konvergenz von U^{(k)} gegen U aus der Schur-Normalform tritt also bis auf Vorzeichen der Spalten ein. Diese Vorzeichen sind aber irrelevant, für die Matrizen S^{(k)} gilt nach (4.3.14) und (4.3.19) nämlich

S^{(k)} = U^{(k)}^{∗}AU^{(k)} = D^{k} \underbrace{Q_{k}^{∗}}_{→ I} \underbrace{U^{∗}AU}_{= S} \underbrace{Q_{k}}_{→ I} D^{k}.

Demnach konvergiert S^{(k)} gegen eine obere Dreieckmatrix, präzise gilt D^{k}S^{(k)}D^{k} → S mit der Matrix S aus der Schur-Normalform. In der Hauptdiagonale kompensieren sich die alternierenden Faktoren: σ_{i}^{k}s_{ii}^{(k)}σ_{i}^{k} = s_{ii}^{(k)} → s_{ii} = λ_{i}, k → ∞.

Beispiel 4.3.8 Das QR-Verfahren wird mit Spektralverschiebung (4.3.12) ab Schritt 5 auf die Hessenbergmatrix

A = ( \begin{matrix}3 & −2 & −0.5 & 0 & 0 \\ −2 & 3 & −2 & −0.5 & 0 \\ 0 & −2 & 3 & −2 & −0.5 \\ 0 & 0 & −2 & 3 & −2 \\ 0 & 0 & 0 & −2 & 3 \end{matrix} )

angewendet. Die Tabelle zeigt die Diagonale der Matrizen S^{(k)} und das Subdiagonalelement s_{m,m−1}^{(k)}, wobei m ≤ n die aktuelle Dimension der Restmatrix ist (vgl. Satz 4.3.6).

\begin{matrix}k & s_{11} & s_{22} & s_{33} & s_{44} & s_{55} & s_{m,m−1} \\ 1 & 4.846154 & 4.088911 & 3.139369 & 1.843980 & 1.081586 & −1.653266 \\ 2 & 5.401216 & 4.602085 & 4.064473 & 0.835122 & 0.097104 & 0.740867 \\ 3 & 5.698527 & 4.970917 & 3.902994 & 0.882349 & −0.454788 & −0.965393 \\ 4 & 5.878893 & 5.162691 & 3.570136 & 0.797329 & −0.409049 & 0.467165 \\ 5 & 5.991053 & 5.211672 & 3.418541 & 1.126695 & −0.747961 & −0.132251 \\ 6 & 6.064557 & 5.203066 & 3.356221 & 1.095888 & −0.719731 & −0.001994 \\ 7 & 6.114333 & 5.179253 & 3.331381 & 1.094180 & −0.719147 & −0.000001 \\ 8 & 6.154318 & 5.149222 & 3.322309 & 1.093298 & −0.719147 & −0.000002 \\ 9 & 6.171288 & 5.130994 & 3.323566 & 1.093298 & −0.719147 & −0.000000 \\ 10 & 6.171301 & 5.122938 & 3.331609 & 1.093298 & −0.719147 & −0.000354 \\ 11 & 6.156498 & 5.137690 & 3.331661 & 1.093298 & −0.719147 & −0.000000 \\ 12 & 6.103079 & 5.191109 & 3.331661 & 1.093298 & −0.719147 & −0.007077 \\ 13 & 6.098903 & 5.195285 & 3.331661 & 1.093298 & −0.719147 & −0.000032 \\ 14 & 6.098883 & 5.195305 & 3.331661 & 1.093298 & −0.719147 & −0.000000 \end{matrix}

Das QR-Verfahren ist das Standardverfahren zur Lösung des vollständigen unsymmetrischen Eigenwertproblems. Wie im Beispiel werden nach der Anlaufphase für jeden Eigenwert meist ca. 2 QR-Schritte benötigt. Daraus leitet man einen empirischen Mittelwert für den Rechenaufwand zur Bestimmung aller Eigenwerte (ohne Transformationsmatrix U) von 16n^{3} Operationen her, die volle Schur-Normalform (S und U) benötigt

≅ 30n^{3}Operationen.

Das QR-Verfahren vereinigt in sich die anderen Iterationsverfahren. Es kann nämlich leicht gezeigt werden, daß hier u.a. sowohl eine Vektoriteration als auch eine Inverse Iteration ausgeführt werden.

a) Zunächst entspricht nach (4.3.14) ein QR-Schritt einem Schritt der orthogonalen Iteration (4.3.5) (vgl. auch (4.3.7)). Da R^{(k)} obere Dreieckmatrix ist, wird somit in der ersten Spalte von U^{(k)} eine Vektoriteration durchgeführt: AU^{(k−1)}e^{(1)} = r_{11}^{(k)}U^{(k)}e^{(1)}. b) Bei Spektralverschiebung ändert sich (4.3.15) zu

AU^{(k−1)} = U^{(k)}R^{(k)} + λ^{(k−1)}U^{(k−1)} ⟺ (A − λ^{(k−1)}I)U^{(k−1)} = U^{(k)}R^{(k)}.

Da U^{(k)} unitär ist, folgt nach Inversion und Transposition

(A^{∗} − λ̄^{(k−1)}I)^{−1}U^{(k−1)} = U^{(k)}(R^{(k−1)})^{−1}^{∗}.

Hier ist (R^{(k−1)})^{−∗} ein untere Dreieckmatrix und daher gilt (R^{(k−1)})^{−∗}e^{(n)} = e^{(n)}/r̄_{nn}^{(k)}. Analog zum ersten Teil folgt

U^{(k)}e^{(n)} = r̄_{nn}^{(k)} (A^{∗} − λ̄^{(k−1)}I)^{−1} (U^{(k−1)}e^{(n)}).

Dies ist aber ein Schritt der Inversen Iteration (4.3.4).

∥ ∥ ∥ ∥

Das QR-Verfahren führt also in der ersten Spalte der akkummulierten Transformationsmatrizen U^{(k)} eine Vektor-Iteration und in deren letzter Spalte eine Inverse Iteration durch. Der Vorläufer des QR-Verfahrens war das LR-Verfahren

A^{(0)} := A, L^{(k)}R^{(k)} := A^{(k−1)}, A^{(k)} := R^{(k)}L^{(k)},

bei dem statt der QR-Zerlegung die LR-Zerlegung der Iterierten verwendet wird. Auch dieses Verfahren bewahrt die Hessenbergform von A^{(0)} und erfordert pro Schritt sogar weniger Aufwand als das QR-Verfahren. Allerdings kann die Existenz der LR-Zerlegungen (ohne Pivotisierung) nicht garantiert werden, Pivotisierung kann andererseits die Konvergenz zerstören. Daher ist das Verfahren weniger robust als das QR-Verfahren.

4.4 Das symmetrische Eigenwertproblem

Für diesen Spezialfall können bei den besprochenen Verfahren verbesserte Varianten angegeben und präzisere Aussagen gemacht werden. Außerdem sind hier einige Spezialverfahren einsetzbar, die nicht oder nur schwer auf den unsymmetrischen Fall verallgemeinert werden können. Zwei Eigenschaften des hermiteschen Eigenwert-Problems

Ax = λx, A = A^{∗},  (4.4.1)

0 ≠ x ∈ C^{n}, erleichtern den Zugang erheblich. Eine hermitesche Matrix besitzt nämlich

• nur reelle Eigenwerte,

• eine Orthonormalbasis von Eigenvektoren.

Dies ergibt sich direkt aus der Schur-Normalform, vgl. Satz 4.1.8. Etwas direkter ist allerdings der Zugang über die quadratische Form.

Definition 4.4.1 Zur Matrix A ∈ C^{n×n} und 0 ≠ x ∈ C^{n} heißt

R_{A}[x] := \frac{x^{∗}Ax}{x^{∗}x}  (4.4.2)

der Rayleigh-Quotient an der Stelle x.

Wenn x, y auf eins normierte Eigenvektoren zu verschiedenen Eigenwerten λ ≠ μ sind, folgen die beiden Aussagen aus

λ = x^{∗}Ax = (x^{∗}Ax)T = \overline{x^{∗}A^{∗}x} = \overline{λ} und
0 = y^{∗}Ax − (Ay)^{∗}x = λy^{∗}x − μy^{∗}x = (λ − μ)y^{∗}x.

Mit Hilfe des Rayleigh-Quotienten kann bei der Vektor-Iteration eine wesentlich bessere Eigenwert-Näherung als im unsymmetrischen Fall berechnet werden.

Satz 4.4.2 Es sei x ∈ C^{n} mit ∥x∥_{2} = 1.

a) Für eine beliebige Matrix A ∈ C^{n×n} ist

∥Ax − R_{A}[x]x∥_{2} = min_{λ∈C} ∥Ax − λx∥_{2}.

b) Wenn A ∈ C^{n×n} normal ist, gilt für jeden Index k mit d_{k} := min_{j≠k} |λ_{j} −λ_{k}| > 0 die Aussage

|R_{A}[x] − λ_{k}| ≤ \frac{1}{d_{k}} ∥Ax − λ_{k}x∥_{2}^{2}.

Bemerkung: Wenn x als eine Näherung für den Eigenvektor x^{(k)} angesehen werden kann, weil ε̂:= ∥Ax − λ_{k}x∥ klein ist, dann ist nach Teil a) der Rayleighquotient dazu die beste Eigenwert-Näherung. Der Fehler dieser Eigenwert-Approximation entspricht nach Teil b) bei einfachen Eigenwerten und normalen Matrizen dem Quadrat des Fehlers ε̂ der Eigenvektor-Näherung x.

Beweis a) Die Aussage folgt direkt aus folgender quadratischer Ergänzung

∥Ax − λx∥_{2}^{2} = ∥Ax∥_{2}^{2} − 2ℜ(λ̄x^{∗}Ax) + |λ|^{2}∥x∥_{2}^{2}
= |λ − R_{A}[x]|^{2}∥x∥_{2}^{2} + ∥Ax∥_{2}^{2} − |R_{A}[x]|^{2}∥x∥_{2}^{2}.

b) Da die Eigenvektoren {x^{(j)}} einer normalen Matrix eine Orthonormalbasis bilden, gilt

x = ∑_{j=1}^{n} ξ_{j}x^{(j)}, Ax = ∑_{j=1}^{n} λ_{j}ξ_{j}x^{(j)}, R_{A}[x] = ∑_{j=1}^{n} λ_{j}|ξ_{j}|^{2},

wenn ∥x∥_{2}^{2} = ∑_{j=1}^{n} |ξ_{j}|^{2} = 1. Die Behauptung folgt aus einem Vergleich der beiden auftretenden Ausdrücke

∥Ax − λ_{k}x∥_{2}^{2} = ∑_{j≠k} |λ_{j} − λ_{k}|^{2}|ξ_{j}|^{2},
|R_{A}[x] − λ_{k}| = | ∑_{j≠k}(λ_{j} − λ_{k})|ξ_{j}|^{2}| ≤ \frac{1}{d_{k}} ∑_{j≠k} |λ_{j} − λ_{k}|^{2}|ξ_{j}|^{2}.

Insbesondere bei hermiteschen Matrizen kann die Eigenwert-Näherung bei der Vektor-Iteration durch Verwendung des Rayleigh-Quotienten verbessert werden. Für die modifizierte Iteration

\begin{matrix}z^{(k)} & := & Aq^{(k−1)}, \\ λ^{(k)} & := & q^{(k−1)}^{∗}z^{(k)} = R_{A}[q^{(k−1)}], \\ q^{(k)} & := & z^{(k)}/∥z^{(k)}∥_{2} \end{matrix} \} k = 1, 2, …  (4.4.3)

mit ∥q^{(0)}∥_{2} = 1 steht in der Konvergenzaussage

|λ^{(k)} − λ_{1}| ≤ c |\frac{λ_{2}}{λ_{1}} |^{2k} , k ≥ k_{0},

im Vergleich zu Satz 4.3.1 der doppelte Exponent 2k. Die verbesserte Eigenwert-Schätzung wirkt sich noch viel günstiger auf die Inverse Iteration (4.3.4) aus, wenn der Rayleigh-Quotient bei der Spektralverschiebung eingesetzt wird. Es sei ∥q^{(0)}∥_{2} = 1, λ^{(0)} := R_{A}[q^{(0)}], und

\begin{matrix}z^{(k)} & := & (A − λ^{(k−1)}I)^{−1}q^{(k−1)}, \\ λ^{(k)} & := & λ^{(k−1)} + z^{(k)}^{∗}q^{(k−1)}/∥z^{(k)}∥_{2}^{2}, \\ q^{(k)} & := & z^{(k)}/∥z^{(k)}∥_{2} \end{matrix} \} k = 1, 2, …  (4.4.4)

Dabei ist in der zweiten Zeile

λ^{(k)} = R_{A}[z^{(k)}] = \frac{z^{(k)}^{∗}Az^{(k)}}{∥z^{(k)}∥_{2}^{2}} = \frac{1}{∥z^{(k)}∥_{2}^{2}} z^{(k)}^{∗}(A − λ^{(k−1)}I)z^{(k)} + λ^{(k−1)} = \frac{z^{(k)}^{∗}q^{(k−1)}}{∥z^{(k)}∥_{2}^{2}} + λ^{(k−1)}.

Dieses Verfahren (4.4.4) hat jetzt extrem gute Konvergenzeigenschaften.

Satz 4.4.3 Bei einer hermiteschen Matrix A konvergiert die Inverse Iteration (4.4.4) für fast alle Startvektoren q^{(0)} gegen einen Eigenvektor x von A mit Eigenwert λ (globale Konvergenz). Bei einfachen Eigenwerten ist die Konvergenz in der Grenze kubisch, d.h., es gibt k_{0} ∈ N, c ∈ R und σ_{k} ∈ C so, daß für k ≥ k_{0} gilt

|λ^{(k)} − λ| ≤ c|λ^{(k−1)} − λ|^{3}
∥σ_{k}q^{(k)} − x∥_{2} ≤ c∥σ_{k−1}q^{(k−1)} − x∥_{2}^{3}

Beweis [Parlett, Math. Comp. 28(74), 679-693] Zur Erläuterung wird ein einfacher Spezialfall und eine Querverbindung zum Newtonverfahren betrachtet.

Beispiel 4.4.4 n = 2, A = ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{2} \end{matrix} ) (oBdA), q^{(k)} = ( \begin{matrix}c_{k} \\ s_{k} \end{matrix} ) mit c_{k}^{2} + s_{k}^{2} = 1. Dann ist (vgl.

Beweis von Satz 4.4.2)

λ^{(k)} = R_{A}[z^{(k)}] = R_{A}[q^{(k)}] = λ_{1}c_{k}^{2} + λ_{2}s_{k}^{2},

z^{(k+1)} = ( \begin{matrix}c_{k}/(λ_{1} − λ^{(k)}) \\ s_{k}/(λ_{2} − λ^{(k)}) \end{matrix} ) = \frac{1}{λ_{1} − λ_{2}} ( \begin{matrix}c_{k}/s_{k}^{2} \\ −s_{k}/c_{k}^{2} \end{matrix} ) ,

da, z.B., λ_{1} − λ^{(k)} = λ_{1}(1 − c_{k}^{2}) − λ_{2}s_{k}^{2} = (λ_{1} − λ_{2})s_{k}^{2}. Die Normierung führt dann auf

q^{(k+1)} = \frac{±1}{\sqrt{c_{k}^{6} + s_{k}^{6}}} ( \begin{matrix}c_{k}^{3} \\ −s_{k}^{3} \end{matrix} ) ⟶ ± \{ \begin{matrix}e^{(1)} & für & |c_{0}| > |s_{0}| \\ e^{(2)} & für & |c_{0}| < |s_{0}| \end{matrix} .

Außer in den Ausnahmefällen mit |c_{0}| = |s_{0}| konvergiert die Inverse Iteration also kubisch gegen einen der beiden Einheits- und Eigenvektoren.

Beispiel 4.4.5 Wird zur Eigenwert-Gleichung (4.4.1) noch eine Normierungsbedingung für den Eigenvektor hinzugefügt, ergibt sich ein nichtlineares Gleichungssystem für die n + 1 Unbekannten x, λ. Zu

F (x, λ) := ( \begin{matrix}Ax − λx \\ \frac{1}{2}(1 − x^{∗}x) \end{matrix} ) = 0, ist F′(x, λ) = ( \begin{matrix}A − λI & −x \\ −x^{∗} & 0 \end{matrix} ) .

Das Gleichungssystem eines Newton-Schritts,

F′(x^{(k)}, λ^{(k)}) ( \begin{matrix}x^{(k+1)} − x^{(k)} \\ λ^{(k+1)} − λ^{(k)} \end{matrix} ) = −F (x^{(k)}, λ^{(k)}) ⇔

\{ \begin{matrix}(A − λ^{(k)}I)x^{(k+1)} & −λ^{(k+1)}x^{(k)} & = −λ^{(k)}x^{(k)} \\ x^{(k)}^{∗}x^{(k+1)} & & = \frac{1}{2} + \frac{1}{2}∥x^{(k)}∥_{2}^{2} \end{matrix}

kann in folgender Weise gelöst werden

\{ \begin{matrix}z^{(k+1)} & := & (A − λ^{(k)}I)^{−1}x^{(k)}, \\ λ^{(k+1)} & := & λ^{(k)} + \frac{1}{2}(1 + ∥x^{(k)}∥^{2})/(x^{(k)∗}z^{(k+1)}), \\ x^{(k+1)} & := & (λ^{(k+1)} − λ^{(k)})z^{(k+1)}. \end{matrix}

Das (quadratisch konvergente) Newtonverfahren unterscheidet sich hier also nur durch die fehlende exakte Normierung (i.a. ∥x^{(k)}∥ ≠ 1) von der kubisch konvergenten Inversen Iteration.

Auch beim QR-Verfahren können die Aussagen gegenüber dem unsymmetrischen Fall verbessert werden. Nach Satz 4.2.2 kann oBdA für A Tridiagonalgestalt angenommen werden. Daher reduziert sich schon der Rechenaufwand pro QR-Schritt auf ca. 28n Operationen und n Quadratwurzeln.

Wegen des engen Zusammenhangs zwischen Vektoriteration und QR-Verfahren überträgt sich die lokal kubische Konvergenz auf (4.3.10),(4.3.12), denn

λ^{(k)} = s_{nn}^{(k)} = R_{S^{(k)}}[e^{(n)}].

Allerdings kann bei dieser Wahl in bestimmten Fällen zu Beginn nur lineare Konvergenz eintreten. In der Startphase läßt sich die Konvergenz noch weiter verbessern dadurch, daß als Spektralparameter derjenige Eigenwert des letzten 2 × 2-Blocks

( \begin{matrix}s_{n−1,n−1}^{(k)} & s_{n−1,n}^{(k)} \\ s_{n,n−1}^{(k)} & s_{n,n}^{(k)} \end{matrix} )

gewählt wird, der näher an s_{nn}^{(k)} liegt. Mit δ_{k} := \frac{1}{2}(s_{nn}^{(k)} − s_{n−1,n−1}^{(k)}) ist dies

λ^{(k)} = \frac{1}{2}(s_{nn}^{(k)} + s_{n−1,n−1}^{(k)}) + sign(δ_{k})\sqrt{δ_{k}^{2} + s_{n−1,n}^{(k)}^{2}}.  (4.4.5)

Für diese Wahl kann sogar folgende globale Konvergenzaussage gemacht werden. Eine Tridiagonalmatrix heißt dabei unzerlegbar, wenn a_{i,i−1} ≠ 0 ∀i = 2, …, n. Unzerlegbare Tridiagonalmatrizen besitzen nur einfache Eigenwerte.

Satz 4.4.6 (Wilkinson) Für eine unzerlegbare symmetrische Tridiagonalmatrix A konvergiert das QR-Verfahren (4.3.10) mit Spektralverschiebung (4.4.5) global, also ohne Startschritte. Die Konvergenz ist mindestens quadratisch, d.h., ∃ε_{0} > 0 so, daß

|s_{n−1,n}^{(k)}| ≤ ε ≤ ε_{0} ⇒ |s_{n−1,n}^{(k+1)}| ≤ c\frac{ε^{3}}{s_{n−1,n−1}^{(k)} − λ^{(k)}} ≤ cε^{2}.

Mit dieser QR-Variante können (als empirischer Wert) alle Eigenwerte mit ca. \frac{4}{3}n^{3} Operationen und die volle Schur-Normalform mit ca. 10n^{3} Operationen berechnet werden.

Außer den Modifikationen der allgemein einsetzbaren Verfahren gibt es weitere, deren Anwendungsbereich auf das symmetrische Eigenwert-Problem beschränkt ist. Diese besitzen in bestimmten Situationen Vorteile gegenüber den Standardverfahren und sind daher ebenfalls von Interesse.

Bisektionsverfahren

Mit diesem Verfahren ist es möglich, gezielt einzelne Eigenwerte der Matrix zu bestimmen. Dabei kann die Nummer oder die Lage des Eigenwerts vorgegeben werden. Die Grundlage des Verfahrens ist die Tatsache, daß die Unterdeterminanten (Haupt-Minoren)

p_{k}(λ) := det ( \begin{matrix}a_{11} − λ & a_{12} \\ a_{21} & a_{22} − λ & a_{23} \\ & ... & ... & ... \\ & & . & . & a_{k−1,k} \\ & & & a_{k,k−1} & a_{kk} − λ \end{matrix} ) , k = 1, …, n,  (4.4.6)

p_{0} :≡ 1, einer symmetrischen Tridiagonalmatrix eine sogenannte Sturmsche Kette bilden.

Definition 4.4.7 Die Folge p_{0} ≡ 1, p_{1}, …, p_{n} von reellen Polynomen wachsenden Grads bildet eine Sturmsche Kette, wenn folgende Bedingungen gelten:

1. Die Nullstellen von p_{n} sind einfach.

2. Für jede reelle Nullstelle ξ von p_{n} gilt sign p_{n−1}(ξ) = −sign p′_{n}(ξ) (≠ 0).

3. Für jede reelle Nullstelle ξ von p_{i}, i = 1, …, n − 1, gilt

p_{i−1}(ξ)p_{i+1}(ξ) < 0.

Für die Polynome einer Sturmschen Kette kann die Verteilung der reellen Nullstellen an der Vorzeichenverteilung der Folge {p_{j}(x̂)}_{j} an einer festen Stelle x̂ abgelesen werden. Dazu sei

w(x̂) := Anzahl der Vorzeichenwechsel in (p_{0}(x̂), p_{1}(x̂), …, p_{n}(x̂))  (4.4.7)

mit der Verabredung, daß zuvor alle verschwindenden Werte p_{j}(x̂) = 0 aus der Folge entfernt werden. Dann gilt Satz 4.4.8 Die Anzahl der reellen Nullstellen des Polynoms p_{n} einer Sturmschen Kette im Intervall [a, b] ist gleich

w(b) − w(a).

Beweis [Stoer, Numer. Math. 1]

Um den Satz auf das Eigenwertproblem anwenden zu können, ist nachzuweisen, daß die Haupt-Minoren p_{k} aus (4.4.6) tatsächlich die Bedingungen aus Definition 4.4.7 erfüllen. Dazu, und zur numerischen Auswertung dient folgende Rekursionsformel.

p_{0}(λ) := 1, p_{1}(λ) := a_{11} − λ,
p_{k+1}(λ) := (a_{k+1,k+1} − λ)p_{k}(λ) − |a_{k+1,k}|^{2}p_{k−1}(λ), k = 1, …, n − 1.  (4.4.8)

Beweis Entwicklung nach der letzten Zeile in (4.4.6):

p_{k+1} = (a_{k+1,k+1} − λ)p_{k} − a_{k+1,k} | \begin{matrix}... & & ⋮ \\ & a_{k−1,k−1} − λ & 0 \\ ⋯ & a_{k,k−1} & a_{k,k+1} \end{matrix} | .

Also kann insbesondere der Wert p_{n}(λ) mit 4n Operationen bestimmt werden.

Beispiel 4.4.9

T = ( \begin{matrix}1 & −1 & 0 & 0 \\ −1 & 2 & −1 & 0 \\ 0 & −1 & 3 & −1 \\ 0 & 0 & −1 & 4 \end{matrix} ) ⇒ \{λ_{j}\} ≐ \{0.25, 1.82, 3.18, 4.74\}.

In x̂ = 2 ist (p_{0}(2), …, p_{4}(2)) = (1, −1, −1, 0, 1). Bei der Zählung der Vorzeichenwechsel wird die Null gestrichen, es ergibt sich w(2) = 2. Wegen w(−∞) = 0 liegen 2 Eigenwerte links von x̂ = 2.

Satz 4.4.10 Die Matrix A ∈ C^{n×n} sei eine unzerlegbare, hermitesche Tridiagonalmatrix. Dann gelten für die Polynome p_{k} , k = 0, …, n, aus (4.4.6), (4.4.8) die Aussagen

a) p_{k} ∈ Π_{k}, p_{k}(λ) = (−λ)^{k} + …, d.h. p_{k}(λ) → \{ \begin{matrix}∞, & λ → −∞ \\ (−1)^{k}∞, & λ → ∞ \end{matrix}

b) Das Polynom p_{k}, k > 0, hat k reelle, einfache Nullstellen λ_{1}^{(k)} < … < λ_{k}^{(k)}, die durch die Nullstellen von p_{k−1} getrennt werden,

λ_{1}^{(k)} < λ_{1}^{(k−1)} < λ_{2}^{(k)} < … < λ_{k−1}^{(k−1)} < λ_{k}^{(k)}.

c) p_{k}(ξ) = 0 ⇒ p_{k−1}(ξ)p_{k+1}(ξ) < 0.

d) sign p_{k−1}(λ_{j}^{(k)}) = −sign p′_{k}(λ_{j}^{(k)}), j = 1, …, k.

Beweis a) Folgt aus (4.4.8).

c) Aus (4.4.8) folgt für p_{k}(ξ) = 0 direkt p_{k+1}(ξ) = −|a_{k+1,k}|^{2}p_{k−1}(ξ). Dabei ist a_{k+1,k} ≠ 0 n.V., also gilt p_{k+1}(ξ)p_{k−1}(ξ) ≤ 0. Keiner der beiden Werte kann aber verschwinden, da sonst aus (4.4.8) p_{0}(ξ) = 0 folgen würde.

b) Die Nullstellen sind reell, da die p_{k} charakteristische Polynome symmetrischer Matrizen sind. Die Trennungseigenschaft folgt induktiv dadurch, daß für jedes Polynom die Vorzeichenverteilung in und zwischen den Nullstellen aufgelistet wird:

{ [figure: +; 0; −; 0; +; 0; −; +; 0; −; 0; +; +; 0; −; +; p_{0} :; p_{1} :; p_{2} :; p_{3} :]  (4.4.9)

Dabei folgt die Vorzeichenverteilung am linken und rechten Rand aus a), die vertikalen Pfeile deuten die Folgerung c) an, auf die Existenz der Nullstellen schließlich kann aus den Vorzeichenwechseln geschlossen werden. Da bei p_{k} jeweils k Nullstellen auftreten, sind alle einfach.

d) Folgt ebenfalls aus (4.4.9): sign p_{k−1}(λ_{j}^{(k)}) = sign (p_{k}(λ_{j}^{(k)} − ϵ) − p_{k}(λ_{j}^{(k)} + ϵ)).

Mit Hilfe von Satz 4.4.8 kann ein sehr einfaches Verfahren zur Bestimmung eines beliebigen Eigenwerts λ_{m}, 1 ≤ m ≤ n, angegeben werden. Ausgehend von einem Startintervall [a, b], z.B., [a, b] = [−∥A∥, ∥A∥], wird die Einschließung von λ_{m} durch Bisektion anhand der Vorzeichenwechsel w schrittweise verbessert:

wiederhole:

λ := (a + b)/2;

falls w(λ) ≥ m, dann b := λ

sonst: a := λ;

bis |a − b| ≤ eps(|a| + |b|);

(4.4.10)

Bessere a-priori-Einschließungen der Eigenwerte werden im nächsten Teilparagraphen behandelt. Jedes der erzeugten Teilintervalle enthält wegen w(−∞) = 0 den Eigenwert λ_{m}. Die Konvergenz des Bisektionsverfahrens (4.4.10) ist im Vergleich zur Endkonvergenz der anderen Verfahren recht langsam, da die Intervallänge in jedem Schritt nur halbiert wird (⇒ Konvergenzfaktor = \frac{1}{2}). Es bietet sich aber an, gerade bei nahe zusammenliegenden Eigenwerten, zur Bestimmung eines Startintervalls, das nur λ_{m} enthält. Die genaue Berechnung dieses Eigenwertes und des zugehörigen Eigenvektors kann dann schneller mit der Inversen Iteration vorgenommen werden.

Jacobi-Verfahren

Das Grundprinzip dieses Verfahrens besteht darin, durch einfache unitäre Ähnlichkeitstransformationen einzelne Nebendiagonalelemente der gesamten Ausgangsmatrix (d.h. ohne Vortransformation auf Tridiagonalgestalt) zu Null zu machen. Das Verfahren ist zwar mit ca. 32n^{3} Operationen aufwendiger als das QR-Verfahren mit \frac{4}{3}n^{3} Operationen, hat aber den Vorteil eines einfachen Aufbaus und der Parallelisierbarkeit (→ Superrechner). Zur Transformation werden bei reellen Matrizen elementare Rotationen der Gestalt

J(p, q; ϑ) := ( \begin{matrix}1 & ... & 1 \\ & & & c & & & & s \\ & & & & 1 & ... & 1 \\ & & & −s & & & & c \\ & & & & & & & & 1 & ... & 1 \end{matrix} ) ,  (4.4.11)

mit c := cos ϑ, s := sin ϑ, benutzt. Die Einträge c und ±s stehen dabei in den Zeilen und Spalten p und q. Der Winkel ϑ wird so bestimmt, daß die Elemente b_{pq} = b_{qp} in der transformierten Matrix

B := J^{∗}AJ  (4.4.12)

verschwinden. Die Wirkung der beiden Multiplikationen ist, mit A′ := J^{∗}A,

\begin{matrix}a′_{pj} = ca_{pj} − sa_{qj} \\ a′_{qj} = sa_{pj} + ca_{qj} \end{matrix} \} j = 1, …, n, a′_{ij} = a_{ij} für i ≠ p, q,

\begin{matrix}b_{ip} = ca′_{ip} − sa′_{iq} \\ b_{iq} = sa′_{ip} + ca′_{iq} \end{matrix} \} i = 1, …, n, b_{ij} = a′_{ij} für j ≠ p, q,

Die Transformation (4.4.12) ändert A also nur im schraffierten Bereich

B := (  ) .

Insbesondere ergeben sich

b_{pp} = c^{2}a_{pp} − 2csa_{pq} + s^{2}a_{qq},
b_{qq} = s^{2}a_{pp} + 2csa_{pq} + c^{2}a_{qq},  (4.4.13)
b_{qp} = b_{pq} = (a_{pp} − a_{qq})cs + a_{pq}(c^{2} − s^{2}) =^{!} 0.

Natürlich gilt b_{pp} + b_{qq} = a_{pp} + a_{qq}. Das Verschwinden des Ausdrucks in der dritten Gleichung ist äquivalent mit

\frac{1}{2}(a_{pp} − a_{qq}) sin 2ϑ + a_{pq} cos 2ϑ = 0.

Für den nichttrivialen Fall a_{pq} ≠ 0 definiert dies den Winkel ϑ (oBdA |ϑ| ≤ \frac{π}{4} ), nämlich

cot 2ϑ = \frac{a_{qq} − a_{pp}}{2a_{pq}} =: z.  (4.4.14)

Für die Transformation werden nicht ϑ, sondern cos ϑ und sin ϑ benötigt. Für t := tan ϑ ist

cot 2ϑ = \frac{1 − t^{2}}{2t} = z ⟺ t^{2} − 2zt − 1 = 0.

Die betragskleinste Lösung dieser Gleichung ist

t = \{ \begin{matrix}1, & z = 0, \\ \frac{sign z}{|z| + \sqrt{1 + z^{2}}} , & z ≠ 0, \end{matrix}

aus der sich die Transformationsparameter ableiten,

c = \frac{1}{\sqrt{1 + t^{2}}} = cos ϑ, s = tc = sin ϑ.

Die Transfomationsformeln (4.4.13) können noch vereinfacht werden,

b_{pp} = a_{pp} − ta_{pq}, b_{qq} = a_{qq} + ta_{pq}, b_{pq} = b_{qp} = 0,  (4.4.15)

während sich für die restlichen Elemente wegen der Symmetrie ergibt

\begin{matrix}b_{pi} = b_{ip} & = & ca_{ip} − sa_{iq} \\ b_{qi} = b_{iq} & = & sa_{ip} + ca_{iq} \end{matrix} \} \begin{matrix}i = 1, …, n, \\ i ≠ p, q. \end{matrix}  (4.4.16)

Rechenaufwand

pro Jacobi-Schritt: 6n Operationen.

Zur iterativen Durchführung des Jacobi-Verfahrens ist eine Auswahl der Matrix-Elemente a_{pq} durchzuführen. In Frage kommen (u.a.) zwei Strategien

• klassische Strategie, das betragsgrößte Nebendiagonalelement wird auf Null transformiert,

a_{pq} = max_{j≠i} |a_{ij}|.

Die Maximumbestimmung kann allerdings aufwendiger sein als die Transformation.

• Zyklische Strategie, alle Nebendiagonalelemente werden der Reihe nach bearbeitet, p = 1, 2, …, n − 1, q = p + 1, …, n. Modifikation: zu kleine Elemente werden übersprungen.

Eine Analyse der Konvergenz des Jacobi-Verfahrens ist einfach möglich durch Betrachtung der Quadratsumme aller Nebendiagonalelemente,

S(A) := ∑_{j>i} a_{ij}^{2}.  (4.4.17)

Wegen der Orthogonalität der Matrix J gilt nach (4.4.16)

\begin{matrix}b_{ip}^{2} + b_{iq}^{2} & = & a_{ip}^{2} + a_{iq}^{2} \\ b_{pj}^{2} + b_{qj}^{2} & = & a_{pj}^{2} + a_{qj}^{2} \end{matrix} \} i, j ≠ p, q.

Da durch die Transformation a_{pq} eliminiert wird, ist

S(B) = S(J^{∗}AJ) = S(A) − a_{pq}^{2}.  (4.4.18)

Insbesondere wird die nichtnegative Größe S verkleinert. Daraus folgt Satz 4.4.11 Beim Jacobi-Verfahren, A^{(0)} := A,

A^{(k+1)} := J^{(k)}^{∗}A^{(k)}J^{(k)}, J^{(k)} := J(p, q, ϑ),

mit klassischer oder zyklischer Strategie konvergiert die Folge A^{(k)} gegen eine Diagonalmatrix der Eigenwerte von A. Beim klassischen Verfahren gilt die a-priori-Schranke

S(A^{(k)}) ≤ (1 − \frac{2}{n(n − 1)})^{k}S(A).

Beweis (klassische Strategie): Nach (4.4.18) ist S(A^{(k)}) eine streng monoton fallende, nach unten durch null beschränkte Folge. Außerdem gilt hier, bei Wahl des maximalen Matrixelements

S(A^{(k)}) ≤ \frac{n(n − 1)}{2}a_{pq}^{(k)} ⇒ S(A^{(k+1)}) ≤ (1 − \frac{2}{n(n − 1)})S(A^{(k)}).

Nach (4.4.15) ist die Änderung der Hauptdiagonalen pro Schritt durch \sqrt{S(A^{(k)})} beschränkt.

Bei einer Matrix mit nur einfachen Eigenwerten, bei denen also

d := min_{i≠j} |λ_{i} − λ_{j}| > 0

positiv ist, tritt bei beiden Strategien sogar quadratische Konvergenz ein, wenn volle Zyklen, d.h., N := \frac{1}{2}n(n − 1) Schritte betrachtet werden. Dann gilt

S(A^{(k+N)}) ≤ \frac{c_{n}}{d^{2}} S(A^{(k)})^{2}.

Beispiel 4.4.12 Die Eigenwerte der Matrix

A := ( \begin{matrix}20 & −7 & 3 & −2 \\ −7 & 5 & 1 & 4 \\ 3 & 1 & 3 & 1 \\ −2 & 4 & 1 & 2 \end{matrix} )

sind {λ_{j}} ≐ {23.5, 6.46, 1.17, −1.16}, also d ≐ 2.3. Das zyklische Verfahren liefert

\begin{matrix}k = & 0 & 6 & 12 & 18 & 24 \\ S(A^{(k)}) = & 80 & 2.9 & 6.9_{10} − 3 & 5.5_{10} − 10 & 1.9_{10} − 31 \end{matrix}

4.5 Überblick der Eigenwert-Verfahren

Die folgende Tabelle faßt die Eigenschaften und die Einsatzbereiche der behandelten Verfahren zusammen. Das am Ende erwähnte Lanczos-Verfahren wird im nächsten Kapitel besprochen.

Verfahren für Eigenwertprobleme

Verfahren  Unsym. EWP  Symm. EWP  für Poblemklasse
Vektor-Iteration  +  +

größter EW u. EV, v.a. dünnbesetzte Matrix

Inverse Iteration evtl. pro- blematisch kubisch u. global konvergent zu λ_{0} nächster EW u. EV, z.B. nach QR-Verfahren, Bisektion

orthogonale Iteration + + Gruppe größter EWe, invarianter Unterraum

QR-Verfahren + kubisch u. global konvergent Standardverfahren für volle Matrix: Schur-Normalform

Bisektion

−

lineare Konvergenz für k-ten EW, EW-Haufen, kein EV (→ Inverse Iteration)

Jacobi-Verfahren − quadratische Konvergenz alle EWe: Schurnormalform, parallelisierbar

Lanczos-Verfahren  −  +

größte EWe, schnelle Approximation bei dünnbesetzter Matrix

4.6 Eigenwert- und Fehler-Schranken

Wie in der Numerik I wird ein Algorithmus als gutartig bezeichnet, wenn er die exakte Lösung eines nur leicht gestörten Ausgangsproblems liefert. Große Fehler in den berechneten Lösungen sind bei solchen gutartigen Verfahren auf eine zu große Fehleranfälligkeit (schlechte Kondition) des Ausgangsproblem zurückzuführen.

In diesem Sinn sind die behandelten Verfahren gutartig. Bei den Transformationsverfahren mit unitären Matrizen (Hessenberg-Transf., QR-, Jacobi-Verfahren) etwa gilt, daß das Ergebnis bei numerischer Rechnung statt der exakten Matrix T = Q^{∗}AQ eine Matrix T̃ ist mit

T̃ = Q^{∗}(A + F)Q, ∥F ∥_{2} ≤ c · eps∥A∥_{2}.  (4.6.1)

Dabei ist eps die Maschinengenauigkeit und c eine harmlose Konstante, die i.w. von der Zahl der Rechenoperationen abhängt. Diese überschaubaren Störungen des Problems können sehr unterschiedliche Störungen der Lösungen beim Eigenwertproblem zur Folge haben. Diese Auswirkungen hängen von den Eigenschaften der Matrix ab. Das symmetrische Eigenwertproblem ist dabei sehr unempfindlich gegen Störungen, also gut konditioniert. Dies folgt aus

Satz 4.6.1 (Courantsches Maximum-Minimum-Prinzip) Die Eigenwerte der hermiteschen Matrix A ∈ C^{n×n} seien geordnet nach λ_{1} ≥ λ_{2} ≥ … ≥ λ_{n}. Wenn S lineare Unterräume des C^{n×n} bezeichnet, dann ist

λ_{j} = max_{dim S=j} min_{0≠y∈S} R_{A}[y], j = 1, …, n.

Sobald in den folgenden Aussagen verschiedene Matrizen A, B, … auftreten, werden deren Eigenwerte mit λ_{j}(A), λ_{j}(B), … bezeichnet, sie seien wie in Satz 4.6.1 fallend angeordnet. Eine direkte Folgerung des Minimax-Prinzips ist

Satz 4.6.2 Sind A und A + F hermitesch, dann gilt

λ_{j}(A) + λ_{n}(F) ≤ λ_{j}(A + F) ≤ λ_{j}(A) + λ_{1}(F), j = 1, …, n.

Beweis für die untere Schranke: Da R_{A+F} [y] = R_{A}[y] + R_{F} [y] ist

λ_{j}(A + F) = max_{dim S=j} min_{y∈S} (R_{A}[y] + R_{F} [y]) ≥ max_{dim S=j} ( min_{y∈S} R_{A}[y] + min_{z∈S} R_{F} [z])
≥ max_{dim S=j} min_{y∈S} R_{A}[y] + min_{z∈C^{n}} R_{F} [z].

Die letzte Größe stimmt mit der linken Seite der Behauptung überein.

Die Störung der Eigenwerte von A hat insbesondere höchstens den Betrag ϱ(F) = ∥F ∥_{2}, es gilt also |λ_{j}(A + F) − λ_{j}(A)| ≤ ∥F ∥_{2}. Bei den Eigenvektoren kann die Störung allerdings größer ausfallen. Im folgenden Satz wird davon ausgegangen, daß eine Näherung x für einen Eigenvektor und λ für den zugehörigen Eigenwert (z.B. durch den Rayleigh-Quotienten) bekannt ist.

Satz 4.6.3 Gegeben sei eine hermitesche Matrix A und ein Paar (x, λ) mit x ≠ 0. Damit sei

∥Ax − λx∥_{2} ≤ ε∥x∥_{2} bzw. ∥Ax − λx∥_{2} ≤ δ∥Ax∥_{2}.  (4.6.2)

a) Dann gilt

min_{j} |λ_{j} − λ| ≤ ε bzw. min_{λ_{j}≠0} |1 − \frac{λ}{λ_{j}} | ≤ δ.

b) Ist λ_{k} der zu λ nächstgelegene Eigenwert, bei dem also min_{j} |λ_{j} − λ| angenommen wird, und ist dieser einfach mit d_{k} := min_{j≠k} |λ_{j} − λ_{k}| > 0, dann gilt

min_{ξ∈R} ∥x − ξx^{(k)}∥_{2} ≤ 2\frac{ε}{d_{k}} ∥x∥_{2}.

Beweis Da die Eigenvektoren eine Orthonormalbasis bilden, gilt für x = ∑_{j=1} ξ_{j}x^{(j)} in Teil a):

min_{j}(λ_{j} − λ)^{2} ∑_{j} |ξ_{j}|^{2} ≤ ∑_{j=1}^{n}(λ_{j} − λ)^{2}|ξ_{j}|^{2} = ∥Ax − λx∥_{2}^{2} ≤ ε^{2}∥x∥_{2}^{2} = ε^{2} ∑_{j} |ξ_{j}|^{2}.

Für die zweite Ungleichung gilt mit η_{j} := ξ_{j}λ_{j}:

min_{λ_{j}≠0}(1 − λ/λ_{j})^{2} ∑_{j} |η_{j}|^{2} ≤ ∑_{λ_{j}≠0}(1 − λ/λ_{j})^{2}|λ_{j}ξ_{j}|^{2} + λ^{2} ∑_{λ_{j}=0} |ξ_{j}|^{2}
= ∥Ax − λx∥_{2}^{2} ≤ δ^{2}∥Ax∥_{2}^{2} = δ^{2} ∑_{j} |η_{j}|^{2}.

b) Nach Teil a) folgt

ε∥x∥_{2} ≥ ∥Ax − λ_{k}x∥_{2} − |λ − λ_{k}|∥x∥_{2} ≥ ∥Ax − λ_{k}x∥_{2} − ε∥x∥_{2}.

Dies bedeutet

4ε^{2}∥x∥_{2}^{2} ≥ ∥Ax − λ_{k}x∥_{2}^{2} = ∑_{j≠k}(λ_{j} − λ_{k})^{2}|ξ_{j}|^{2} ≥ d_{k}^{2} ∑_{j≠k} |ξ_{j}|^{2} = d_{k}^{2}∥x − ξ_{k}x^{(k)}∥_{2}^{2}.

Wegen der Orthogonalität der Eigenvektor-Basis wird min_{ξ} ∥x − ξx^{(k)}∥_{2} in ξ_{k} angenommen.

Bemerkung: 1) Nach Satz 4.4.2 ist der Rayleighquotient R_{A}[x] die beste Eigenwert-Schätzung zur Eigenvektor-Näherung x. Aus dem Beweis dieses Satzes folgt (bei ∥x∥_{2} = 1)

ε^{2} = ∥Ax − R_{A}[x]x∥_{2}^{2} = ∥Ax∥_{2}^{2} − R_{A}[x]^{2},

und für beliebige λ die Beziehung ∥Ax − λx∥_{2}^{2} = ε^{2} + |λ − R_{A}[x]|^{2}. Daher gilt

min_{j} |λ_{j} − R_{A}[x]| ≤ \frac{1}{d_{k}} ∥Ax − λ_{k}x∥_{2}^{2} = \frac{1}{d_{k}} (|λ_{k} − R_{A}[x]|^{2} + ε^{2}) ≤ 2\frac{ε^{2}}{d_{k}} .  (4.6.3)

Für ε < d_{k}/2 ist diese Schranke besser als die aus Satz 4.6.3.

2) Die in der ersten Bemerkung verwendete Größe ε ist bei der Vektoriteration (4.4.3) bzw. (4.4.4) einfach verfügbar. Bei der Inversen Iteration (4.4.4) etwa gilt mit λ^{(k)} = R_{A}[x^{(k)}] und B_{k−1} := A − λ^{(k−1)}I:

ε^{2}∥z^{(k)}∥_{2}^{2} = ∥Az^{(k)} − λ^{(k)}z^{(k)}∥_{2}^{2} = ∥Az^{(k)} − λ^{(k−1)}z^{(k)} − (λ^{(k)} − λ^{(k−1)})z^{(k)}∥_{2}^{2}
= ∥B_{k−1}z^{(k)} − R_{B_{k−1}}[z^{(k)}]z^{(k)}∥_{2}^{2} = ∥q^{(k−1)}∥_{2}^{2} − (z^{(k)}^{∗}q^{(k−1)}/∥z^{(k−1)}∥_{2})^{2}
= 1 − (z^{(k)}^{∗}q^{(k−1)}/∥z^{(k−1)}∥_{2})^{2}.

Alle hier auftretenden Größen werden bei der Inversen Iteration sowieso berechnet, mit Satz 4.6.3 steht also ein einfaches Abbruchkriterium zur Verfügung.

3) Beim symmetrischen QR-Verfahren sind die Einheitsvektoren Näherungs-Eigenvektoren der Matrizen S^{(k)}. Für x = e^{(n)} ist R_{S}[x] = s_{nn} und ∥Sx−s_{nn}x∥_{2} = |s_{n−1,n}| =: ε. Ein Eigenwert von S unterscheidet sich von s_{nn} also höchstens um den Betrag |s_{n−1,n}|.

Beispiel 4.6.4 Die Eigenwerte von

A = ( \begin{matrix}1 & 2 & 7/3 \\ 2 & 2 & 3 \\ 7/3 & 3 & 3 \end{matrix} )

sind {λ_{j}} ≐ {7.09, −0.5293, −0.562}, daher d_{2} ≅ 1/30. Für x = (0.529, 0.439, −0.723)^{T} ist R_{A}[x] ≐ −0.529326 eine Eigenwert-Näherung der Genauigkeit ε = 7.3_{10}−4. Für den Eigenvektor ergibt sich die gröbere Schranke ∥x − x^{(2)}∥ ≤ 1.2_{10} − 2.

Im Gegensatz zum symmetrischen Eigenwertproblem können bei unsymmetrischen (genauer: nicht-normalen) Matrizen die Eigenwerte und -Vektoren sehr empfindlich auf Störungen reagieren. Zunächst wird aber eine globale Aussage über die Lage der Eigenwerte behandelt.

Satz 4.6.5 (Gerschgorin) Zur Matrix A ∈ C^{n×n} sei definiert

r_{i} := ∑_{j≠i^{j=1}}^{n} |a_{ij}|, i = 1, …, n.  (4.6.4)

Dann liegen alle Eigenwerte von A in der Vereinigung der Kreisscheiben

Kr_{i}(a_{ii}) := {z ∈ C : |z − a_{ii}| ≤ r_{i}}, i = 1, …, n.

Beweis Es werde angenommen, ein Eigenwert λ liege außerhalb aller Kreisscheiben, sein Eigenvektor sei x mit 1 = ∥x∥_{∞} = |x_{k}|. Dann folgt

0 = |(a_{kk} − λ)x_{k} + ∑_{j≠k} a_{kj}x_{j}| ≥ |a_{kk} − λ||x_{k}| − ∑_{j≠k} |a_{kj}|∥x∥_{∞} = (|a_{kk} − λ| − r_{k})∥x∥_{∞} > 0.

Dies ist offensichtlich ein Widerspruch.

Beispiel 4.6.6 Für die Matrix des letzten Beispiels ist r_{1} ≐ 4.33, r_{2} = 5, r_{3} ≐ 5.33. Im Reellen gilt K_{1} ≐ [−3.33, 5.33], K_{2} = [−3, 7], K_{2} ≐ [−2.33, 8.33]. Die Vereinigung dieser drei Intervalle ist [−3.33, 8.33].

Bemerkung: 1) Wenn die Menge ⋃_{i=1}^{n} K_{r_{i}}(a_{ii}) in mehrere, nicht zusammenhängende Teile zerfällt, kann gezeigt werden, daß in jeder Komponente der Menge soviele Eigenwerte liegen, wie Kreise dazugehören.

2) Durch Anwendung des Satzes auf A^{T} oder

D^{−1}AD = (\frac{d_{j}}{d_{i}} a_{ij})_{i,j}, D = diag(d_{i}),

lassen sich die Schranken eventuell (für einzelne Eigenwerte) verbessern.

Besonders empfindlich können mehrfache Eigenwerte auf Störungen reagieren.

Beispiel 4.6.7 Der doppelte Eigenwert 1 der Matrix A = ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ) spaltet sich bei Addition

der Matrix F = ( \begin{matrix}0 & 0 \\ ε & 0 \end{matrix} ) auf in die beiden Eigenwerte λ_{1/2}(A + F) = 1 ± \sqrt{ε}. Die Eigenwerte hängen hier also nicht-differenzierbar von ε ab!

Zur Verallgemeinerung der obigen Störungssätze kann im unsymmetrischen Fall die Jordanoder die Schur-Normalform herangezogen werden.

Satz 4.6.8 Die Matrix A sei diagonalisierbar mit A = XJX^{−1}. Dann gilt für j = 1, …, n die Schranke

min_{i} |λ_{j}(A + F) − λ_{i}(A)| ≤ ∥F ∥κ(X).

Diese Aussage gilt in der 1, 2, ∞-Norm mit der zugehörigen Konditionszahl κ(X) = ∥X∥∥X^{−1}∥.

Beweis Es sei λ Eigenwert von A+F und x ein zugehöriger Eigenvektor mit Norm eins, ∥x∥ = 1. λ sei aber (oBdA) kein Eigenwert von A. Dann gilt

λx − Ax = F x ⟺ x = (λI − A)^{−1}F x ⇒
1 = ∥x∥ ≤ ∥(λI − A)^{−1}F ∥ ≤ ∥(λI − A)^{−1}∥∥F ∥  (4.6.5)
≤ ∥(λI − J)^{−1}∥κ(X)∥F ∥ = \frac{1}{min_{j} |λ_{j} − λ|}κ(X)∥F ∥

Der allgemeinste Fall wird erst durch den folgenden Satz abgedeckt, bei dem von der Schur-Normalform A = USU^{∗} ausgegangen wird. Dabei wird die Dreieckmatrix S zerlegt in die Diagonale Λ = diag(λ_{j}) und den Rest M, S = Λ + M. Die Norm ∥M∥_{2} ist ein Maß dafür, wieweit sich A von einer normalen Matrix unterscheidet.

Satz 4.6.9 Es sei U^{∗}AU = S = Λ + M die Schur-Normalform der Matrix A und p ≤ n so, daß |M|^{p} = 0 ist. Es sei

ϑ := ∥F ∥_{2} ∑_{j=0}^{p−1} ∥M∥_{2}^{j}.

Dann gilt für j = 1, …, n die Schranke

min_{i} |λ_{j}(A + F) − λ_{i}(A)| ≤ max{ϑ, ϑ^{1/p}}.

Beweis Hier wird in (4.6.5) eine andere Abschätzung der Inversen verwendet,

∥(λI − A)^{−1}∥_{2} = ∥(λI − Λ − M)^{−1}∥_{2} ≤ ∥(λI − Λ)^{−1}∥∥(I − (λI − Λ)^{−1}M)^{−1}∥_{2}.

Mit d := ∥(λI − Λ)^{−1}∥_{2}^{−1} = min_{j} |λ_{j} − λ| und dem Satz von Neumann folgt

∥(I − (λI − Λ)^{−1}M)^{−1}∥_{2} ≤ ∑_{j=0}^{p−1} d^{−j}∥M∥_{2}^{j},

da mit |M|^{p} = 0 auch [(λI − Λ)^{−1}M]^{p} = 0. Die Beziehung (4.6.5) führt daher hier auf

1 ≤ ∥F ∥_{2} \frac{1}{d} ∑_{j=0}^{p−1} \frac{1}{d^{j}} ∥M∥_{2}^{j} ≤ ∥F ∥_{2} ∑_{j=1}^{p−1} ∥M∥_{2}^{j} max\{d^{−1}, d^{−p}\}.

Also folgt mit min{d, d^{p}} ≤ ϑ ⟺ d ≤ max{ϑ, ϑ^{1/p}} die Behauptung.

Beide Sätze zeigen, daß für große Werte von κ(X) bzw. ∥M∥_{2} kleine Änderungen der Matrix A große Störungen in den Eigenwerten zur Folge haben können. Nach (4.6.1) ist bei allen numerischen Algorithmen mit einer Störmatrix mindestens in der Größenordnung der Maschinengenauigkeit eps zu rechnen. Nach Satz 4.6.9 können daraus Eigenwertstörungen der Größe (eps)^{1/p} erwachsen, die wesentlich über der Maschinengenauigkeit liegen.

Allerdings können verschiedene Eigenwerte der gleichen Matrix sehr unterschiedlich auf Störungen reagieren. So läßt sich zeigen, daß für einen einfachen Eigenwert λ(A) der Matrix A bei Störung durch eine Matrix εF, ∥F ∥_{2} = 1, gilt

lim_{ε→0} |\frac{λ(A + εF) − λ(A)}{ε}| ≤ \frac{1}{|y^{∗}x|},  (4.6.6)

wobei x und y die Rechts- und Links-Eigenvektoren der Länge eins zum Eigenwert λ(A) sind. Der Eigenwert λ ist dann gut (schlecht) konditioniert, wenn x und y einen kleinen (großen) Winkel miteinander bilden. Da bei normalen Matrizen gilt x = y, folgt auch aus diesem Ergebnis die Robustheit des entsprechenden Eigenwertproblems.

Beispiel 4.6.10 A = ( \begin{matrix}1 & 1 \\ ε & 1 \end{matrix} ) , λ_{1/2} = 1 ± \sqrt{ε}.

x^{(1/2)} = \frac{1}{\sqrt{1 + ε}} ( \begin{matrix}1 \\ ±\sqrt{ε} \end{matrix} ) , y^{(1/2)} = \frac{1}{\sqrt{1 + ε}} ( \begin{matrix}±\sqrt{ε} \\ 1 \end{matrix} ) .

Die Eigenwerte sind sehr schlecht konditioniert, denn

\frac{1}{|y^{∗}x|} = \frac{1 + ε}{2\sqrt{ε}}.

Die um ε veränderte Matrix ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ) besitzt den um \sqrt{ε} gestörten doppelten Eigenwert 1.

Vor dem Hintergrund des Satzes 4.6.5 und des letzten Beispiels kann im unsymmetrischen Fall i.a. nicht erwartet werden, daß Eigenwerte oder Eigenvektoren bis auf Maschinengenauigkeit exakt berechnet werden können. Sie werden aber numerisch akzeptabel genannt, wenn sie exakte Eigenwerte/Eigenvektoren einer Matrix A + F sind mit ∥F ∥ ≅ eps∥A∥. In diesem Sinn liefern die behandelten Transformationsverfahren (Hessenberg-, QR-, Jacobi-) wegen (4.6.1) numerisch akzeptable Approximationen.

5 Iterationsverfahren für große Matrizen

Die stetige Entwicklung bei Computern zu immer höheren Rechenleistungen und Speicherkapazitäten hat dazu geführt, daß immer feinere und komplexere Modelle realer Prozesse aufgestellt und numerisch gelöst werden können. Gerade dann machen sich aber auch Effizienzunterschiede verschiedener Verfahren (unterschiedliche Komplexitätsordnungen) immer stärker bemerkbar. Außerdem spielen Struktureigenschaften ein stärkere Rolle. Bei vielen Modellen treten lineare Gleichungssysteme oder Eigenwertprobleme mit sehr großen Matrizen als Unterprobleme auf. Wegen der meist lokal beschränkten Kopplung zwischen den Unbekannten (z.B. nur lokale Nachbarschaften) sind diese Matrizen oft dünn besetzt.

Bei einer Reihe von Iterationsverfahren kann diese Eigenschaft einfach ausgenutzt werden, etwa dann, wenn die Matrix A nicht explizit bekannt sein muß, sondern nur über Matrix-Vektor-Produkte Ax eingeht. Andere Verfahren wurden in der Numerik I behandelt, z.B. das Gesamtschritt-, Einzelschritt- und SOR-Verfahren. Unglücklicherweise wird bei den meisten Iterationsverfahren für wichtige Problemklassen die Konvergenz bei wachsender Problemgröße n immer schlechter (d.h. ϱ(B_{n}) → 1, n → ∞). Das früher ebenfalls behandelte Relaxationsverfahren läßt sich aber auf einfache Weise verbessern.

5.1 Polynomielle Beschleunigungsverfahren

Es wird die Fixpunktgleichung

x = Bx + r ⟺ Ax = r mit A = I − B,  (5.1.1)

x, r ∈ R^{n}, A, B ∈ R^{n×n} betrachtet, die Lösung sei z. In der Numerik I wurde zu deren Lösung das Relaxationsverfahren

x^{(k+1)} = (1 − ω)x^{(k)} + ω(Bx^{(k)} + r) = x^{(k)} + ω(r − Ax^{(k)}), k = 0, 1, …,  (5.1.2)

betrachtet mit dem Parameter ω ∈ R. Die Iterationsmatrix des Verfahrens war

B(ω) = (1 − ω)I + ωB = I − ωA

und besaß bei reellen Eigenwerten 0 < λ_{n}(A) ≤ … ≤ λ_{1}(A) einen minimalen Spektralradius

ϱ(B(ω̂)) = \frac{λ_{1}(A) − λ_{n}(A)}{λ_{1}(A) + λ_{n}(A)} in ω̂ = \frac{2}{λ_{1}(A) + λ_{n}(A)}.  (5.1.3)

Der (asymptotische) Konvergenzfaktor ϱ(B(ω̂)) hängt alleine von dem Verhältnis λ_{1}/λ_{n} der Eigenwerte von A ab. In Anlehnung an die Numerik I wird daher die Spektral-Konditionszahl eine regulären Matrix definiert durch

κ̂(A) := ϱ(A)ϱ(A^{−1}) = \frac{max\{|λ_{j}(A)| : j = 1, …, n\}}{min\{|λ_{j}(A)| : j = 1, …, n\}}.  (5.1.4)

Offensichtlich gilt 1 ≤ κ̂(A) ≤ κ_{p}(A), p ≥ 1. Für symmetrische Matrizen, A = AT, gilt sogar κ̂(A) = κ_{2}(A). Der Konvergenzfaktor aus (5.1.3) läßt sich also in der Form

min_{ω∈R} ϱ(B(ω)) = \frac{κ̂(A) − 1}{κ̂(A) + 1} = 1 − \frac{2}{κ̂(A) + 1}  (5.1.5)

schreiben. Die Optimalitätsaussage gilt genau genommen nur bei isolierter Betrachtung eines einzelnen Schrittes (5.1.2). Faßt man dagegen mehrere Schritte mit wechselnden Parametern ω_{k} zusammen, ergibt sich für den Fehler x^{(m)} − z nach m Schritten

x^{(m)} − z = x^{(m−1)} − z + ω_{m}(Az − Ax^{(m−1)}) = (I − ω_{m}A)(x^{(m−1)} − z)
= (I − ω_{m}A)(I − ω_{m−1}A) ⋯ (I − ω_{1}A)(x^{(0)} − z).  (5.1.6)

Der Vorfaktor des Startfehlers x^{(0)} − z ist also ein Polynom der Matrix A. Dessen Parameter ω_{k} sollen im folgenden so bestimmt werden, daß dieses Matrixpolynom ”möglichst klein” wird. Zu nächst gilt

Satz 5.1.1 Bei einer Matrix A mit reellen Eigenwerten

0 < a ≤ λ_{n} ≤ … ≤ λ_{1} ≤ b

gilt für den Fehler bei der Richardson-Iteration

x^{(k)} := x^{(k−1)} + ω_{k}(r − Ax^{(k−1)}), k = 1, …, m,  (5.1.7)

mit Parametern ω_{k} nach m Schritten die Beziehung

x^{(m)} − z = p_{m}(A)(x^{(0)} − z).  (5.1.8)

Dabei ist p_{m} ∈ Π_{m}, p_{m}(0) = 1, p_{m}(t) = (1 − ω_{1}t) ⋯ (1 − ω_{m}t) und

ϱ(p_{m}(A)) ≤ max{|p_{m}(t)| : t ∈ [a, b]}.  (5.1.9)

Beweis Die Identität (5.1.8) entspricht (5.1.6), die Reihenfolge der Faktoren ist beliebig. Für jeden Eigenvektor x von A mit Eigenwert λ gilt

p_{m}(A)x = (I − ω_{m}A) … (I − ω_{2}A)(1 − ω_{1}λ)x = … = p_{m}(λ)x.

Aus der Voraussetzung λ_{j} ∈ [a, b] folgt die Schranke (5.1.9) daher für diagonalisierbare Matrizen, sie gilt aber auch allgemein.

Statt für einen einzelnen Schritt kann der Konvergenzfaktor jetzt für einen Zyklus von m Schritten minimiert werden. Da die Eigenwerte der Matrix i.a. nicht bekannt sind, Eigenwert-Schranken aber mit akzeptablem Aufwand bestimmt werden können (vgl., z.B., Satz 4.6.5), minimiert man die Schranke (5.1.9),

max{|p_{m}(t)| : t ∈ [a, b]} =^{!} min, p_{m} ∈ Π_{m},

unter der Nebenbedingung p_{m}(0) = 1. Die Lösung dieses Problems ist aus der Numerik I bekannt. Es geht auch hier darum, einen möglichst kleinen Funktionswert von p_{m} im Intervall [a, b] zu erreichen, nur die Normierungsbedingung unterscheidet sich von der bei der Suche nach optimalen Interpolationsstützstellen.

[figure: 1; a; b]

Satz 5.1.2 Unter allen Polynomen p_{m} ∈ Π_{m} mit p_{m}(0) = 1 wird

∥p∥_{[a,b]} := max{|p(t)| : t ∈ [a, b]}

minimal bei

p̂_{m}(t) := T_{m}(\frac{b + a − 2t}{b − a})/T_{m}(\frac{b + a}{b − a}),  (5.1.10)

wobei T_{m}(s) das Tschebyscheff-Polynom vom Grad m ist. Es wird durch die Rekursion T_{0} = 1, T_{1}(s) := s,

T_{k+1}(s) := 2s T_{k}(s) − T_{k−1}(s), k = 1, 2, …  (5.1.11)

definiert und kann explizit dargestellt werden durch

T_{m}(s) = \{ \begin{matrix}cos(m arccos s), & |s| ≤ 1 \\ cosh(m arcosh s), & s > 1. \end{matrix}

Die Parameter ω̂_{k} von p̂_{m}(t) = ∏_{k=1}^{m}(1 − ω̂_{k}t) sind daher

\frac{1}{ω̂_{k}} = \frac{a + b}{2} − \frac{b − a}{2} cos \frac{2k − 1}{2m}π, k = 1, …, m.  (5.1.12)

Der Minimalwert der Maximumnorm ist

∥p̂_{m}∥_{[a,b]} = 1/T_{m}(\frac{b + a}{b − a}) ≤ 2 (\frac{\sqrt{b/a} − 1}{\sqrt{b/a} + 1})^{m} .  (5.1.13)

Beweis Nach Satz 2.6.1 aus der Numerik I minimiert q̂_{m}(t) := T_{m}(\frac{b+a−2t}{b−a}) die Norm ∥q_{m}∥_{[a,b]} unter allen Polynomen q_{m}(t) = c_{m}t^{m} + … mit festem höchsten Koeffizienten c_{m} = −2^{m+1}/(b − a)^{m}. Die neue Nebenbedingung der Form p_{m}(0) = 1 wird durch die Wahl p̂_{m} = q̂_{m}(t)/q̂_{m}(0) erfüllt. Die Kehrwerte 1/ω̂_{k} entsprechen daher den Nullstellen von p̂_{m}. Die erste Schranke (5.1.13) gilt nun wegen ∥q̂_{m}∥_{[a,b]} = 1.

Zur Normierung wird in (5.1.10) ein Funktionswert T_{m}(s) mit s > 1 verwendet. Um auch für diesen Fall eine explizite Darstellung der Polynome aus (5.1.11) zu erhalten, wird s = cosh σ gesetzt. Wegen

cosh(k ± 1)σ = cosh kσ cosh σ ± sinh kσ sinh σ,

sowie cosh 0 = 1 gilt daher hier die explizite Beziehung T_{m}(s) = cosh(m arcosh s). Die letzte Ungleichung in (5.1.13) folgt aus einer weiteren Darstellung der Tschebyscheff-Polynome mit Argument q = (b + a)/(b − a) = (κ + 1)/(κ − 1), κ = b/a, nämlich

T_{m}(\frac{κ + 1}{κ − 1}) = \frac{1}{2}[(\frac{\sqrt{κ} + 1}{\sqrt{κ} − 1})^{m} + (\frac{\sqrt{κ} − 1}{\sqrt{κ} + 1})^{m}] ≥ \frac{1}{2}(\frac{\sqrt{κ} + 1}{\sqrt{κ} − 1})^{m}.

Der Konvergenz-Vorteil bei Wahl der Relaxationsparameter nach Satz 5.1.2 für einen Zyklus der Länge m > 1 gegenüber dem einfachen Relaxationsverfahren (5.1.2) der Zykluslänge m = 1 soll jetzt bei [a, b] = [λ_{1}, λ_{n}] analysiert werden. Dann hängt (5.1.13) wieder nur von der Konditionszahl κ̂(A) ab und für große Werte derselben, κ̂(A) ≫ 1, ist

∥p_{m}∥_{[a,b]} = 1/T_{m}(\frac{κ̂ + 1}{κ̂ − 1}) ≐ 1/T_{m}(1 + \frac{2}{κ̂}).

Wegen arcosh(1 + 2/κ̂) ≐ 2/\sqrt{κ̂} ist für nicht zu große m

∥p_{m}∥_{[a,b]} ≐ \frac{1}{cosh(2m/\sqrt{κ̂})} ≐ 1 − \frac{2}{κ̂}m^{2}.  (5.1.14)

Im Vergleich dazu liefern bei gleichem Aufwand m Schritte mit festem ω̂ nach (5.1.5) nur den Kontraktionsfaktor

ϱ(B(ω̂))^{m} ≐ (1 − \frac{2}{κ̂})^{m} ≐ 1 − \frac{2}{κ̂}m.

Im betrachteten, praktisch wichtigen Fall κ̂ ≫ 1 wird die Konvergenz also erheblich verbessert. Ein m-Zyklus der Richardson-Iteration (5.1.7) mit optimalen Parametern (5.1.12) entspricht ca. m^{2} Schritten der einfachen Relaxation!

Optimale Parameter für die Richardson-Iteration können auch noch bei komplexen Eigenwerten angegeben werden, wenn man Ellipsen in der komplexen Ebene zur Einschließung verwendet. Auch wenn im reellen positive und negative Eigenwerte auftreten, lassen sich oft noch gute Parameter konstruieren. Gilt etwa

λ^{j}(A) ⊆ [a^{1}, b^{1}] ∪ [a^{2}, b^{2}] =: S, a^{1} ≤ b^{1} < 0 < a^{2} ≤ b^{2},  [figure: x; a_{1}; b_{1}; a_{2}; b_{2}]

wobei die beiden Teilintervalle gleiche Länge besitzen, b_{1} − a_{1} = b_{2} − a_{2}, können diese mit der Abbildung t ↦ y = (t − α)^{2}, α = (a_{1} + b_{2})/2 = (b_{1} + a_{2})/2 auf das positive Intervall [(a_{2} − α)^{2}, (b_{2} − α)^{2}] abgebildet werden. Nun sei q_{m}(y) = (1 − ω_{1}y) ⋯ (1 − ω_{m}y) das normierte Tschebyscheff-Polynom zu diesem positiven Intervall. Dann ist

p_{2m}(t) := \frac{q_{m}((t − α)^{2})}{q_{m}(α^{2})} = ∏_{j=1}^{m} \frac{1 − ω_{j}(t − α)^{2}}{1 − ω_{j}α^{2}} = ∏_{j=1}^{m} (1 − \frac{\sqrt{ω_{j}}}{1 + \sqrt{ω_{j}}α}t)(1 + \frac{\sqrt{ω_{j}}}{1 − \sqrt{ω_{j}}α}t)

ein Polynom mit

∥p_{2m}∥_{S} ≤ 2(\frac{κ − 1}{κ + 1})^{m}, κ := \frac{b_{2} − a_{1}}{a_{2} − b_{1}} > 1.

Als Parameter der Iteration sind hier also \{\sqrt{ω_{j}}/(1 + \sqrt{ω_{j}}α), −\sqrt{ω_{j}}/(1 − \sqrt{ω_{j}}α)\}_{j=1}^{m} zu wählen für einen Zyklus der Länge 2m.

Ein wesentlicher Nachteil des Richardson-Verfahrens ist der, daß die Konvergenzaussage (5.1.9), (5.1.13) erst nach dem Durchlaufen eines vollen m-Zyklus zutrifft, bei periodischer Wahl ω_{k+jm} := ω_{k} also nur für x^{(m)}, x^{(2m)}, …. Der Fehler der restlichen Iterierten kann sogar erheblich über dem Startfehler liegen. Daher muß man sich vor Beginn für eine Mindestzahl m von Iterationen entscheiden.

Dies läßt sich im Fall des positiven reellen Spektrums (und einigen anderen Fällen) auf folgende Weise umgehen. Mit den skalierten Tschebyscheff-Polynomen war der Fehler (5.1.8)

x^{(m)} − z = p̂_{m}(A)(x^{(0)} − z).

Für Orthogonal-Polynome gilt aber eine zweistufige Rekursionsformel (vgl. Numerik I, §2.4)

p̂_{m+1}(t) = α_{m}(t − γ_{m})p̂_{m}(t) + β_{m}p̂_{m−1}(t), m = 1, 2, …  (5.1.15)

Betrachtet man nun für beliebiges k die Vektoren

y^{(k)} := z + p̂_{k}(A)(x^{(0)} − z) = p̂_{k}(A)x^{(0)} + (I − p̂_{k}(A))z, k = 0, 1, …,

die nur für k = 0 bzw. k = m mit denen der Richardson-Iteration übereinstimmen, so folgt aus (5.1.15)

y^{(k+1)} = p̂_{k+1}(A)(x^{(0)} − z) + z
= α_{k}(A − γ_{k}I)p̂_{k}(A)(x^{(0)} − z) + β_{k}p̂_{k−1}(A)(x^{(0)} − z) + z
= α_{k}(A − γ_{k}I)(y^{(k)} − z) + β_{k}(y^{(k−1)} − z) + z
= α_{k}(Ay^{(k)} − r) − α_{k}γ_{k}y^{(k)} + β_{k}y^{(k−1)} + \underbrace{(1 − β_{k} + α_{k}γ_{k})}_{=0} z.

Der Vorfaktor bei z verschwindet dabei, da p̂_{k}(0) = 1 ∀k, vgl. (5.1.8). Dies entspricht aber genau 1 = β_{k} − α_{k}γ_{k} in (5.1.15). Der Vektor y^{(k+1)}, der nun in jedem Schritt k + 1 einen minimalen Fehlerfaktor ϱ(p_{k+1}(A)) besitzt, kann aus den Vektoren y^{(k)} und y^{(k−1)} berechnet werden. Für die Koeffizienten der Rekursion (5.1.15) der Polynome (5.1.10) ergeben sich mit

q := \frac{b + a}{b − a}, d := \frac{2}{b + a}, ϱ_{k} := 2q \frac{T_{k}(q)}{T_{k+1}(q)}  (5.1.16)

die Beziehungen α_{k} = −ϱ_{k}d, α_{k}γ_{k} = −ϱ_{k}, β_{k} = 1 − ϱ_{k}. Denn es ist p̂_{k}(t) = T_{k}(q(1 − dt))/T_{k}(q) und aus der Rekursion (5.1.11) folgt

p̂_{k+1}(t) = \frac{T_{k+1}(q(1 − dt))}{T_{k+1}(q)} = 2q(1 − dt)\frac{T_{k}(q(1 − dt))}{T_{k+1}(q)} − \frac{T_{k−1}(q(1 − dt))}{T_{k+1}(q)}
= 2q(1 − dt)\frac{T_{k}(q)}{T_{k+1}(q)} p̂_{k}(t) − \frac{T_{k−1}(q)}{T_{k+1}(q)} p̂_{k−1}(t)
= ϱ_{k}(1 − dt)p̂_{k}(t) + (1 − ϱ_{k})p̂_{k−1}(t).

Beim letzten Koeffizienten 1−ϱ_{k} wurde (5.1.11) noch einmal verwendet. Mit diesen Bezeichnungen wird nun die Tschebyscheff-Iteration formuliert. Wegen der Norm-Konvergenzaussage wird dabei nur der symmetrische Fall betrachtet.

Satz 5.1.3 Die Eigenwerte der symmetrischen n × n-Matrix A seien im Intervall [a, b], 0 < a ≤ b, enthalten, damit ist κ := b/a ≥ κ̂(A). Für die Vektoren der Tschebyscheff-Iteration mit Startvektor y^{(0)} ∈ R^{n},

\{ \begin{matrix}y^{(1)} & := & y^{(0)} + d(r − Ay^{(0)}), \\ y^{(k+1)} & := & ϱ_{k}(y^{(k)} + d(r − Ay^{(k)})) + (1 − ϱ_{k})y^{(k−1)}, k = 1, 2, …, \end{matrix}  (5.1.17)

und den in (5.1.16) definierten Parametern, gilt die Fehlerschranke

∥y^{(k)} − z∥_{2} ≤ \frac{1}{T_{k}(q)}∥y^{(0)} − z∥_{2} ≤ 2(\frac{\sqrt{κ} − 1}{\sqrt{κ} + 1})^{k}∥y^{(0)} − z∥_{2}, k ≥ 1.  (5.1.18)

Beweis Nach obiger Konstruktion gilt für jedes k

y^{(k)} − z = p̂_{k}(A) (y^{(0)} − z).

Wegen der Symmetrie von A ist ∥p̂_{k}(A)∥_{2} = ϱ(p̂_{k}(A)) ≤ 1/T_{k}(q), vgl. (5.1.13).

Bemerkung: Die Tschebyscheff-Iteration (5.1.17) besteht offensichtlich aus einer zusätzlichen Extrapolation (1 < ϱ_{k} ≤ 2, vgl. Übung) bei der einfachen, optimalen Relaxation (5.1.2), (5.1.3):

ỹ^{(k+1)} := y^{(k)} + \frac{2}{a + b}(r − Ay^{(k)}), y^{(k+1)} = ϱ_{k}ỹ^{(k+1)} + (1 − ϱ_{k})y^{(k−1)}.

Praktische Durchführung Sowohl bei der Richardson- als auch der Tschebyscheff-Iteration werden zur Durchführung gute (Ab-) Schätzungen der extremalen Eigenwerte λ_{1}(A), λ_{n}(A) benötigt. Nach den Ergebnissen von §3 bietet sich dazu die Vektor-Iteration an. Diese kann sogar ohne zusätzlichen Aufwand mit der einfachen Relaxation (5.1.2) kombiniert werden. Sowohl bei Betrachtung des Fehlers x^{(k)} − z als auch des Defekts d^{(k)} := r − Ax^{(k)} entspricht diese nämlich einer Vektor-Iteration,

d^{(k+1)} := r − Ax^{(k+1)} = r − A(x^{(k)} + ωd^{(k)}) = (I − ωA)d^{(k)}  (5.1.19)

mit der Matrix I − ωA. Diese Beziehung kann im Fall positiver, reeller Eigenwerte 0 < a ≤ λ_{n} ≤ … ≤ λ_{1} ≤ b ausgenutzt werden. Dazu sei an die Aussage

ϱ(I − ωA) = \{ \begin{matrix}ωλ_{1} − 1 & für & ω > \\ 1 − ωλ_{n} & für & ω ≤ \end{matrix} ω̂ = \frac{2}{λ_{n} + λ_{1}} .  [figure: 1; ω; |1 − ωλ_{j}|]

erinnert. Durch Variation von ω können daher λ_{n} und λ_{1} bei (5.1.19) geschätzt werden:

a) Für ω := 1/∥A∥ ≤ 1/λ_{1} ist ϱ(I − ωA) = 1 − ωλ_{n} > 0. Analog zu (4.4.3) bekommt man aus (5.1.19) eine Schätzung für λ_{n}.

b) Für beliebiges x ∈ R^{n} ist ω := 2/(R_{A}[x] + λ_{n}) ≥ ω̂. Mit diesem ω ist daher ϱ(I − ωA) = ωλ_{1} − 1 und aus der Eigenwert-Schätzung bei (5.1.19) kann eine Schätzung von λ_{1} abgeleitet werden. Bei ungünstiger Wahl von x kann allerdings ω zu groß und daher ϱ(I − ωA) > 1 sein. Dann würde der Fehler bei der Iteration gegenüber der Startnäherung anwachsen.

c) Mit diesen Eigenwert-Schätzungen für λ_{n} und λ_{1} kann jetzt auf die Richardson- oder Tschebyscheff-Iteration umgeschaltet werden. Wegen des engen Zusammenhangs mit dem Eigenwert-Problem können Richardson- und

Tschebyscheff-Methode auch zur Beschleunigung der Vektor-Iteration eingesetzt werden. Statt der Folge (4.3.2)

v^{(m)} := A^{m}z^{(0)} wird betrachtet v^{(m)} := p_{m}(A)z^{(0)}, p_{m} ∈ Π_{m}.

Dabei wird p_{m} im Fall 0 ≤ λ_{n} ≤ … λ_{1} so optimiert, daß der Konvergenzfaktor

∥p_{m}∥_{[0,λ_{2}]}/|p_{m}(λ_{1})|

minimal wird. Dazu wird allerdings eine Schätzung für λ_{2} benötigt. Bei Verwendung der optimalen Tschebyscheff-Polynome verbessert sich die Konvergenz von

|\frac{λ_{2}}{λ_{1}} |^{m} auf 1/|T_{m}(2\frac{λ_{1}}{λ_{2}} − 1)| ≤ |\frac{λ_{2}}{λ_{1}} |^{m} \frac{2}{(1 + \sqrt{1 − λ_{2}/λ_{1}})^{2m}}

Ein der Tschebyscheff-Iteration ähnliches Verfahren mit ‘eingebauter’ Parameterbestimmung wird im folgenden Abschnitt besprochen.

5.2 Das Verfahren der Konjugierten Gradienten

Bei einer postiv definiten symmetrischen Matrix kann die Lösung z des linearen Gleichungssystems Ax = b als eindeutiges Minimum eines konvexen Funktionals φ : R^{n} ↦ R charakterisiert und daher durch ein Abstiegsverfahren approximiert werden.

Satz 5.2.1 Die Matrix A ∈ R^{n×n} sei symmetrisch und positiv definit. Dann wird durch

(x, y)_{A} := yTAx, ∥x∥_{A} := \sqrt{(x, x)_{A}} = \sqrt{xTAx},  (5.2.1)

x, y ∈ R^{n} ein Innenprodukt und eine Norm definiert. Die Lösung z des linearen Gleichungssystems Ax = b ist eindeutiges Minimum von

φ(x) := \frac{1}{2}xTAx − bTx, x ∈ R^{n}.  (5.2.2)

Beweis Wegen der Definitheit von A ist (x, x)_{A} = xTAx > 0 ∀x ≠ 0 und ∥x∥_{A} daher eine Norm. Für φ gilt mit b = Az die Darstellung

2φ(x) = xTAx − 2bTx = xTAx − 2zTAx = (x, x)_{A} − 2(x, z)_{A}
= ∥x − z∥_{A}^{2} − ∥z∥_{A}^{2}.  (5.2.3)

Also ist z eindeutiges Minimum von φ.

Die Funktion φ ist streng konvex. An der Stelle x ist die Richtung des steilsten Abstiegs

−gradφ(x) = b − Ax =: d,

also der Defekt von x. Bei einer Liniensuche in dieser Richtung kann das Minimum auf dem Strahl s(t) := x + td, t ∈ R, exakt bestimmt werden,

φ(s(t)) = \frac{1}{2}(x + td)TA(x + td) − bT(x + td)
= \frac{1}{2}t^{2}dTAd + tdTAx + \frac{1}{2}xTAx − bTx − tdTb
= \frac{1}{2}t^{2}dTAd − tdTd + φ(x)
= \frac{1}{2}dTAd(t − \frac{dTd}{dTAd})^{2} + φ(x) − \frac{1}{2} \frac{(dTd)^{2}}{dTAd} .  (5.2.4)

Das Minimum wird also in t̂= dTd/dTAd = 1/R_{A}[d] angenommen. Diese Methode des steilsten Abstiegs kann auch iterativ angewendet werden

d^{(k)} := b − Ax^{(k)}, x^{(k+1)} := x^{(k)} + \frac{1}{R_{A}[d^{(k)}]}d^{(k)}, k = 0, 1, ….  (5.2.5)

Allerdings ist ihre Konvergenz oft sehr schlecht. Dazu wird die verschobene Zielfunktion 2φ(y)+ ∥z∥_{A}^{2} = ∥y − z∥_{A}^{2} im Minimum von (5.2.4) betrachtet. Hier ist

2φ(s(t̂)) + ∥z∥_{A}^{2} = ∥s(t̂) − z∥_{A}^{2} = ∥x − z∥_{A}^{2} − \frac{(dTd)^{2}}{dTAd} .

Da zwischen der A-Norm und der Euklid-Norm der Zusammenhang

λ_{min}(A)∥x∥_{2}^{2} ≤ ∥x∥_{A}^{2} ≤ λ_{max}(A)∥x∥_{2}^{2}  (5.2.6)

(Satz 4.6.1) besteht, folgt mit d^{(k)} = b − Ax^{(k)} = A(z − x^{(k)}) weiter

∥x^{(k+1)} − z∥_{A}^{2} = ∥x^{(k)} − z∥_{A}^{2} − \frac{∥A(x^{(k)} − z)∥_{2}^{4}}{∥A(x^{(k)} − z)∥_{A}^{2}} ≤ ∥x^{(k)} − z∥_{A}^{2} − \frac{∥A(x^{(k)} − z)∥_{2}^{2}}{∥A∥_{2}}
≤ (1 − \frac{λ_{min}(A)}{λ_{max}(A)})∥x^{(k)} − z∥_{A}^{2} = (1 − \frac{1}{κ̂(A)})∥x^{(k)} − z∥_{A}^{2}.  (5.2.7)

Für κ̂(A) ≫ 1 ergibt sich somit eine ähnlich langsame Konvergenz wie beim einfachen Relaxationsverfahren, (5.1.5).

Geometrischer Hintergrund: Die Niveau-Flächen von φ sind Ellipsoide mit den Halbachsen 1/\sqrt{λ_{j}(A)} und Zentrum z. Für κ̂ ≫ 1 sind die Ellipsoide sehr flach. Das Verfahren springt dann von einer Wand des Tals (im Bild: R^{2}) zur anderen, kommt aber längs des Tals nur langsam

voran. [figure: x^{(0)}; x^{(1)}; x^{(2)}]

Ein anschaulicher Grund für die langsame Konvergenz ist das fehlende ’Gedächtnis’ des Verfahrens, da in späteren Schritten beinahe in schon früher benutzte Richtungen gegangen wird. Die Suchrichtung müßte also zur Verbesserung des Verfahrens modifiziert werden, diese wird jetzt mit p^{(k)} bezeichnet im k-ten Schritt des Verfahrens. Ein Verfahren mit vollem Gedächtnis sollte im k-ten Schritt mit Startvektor x^{(0)} = 0 sogar das Minimalproblem

min{φ(x) : x ∈ [p^{(1)}, …, p^{(k)}]}  (5.2.8)

über dem von allen bisherigen Suchrichtungen aufgespannten Unterraum berechnen. Dazu seien

P_{j} := (p^{(1)}, …, p^{(j)}) ∈ R^{n×j}, j ≤ k,

die Matrizen der Suchrichtungen. Mit t ∈ R, y ∈ R^{k−1} sei

s(t, y) := P_{k−1}y + tp^{(k)}

der Suchvektor. Für den Wert φ gilt hier

φ(s(t, y)) = \frac{1}{2}(P_{k−1}y + tp^{(k)})TA(P_{k−1}y + tp^{(k)}) − bT(P_{k−1}y + tp^{(k)})
= φ(P_{k−1}y) + t(p^{(k)}TAP_{k−1}y − bTp^{(k)}) + \frac{1}{2}t^{2}(p^{(k)}, p^{(k)})_{A}.  (5.2.9)

In dieser Beziehung kommt nur durch den Ausdruck tp^{(k)}TAP_{k−1}y = t(p^{(k)}, P_{k−1}y)_{A} eine Kopplung der Unbekannten t und y zustande. Gilt dagegen

(p^{(k)}, P_{k−1}y)_{A} = 0 ∀y ⟺ (p^{(k)}, p^{(j)})_{A} = 0 ∀j < k,  (5.2.10)

dann zerfällt das Minimalproblem (5.2.8) in zwei unabhängige Teilprobleme, dessen Minimum bzgl. t in

t_{k} = bTp^{(k)}/p^{(k)}TAp^{(k)}  (5.2.11)

angenommen wird. Als erstes Zwischenergebnis läßt sich also zusammenfassen:

Wenn schon x^{(k−1)} ∈ [p^{(1)}, …, p^{(k−1)}] das k − 1-dimensionale Minimalproblem (5.2.8) löst und p^{(k)} A-orthogonal zu p^{(1)}, …, p^{(k−1)} ist, vgl. (5.2.10), dann führt die exakte, eindimensionale Liniensuche

x^{(k)} := x^{(k−1)} + t_{k}p^{(k)}  (5.2.12)

auf die k-dimensionale Minimallösung in (5.2.8).

Die Abnahme der Zielfunktion φ ist dabei

φ(x^{(k)}) = φ(x^{(k−1)}) − \frac{1}{2} \frac{(bTp^{(k)})^{2}}{p^{(k)}TAp^{(k)}} = φ(x^{(k−1)}) − \frac{1}{2} \frac{(d^{(k−1)}Tp^{(k)})^{2}}{p^{(k)}TAp^{(k)}} ,

mit d^{(k−1)} = b − Ax^{(k−1)}, denn nach (5.2.10) ist p^{(k)}TAx^{(k−1)} = 0. Damit dieser Iterationsschritt einen möglichst tiefen Abstieg erbringt, sollte die Suchrichtung p^{(k)} in die Richtung von d^{(k−1)} zeigen, unter Beachtung der Nebenbedingung (5.2.10). Diese Richtung kann folgendermaßen charakterisiert werden.

[figure: R(AP_{k−1}); R(AP_{k−1})^{⊥}; d^{(k−1)}; p^{(k)}]

Lemma 5.2.2 Der Vektor p^{(k)}, in dem

min{∥p − d^{(k−1)}∥_{2} : p ∈ R^{n}, pTAP_{k−1} = 0}

angenommen wird, hat die Form

p^{(k)} = d^{(k−1)} − AP_{k−1}v^{(k−1)}, v^{(k−1)} ∈ R^{k−1},  (5.2.13)

mit der Lösung v^{(k−1)} des linearen Ausgleichsproblems

min{∥d^{(k−1)} − AP_{k−1}v∥_{2} : v ∈ R^{k−1}}.  (5.2.14)

Beweis Nach Satz 2.1.2 erfüllt die Lösung von (5.2.14) die Normalengleichung

0 = (AP_{k−1})T(d^{(k−1)} − AP_{k−1}v^{(k−1)}) = (AP_{k−1})Tp^{(k)},

d.h., (5.2.10). Daher ist auch p^{(k)} die Orthogonalprojektion von d^{(k−1)} auf R(AP_{k−1})^{⊥}, also der nächstgelegene Vektor.

Damit p^{(k)} aus (5.2.13), (5.2.14) als Suchrichtung verwendet werden kann, muß geprüft werden, wann dieser Vektor null wird. Es ist (für x^{(k−1)} = P_{k−1}y) p^{(k)} = 0 äquivalent mit

0 = min_{v} ∥d^{(k−1)} − AP_{k−1}v∥_{2} = min_{v} ∥b − Ax^{(k−1)} − AP_{k−1}v∥_{2}
= min ∥b − AP_{k−1}(y + v)∥_{2}.

Dann ist aber b ∈ R(AP_{k−1}) = [Ap^{(1)}, …, Ap^{(k−1)}] ⟺ z = A^{−1}b ∈ [p^{(1)}, …, p^{(k−1)}]. Dies bedeutet

p^{(k)} = 0 ⟺ d^{(k−1)} = 0 ⟺ x^{(k−1)} = z.  (5.2.15)

Die Konstruktion (5.2.14) der Suchrichtung bricht also nur zusammen, wenn die Lösung z schon durch x^{(k−1)} angenommen wird (‘günstiger Abbruch’). Insbesondere liefert (bei exakter Rechnung) spätestens die n-te Iterierte die exakte Lösung x^{(n)} = z. Die bisherigen Ergebnisse werden nun zur Formulierung einer ‘Nullversion’ des Verfahrens benutzt, bevor später überlegt wird, wie die Suchrichtungen p^{(k)} effizient zu berechnen sind. CG-0-Version:

x^{(0)} := 0; d^{(0)} := b; k := 0;
solange d^{(k)} ≠ 0:
k := k + 1;
falls k = 1 dann p^{(1)} := d^{(0)}
sonst p^{(k)} := d^{(k−1)} − AP_{k−1}v^{(k−1)} nach (5.2.14);
t_{k} := p^{(k)}Td^{(k−1)}/p^{(k)}TAp^{(k)};
x^{(k)} := x^{(k−1)} + t_{k}p^{(k)};
d^{(k)} := b − Ax^{(k)};

(5.2.16)

Für das Verfahren der Konjugierten Gradienten (conjugate-gradient-method, cg-method) können die wichtigsten theoretischen Eigenschaften schon aus der Nullversion abgeleitet werden.

Satz 5.2.3 Nach Ausführung der Schritte j = 1, …, k in (5.2.16) mit d^{(j)} ≠ 0 gilt

d^{(j)} = d^{(j−1)} − t_{j}Ap^{(j)}, P T_{j}d^{(j)} = 0, j = 1, …, k.  (5.2.17)

Die verwendeten Suchrichtungen und Defekte bilden Basen der Krylov-Räume

K_{j} := [b, Ab, A^{2}b, …, A^{j−1}b],
[p^{(1)}, …, p^{(j)}] = [d^{(0)}, …, d^{(j−1)}] = K_{j}, j = 1, …, k.  (5.2.18)

Beweis a) Aus x^{(j)} = x^{(j−1)} + t_{j}p^{(j)} folgt d^{(j)} = b − Ax^{(j)} = d^{(j−1)} − t_{j}Ap^{(j)}. Im Unterraum [p^{(1)}, …, p^{(j)}] = R(P_{j}) hat die Funktion φ die Gestalt

φ(P_{j}y) = \frac{1}{2}yT(P T_{j}AP_{j})y − yT(P T_{j}b), y ∈ R^{j}.

Die Minimalstelle ŷ dieser Funktion erfüllt nach Satz 5.2.1, angewendet auf die ebenfalls positiv definite Matrix P T_{j}AP_{j}, das Gleichungssystem 0 = P T_{j}AP_{j}ŷ − P T_{j}b = P T_{j}(AP_{j}ŷ − b). Nach Konstruktion ist P_{j}ŷ = x^{(j)}, also gilt P T_{j}d^{(j)} = 0.

b) Für j = 1 ist (5.2.18) offensichtlich erfüllt. Unter der Annahme, (5.2.18) gelte für j < k, folgt durch Induktion aus (5.2.17) d^{(j)} ∈ K_{j+1} und daher nach (5.2.13)

p^{(j+1)} = \underbrace{d^{(j)}}_{∈K_{j+1}} −A \underbrace{P_{j}v^{(j)}}_{∈K_{j}} ∈ K_{j+1}.

Da d^{(j)} ⊥ K_{j} und p^{(j+1)} ⊥_{A} K_{j} haben [d^{(0)}, …, d^{(j)}] und [p^{(1)}, …, p^{(j+1)}] jeweils Dimension j + 1 und stimmen daher mit K_{j+1} überein.

Die folgende Eigenschaft gab dem Konjugierte-Gradienten-Verfahren seinen Namen (‘orthogonal‘=‘konjugiert‘, −grad φ=Defekt).

Satz 5.2.4 Nach k Schritten von (5.2.16) (mit d^{(j)} ≠ 0∀j ≤ k) sind die Defekte d^{(0)}, …, d^{(k)} paarweise orthogonal.

Beweis Nach (5.2.17) und (5.2.18) gilt für jedes j = 1, …, k,

d^{(j)}TP_{j} = 0 ⟺ d^{(j)} ⊥ [p^{(1)}, …, p^{(j)}] = K_{j} = [d^{(0)}, …, d^{(j−1)}].

Somit konstruiert das cg-Verfahren sowohl Orthogonalbasen {d^{(0)}, …, d^{(j−1)}} als auch A-Ortho-gonalbasen {p^{(1)}, …, p^{(j)}} für K_{j}, j ≤ k. Ersichtlich ist (5.2.16) unabhängig von der Länge ∥p^{(k)}∥_{2}. Daher kann im k-ten Schritt ein p^{(k)} in dem durch (5.2.13) festgelegten eindimensionalen Unterraum K_{k} ∩ (AK_{k−1})^{⊥} aus dem schon bekannten d^{(k−1)}, K_{k} ∋ d^{(k−1)} ⊥_{2} K_{k−1} durch Projektion berechnet werden bei Verwendung des A-Innenprodukts:

p^{(k)} := d^{(k−1)} − ∑_{j=1}^{k−1} \frac{(d^{(k−1)}, p^{(j)})_{A}}{(p^{(j)}, p^{(j)})_{A}} p^{(j)} = d^{(k−1)} − \frac{d^{(k−1)}TAp^{(k−1)}}{p^{(k−1)}TAp^{(k−1)}} p^{(k−1)}.  (5.2.19)

Dabei tritt nur noch p^{(k−1)} auf, da d^{(k−1)} ⊥ K_{k−1} ⊇ AK_{k−2} ∋ Ap^{(j)}, j < k −1. Mit (5.2.19) wird (5.2.16) ein sehr effizientes Verfahren, da pro Schritt nur zwei Matrix-Vektor-Multiplikationen benötigt werden bei d^{(k)} = b − Ax^{(k)} und Ap^{(k)}. Die erste davon kann ebenfalls noch eingespart werden durch Berechnung des Defekts über (5.2.17). Wegen (5.2.19) gilt

t_{k} = \frac{p^{(k)}Td^{(k−1)}}{p^{(k)}TAp^{(k)}} = \frac{∥d^{(k−1)}∥_{2}^{2}}{p^{(k)}TAp^{(k)}} .

Aus (5.2.17) folgt für den Koeffizienten in (5.2.19) außerdem

\frac{t_{k−1}d^{(k−1)}TAp^{(k−1)}}{t_{k−1}p^{(k−1)}TAp^{(k−1)}} = −\frac{∥d^{(k−1)}∥_{2}^{2}}{∥d^{(k−2)}∥_{2}^{2}} =: −β_{k−1}.

Diese Vereinfachungen führen schließlich auf die endgültige Form des Verfahrens der Konjugierten Gradienten. CG-1-Version:

x^{(0)} := 0; d^{(0)} := b; p^{(1)} := b; k := 0;
solange d^{(k)} ≠ 0:
k := k + 1;
t_{k} := ∥d^{(k−1)}∥_{2}^{2}/p^{(k)}TAp^{(k)};
x^{(k)} := x^{(k−1)} + t_{k}p^{(k)};
d^{(k)} := d^{(k−1)} − t_{k}Ap^{(k)};
β_{k} := ∥d^{(k)}∥_{2}^{2}/∥d^{(k−1)}∥_{2}^{2};
p^{(k+1)} := d^{(k)} + β_{k}p^{(k)};

(5.2.20)

In dieser Form benötigt das Verfahren eine Matrix-Vektor-Multiplikation, drei Vektor-Linearkom-binationen und zwei Innenprodukte, außerdem Platz für drei n-Vektoren. Zusammenfassend werden die wichtigsten Eigenschaften im nächsten Satz aufgeführt. Zusätzlich enthält dieser eine Fehlerschranke für den praktisch interessantesten Fall k < n.

Satz 5.2.5 Nach k Schritten mit d^{(j)} ≠ 0, j < k, gelten für die im CG-Verfahren (5.2.20) berechneten Größen folgende Aussagen.

a) Die Suchrichtungen {p^{(1)}, …, p^{(k)}} sind A-orthogonal, die Defekte {d^{(0)}, …, d^{(k−1)}} orthogonal und jeweils Basen des Krylovraums K_{k},

[p^{(1)}, …, p^{(k)}] = [d^{(0)}, …, d^{(k−1)}] = K_{k} = [b, Ab, A^{2}b, …, A^{k−1}b].

b) Die Näherung x^{(k)} minimiert φ über K_{k}, d.h.,

φ(x^{(k)}) = {min \atop x ∈ K_{k}} φ(x).

Daher ist x^{(k)} exakt, wenn z ∈ K_{k}, also spätestens für k = n.

c) In der A-Norm (5.2.1) gilt mit q := (κ̂(A) + 1)/(κ̂(A) − 1) die Fehlerschranke

∥x^{(k)} − z∥_{A} = min{ ∥g_{k}(A)(x^{(0)} − z)∥_{A} : g_{k} ∈ Π_{k}, g_{k}(0) = 1}
≤ \frac{1}{T_{k}(q)}∥x^{(0)} − z∥_{A} ≤ 2 (\frac{\sqrt{κ̂(A)} − 1}{\sqrt{κ̂(A)} + 1})^{k} ∥x^{(0)} − z∥_{A}.  (5.2.21)

Beweis Die Behauptungen a) und b) fassen die Sätze 5.2.3-5.2.4 zusammen.

c) Nach (5.2.3) ist die Minimumsuche bei φ(x) äquivalent zur Minimierung von ∥x − z∥_{A}^{2} = 2φ(x) + ∥z∥_{A}^{2}. Da die Elemente von K_{k} die Gestalt ∑_{j=0}^{k−1} y_{j}A^{j}b = f_{k−1}(A)b, y_{j} ∈ R, f_{k−1} ∈ Π_{k−1}, besitzen, folgt aus b)

∥x^{(k)} − z∥_{A} = {min \atop f_{k−1} ∈ Π_{k−1}} ∥f_{k−1}(A)b − z∥_{A}.

Mit b = Az kann die letzte Differenz auch in der Form f_{k−1}(A)Az − z = −(I − f_{k−1}(A)A)z = −g_{k}(A)z geschrieben werden mit g_{k} ∈ Π_{k}, g(0) = 1, da g_{k}(t) = 1 − tf_{k−1}(t). Daher entspricht die letzte Charakterisierung der ersten Zeile in (5.2.21), da auch x^{(0)} = 0.

Da A symmetrisch positiv definit ist, läßt es sich zeigen, daß A eine ebensolche Quadratwurzel A^{1/2} besitzt. Mit dieser ist ∥x∥_{A}^{2} = xTAx = (A^{1/2}x)TA^{1/2}x = ∥A^{1/2}x∥_{2}^{2}. Damit kann die A-Norm bei (5.2.21) umgeformt werden,

∥g_{k}(A)z∥_{A} = ∥A^{1/2}g_{k}(A)z∥_{2} = ∥g_{k}(A)A^{1/2}z∥_{2} ≤ ∥g_{k}(A)∥_{2}∥z∥_{A} = ϱ(g_{k}(A))∥z∥_{A}.

Die letzte Gleichung gilt wegen der Symmetrie von A, vgl. (4.1.9). Die Fehlerschranken in (5.2.21) ergeben sich nun dadurch, daß für das zu minimierende Polynom g_{k} in

∥x^{(k)} − z∥_{A} ≤ min{max{|g_{k}(λ)| : λ ∈ [λ_{n}, λ_{1}]} : g_{k} ∈ Π_{k}, g_{k}(0) = 1}∥x^{(0)} − z∥_{A}

analog zu Satz 5.1.2 das Tschebyscheff-Polynom zum optimalen Intervall [λ_{n}, λ_{1}] eingesetzt wird. Die Schranken (5.2.21) folgen damit aus den entsprechenden Nachweisen von (5.1.13).

Die Fehlerschranke für das CG-Verfahren (in der A-Norm) stimmt mit derjenigen für die Tschebyscheff-Iteration überein, wenn dort ebenfalls das kleinstmögliche Einschließungsintervall für die Eigenwerte verwendet wird. Die Interpretation des CG-Verfahrens als eine Tschebyscheff-Iteration mit eingebauter Parameterbestimmung wird durch eine etwas andere Formulierung noch hervorgehoben, bei der die Suchrichtungen p^{(j)} aus (5.2.20) eliminiert wurden. CG-2-Version:

x^{(−1)} := 0; x^{(0)} := 0; d^{(0)} := b; k := 0; solange d^{(k)} ≠ 0: k := k + 1; γ_{k−1} := ∥d^{(k−1)}∥_{2}^{2}/∥d^{(k−1)}∥_{A}^{2}; falls k = 1 dann ω_{1} := 1 sonst β_{k−1} := ∥d^{(k−1)}∥_{2}^{2}/∥d^{(k−2)}∥_{2}^{2};

ω_{k} := 1/(1 − \frac{γ_{k−1}}{γ_{k−2}} β_{k−1}/ω_{k−1});

x^{(k)} := ω_{k}(x^{(k−1)} + γ_{k−1}d^{(k−1)}) + (1 − ω_{k})x^{(k−2)}; d^{(k)} := r − Ax^{(k)};

(5.2.22)

Der eigentliche Iterationsschritt hat die gleiche Struktur wie bei der Tschebyscheff-Iteration (5.1.17), denn (5.2.22) besteht aus

\{ \begin{matrix}x̃^{(k)} & := & x^{(k−1)} + d^{(k−1)}/R_{A}[d^{(k−1)}], & einfacher Gradientenschritt (5.2.5) \\ x^{(k)} & := & ω_{k}x̃^{(k)} + (1 − ω_{k})x^{(k−2)}, & +Extrapolationsschritt \end{matrix}

Der wesentliche Unterschied zwischen beiden Verfahren ist also der, daß bei der Tschebyscheff-Iteration die Parameter aus explizit erforderlichen Eigenwert-Schranken berechnet werden müssen, während das CG-Verfahren alle Parameter automatisch bestimmt. Dabei minimieren die Parameter der Tschebyscheff-Iteration die Fehlerschranke (5.1.9), während sich die CG-Koeffizienten an den tatsächlichen Fehler anpassen. Daher konvergiert das CG-Verfahren in der Praxis meist schneller als die Tschebyscheff-Iteration, die Fehlerschranke (5.2.21) ist ziemlich pessimistisch (vgl. Demo-Beispiel am Ende). Sie liefert aber den Ansatzpunkt für weitere Verbesserungen.

5.3 Vorkonditionierung

In der Numerik I wurde bei der Konstruktion von Iterationsverfahren der Begriff der regulären Zerlegung A = M − N einer Matrix A eingeführt. Der reguläre Hauptteil M war dabei so zu wählen, daß mit dem Rest N die Iterationsmatrix B = M^{−1}N kontraktiv war, ϱ(M^{−1}N) < 1. In der Sprechweise der letzten Abschnitte entspricht eine solche Zerlegung dem Übergang vom Linearen Gleichungssystem Ax = b mit Matrix A zu dem äquivalenten mit der Matrix I − B = I − M^{−1}N = M^{−1}A, also zu

(M^{−1}A) x = M^{−1}b.  (5.3.1)

Der alten Forderung an die Matrix M bei der Fixpunktiteration, daß der Konvergenzfaktor ϱ(M^{−1}N) möglichst klein sein soll, entspricht bei den hier besprochenen Verfahren aufgrund der Konvergenzaussagen der Sätze 5.1.2, 5.1.3, 5.2.5 die Forderung, daß die Kondition κ̂(M^{−1}A) den Wert eins möglichst wenig überschreitet. Daher wird der Übergang zum System (5.3.1) auch als Vorkonditionierung bezeichnet.

Schwierigkeiten bei der Umsetzung dieses Ansatzes ergeben sich aus den für den Einsatz der Verfahren erforderlichen Voraussetzungen an M^{−1}A. Bei Richardson- und Tschebyscheff-Iteration wurden reelle Eigenwerte gefordert, das CG-Verfahren setzt eine symmetrisch, positivdefinite Matrix voraus. Diese Voraussetzungen können durch geeignete Umformulierungen erfüllt werden, wenn gilt

M in (5.3.1) ist symmetrisch, positiv definit.  (5.3.2)

Dann besitzt M nämlich eine Cholesky-Zerlegung M = LLT mit einer unteren Dreieckmatrix L, die positive Diagonalelemente besitzt (vgl. Numerik I, Satz 4.3.4). Durch Multiplikation von (5.3.1) mit LT ergibt sich das neue Gleichungssystem L^{−1}Ax = L^{−1}b ⟺

(L^{−1}AL−T)(LTx) = L^{−1}b

für die Hilfsvariable y = LTx. Die Matrix dieses Systems, L^{−1}AL−T = LT(M^{−1}A)L−T, ist symmetrisch, positiv definit und ähnlich zu M^{−1}A. Daher sind unter der Voraussetzung (5.3.2) Richardson- und Tschebyscheff-Iteration bei (5.3.1) einsetzbar. Die vorkonditionierte Tschebyscheff-Iteration etwa lautet

\begin{aligned}M(ỹ^{(k+1)} − y^{(k)}) & := & \frac{2}{α + β} (r − Ay^{(k)}) \\ y^{(k+1)} & := & ϱ_{k}ỹ^{(k+1)} + (1 − ϱ_{k})y^{(k−1)} \end{aligned} .  (5.3.3)

Dabei muß M so beschaffen sein, daß die Lösung des Gleichungssystems für ỹ^{(k+1)} − y^{(k)} (nicht M^{−1}!) einfach berechnet werden kann. Die Koeffizienten sind jetzt aus Eigenwert-Schranken [α, β] ∋ λ_{j}(M^{−1}A) ∀j zu bestimmen, die Konvergenz hängt von β/α ab.

Beim CG-Verfahren hat die Matrix des Gleichungssystems aber unbedingt symmetrisch und definit zu sein. Diese Eigenschaft besitzt auch M^{−1}A unter der Voraussetzung (5.3.2), wenn das ℓ_{2}-Innenprodukt durch das Produkt (·, ·)_{M} ersetzt wird, denn

(x, M^{−1}Ay)_{M} = (yTAM^{−1})Mx = yTAx = yTMM^{−1}Ax = (M^{−1}Ax, y)_{M}.

In der Fehlerabschätzung (5.2.21) kann dann auch statt κ̂(A) der Wert κ̂(M^{−1}A) eingesetzt werden.

Präkonditioniertes CG-Verfahren:

x^{(0)} := 0; d^{(0)} := b; löse Mp^{(1)} := b; k := 0;
solange d^{(k)} ≠ 0:
löse Mc^{(k)} = d^{(k)};
k := k + 1;
t_{k} := d^{(k−1)}Tc^{(k−1)}/p^{(k)}TAp^{(k)};
x^{(k)} := x^{(k−1)} + t_{k}p^{(k)};
d^{(k)} := d^{(k−1)} − t_{k}Ap^{(k)};
β_{k} := d^{(k)}Tc^{(k)}/d^{(k−1)}Tc^{(k−1)};
p^{(k+1)} := c^{(k)} + β_{k}p^{(k)};

(5.3.4)

Strategien zur Wahl von M:

• Diagonale von A, M = D := diag(a_{ii}), analog zum Gesamtschrittverfahren (Numerik I). Dies ist nur sinnvoll, wenn die Diagonalelemente von A sehr unterschiedliche Größen besitzen.

• Die Wahl ‘M = D + L’ aus der Zerlegung

A = ([figure: L; D; R] ) ,

wie beim Einzelschrittverfahren scheidet aus, da D +L nicht symmetrisch ist. Das Einzelschrittverfahren ergab sich bei schrittweiser Auflösung der i-ten Gleichung nach x_{i}^{(k+1)}, i = 1, …, n. Wird daran ein umgekehrter Durchlauf i = n, n − 1, …, 1, angeschlossen, ergibt sich wegen R = LT doch wieder eine symmetrische Iterationsmatrix. Gleiches gilt beim beschleunigten Einzelschrittverfahren, dem SOR-Verfahren, bei dem D + L ersetzt wird durch D + ωL mit einem Parameter 0 < ω < 2. Ein Vorwärts- Rückwärts- Zyklus führt auf die symmetrische Matrix

M_{ω} = (D + ωL)D^{−1}(D + ωLT).  (5.3.5)

Dieses Verfahren heißt SSOR (’symmetric successive overrelaxation’). Da dessen Konvergenz auf einem anderen Prinzip beruht als Tschebyscheff- und CG-Iteration, kann es durch letztere weiter beschleunigt werden.

Beispiel 5.3.1 Zur Approximation einer Minimalfläche (Seifenhaut), die auf den Rändern eines Rechtecks gegebene Werte annimmt, kann diese Fläche durch ein elastisches Rechtecknetz angenähert werden. Die unbekannte Höhe am Netzknoten in Zeile i und Spalte j sei u_{ij}, dabei werden je m + 2 Zeilen und Spalten i, j ∈ {0, …, m + 1} verwendet. Im Knoten (i, j) erfüllt die Höhe bei der (approximierten) Minimalfläche die Bedingung

u_{ij} = Mittelwert der Nachbarn.

Insgesamt gilt also das Lineare Gleichungssystem

u_{ij} − \frac{1}{4}(u_{i−1,j} + u_{i+1,j} + u_{i,j−1} + u_{i,j+1}) = 0,  i, j = 1, …, m,
u_{ij} = Randwert, i oder j ∈ {0, m + 1},

mit n = m^{2} Unbekannten. Die Spektral-Kondition der zugehörigen Matrix ist κ̂ ≐ 4m^{2}/π^{2} ≅ 0.4n. In der folgenden Tabelle sind Kontraktionsfaktoren (bezogen auf einen Iterationsschritt) bei diesem Beispiel für die verschiedenen Verfahren aufgeführt. Dabei stehen in der ersten Zeile Approximationsformeln (für große m) der theoretisch hergeleiteten Schranken, in den folgenden Zeilen die bei zwei verschiedenen Problemgrößen praktisch beobachteten Faktoren (gemittelt über die Iterationsschritte). Die so berechnete Näherung u stimmt umso besser mit der tatsächlichen Minimalfläche überein, je größer m ist. Für genaue Approximationen sind daher große Gleichungssystem mit großer Kondition zu lösen. Auf diese Tatsache reagieren die verschiedenen Verfahren unterschiedlich empfindlich.

Verfahren:  Relaxat. SSOR Richards. Tscheb. CG-Verf. SSOR+
32-Zyklus  Tscheb.
Theorie:  1 − \frac{π^{2}}{2m^{2}} 1 − \frac{π}{m} 1 − \frac{16π^{2}}{m^{2}} 1 − \frac{π}{m}  1 − \frac{π}{m} 1 − 2\sqrt{\frac{π}{m}}
n = m^{2} = 400: 0.9775 0.8845  0.9278  0.9277 0.7460  0.6501
n = m^{2} = 1600: 0.9887 0.9288  0.9564  0.9559 0.9159  0.7293

Im Vergleich der drei diskutierten Verfahren, Richardson- und Tschebyscheff-Iteration sowie CG-Verfahren gibt es im betrachteten Fall der symmetrisch, definiten Matrizen eine klare Abstufung nach Effizienz und Flexibilität. Hier ist auf jeden Fall das CG-Verfahren der Tschebyscheff-Iteration, und diese der Richardson-Iteration vorzuziehen (außer bei Speicherplatzbeschränkungen). Allerdings sind die Verfahren unterschiedlich gut in allgemeineren Situationen einsetzbar, die effizienteren Verfahren sind die weniger flexiblen. Die Entwicklung eines verallgemeinerten CG-Verfahrens für nicht-definite oder unsymmetrische Probleme ist ein sehr aktuelles Forschungsgebiet, keiner der vielen Ansätze kommt aber bisher ohne gravierende Nachteile aus. Die Tschebyscheff-Iteration ist auf Fälle verallgemeinerbar, in denen das Spektrum in einer Halbebene der komplexen Zahlen liegt, die die Null nicht enthält. Nur für die Richardson-Iteration gibt es keine solchen prinzipiellen Einschränkungen, die Konstruktion guter Parameter kann im Einzelfall allerdings schwierig sein.

Gegenüberstellung

Sym.Pos.Def. einseit. Spektrum allgemein Schwierig- keitsgrad ⟶
Richardson  +  +  +
Tschebysch.  ++  ++  —
CG  + + +  —  —

↓ Effizienz

5.4 Lanczos-Verfahren zur Eigenwert-Berechnung

Das Verfahren der Konjugierten Gradienten wurde im letzten Abschnitt als Minimierungsverfahren eingeführt. Diese Iteration erzeugt aber gleichzeitig auch ein Modell der Matrix A von niederer Dimension, das dazu geeignet ist, Eigenwert-Approximationen für A zu berechnen ohne diese Matrix explizit zu kennen. Zur Herleitung werden k Schritte der CG-Iteration (5.2.20) ohne die Näherung x^{(j)} betrachtet,

d^{(0)} = b, p^{(1)} = b,
d^{(j)} = d^{(j−1)} − t_{j}Ap^{(j)}, p^{(j+1)} = d^{(j)} + β_{j}p^{(j)}, j = 1, 2, …, k.

Darin können die Suchrichtungen p^{(j)} eliminiert werden. Aus der ersten Gleichung folgt

Ap^{(j)} = \frac{1}{t_{j}} (d^{(j−1)} − d^{(j)}).  (5.4.1)

Wird diese Gleichung mit dem folgenden Index verwendet, kann dort p^{(j+1)} mit der zweiten Rekursionsformel ersetzt werden,

\frac{1}{t_{j+1}} (d^{(j)} − d^{(j+1)}) = Ap^{(j+1)} = Ad^{(j)} + β_{j}Ap^{(j)} = Ad^{(j)} + \frac{β_{j}}{t_{j}} (d^{(j−1)} − d^{(j)}).

Für j = 0 ist Ad^{(0)} = \frac{1}{t_{1}} (d^{(0)} − d^{(1)}), da p^{(1)} = d^{(0)}. Setzt man β_{0} := 0, gilt also

Ad^{(j)} = −\frac{β_{j}}{t_{j}} d^{(j−1)} + (\frac{β_{j}}{t_{j}} + \frac{1}{t_{j+1}} )d^{(j)} − \frac{1}{t_{j+1}} d^{(j+1)}, j = 0, …, k − 1.  (5.4.2)

Nach Satz 5.2.4 bilden die Defekte {d^{(j)}}_{j=0}^{k} eine Orthogonalbasis des Krylovraums K_{k+1}. Faßt man die normierten Defekte zusammen zu einer orthogonalen Matrix Q_{k}, QT_{k}Q_{k} = I_{k}, d.h.,

q^{(j)} := \frac{d^{(j−1)}}{∥d^{(j−1)}∥_{2}} , j = 1, …, k, Q_{k} := (q^{(1)}, …, q^{(k)}) ∈ R^{n×k},

so kann die Beziehung (5.4.2) in Matrixschreibweise durch

AQ_{k} = Q_{k}M_{k} + γ_{k}q^{(k+1)}e^{(k)}T  (5.4.3)

formuliert werden. Die Matrix M_{k} ist einfach aufgebaut. Die Spalte j > 0 dieser Identität zeigt wegen (5.4.2), daß der Vektor Aq^{(j)} eine Linearkombination von q^{(j−1)}, q^{(j)}, q^{(j+1)} ist und M_{k} somit eine Tridiagonalmatrix. Die Symmetrie von A überträgt sich wegen

\underbrace{QT_{k}AQT_{k}}_{sym.} = \underbrace{QT_{k}Q_{k}}_{=I_{k}} M_{k} + γ_{k} \underbrace{QTq^{(k+1)}}_{=0} e^{(k)}T = M_{k},

auf M_{k}. Daher gilt (5.4.3) mit

M_{k} = ( \begin{matrix}α_{1} & γ_{1} \\ γ_{1} & α_{2} & γ_{2} \\ & ... & ... & ... \\ & & γ_{k−1} & α_{k} \end{matrix} ) ∈ R^{k×k}.  (5.4.4)

Diese Beziehung (5.4.3) kann wegen der Orthonormalität der q^{(j)} auch direkt zur Berechnung von M_{k} und Q_{k} dienen. Dazu wird die j-te Spalte von (5.4.3) betrachtet und nach q^{(j+1)} aufgelöst:

γ_{j}q^{(j+1)} = (A − α_{j}I)q^{(j)} − γ_{j−1}q^{(j−1)}.

Für die Koeffizienten dieser Rekursion ergeben sich die Werte

α_{j} = q^{(j)}TAq^{(j)}, da 0 = γ_{j}q^{(j)}Tq^{(j+1)} = q^{(j)}TAq^{(j)} − α_{j},
γ_{j} = ∥(A − α_{j}I)q^{(j)} − γ_{j−1}q^{(j−1)}∥_{2}.

Daher liefert das folgende Verfahren (bis auf Vorzeichen) die Größen aus der Identität (5.4.3), (5.4.4). Der Startvektor ist nun beliebig, d^{(0)} ≠ 0. Lanczos-Verfahren:

γ_{0} := ∥d^{(0)}∥_{2}; q^{(0)} := 0; j := 0;
solange γ_{j} ≠ 0:
q^{(j+1)} := d^{(j)}/γ_{j}; j := j + 1; α_{j} := q^{(j)}TAq^{(j)};
d^{(j)} = (A − α_{j}I)q^{(j)} − γ_{j−1}q^{(j−1)};
γ_{j} := ∥d^{(j)}∥_{2};

(5.4.5)

Falls dieses Verfahren erst mit γ_{n} = 0 abbricht, liefert es (bei exakter Rechnung) eine Tridiagonalisierung M_{n} = QT_{n}AQ_{n} von A nach einem zu Satz 4.2.2 unterschiedlichen Prinzip. Da die Vektoren {q^{(1)}, …, q^{k)}} aber eine Basis des Krylovraums K_{k} bilden, was an (5.4.5) direkt ablesbar ist, sind schon für k ≪ n die Eigenwerte der kleineren Matrix M_{k} gute Approximationen der extremalen Eigenwerte von A.

Der Grund dafür ist das Courantsche Maximum-Minimum-Prinzip, Satz 4.6.1. Zur Diskussion seien λ_{1} ≥ … ≥ λ_{n} die Eigenwerte von A und

λ_{1}^{(k)} ≥ … ≥ λ_{k}^{(k)} die Eigenwerte von M_{k} aus (5.4.4),(5.4.5).

Letztere können mit den Verfahren aus §4.4 effizient berechnet werden. Wegen M_{k} = QT_{k}AQ_{k}, Q_{k}R^{k} = K_{k}, gilt z.B. für den maximalen Eigenwert

λ_{1}^{(k)} = max_{y∈R^{k}} \frac{yTM_{k}y}{yTy} = max_{y∈R^{k}} \frac{yTQT_{k}AQ_{k}y}{yTQT_{k}Q_{k}y} = max_{x∈K_{k}} \frac{xTAx}{xTx} ≤ max_{x∈R^{n}} \frac{xTAx}{xTx} = λ_{1}.  (5.4.6)

Ähnlich wie beim CG-Verfahren minimiert λ_{k}^{(k)} bzw. maximiert λ_{1}^{(k)} den Rayleighquotienten R_{A}[x] auf dem Krylov-Unterraum. Eine Fehlerschranke für diese beiden Eigenwerte läßt sich daher analog zu Satz 5.2.5 herleiten.

Satz 5.4.1 Die symmetrische Matrix A besitze die Eigenwerte λ_{1} ≥ … ≥ λ_{n} und die orthonormalen Eigenvektoren x^{(1)}, …, x^{(n)}. Nach k Schritten des Lanczos-Verfahrens (5.4.5) gilt für den größten Eigenwert λ_{1}^{(k)} der Matrix M_{k} aus (5.4.4) die Fehlerschranke

λ_{1} ≥ λ_{1}^{(k)} ≥ λ_{1} − (λ_{1} − λ_{n})\frac{tan^{2} φ}{T_{k−1}^{2}(1 + 2ϱ_{1})},  (5.4.7)

wobei cos φ_{1} = |q^{(1)}Tx^{(1)}|, ϱ_{1} = (λ_{1} − λ_{2})/(λ_{2} − λ_{n}) und T_{k−1} das Tschebyscheff-Polynom (5.1.11) vom Grad k − 1 ist.

Beweis Jedes Element des Krylovraums x ∈ K_{k} hat die Gestalt x = p(A)d^{(0)} = ∑_{j=1}^{n} p(λ_{j})ξ_{j}x^{(j)}, p ∈ Π_{k−1}, wobei d^{(0)} = ∑_{j=1}^{n} ξ_{j}x^{(j)}. Nach (5.4.6) ist

λ_{1}^{(k)} = {max \atop p ∈ Π_{k−1}} \frac{d^{(0)}Tp(A)Ap(A)d^{(0)}}{d^{(0)}Tp(A)^{2}d^{(0)}} = {max \atop p ∈ Π_{k−1}} \frac{∑_{j=1}^{n} ξ_{j}^{2}p(λ_{j})^{2}λ_{j}}{∑_{j=1}^{n} ξ_{j}^{2}p(λ_{j})^{2}} .

Mit beliebigen Polynomen p ∈ Π_{k−1} gilt also

\frac{d^{(0)}Tp(A)Ap(A)d^{(0)}}{d^{(0)}Tp(A)^{2}d^{(0)}} = λ_{1} − \frac{∑_{j=2}^{n} ξ_{j}^{2}p(λ_{j})^{2}(λ_{1} − λ_{j})}{∑_{j=1}^{n} ξ_{j}^{2}p(λ_{j})^{2}} ≥ λ_{1} − (λ_{1} − λ_{n})\frac{∑_{j=2}^{n} ξ_{j}^{2}p(λ_{j})^{2}}{ξ_{1}^{2}p(λ_{1})^{2}} . (5.4.8)

Das Verhältnis |p(λ_{j})/p(λ_{1})|, j > 1, läßt sich dadurch auf einen minimalen Wert bringen, daß man p als Tschebyscheff-Polynom zum Intervall [λ_{n}, λ_{2}] wählt. Nach Satz 5.1.2 gilt mit

p(λ) = T_{k−1}(\frac{λ_{2} + λ_{n} − 2λ}{λ_{2} − λ_{n}}) ⇒ |p(λ_{j})| ≤ 1, j = 2, …, n.

Da |p(λ_{1})| = |T_{k−1}(−1 − 2ϱ_{1})| = |T_{k−1}(1 + 2ϱ_{1})| ist, folgt damit |p(λ_{j})/p(λ_{1})| ≤ 1/|T_{k−1}(1 + 2ϱ_{1})|, j > 1. Außerdem ist

\frac{∑_{j=2}^{n} ξ_{j}^{2}}{ξ_{1}^{2}} = \frac{∥d^{(0)}∥_{2}^{2}}{(x^{(1)}Td^{(0)})^{2}} − 1 = \frac{1}{cos^{2} φ_{1}} − 1 = tan^{2} φ_{1}.

Mit diesen Schranken folgt aus (5.4.8) die Behauptung.

Für k ≪ n fällt der Aufwand zur Berechnung des größten Eigenwerts von M_{k} gegenüber (5.4.5) nicht ins Gewicht, der Aufwand für k Schritte ist daher ungefähr so groß wie bei der Vektor-Iteration (4.4.3). Bis auf Konstanten ist der Fehler bei definiten Matrizen (λ_{n} ≥ 0 ⇒ 1 + 2ϱ_{1} ≥ 2λ_{1}/λ_{2} − 1) nach k Matrix-Vektor-Multiplikationen jeweils

(\frac{λ_{2}}{λ_{1}} )^{2k}  bei sym. Vektoriteration,
\frac{1}{T_{k}(2λ_{1}/λ_{2} − 1)^{2}} ≤ 4(\frac{λ_{2}}{λ_{1}} )^{2k}(1 + \sqrt{1 − λ_{2}/λ_{1}})^{−4k} bei Lanczos.

(5.4.9)

Zum Vergleich der Schranken aus (5.4.9) seien Zahlenwerte für k = 20 und verschiedene Verhältnisse λ_{1}/λ_{2} angegeben:

λ_{1}/λ_{2} = 1.5 1.1 1.01
Vekt-It. 9_{10} − 8 2_{10} − 2  0.7
Lanczos 5_{10} − 23 6_{10} − 11 1_{10} − 3

Das Lanczos-Verfahren benutzt i.w. die gleiche Information wie die Vektoriteration, nämlich die Krylov-Vektoren {A^{j}q^{(1)}}, leitet daraus aber wesentlich bessere Eigenwert-Schätzungen ab. Beim praktischen Einsatz ist das Lanczos-Verfahren aber recht anfällig gegen Rundungsfehler.

6 Fortsetzungsverfahren für nichtlineare Probleme

6.1 Die numerische Verfolgung von Lösungskurven

Das Standardverfahren zur Lösung des nichtlinearen Gleichungssystems

F (x) = 0,  F : R^{n} ↦ R^{n},  (6.1.1)

ist das Newton-Verfahren (vgl. Numerik I, §5.2): x^{(0)} ∈ R^{n},

F′(x^{(k)})(x^{(k+1)} − x^{(k)}) = −t_{k}F (x^{(k)}), k = 0, 1, …,  (6.1.2)

mit Parametern t_{k} > 0. Beim klassischen Newtonverfahren mit t_{k} ≡ 1 kann die Konvergenz nur in einer, evtl. sehr kleinen, Umgebung der Lösung z von (6.1.1) garantiert werden. Eine Verbesserung war die Einführung des Parameters t_{k}, der mit Hilfe einer Liniensuche so bestimmt wird, daß der Funktionswert in x^{(k+1)} kleiner wird,

φ(x^{(k+1)}) < φ(x^{(k)}) mit φ(x) := ∥F (x)∥_{2}^{2}.

Das Prinzip entspricht dem des einfachen Gradientenverfahrens (5.2.5). Aber auch bei diesem Verfahren ist die Konvergenz gegen z nicht sicher, da die Folge {x^{(k)}} aus (5.2.2) gegen ein lokales Minimum x̄ mit φ(x̄) > 0 konvergieren kann.

Ein alternativer Zugang nutzt die lokal garantierte Konvergenz des Newtonverfahrens aus. Man kann nämlich erwarten, daß die Lösung eines leicht deformierten Problems (6.1.1) eine gute Startnäherung für die Iteration (6.1.2) liefert. Konkret wird ein zusätzlicher Parameter λ eingeführt, etwa λ ∈ [0, 1], und die Problemschar

0 = G(x, λ) := λF (x) + (1 − λ)F_{0}(x), λ ∈ [0, 1],  (6.1.3)

betrachtet (‘Einbettung’). Dabei ist F_{0} eine Abbildung, für die eine Nullstelle x̄, F_{0}(x̄) = 0, bekannt ist, z.B.,

F_{0}(x) := x ⇒ x̄ = 0,
F_{0}(x) := F (x) − F (x̃) ⇒ x̄ = x̃.

Unter geeigneten Voraussetzungen hängen die Lösungen von (6.1.3) stetig vom Parameter λ ab, sie bilden eine Lösungskurve. Daher kann man versuchen, dieser Kurve zu folgen,

vom bekannten Startpunkt z(0) = x̄ mit G(x, 0) = F_{0}(x) = 0,
zum gesuchten Endpunkt z(1) = z mit G(x, 1) = F (x) = 0.

Im folgenden Bild sind mögliche Situationen skizziert, insbesondere muß z(λ) keine (eindeutige) Funktion von λ sein.

\overline{}0  1  λ ‘Umkehrpunkt’  z = z(1) F (x) = 0 x̄ = z(0) F_{0}(x) = 0

Parameterabhängige Gleichungssysteme G(x, λ) = 0 müssen in der Praxis oft auch unabhängig von der Motivation (6.1.3) behandelt werden, etwa als Abhängigkeitsanalysen über Material- oder Modellparameter. Daher wird nun das abstrakte Problem

G(x, λ) = 0, G : D × [0, 1] ↦ R^{n}, D ⊂ R^{n},  (6.1.4)

betrachtet. Der Satz über implizite Funktionen liefert hier ein einfaches Kriterium für die Existenz einer glatten und bezüglich λ eindeutigen Lösungskurve.

Satz 6.1.1 D sei offen und G ∈ C^{1}(D × [0, 1]). Die Ableitung G_{x} sei überall invertierbar und es gelte

∥G_{x}(x, λ)^{−1}∥ ≤ α, ∥G_{λ}(x, λ)∥ ≤ β_{1} ∀(x, λ) ∈ D × [0, 1].  (6.1.5)

Es sei z_{0} ∈ D eine Lösung von G(x, 0) = 0 so, daß

{x ∈ R^{n} : ∥x − z_{0}∥ ≤ αβ_{1}} ⊆ D.

Dann gibt es eine in z_{0} beginnende, stetig differenzierbare Lösungsfunktion z(λ) mit G(z(λ), λ) ≡ 0, z(0) = z_{0}, für λ ∈ [0, 1]. Ihre Ableitung z′ erfüllt die Beziehung

z′(λ) = \frac{dz}{dλ}(λ) = −G_{x}(z(λ), λ)^{−1}G_{λ}(z(λ), λ).  (6.1.6)

Beweis Aus dem Satz über implizite Funktionen folgt die lokale Existenz und die Gültigkeit von (6.1.6), da

G(z(λ), λ) ≡ 0 ⇒ G_{x}z′ + G_{λ} ≡ 0.

Die daraus abgeleitete Gleichung (6.1.6) ist eine Differentialgleichung z′ = f(z, λ) mit stetiger und beschränkter rechter Seite f, ∥f∥ ≤ αβ_{1} in D × [0, 1]. Nach dem Existenssatz von Peano existiert daher eine Lösung z(λ), die in dem Kegel ∥z(λ) − z(0)∥ ≤ αβ_{1}λ verläuft. Wenn dieser ganz in D × [0, 1] liegt, erreicht die Lösung z(λ) den rechten Rand, λ = 1.

[figure: z_{0}; λ; 0; 1; z(λ)]

Unter der Voraussetzung (6.1.5) können insbesondere keine Umkehrpunkte wie im obigen Bild auftreten, da in diesen die Ableitung G_{x} singulär wird. Zunächst wird die Verfolgung von Kurven ohne Umkehrpunkte behandelt. Tatsächlich berechnet werden dabei allerdings nur einzelne Punkte der Lösungskurve in Parameterwerten 0 = λ_{0}, λ_{1}, . . .. Mögliche Strategien

• Klassische Fortsetzung:

Der Wert z(λ_{k−1}) wird als Startwert der Newton-Iteration zur Lösung von G(x, λ_{k}) = 0 im Nachbarpunkt λ_{k} > λ_{k−1} verwendet. Wenn z′ groß werden kann, sind hierbei sehr kleine Schritte h_{k} = λ_{k} − λ_{k−1} notwendig.

[figure: λ; λ_{k−1}; λ_{k}; Prädiktor; z(λ); Newton]

• Tangentiale Fortsetzung:

Wegen (6.1.6) ist in λ_{k−1} mit z(λ_{k−1}) auch die Ableitung z′(λ_{k−1}) bekannt. Eine Startnäherung x^{(0)}(λ_{k}) für z(λ_{k}) im Nachbarpunkt λ_{k} = λ_{k−1} + h_{k} kann daher mit der Tangente in λ_{k−1} konstruiert werden. Dies ergibt ein zweistufiges Verfahren

[figure: λ; λ_{k−1}; λ_{k}; Prädiktor; z(λ); Newton]
Prädiktor- Schritt: \{ \begin{matrix}x^{(0)}(λ_{k}) := z(λ_{k−1}) + h_{k}z′(λ_{k−1}), mit \\ G_{x}(z(λ_{k−1}), λ_{k−1})z′(λ_{k−1}) = −G_{λ}(z(λ_{k−1}), λ_{k−1}) \end{matrix}  (6.1.7)
Korrektor- Schritt: \{ \begin{matrix}G_{x}(x^{(j)}(λ_{k}), λ_{k})(x^{(j+1)}(λ_{k}) − x^{(j)}(λ_{k})) = −G(x^{(j)}(λ_{k}), λ_{k}), \\ j = 0, 1, …. \end{matrix} (6.1.8)

Im folgenden wird nur die zweite, bessere Strategie untersucht. Auch bei dieser ist grundsätzlich die Schrittweite h_{k} so klein zu wählen, daß die Newton-Iteration (6.1.8) mit dem Startwert x^{(0)}(λ_{k}) konvergiert. Da man andererseits nur selten am genauen Verlauf der Kurve z(λ) interessiert ist, sind möglichst große Schrittweiten anzustreben. Die größte Schrittweite, für die noch Konvergenz garantiert werden kann, ist im folgenden Satz charakterisiert.

Satz 6.1.2 Es sei D offen, G ∈ C^{2}(D × [0, 1]) und

∥G_{x}(x, λ)^{−1}∥ ≤ α, ∥G_{λ}∥ ≤ β_{1}, max{∥G_{xx}∥, ∥G_{xλ}∥, ∥G_{λλ}∥} ≤ β_{2}  (6.1.9)

∀(x, λ) ∈ D × [0, 1]. Damit sei

h̄ := \frac{1}{α(1 + αβ_{1})β_{2}} .  (6.1.10)

Die Lösung z(λ_{k−1}), λ_{k−1} ∈ [0, 1), von (6.1.4) sei einschließlich der Kugel

{x ∈ R^{n} : ∥x − z(λ_{k−1})∥ ≤ αβ_{1}h̄}

in D enthalten. Dann konvergiert das Prädiktor-Korrektor-Verfahren (6.1.7), (6.1.8) gegen z(λ_{k}) wenn λ_{k} ≤ 1 und

h_{k} = λ_{k} − λ_{k−1} ≤ h̄.

Beweis Nach Satz 5.2.2 aus der Numerik I konvergiert die Newton-Iteration (6.1.8), wenn für den Startwert x^{(0)} gilt

∥x^{(0)}(λ_{k}) − z(λ_{k})∥ < \frac{2}{3αβ_{2}} .  (6.1.11)

Um diese Aussage hier anzuwenden, ist die Abweichung von Kurve und Tangente abzuschätzen, der Satz von Taylor zeigt dazu

∥z(λ_{k−1}) + h_{k}z′(λ_{k−1}) − z(λ_{k})∥ ≤ \frac{1}{2}h_{k}^{2} max_{s∈[0,h]} ∥z′′(λ_{k−1} + s)∥.

Daher wird zunächst eine Schranke für z′′ in D benötigt. Nach Satz 6.1.1 ist z differenzierbar und ∥z′∥ ≤ αβ_{1}, daher liegen x^{(0)}(λ_{k}) und z(λ_{k}) in D. Wegen G ∈ C^{2} ist die Ableitung z′′ stetig und ergibt sich aus der Kettenregel

G_{x}z′ + G_{λ} ≡ 0 ⇒ G_{x}z′′ + G_{xx}z′z′ + 2G_{xλ}z′ + G_{λλ} ≡ 0,

durch Multiplikation mit G_{x}^{−1}. Daher ist

∥z′′∥ ≤ αβ_{2}(1 + ∥z′∥)^{2} ≤ αβ_{2}(1 + αβ_{1})^{2}.

Somit läßt sich die Konvergenzbedingung (6.1.11) mit der Taylor-Schranke durch die Forderung

∥x^{(0)}(λ_{k}) − z(λ_{k})∥ ≤ \frac{1}{2}h_{k}^{2}αβ_{2}(1 + αβ_{1})^{2} <^{!} \frac{2}{3αβ_{2}}

erzwingen. Letztere ist aber unter der Voraussetzung h_{k} ≤ h̄ erfüllt.

Dieser Satz garantiert, daß man mit Schrittweiten h_{k} ≤ h̄ die Kurve z(λ) tatsächlich durch das Intervall [0, 1] verfolgen kann, also mit ca. 1/h̄ Schritten. Die Aussage des Satzes hat aber kaum eine praktische Bedeutung, da die Schranken (6.1.9) selten bekannt sind. Andererseits ist es aber auch aus Effizienzgründen nicht sinnvoll, mit maximalen Schrittweiten h_{k} ≅ h̄ vorzugehen. Dies liegt an der quadratischen Konvergenz des Newtonverfahrens, da der Startfehler einer guten Näherung wesentlich stärker reduziert wird als der einer schlechten. Für die Fehler e_{j} := ∥x^{(j)}(λ_{k}) − z(λ_{k})∥ lautet die Konvergenzaussage von Satz I.5.2.2

e_{j} ≤ \frac{3}{2}αβ_{2} e_{j−1}^{2}.  (6.1.12)

Für h ≅ h̄ wird der Fehler am Anfang nur langsam kleiner, da e_{1} ≤ (\frac{3}{2}αβ_{2}e_{0})e_{0} ≅ e_{0} nach Konstruktion im Beweis des letzten Satzes. Um wieder nahe genug an die Lösungskurve zu kommen, werden daher viele Newton-Schritte benötigt. Da der Prädiktor-Schritt (6.1.7) den gleichen Aufwand wie eine Newton-Korrektor (6.1.8) erfordert, ist es günstiger, und sicherer, mehrere kleine λ-Schritte mit wenig Korrekturen pro Schritt zu machen. Dazu muß eine gute Kontraktion der Newton-Iteration gesichert werden, etwa \frac{3}{2}αβ_{2}e_{0} ≤^{!} \frac{1}{10} ⇒ e_{1} ≤ \frac{1}{10}e_{0}, e_{2} ≤ \frac{1}{1000}e_{0}, . . .. Die unbekannte tatsächliche Kontraktion e_{1}/e_{0} kann dabei aus den Newton-Korrekturen ∥x^{(j+1)} − x^{(j)}∥ geschätzt werden. Wegen der quadratischen Konvergenz ist ∥x^{(j+1)} − x^{(j)}∥ = ∥(x^{(j)} − z) − (x^{(j+1)} − z)∥ = e_{j} + O(e_{j}^{2}). Mit q ≪ 1 kann daher aus

\frac{e_{1}}{e_{0}} ≅ \frac{∥x^{(2)} − x^{(1)}∥}{∥x^{(1)} − x^{(0)}∥} ≤^{!} q (q = \frac{1}{10} ⋯ \frac{1}{2})  (6.1.13)

auf eine akzeptable Konvergenz der Newton-Korrektur (6.1.8) geschlossen werden.

In der Praxis läßt sich diese Forderung mit Hilfe einer Schrittweitensteuerung realisieren. Dazu werden zunächst mit einer geschätzten Schrittweite h_{k} (z.B. der aus dem letzten λ-Schritt) der Prädiktor- (6.1.7) und zwei Korrektorschritte (6.1.8) durchgeführt. Entspricht dabei die Kontraktion nicht der Bedingung (6.1.13), wird dieser Versuch verworfen und die Schrittweite verkleinert, etwa h_{k} → h_{k}/2 (z.B., ’in Kurven bremsen!’). Umgekehrt kann bei einer zu guten Kontraktion ∥x^{(2)} −x^{(1)}∥/∥x^{(1)} −x^{(0)}∥ < \frac{1}{4}q die Schrittweite für den nächsten Schritt vergrößert werden, h_{k+1} := 2h_{k} (’beschleunigen auf gerader Strecke’). Der folgende Algorithmus skizziert dieses Vorgehen. Fortsetzungsverfahren mit Schrittweitensteuerung

λ := 0; h := h_{Start}; z := z_{0},

löse G_{x}(z_{0}, 0)t = −G_{λ}(z_{0}, 0);  {Tangente}

wiederhole:

y := z + ht; j := 0;  {Prädiktor}
wiederhole:  {Newton-Iteration}
löse G_{x}(y, λ + h)d = −G(y, λ + h);
y := y + d; j := j + 1; c_{j} := ∥d∥;
bis (c_{j} ≤ ϵ) oder (j ≥ j_{max});  {z.B. j_{max} = 2}
falls (c_{j} > ϵ) oder (c_{2}/c_{1} > q) dann  {Schritt verwerfen!}
h := h/2; falls h < h_{min} dann Abbruch;
sonst  {Schritt akzeptieren!}
λ := λ + h; z := y;
löse G_{x}(z, λ)t = −G_{λ}(z, λ);  {neue Tangente}
falls c_{2}/c_{1} < q/4 dann h := 2h;
falls λ + h > 1 dann h := 1 − λ;

bis λ ≥ 1;

(6.1.14)

Im Prädiktor-Schritt kann übrigens die QR-Zerlegung von G_{x} aus dem letzten Newton-Schritt verwendet werden.

Zu einem Abbruch des Verfahrens kommt es in der Regel nur dann, wenn die Voraussetzungen von Satz 6.1.1 verletzt sind, bei stetig differenzierbarem G also i.w., wenn G_{x} singulär wird. Ein einfaches Beispiel dazu ist die Kreisgleichung

0 = G(x, λ) := x^{2} + λ^{2} − 1

im R^{1}. Eine Parameterdarstellung der Lösung durch (1, 0) nach λ, wie z(λ) = \sqrt{1 − λ^{2}}, stößt im Punkt (x, λ) = (0, 1) auf Schwierigkeiten, da z′ dort nicht beschränkt ist. Parametrisiert man den Kreis aber nach der Bogenlänge s, z.B.,

(z(s), λ(s)) = (cos s, sin s),

hat der Umkehrpunkt (0, 1) keinerlei besondere Bedeutung mehr.

Beim allgemeinen Problem kann analog die Hervorhebung des n + 1-ten Parameters λ fallengelassen werden dadurch, daß alle Komponenten zu einem n + 1-Vektor y zusammengefaßt werden, y_{i} = x_{i} (i ≤ n), y_{n+1} := λ. Das Problem lautet dann

G(y) = 0, G : D ⊆ R^{n+1} ↦ R^{n}.  (6.1.15)

Wenn G in einer Umgebung eines Punktes v̄ mit G(v̄) = 0 stetig differenzierbar ist und G′(v̄) = \frac{∂G}{∂y} den Maximalrang n besitzt, garantiert der Satz über implizite Funktionen die lokale Existenz einer Lösungskurve v(s), s ∈ R. Diese ist sogar stetig differenzierbar und es gilt

G(v(s)) ≡ 0 ⇒ G′(v(s))v′(s) ≡ 0.  (6.1.16)

Die Ableitung und Tangentenrichtung v′ ∈ R^{n+1} ist somit ein Element des eindimensionalen Nullraums von G′ : R^{n+1} ↦ R^{n}. Wenn insbesondere als Kurvenparameter die Bogenlänge s gewählt wird mit ∥∂v/∂s∥_{2} ≡ 1, ist v′ durch (6.1.16) bis auf das Vorzeichen (d.h. die Kurvenrichtung) eindeutig bestimmt. In Verallgemeinerung des Verfolgungsverfahrens (6.1.7), (6.1.8) kann also mit Hilfe von (6.1.16) ein Prädiktor-Schritt in Richtung der Kurventangente durchgeführt werden. In Verallgemeinerung von (6.1.8) sollte der Korrektor idealerweise zum nächstgelegenen Punkt, v(ŝ), auf der Kurve führen. Die Korrektur d^{(0)} = y^{(1)} − y^{(0)} des durch den Prädiktor berechneten Startvektors y^{(0)} sollte daher senkrecht zu v′(ŝ) sein, d.h. d^{(0)} ∈ N(G′(v(ŝ)))^{⊥}. Die Gleichung für die Newtonkorrektur, G′(y^{(0)})d^{(0)} = −G(y^{(0)}) ist ein unterbestimmtes Gleichungssystem. Ändert man jedoch die erwähnte Orthogonalitätsbedingung etwas ab, so wird durch

[figure: Prädiktor; v′(s̄); v(s̄); G(v(s)) ≡ 0; y^{(0)}; Korrektor]
G′(y^{(0)})d^{(0)} = −G(y^{(0)}), d^{(0)} ∈ N(G′(y^{(0)}))^{⊥}

die eindeutige Kleinste-Quadrate-Lösung (vgl. Def. 2.1.1) definiert,

d^{(0)} = −G′(y^{(0)})^{+}G(y^{(0)}),

(G′)^{+} ist dabei die verallgemeinerte Inverse. So ergibt sich das Prädiktor-Korrektor-Verfahren für (6.1.15):

Prädiktor- Schritt: \{ \begin{matrix}s_{k} := s_{k−1} + h_{k}, \\ y^{(0)}(s_{k}) := v(s_{k−1}) + h_{k}t_{k−1}, mit \\ G′(v(s_{k−1}))t_{k−1} = 0, ∥t_{k−1}∥_{2} = 1, \end{matrix}  (6.1.17)

Korrektor- Schritt: \{ \begin{matrix}y^{(j+1)}(s_{k}) = y^{(j)}(s_{k}) − G′(y^{(j)}(s_{k}))^{+}G(y^{(j)}(s_{k})), \\ j = 0, 1, …. \end{matrix}  (6.1.18)

Die Richtung der Tangente t_{k} in (6.1.17) wird am einfachsten durch tT_{k−1}t_{k−2} > 0 festgelegt. Zur Berechnung der Lösungen in (6.1.17) und (6.1.18) dient die QR-Zerlegung (vgl. Satz 2.3.3) der Matrix

(G′)T = QR = Q ( \begin{matrix}R_{0} \\ 0 \end{matrix} ) , Q ∈ R^{(n+1)×(n+1)}, R_{0} ∈ R^{n×n},

wobei R_{0} eine reguläre obere Dreieckmatrix ist. Die Tangente t ist dann nämlich gerade der n + 1-te Spaltenvektor von Q, denn

0 = G′t = (RT_{0}, 0) \underbrace{QTt}_{=:r}, r ∈ R^{n+1} ⟺ r_{i} = ±δ_{i,n+1} ⇒ t = ±Qe^{(n+1)}.

Die Kleinste-Quadrate-Lösung zu G′d = −G ergibt sich ebenfalls aus dieser QR-Zerlegung d = −QET_{n,n+1}(RT_{0})^{−1}G, vgl. (2.3.11 ff). Auch hier kann i.a. (außer im Anfangspunkt) für den Prädiktorschritt (6.1.17) die QR-Zerlegung des letzten Korrektorschritts zu Stelle s_{k−1} benutzt werden.

Bei einer Schrittweitensteuerung wie in (6.1.14) für das Verfahren (6.1.17),(6.1.18) ist es zweckmäßig, außer der anfänglichen Kontraktion ∥y^{(2)} − y^{(1)}∥/∥y^{(1)} − y^{(0)}∥ ≤^{!} q < 1 auch den Winkel zwischen aufeinanderfolgenden Tangenten zu überwachen, tT_{k−1}t_{k−2} ≥^{!} τ > 0.

Beispiel 6.1.3 Ein beliebtes Testbeispiel, dessen Schwierigkeit mit wachsender Dimension größer wird, ist

F (x) = 0, F_{i}(x) := x_{i} − exp cos(i ∑_{j=1}^{n} x_{j}), i = 1, …, n.

Mit G(x, λ) = λF (x) + (1 − λ)x ergibt sich dafür die Einbettung

G(x, λ) = 0, G_{i}(x, λ) := x_{i} − λ exp cos(i ∑_{j=1}^{n} x_{i}), i = 1, …, n,

mit dem Startwert z(0) = 0. Die Bogenlängen der Lösungskurven wachsen mit der Dimension (stark) an von ca. 1.6 (n = 2) auf ca. 60 (n = 9) (Demo-Programm FORTSETZ.PAS).

Index

Ähnlichkeitstransformation, 41 Anlaufrechnung, 39

B-Spline, 12 Bernstein, 5 Beziér, 5 Bisektion, 62 Bogenlänge, 97

CG-Verfahren, 83 Cholesky-Zerlegung, 86 Courant

Maximum-Minimum-Prinzip, 66, 90

Defekt, 23 Deflation, 52 diagonalisierbar, 42 Dreieck-Matrix, 27–29, 42, 44

Ecke, 33

ausgeartet, 34 Eigenvektor, 40 Eigenwert, 40 Einbettung, 92 Einheitswurzel, primitive, 17

Faltungsprodukt, 22 Fourier-Entwicklung, 21 Fourier-Transformation, 19

Gauß,C.F., 23 Gerschgorin, Satz von, 69 Gleichungssystem

linear, 27, 46 nichtlinear, 92

Haupt-Minoren, 60 Hessenberg-Matrix, 44, 49, 51 Householder-Spiegelung, 27, 44

Inverse Iteration, 56, 58, 62 Inverse, Verallgemeinerte, 24, 97

Berechnung, 30

Kleinste-Quadrate Lösung, 23, 97 Methode, 23 Konditionszahl, 72 Konjugierte-Gradienten-Verfahren, 83, 89 Kontrollpunkte, 5 Konvergenz, 47, 48 kubisch, 58 quadratisch, 53 Korrektor, 94, 97, 98 Krylov-Raum, 82

Lösungskurve, 92 Leibniz-Regel, 13 Liniensuche, 79, 92 LR-Verfahren, 56 LR-Zerlegung, 27, 30, 56

Messung, 23

Newton-Verfahren, 92 normale Matrix, 43 Normalform

Jordan-, 42

Lineare Optimierung, 32 Schur-, 42, 55

Optimierungsproblem, lineares, 32

Polynom charakteristisches, 40 Orthogonal-, 76 Prädiktor, 94, 97, 98 Programm, lineares, 32 Pseudo-Inverse, 24

QR-Doppelschritt, 53 QR-Verfahren, 51, 56, 59 QR-Zerlegung, 27, 29, 30, 38, 42, 49–51, 53,

98

Rayleigh-Quotient, 56 Rekursionsformel, 76 Relaxationsverfahren, 72 Richardson-Iteration, 73, 77

optimale Parameter, 74

Schlupfvariable, 33 Schrittweitensteuerung, 96 Simplex-Verfahren, 34, 36

revidiertes, 36 Spektralverschiebung, 48, 51 Spline

-Approximation, lokale, 15 -Funktion, 3 kubischer, 3 Minimaleigenschaft, 3 natürlicher, 3

SSOR-Verfahren, 87 Sturmsche Kette, 60

Tomographie, 31 Tridiagonal-Matrix, 7, 44, 89

unzerlegbare, 59 Tridiagonalisierung, 90 Tschebyscheff

Iteration, 77

Polynom, 74–76, 91

Umkehrpunkt, 94, 97 Unterraum

-Iteration, 50 invarianter, 41, 50

Vektor-Iteration, 46, 55, 57, 77, 78, 91 Versuchsparameter, 23 Vielfachheit

algebraische, 41 geometrische, 40

Von-Mises-Iteration, 46 Vorkonditionierung, 86

Wielandt-Iteration, 48

Zerlegung der Eins, 12, 14 zulässige Punkte, 32 zyklische Matrix, 22