16.07.2013 Aufrufe

NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...

NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...

NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>NUMERISCHE</strong> <strong>MATHEMATIK</strong> <strong>II</strong><br />

<strong>Sommersemester</strong> <strong>2010</strong><br />

G. Lube<br />

Georg-August-Universität Göttingen, NAM<br />

2. Juli <strong>2010</strong>


Einleitung<br />

Die Vorlesung Numerische Mathematik <strong>II</strong> setzt den Einführungskurs über Numerische Mathematik<br />

I aus dem Wintersemester fort. Dabei werden numerische Verfahren zur approximativen<br />

Lösung der folgenden Grundaufgaben behandelt und analysiert:<br />

• Teil I: Numerische Lösung gewöhnlicher Differentialgleichungen<br />

– Anfangswertaufgaben bei gewöhnlichen Differentialgleichungen (Kapitel 1-5)<br />

– Zweipunkt-Randwertprobleme (Kapitel 6-8)<br />

• Teil <strong>II</strong>: Numerische Lineare Algebra<br />

– Lineare Gleichungssysteme großer Dimension (Kapitel 9)<br />

– Eigenwertaufgaben (Kapitel 10-12)<br />

• Teil <strong>II</strong>I: Lineare Optimierung (Kapitel 13-15)<br />

Die Vorlesung wendet sich an Studierende der Mathematik, Physik und Angewandten Informatik<br />

sowie an Lehramtskandidaten mit dem Fach Mathematik ab dem vierten Semester. Vorausgesetzt<br />

werden die Vorlesungen Differential- und Integralrechnung I und <strong>II</strong>, Lineare Algebra I und<br />

Numerische Mathematik I.<br />

Zur aktiven und gründlichen Aneigung des Vorlesungsstoffes ist die Teilnahme an den Übungen<br />

sehr zweckmäßig. Im Wintersemester <strong>2010</strong>/11 wird sich voraussichtlich ein Seminar zur Numerischen<br />

Mathematik mit Themen anschließen, die an potentielle Graduierungsarbeiten heranführen.<br />

In den Übungen werden wir (aufbauend auf den guten Erfahrungen im Wintersemester) mit dem<br />

Software-Paket MATLAB arbeiten. Dieses System hat sich in den letzten Jahren international<br />

als wichtiges Arbeitsinstrument in Lehre und Forschung bewährt. Es ist somit auch potentiell<br />

ein Arbeitsinstrument <strong>für</strong> nachfolgende Graduierungsarbeiten.<br />

In den Übungen werden wieder in größerem Umfang Programmieraufgaben gestellt. Dazu sind<br />

Programmierkenntnisse in C nützlich.<br />

3


Inhaltsverzeichnis<br />

I Numerische Lösung gewöhnlicher Differentialgleichungen 7<br />

1 Anfangswertaufgaben 9<br />

1.1 Explizite Differentialgleichungen 1. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

1.2 Lokale Existenzaussagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

1.3 Existenz globaler Lösungen. Regularität. Evolution . . . . . . . . . . . . . . . . . . . . . . 15<br />

1.4 Stabilität der Lösung von AWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

2 Einschritt-Verfahren 21<br />

2.1 Definition und Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.2 Konsistenz von Einschritt-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.3 Konvergenz von Einschritt-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

3 Explizite Runge-Kutta Verfahren 27<br />

3.1 Idee von Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.2 Ordnungsbedingungen nach Butcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.3 Konvergenz expliziter Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

4 Adaptive Gittersteuerung 37<br />

4.1 Adaptiver Basisalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.2 Lokale Fehlerschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

4.3 Eingebettete Runge-Kutta-Verfahren. Fehlberg-Trick . . . . . . . . . . . . . . . . . . . . . 40<br />

5 Implizite Verfahren <strong>für</strong> steife AWP 45<br />

5.1 Eignung expliziter Verfahren <strong>für</strong> steife AWP . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

5.2 Implizite Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

5.3 Implementation impliziter RK-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

5.4 Konstruktion impliziter RK-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

5.5 Stabilität impliziter Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

5.6 Eingebettete Runge-Kutta-Verfahren in Matlab . . . . . . . . . . . . . . . . . . . . . . . 55<br />

6 Randwertaufgaben 57<br />

6.1 Einführendes Beispiel. Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.2 Lösbarkeit des 1. RWP im symmetrischen Fall . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

6.3 Lösbarkeit des 1. RWP im nichtsymmetrischen Fall . . . . . . . . . . . . . . . . . . . . . . 60<br />

6.4 Exkurs: Klassische Lösungen elliptischer RWP . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

7 Finite-Differenzen-Verfahren 65<br />

7.1 Definition der klassischen FDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

7.2 Lösung des diskreten Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

7.3 Stabilitäts- und Konvergenzanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

7.4 Exkurs: Finite-Differenzen-Methode <strong>für</strong> Poisson-Problem . . . . . . . . . . . . . . . . . . . 72<br />

5


6 INHALTSVERZEICHNIS<br />

8 Ritz-Galerkin-Verfahren <strong>für</strong> RWP 77<br />

8.1 Variationsgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

8.2 Verallgemeinerte Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

8.3 Ritz-Galerkin Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

8.4 Finite-Elemente-Methode <strong>für</strong> Zweipunkt-RWP . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

<strong>II</strong> Numerische Lineare Algebra 87<br />

9 Krylov-Unterraum-Methoden 89<br />

9.1 Krylov-Unterräume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

9.2 Arnoldi-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

9.3 FOM-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

9.4 GMRES-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />

9.5 Vorkonditionierung von Krylov-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

10 Eigenwertprobleme 101<br />

10.1 Einführende Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

10.2 Algebraische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

10.3 Spezialfall hermitescher Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

10.4 Lokalisierung von Eigenwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

11 Verfahren der Vektoriteration 109<br />

11.1 Potenzmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

11.2 Inverse Iteration mit shift-Strategie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

11.3 Rayleigh-Quotienten-Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

12 QR-Verfahren <strong>für</strong> allgemeine EWP 115<br />

12.1 Basisalgorithmus des QR-Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

12.2 Konvergenz des einfachen QR-Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

12.3 Nachteile des Basisverfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

12.4 Reduktionsschritt auf Hessenberg-Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120<br />

12.5 QR-Zerlegung mit Givens-Rotationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

12.6 Konvergenzbeschleunigung durch shift-Strategie . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

<strong>II</strong>I Lineare Optimierung 127<br />

13 Grundlagen der Optimierung 129<br />

13.1 Definitionen. Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />

13.2 Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

13.3 Lagrange-Formalismus <strong>für</strong> lineare Gleichungsrestriktionen . . . . . . . . . . . . . . . . . . 131<br />

13.4 KKT-Bedingungen <strong>für</strong> lineare Ungleichungsbedingungen . . . . . . . . . . . . . . . . . . . 133<br />

13.5 Farkas-Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134<br />

14 Lineare Optimierung 137<br />

14.1 Einführende Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br />

14.2 Existenz von Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br />

14.3 Dualität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140<br />

15 Simplex-Verfahren 143<br />

15.1 Ecken und Basislösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />

15.2 Entwicklung des Simplex-Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />

15.3 Analyse eines Simplex-Schritts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

15.4 Bemerkungen zur Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />

15.5 Bestimmung einer Basislösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


Teil I<br />

Numerische Lösung gewöhnlicher<br />

Differentialgleichungen<br />

7


Kapitel 1<br />

Anfangswertaufgaben<br />

Die Theorie der gewöhnlichen Differentialgleichungen ist eines der wesentlichen und am besten<br />

verstandenen Instrumente der Mathematik. Sie untersucht Entwicklungsprozesse (Evolutionsprozesse),<br />

die deterministisch, endlichdimensional sowie differenzierbar sind.<br />

Wir betrachten zunächst Anfangswertprobleme (AWP) <strong>für</strong> i.a. gekoppelte Systeme gewöhnlicher<br />

Differentialgleichungen zu gegebenen Anfangswerten und deren numerischer Lösung mit Einschrittverfahren.<br />

Zunächst stellen wir im Kapitel 1 Grundbegriffe sowie Aussagen zur Lösbarkeit<br />

von AWP zusammen. In Kapitel 2 gehen wir auf die Grundlagen von Einschritt-Verfahren ein.<br />

Kapitel 3 ist der Konstruktion von expliziten Runge-Kutta Verfahren gewidmet. In Kapitel 4<br />

betrachten wir <strong>für</strong> diese Verfahren Adaptionsmethoden. Schließlich behandeln wir in Kapitel 5<br />

implizite Runge-Kutta Verfahren <strong>für</strong> sogenannte steife AWP.<br />

Der Lösung von Randwertaufgaben <strong>für</strong> gewöhnliche Differentialgleichungen widmen wir uns in<br />

den restlichen Kapiteln von Teil I.<br />

1.1 Explizite Differentialgleichungen 1. Ordnung<br />

Definition 1.1. Auf dem Gebiet I × G ⊆ R × R n sei f ∈ C(I × G; R) eine gegebene stetige<br />

Funktion. Dann heißt x(t) = (x1(t),...,xn(t)) T ∈ C 1 (I; R n )) klassische Lösung der expliziten<br />

gewöhnlichen Differentialgleichung 1. Ordnung<br />

bzw.<br />

x ′ (t) = f(t;x(t)). (1.1)<br />

x ′ i (t) = fi(t;x1(t),...,xn(t)), i = 1,...,n, (1.2)<br />

falls (t,x(t)) ∈ I × G und x ′ (t) = f(t,x(t)) <strong>für</strong> alle t ∈ I.<br />

Im skalaren Fall n = 1 entspricht die Aufgabe (1.1) der Bestimmung von Kurven x = x(t), deren<br />

Steigung in jedem Kurvenpunkt durch das vorgegebene Richtungsfeld f(t;x(t)) bestimmt ist.<br />

Im allgemeinen vektorwertigen Fall n ≥ 1 bezeichnen wir die unabhängige Variable t als Zeit sowie<br />

den Vektor x ∈ G ⊂ R n als Zustandsvektor. Die Menge I×G heißt erweiterter Zustands- oder<br />

erweiterter Phasenraum. Der Graph (t,x(t)) einer Lösung des Systems (1.1) wird als Phasenkurve<br />

(bzw. Trajektorie oder Orbit) im erweiterten Phasenraum unter dem Fluß f interpretiert.<br />

Oft ist auch die Projektion der Phasenkurven in den Phasenraum G ⊂ R n von Interesse.<br />

Die Lösung des Systems (1.1) ist im allgemeinen Fall nicht eindeutig bestimmt. Bei konkreten<br />

Anwendungen interessiert man sich in der Regel auch nicht <strong>für</strong> die Gesamtheit der Lösungen,<br />

9


10 KAPITEL 1. ANFANGSWERTAUFGABEN<br />

sondern <strong>für</strong> eine spezielle Lösung bei Vorgabe einer Zusatzbedingung. Bei einem Anfangswertproblem<br />

(AWP) sucht man eine Lösung von (1.1), die den Anfangsbedingungen<br />

genügt. In kompakter Form erhält man das AWP<br />

xi(t0) = x 0 i , i = 1,...,n; t0 ∈ (a,b) (1.3)<br />

x ′ = f(t,x(t)), x(t0) = x 0 := (x 0 1 ,...,x0 n )T . (1.4)<br />

Die Lösung von (1.4) führt somit auf die Auswahl einer speziellen Lösungstrajektorie, die durch<br />

den Punkt (t0,x 0 ) führt.<br />

Bemerkung 1.2. Die Vorgabe von Anfangsbedingungen ist nicht die einzige Möglichkeit zur<br />

Auswahl einer speziellen Lösung von (1.1). Oft ist die Ermittlung periodischer Lösungen von<br />

praktischem Interesse. Wir können jedoch hier nicht auf diesen Punkt eingehen. ✷<br />

Wir wollen einige wichtige Spezialfälle besprechen.<br />

(i) Nichtautonome und autonome Systeme:<br />

Hängt die gegebene Funktion f nicht explizit von t ab, d.h. f = f(x), so heißt (1.1) autonomes<br />

oder dynamisches System. Anderenfalls nennt man (1.1) nichtautonom. Bei autonomen Systemen<br />

mit I = R ist mit einer Lösung x(·) auch jede Funktion x(· − t∗) <strong>für</strong> alle t∗ ∈ R Lösung des<br />

Systems. Die Lösung x = x(t), t ∈ R eines AWP <strong>für</strong> ein autonomes System stellt die Parameterdarstellung<br />

einer Trajektorie durch den Punkt x 0 dar. Ohne Beschränkung der Allgemeinheit<br />

ist t0 = 0.<br />

Man kann jedes nichtautonome AWP (1.4) mittels ˜x(t) = (t,x(t) T ) T in die autonome Form<br />

bringen:<br />

˜x ′ (t) = g(˜x) := (1,f(t;x) T ) T , ˜x(t0) = (t0,x(t0) T ) T .<br />

(ii) Gleichungen und Systeme höherer Ordnung:<br />

Es besteht ein enger Zusammenhang zwischen einem System 1. Ordnung und einer Differentialgleichung<br />

n−ter Ordnung<br />

x (n) := dn x<br />

dt n = F(t;x,x′ ,...,x (n−1) ). (1.5)<br />

Mit den Festsetzungen x1 := x, x2 := x ′ , ...., xn := x (n−1) erhält man das äquivalente System<br />

1. Ordnung<br />

x ′ i = xi+1, i = 1,...,n − 1; x ′ n = F(t;x1,...,xn). (1.6)<br />

Man kann diesen Sachverhalt sinngemäß auf explizite Systeme gewöhnlicher Differentialgleichungen<br />

x (m) (t) = F(t;x(t),...,x (m−1) (t))<br />

der Ordnung m mit x = (x1,...,xn) T und F = (F1,...,Fn) T übertragen. Man erhält dann ein<br />

explizites System von n · m gewöhnlichen Differentialgleichungen 1. Ordnung.<br />

(iii) Systeme linearer Differentialgleichungen:<br />

Die praktische Behandlung der im allgemeinen Fall nichtlinearen Aufgabe (1.1) erfordert in der<br />

Regel eine geeignete Linearisierung. Oft bemüht man sich schon in der Modellierung praktischer<br />

Vorgänge um die Aufstellung von Systemen linearer Differentialgleichungen, d.h. mit der<br />

speziellen Gestalt<br />

x ′ (t) = f(t,x) := A(t)x + g(t), (1.7)


1.1. EXPLIZITE DIFFERENTIALGLEICHUNGEN 1. ORDNUNG 11<br />

wobei g ∈ C(I; R n ) eine stetige Funktion und A = (aij) n i,j=1 ∈ C(I; Rn×n ) eine Matrix mit stetigen<br />

Einträgen aij : I → R sind. Lineare Aufgaben haben besonders markante Eigenschaften,<br />

auf die wir in den Übungen eingehen.<br />

Zur Illustration bringen wir zwei einfache Beispiele:<br />

Beispiel 1.3. Bewegung eines Massepunktes<br />

Die Bewegung eines Massepunktes m zur Zeit t am Ort x wird beschrieben durch die Differentialgleichung<br />

2. Ordnung<br />

mx ′′ (t) = g(t;x).<br />

Die Funktion g beschreibt dabei die Wirkung äußerer Kräfte. So gilt <strong>für</strong> die Schwingungen<br />

einer einseitig eingespannten Feder <strong>für</strong> die rücktreibende Federkraft g(t;x) = −kx mit der<br />

Federkonstanten k. Zur eindeutigen Beschreibung der Bewegung werden ferner der Anfangspunkt<br />

x0 = x(t0) und die Anfangsgeschwindigkeit x ′ 0 = x′ (t0) vorgegeben. Das äquivalente System<br />

x ′ 1 (t) = x2(t), x ′ 2 (t) = −kx1(t)<br />

x1(t0) = x0, x2(t0) = x ′ 0<br />

<br />

k<br />

mt) + x′ 0 sin(<br />

<br />

k<br />

ist linear und autonom. Die periodische Lösung x(t) = x1(t) = x0 cos(<br />

mt) ist<br />

zusammen mit der Ableitung x ′ (t) = x2(t) in Abbildung 1.1 dargestellt. ✷<br />

1.5<br />

0.5<br />

0<br />

–0.5<br />

–1<br />

–1.5<br />

1<br />

Loesung und Ableitung<br />

1 2 3 4 5 6<br />

Phasenkurve<br />

0<br />

–0.8 –0.6 –0.4 –0.2 0.2 0.4 0.6 0.8<br />

Abbildung 1.1: Federschwingung: Lösung und Ableitung sowie Phasenkurve<br />

Beispiel 1.4. Volterra-Lottka Zyklus<br />

Wir betrachten ein stark vereinfachtes ökologisches System, bei dem die erste Art der zweiten als<br />

Nahrung dient. Die Populationen der ersten bzw. zweiten Art zur Zeit t werden mit x1(t) bzw.<br />

x2(t) bezeichnet. Die Wachstumsrate der Population ergibt sich als Differenz von Geburts- und<br />

Sterberate. Für die erste Population sei genügend Nahrung vorhanden, so daß die Geburtsrate<br />

als konstant angesehen werden kann. Mit geeigneten Konstanten α,β > 0 gilt dann<br />

x ′ 1<br />

x1<br />

= α − βx2.<br />

Bei Annahme einer konstanten Sterberate <strong>für</strong> die zweite Art erhält man mit geeigneten Konstanten<br />

γ,δ > 0<br />

x ′ 2<br />

x2<br />

= γx1 − δ.<br />

1.5<br />

0.5<br />

–0.5<br />

–1<br />

–1.5<br />

1


12 KAPITEL 1. ANFANGSWERTAUFGABEN<br />

Somit wird das sogenannte Räuber-Beute Verhältnis durch ein System 1. Ordnung aus zwei<br />

nichtlinearen Gleichungen beschrieben:<br />

x ′ 1 = αx1 − βx1x2, x ′ 2 = γx1x2 − δx1.<br />

Abbildung 1.2 zeigt, daß sich eine periodische Lösung (Volterra-Lottka Zyklus) einstellt. ✷<br />

400<br />

300<br />

200<br />

100<br />

Volterra-Lotks-Zyklus<br />

0 2 4 6 8 10<br />

400<br />

300<br />

Raeuber<br />

200<br />

100<br />

Periodische Phasenkurve<br />

50 100 150 200 250 300<br />

Beute<br />

Abbildung 1.2: Lösungstrajektorien und Phasenkurve des Räuber-Beute-Zyklus<br />

1.2 Lokale Existenzaussagen<br />

Grundlage des fundamentalen Existenz- und Eindeutigkeitssatzes von Picard-Lindelöf ist der<br />

Fixpunktsatz von Banach <strong>für</strong> das Fixpunktproblem<br />

Finde x ∈ M ⊆ X : x = T(x). (1.8)<br />

Ferner untersuchen wir zur Näherungslösung von (1.8) das Verfahren der sukzessiven Approximation:<br />

Finde xn+1 ∈ M ⊆ X : xn+1 = T(xn), n ∈ N0; x0 ∈ M. (1.9)<br />

Theorem 1.5. (Fixpunktsatz von Banach)<br />

Seien (X, · ) vollständiger, normierter Raum und M ⊆ X eine abgeschlossene, nichtleere<br />

Menge. Der Operator T sei selbstabbildend, d.h.<br />

und kontraktiv, d.h. es gilt die gleichmäßige Lipschitz-Bedingung<br />

T : M ⊆ X → M, (1.10)<br />

∃κ ∈ [0,1) : T(x) − T(y) ≤ κx − y, ∀x,y ∈ M. (1.11)<br />

Dann besitzen die Probleme (1.8) bzw. (1.9) jeweils eine und nur eine Lösung x bzw. xn in M.<br />

Ferner konvergiert die durch (1.9) erzeugte Folge (xn)n gegen x und es gilt die Fehlerabschätzung<br />

xn − x ≤ κn<br />

1 − κ x0 − x1 → 0, n → ∞. (1.12)<br />

Ferner betrachten wir das parameterabhängige Fixpunktproblem:<br />

Finde xλ ∈ M ⊆ X : xλ = Tλ(xλ). λ ∈ Λ (1.13)


1.2. LOKALE EXISTENZAUSSAGEN 13<br />

Satz 1.6. Sei Λ metrischer Raum. Ferner erfülle Tλ <strong>für</strong> alle λ,λ0 ∈ Λ die Voraussetzungen von<br />

Theorem 1.5 mit einer von λ unabhängigen Konstanten κ und es gelte<br />

lim Tλ(x) = Tλ0 (x), ∀x ∈ M. (1.14)<br />

λ→λ0<br />

Dann besitzt das Problem (1.13) <strong>für</strong> alle λ ∈ Λ eine und nur eine Lösung xλ ∈ M. Ferner gilt<br />

lim xλ = xλ0<br />

λ→λ0<br />

.<br />

Beweis: (i) Existenz: Die Existenzaussage folgt nach Theorem 1.5 zunächst <strong>für</strong> festes λ ∈ Λ.<br />

(ii) Stetigkeit: Nach Dreiecksungleichung und (1.11) folgt<br />

d.h. mit (1.14)<br />

xλ − xλ0 = Tλ(xλ) − Tλ0 (xλ0 )<br />

≤ Tλ(xλ) − Tλ(xλ0 ) + Tλ(xλ0 ) − Tλ0 (xλ0 ),<br />

≤ κxλ − xλ0 + Tλ(xλ0 ) − Tλ0 (xλ0 ),<br />

1<br />

xλ − xλ0 ≤<br />

1 − κ Tλ(xλ0 ) − Tλ0 (xλ0 ) → 0, λ → λ0. ✷<br />

Wir betrachten auf dem Definitionsgebiet I × G von f in einer Umgebung von t0 ∈ I das AWP<br />

x ′ (t) = f(t;x(t)), x(t0) = x 0 , (1.15)<br />

mit x(t) = (x1(t),...,xn(t)) T , f = (f1,...,fn) T sowie x 0 = (x 0 1 ,...,x0 n )T ∈ R n . Der entscheidende<br />

Kunstgriff ist die Wahl der folgenden parameterabhängigen Fixpunktform<br />

x(t) = x 0 +<br />

t<br />

t0<br />

f(τ,x(τ)) dτ ≡ T x 0(x(t)) (1.16)<br />

bei fixiertem Anfangspunkt t0. Der Anfangswert x 0 wird als Parameter angesehen. Weiter wählen<br />

wir mit Ic = [t0 − c,t0 + c] mit c > 0 den Banach-Raum<br />

X := C 0 (Ic; R n ), x := x∞ := max<br />

t∈Ic<br />

max<br />

i=1,...,n |xi(t)|<br />

und die Menge M := {x ∈ X : x − x 0 ∞ ≤ R} ⊂ G mit R > 0. Wir vermerken nur, daß die<br />

Maximum-Norm · ∞ durch eine andere Vektor-Norm ersetzt werden kann.<br />

Man untersucht also die Lösbarkeit des AWP im Raum stetiger vektorwertiger Funktionen. Mit<br />

den Voraussetzungen des folgenden Resultates sind das AWP (1.15) und (1.16) äquivalent.<br />

Theorem 1.7. (Picard-Lindelöf)<br />

Auf dem Streifengebiet QR := {(t,x) ∈ R × R n : |t − t0| ≤ a, x − x 0 ∞ ≤ R} ⊂ I × G gelte<br />

mit festen Werten K,L ∈ [0, ∞), a,c ∈ (0, ∞), daß<br />

(i) f ∈ C 0 (QR; R n ), |fi(t,x)| ≤ K auf QR<br />

(ii) |fi(t,x) − fi(t, ˜x)| ≤ Lx − ˜x∞ auf QR<br />

(iii) 0 < c < a, cK < R, cL < 1 (d.h. c hinreichend klein) .


14 KAPITEL 1. ANFANGSWERTAUFGABEN<br />

Dann existiert genau eine Lösung von (1.15) mit x(·) ∈ M ⊂ C0 (Ic; Rn ). Sie hängt in der<br />

Norm von X stetig von den Anfangswerten x0 ab und liegt sogar im Raum C1 (Ic; Rn ). Ferner<br />

konvergiert das Verfahren der sukzessiven Approximation<br />

x (0) (t) = x 0 ; x (n+1) (t) = x 0 t<br />

+ f(τ,x<br />

t0<br />

(n) (τ)) dτ, t ∈ Ic, n ∈ N0<br />

gegen die Lösung von (1.15) mit<br />

lim<br />

n→∞ x − x(n) = 0.<br />

Beweis: Wir wenden zunächst Theorem 1.5 mit T x 0 = T <strong>für</strong> festen Anfangswert x 0 an:<br />

(i) Selbstabbildung (1.10): Die Aussage T : M → M folgt aus<br />

T(x) − x 0 = <br />

t<br />

t0<br />

f(τ,x(τ)) dτ∞ = max<br />

t∈Ic<br />

max<br />

i=1,...,n |<br />

(ii) Kontraktivität (1.11): Dies ergibt sich mit κ := cL < 1 aus<br />

T(x1) − T(x2) = <br />

t<br />

t0<br />

t<br />

[f(τ,x1(τ)) − f(τ,x2(τ))] dτ∞<br />

t<br />

t0<br />

fi(τ,x(τ)) dτ| ≤ cK < R.<br />

= max max<br />

t∈Ic i=1,...,n | [fi(τ,x1(τ)) − fi(τ,x2(τ))] dτ|<br />

t0<br />

≤ cLx1 − x2∞ ≡ κx1 − x2.<br />

Theorem 1.5 sichert Existenz und Eindeutigkeit der Lösung des AWP sowie die Konvergenzaussage<br />

<strong>für</strong> das Verfahren der sukzessiven Approximation im Raum X = C 0 (Ic; R n ).<br />

(iii) Regularität der Lösung: Die stetige Differenzierbarkeit xi ∈ C 1 (Ic) folgt wegen der Stetigkeit<br />

des Integranden f in der Operatordefinition von T und wegen x ∈ C 0 (Ic; R n ).<br />

(iv) Stetige Abhängigkeit: Wir wenden Satz 1.6 mit Λ = R n an. Sei {x 0n } eine Folge in R n mit<br />

x 0n → x 0 . Wegen<br />

T x 0n(x) − T x 0(x) = x 0n − x 0 ∞ → 0, n → ∞, ∀x ∈ M<br />

sind dann die Voraussetzungen von Satz 1.6 (evt. bei Abänderung der Konstanten a,R und c)<br />

erfüllt. Daraus folgt die Aussage. ✷<br />

Bemerkung 1.8. Seien die Voraussetzungen (i) und (iii) des Satzes von Picard-Lindelöf mit<br />

Ausnahme der Forderung der Lipschitz-Stetigkeit (ii) von f (und damit ohne die Beschränkung<br />

der Konstante c bezüglich der Lipschitz-Konstante L) erfüllt. Dann gibt es mindestens eine<br />

Lösung x(·) ∈ C 1 ([t0 − c,t0 + c]; R n ) des AWP (1.15). Dies ist die Aussage des Satzes von<br />

Peano.<br />

Ohne die Voraussetzung der Lipschitz-Stetigkeit gilt im allgemeinen Fall die Eindeutigkeit der<br />

Lösung des AWP (1.15) nicht mehr. Wir betrachten das AWP<br />

x ′ = f(x) := |x|, x(0) = 0.<br />

Offenbar ist die Funktion f nicht Lipschitz-stetig im Punkt x = 0. Man prüft sofort nach<br />

durch Einsetzen, daß sowohl x1(t) ≡ 0 als auch die Trajektorie mit x2(t) = t 2 /4, t ≥ 0 und<br />

x2(t) = 0, t ≤ 0 Lösung des AWP sind. Die Lösung ist also nicht eindeutig bestimmt. ✷


1.3. EXISTENZ GLOBALER LÖSUNGEN. REGULARITÄT. EVOLUTION 15<br />

Bemerkung 1.9. Das Resultat des Satzes von Peano zeigt, daß das AWP (1.15) eigentlich sehr<br />

gutartig gestellt ist: Stetigkeit der Daten impliziert die Lösbarkeit. Bei der Analyse numerischer<br />

Verfahren werden wir jedoch im Verlauf der Vorlesung stets Voraussetzungen benötigen, die weit<br />

über die der Stetigkeit von f hinausgehen. Auch wird (implizit) immer die Eindeutigkeit der<br />

Lösung angenommen. Daher hat der Satz von Peano wegen der möglichen Nichteindeutigkeit<br />

der Lösung im Rahmen dieser Vorlesung keine weitere Bedeutung. ✷<br />

Von praktischer Bedeutung ist folgendes Kriterium <strong>für</strong> gleichmäßige Lipschitz-Stetigkeit von f,<br />

das sich aus dem Mittelwertsatz ergibt.<br />

Lemma 1.10. Gelte auf dem Streifengebiet QR (vgl. Thm. 1.7) neben der Stetigkeitsforderung<br />

f ∈ C0 (QR, Rn ) auch die Stetigkeit der partiellen Ableitungen, d.h. <strong>für</strong> die Einträge der Jacobi-<br />

Matrix gilt ∂fi<br />

∂xj ∈ C0 (QR, Rn ), i,j = 1,...,n. Dann sind die Funktionen fi (<strong>für</strong> t fest) gleichmäßig<br />

Lipschitz-stetig bezüglich x mit<br />

|fi(t,x) − fi(t, ˜x)| ≤ Lix − ˜x∞, Li(t) = sup<br />

x−x0∞≤R j=1<br />

n<br />

<br />

∂fi <br />

<br />

(t,x) <br />

∂xj<br />

. (1.17)<br />

1.3 Existenz globaler Lösungen. Regularität. Evolution<br />

Der Satz von Picard-Lindelöf ist in der angegebenen Form zunächst nur ein lokaler Existenzsatz,<br />

da das Intervall I = [t0 − c,t0 + c] ggf. hinreichend klein ist. Von Bedeutung ist oft die<br />

Fortsetzbarkeit der Lösung auf größere Zeitintervalle. Im allgemeinen Fall ist die Lösung nicht<br />

auf die gesamte reelle Zeitachse R fortsetzbar, wie folgendes Beispiel zeigt.<br />

Beispiel 1.11. Das AWP<br />

x ′ = x 2 , x(0) = 1<br />

hat nach dem Satz von Picard-Lindelöf eine eindeutige Lösung. Sie hat <strong>für</strong> −∞ < t < 1 die<br />

Gestalt x(t) = 1<br />

1−t . Die Lösung ist jedoch nicht bis t+ = 1 und <strong>für</strong> t ≥ 1 fortsetzbar.<br />

Interessant ist, daß diese Tatsache sogar schon <strong>für</strong> überlineares Wachstum der rechten Seite<br />

bezüglich x, d.h. bei f(x) = |x| α mit α > 1 gilt. Das Beispiel zeigt, daß ein überlineares Wachstum<br />

der rechten Seiten eines AWP die Gefahr des ”blow up” in sich trägt. ✷<br />

Einen globalen Existenzsatz (bzw. <strong>für</strong> die Fortsetzbarkeit der Lösung <strong>für</strong> alle Zeiten) erhält man<br />

mit einer scheinbar geringfügigen Modifikation des Beweises von Theorem 1.7.<br />

Satz 1.12. (Fortsetzbarkeit der Lösung)<br />

Die Voraussetzungen (i), (ii) von Theorem 1.7 seien <strong>für</strong> beliebiges R > 0 und eine von R<br />

unabhängige Lipschitz-Konstante L erfüllt. Ferner entfalle die Einschränkung (iii) an die Konstante<br />

c. Dann existiert eine und nur eine Lösung des AWP (1.15) in C 0 ([t0 − a,t0 + a]; R n ),<br />

d.h. die Lösung ist fortsetzbar auf das Intervall [t0 − a,t0 + a]. Der Fall a → ∞ ist zugelassen.<br />

Beweis: Wir setzen Ia := [t0 − a,t0 + a] und wählen den Raum M = X = C 0 (Ia; R n ) mit der<br />

modifizierten Norm<br />

|x| := max<br />

t∈Ia<br />

max<br />

i=1,...,n<br />

<br />

−L|t−t0|<br />

|xi(t)| e . (1.18)<br />

Sei o.B.d.A. t0 = 0. Die Norm | · | ist zur im Theorem 1.7 verwendeten Norm · ∞ äquivalent<br />

wegen<br />

e −La x∞ ≤ |x| ≤ x∞,<br />

d.h. (X, | · |) ist ebenfalls Banach–Raum.


16 KAPITEL 1. ANFANGSWERTAUFGABEN<br />

Die Selbstabbildung T(X) = X ist trivial. Die Kontraktivität von T auf X ersieht man aus<br />

|T(x1) − T(x2)| = max<br />

t∈[−a,a] max<br />

⎛<br />

≤ max<br />

t∈[−a,a]<br />

≤ max<br />

i=1,...,n<br />

⎜<br />

⎝<br />

t<br />

0<br />

t<br />

<br />

<br />

<br />

<br />

t<br />

0<br />

[fi(τ,x1(τ)) − fi(τ,x2(τ))] dτ e −L|t|<br />

<br />

<br />

<br />

<br />

⎞<br />

L x1(τ) − x2(τ)∞<br />

<br />

≤e L|τ| |x1−x2|<br />

t∈[−a,a]<br />

<br />

0<br />

<br />

≤ 1−e−La dτ e −L|t| ⎟<br />

⎠<br />

L e L(|τ|−|t|) <br />

dτ |x1 − x2|.<br />

Der Fixpunktsatz von Banach ergibt dann die Behauptung. ✷<br />

Beispiel 1.13. (Fortsetzbarkeit der Lösung linearer AWP)<br />

Das lineare AWP<br />

x ′ = A(t)x + g(t), x(t0) = x 0 , t ∈ R (1.19)<br />

mit Funktionen g ∈ C(R; R n ) und A = (aij) n i,j=1 ∈ C(R; Rn×n ) besitzt bei beliebigen gegebenem<br />

Anfangswerten x(t0) = x 0 eine eindeutige Lösung, die sich bis t± = ±∞ fortsetzen läßt. Speziell<br />

folgt die Aussage der Lipschitz-Stetigkeit wegen f(t,x) −f(t, ˜x) = A(t)(x − ˜x), sofern A in einer<br />

Matrixnorm gleichmäßig beschränkt ist. ✷<br />

Bemerkung 1.14. Die Aussage von Satz 1.12 gilt auch noch <strong>für</strong> (nichtlineare) Aufgaben<br />

x ′ = f(t;x), f(t;x)∞ ≤ α(t)x∞ + β(t), α(·),β(·) ∈ C(R + ), (1.20)<br />

d.h. bei maximal linearem Wachstum bezüglich der Lösung, vgl. [1], Satz 7.8. Beispiel 1.11 stellt<br />

klar, daß die Fortsetzbarkeit <strong>für</strong> alle Zeiten i.a. nicht <strong>für</strong> nichtlineare AWP mit überlinearem<br />

Wachstum von f bezüglich x gelten kann.<br />

Allgemeiner läßt sich die Lösung des AWP (1.15) bis zum Rand des Definitionsgebietes I × G<br />

der Daten im erweiterten Phasenraum R × R n fortsetzen. Man vgl. hierzu [1], Satz <strong>II</strong>. 7.6) ✷<br />

Neben der stetigen Abhängigkeit der Lösung von den Daten interessiert oft die Regularität der<br />

Lösung des AWP (1.15), d.h. ob sie hinreichend oft differenzierbar bezüglich der unabhängigen<br />

Variablen t und eventuell bezüglich der Anfangswerte ist. Von der Regularität werden wir später<br />

bei der Analyse numerischer Lösungsverfahren ständig Gebrauch machen. Ohne Beweis (vgl. z.B.<br />

[2], Kap. 4.3) zitieren wir folgendes Resultat.<br />

Satz 1.15. Neben den Voraussetzungen des Satzes von Picard-Lindelöf sei f ∈ C r (I ×G; R n )<br />

mit r ∈ N. Dann gehört die Lösung zur Klasse x(·) ∈ C r (Ic; R n ). Ferner ist sie r-fach stetig<br />

differenzierbar nach den Anfangswerten t0 und x 0 .<br />

Wir vermerken, daß die Regularität der Lösung auch bezüglich weiterer Parameter in der rechten<br />

Seite f = f(t,λ,x) gilt bei hinreichender Regularität von f bezüglich λ (vgl. [2], Kap. 4.3).<br />

Nachfolgend nehmen wir an, daß f : I × G → R n die Voraussetzungen des Satzes von Picard-<br />

Lindelöf erfüllt. Damit existiert <strong>für</strong> jedes (t0,x 0 ) ∈ I × G lokal, d.h. <strong>für</strong> hinreichend kleines<br />

|t − t0|, eine eindeutige Lösung x = x(t) des AWP (1.15). Dann wird durch<br />

Φ t,t0 x 0 := x(t)


1.4. STABILITÄT DER LÖSUNG VON AWP 17<br />

eine zweiparametrige Familie von Abbildungen von R n nach R n , die sogenannte Evolution der<br />

Differentialgleichung x ′ = f(t;x), wohldefiniert. Sie bildet den Wert einer beliebigen Lösungstrajektorie<br />

zur Zeit t = t0 auf den Wert der Trajektorie zur Zeit t ab.<br />

Lemma 1.16. Die Evolution Φ von x ′ = f(t;x) hat <strong>für</strong> alle (t,x) ∈ I × G und hinreichend<br />

kleine |t1 − t|, |t2 − t| die Eigenschaften<br />

Durch diese Bedingungen ist die Evolution eindeutig bestimmt.<br />

Φ t,t x = x (1.21)<br />

d<br />

dτ Φt+τ,t x|τ=0 = f(t;x) (1.22)<br />

Φ t2,t x = Φ t2,t1 Φ t1,t x. (1.23)<br />

Beweis: Die Eigenschaften (1.21), (1.22) folgen unmittelbar aus der Definition von Φ. Zum<br />

Nachweis von (1.23) betrachten wir das AWP<br />

y ′ (τ) = f(τ,y(τ)), y(t1) = Φ t1,t x<br />

mit der Lösung y(τ) = Φ τ,t x. Damit folgt Φ t2,t1 Φ t1,t x = y(t2) = Φ t2,t x.<br />

Zum Nachweis der Eindeutigkeit sei Ψ eine weitere Evolution, die (1.21)-(1.23) genügt. Wir<br />

setzen x(t) := Ψ t,t0 x 0 . Wegen (1.23) und (1.22) gilt dann<br />

x ′ (t) = d<br />

dτ Ψt+τ,t0 x 0 |τ=0 = d<br />

dτ Ψt+τ,t Ψ t,t0 x 0 |τ=0 = f(t;Ψ t,t0 x 0 ) = f(t;x(t)).<br />

Ferner impliziert (1.21) auch x(t0) = Φ t0,t0 x 0 = x 0 . damit ist Ψ = Φ. ✷<br />

Für autonome Systeme hängt die Evolution Φ τ+t0,t0 nicht vom Anfangszeitpunkt t0 ab. Zur<br />

Vereinfachung setzen wir daher<br />

Φ τ x 0 := Φ τ,0 x 0 . (1.24)<br />

1.4 Stabilität der Lösung von AWP<br />

Die Lösung des AWP<br />

x ′ (t) = f(t;x(t)), x(t0) = x 0<br />

(1.25)<br />

hängt nach dem Satz von Picard-Lindelöf stetig vom Anfangswert ab. Oft möchte man diesen<br />

Zusammenhang quantifizieren. Beschränkt man sich o.B.d.A. auf Auswirkungen von Störungen<br />

der Anfangsbedingung auf die ”Zukunft”, d.h. <strong>für</strong> t ≥ t0, kann die Forderung der Lipschitz-<br />

Stetigkeit an f abgeschwächt werden.<br />

Definition 1.17. Seien 〈·, ·〉 ein Skalarprodukt auf R n und · die durch x 2 := 〈x,x〉 induzierte<br />

Norm. Ferner sei l : [t0, ∞] → R eine stückweise stetige Funktion. Dann genügt die Funktion f<br />

einer einseitigen Lipschitz-Bedingung, falls<br />

〈f(t;x) − f(t; ˜x),x − ˜x〉 ≤ l(t)x − ˜x 2 , ∀t ≥ t0, ∀x, ˜x ∈ R n . (1.26)<br />

l(·) heißt einseitige Lipschitz-Konstante von f.<br />

Bemerkung 1.18. Die einseitige Lipschitz-Stetigkeit schwächt die Lipschitz-Stetigkeit ab:<br />

〈f(t;x) − f(t; ˜x),x − ˜x〉 ≤ f(t;x) − f(t; ˜x) x − ˜x ≤ Lx − ˜x 2 .


18 KAPITEL 1. ANFANGSWERTAUFGABEN<br />

Die Konstante l(·) kann negativ sein, wie das Beispiel f(t;x) = −x mit l(t) = −1 zeigt. ✷<br />

Bemerkung 1.19. Der Begriff der einseitigen Lipschitz-Stetigkeit erlaubt sogar eine Verfeinerung<br />

des Satzes von Picard-Lindelöf. Nach [17], Satz 5.1.2 hat das autonome AWP x ′ =<br />

f(x), x(t0) = x 0 genau eine Lösung x(·) ∈ C 1 ([t0, ∞); R n ), falls f = f(x) einer einseitigen<br />

Lipschitz-Bedingung mit l(t) ≡ l0 ∈ R genügt. ✷<br />

Es gilt folgende Abschätzung.<br />

Satz 1.20. Sei l(t) die einseitige Lipschitz-Konstante der Funktion f : [t0, ∞)×G → Rn . Dann<br />

gilt <strong>für</strong> die Evolution Φ von x ′ = f(t;x) mit der Norm · := 〈·, ·〉 1<br />

2 die Abschätzung<br />

Φ t,t0<br />

t<br />

0 t,t0 0<br />

x − Φ ˜x ≤ exp<br />

Beweis: Mit x(t) = Φ t,t0 x 0 und ˜x(t) = Φ t,t0 ˜x 0 ist die Funktion<br />

stetig differenzierbar mit<br />

t0<br />

<br />

l(s) ds x 0 − ˜x 0 , ∀x 0 , ˜x 0 ∈ G, t0 ≤ t. (1.27)<br />

φ(t) := x(t) − ˜x(t) 2 = 〈x(t) − ˜x(t),x(t) − ˜x(t)〉<br />

φ ′ (t) = 2〈x ′ (t) − ˜x ′ (t),x(t) − ˜x(t)〉 = 2〈f(t,x(t)) − f(t, ˜x(t)),x(t) − ˜x(t)〉.<br />

Die einseitige Lipschitz-Stetigkeit impliziert<br />

Mit η(t) := exp (−2 t<br />

l(s) ds) erhält man<br />

t0<br />

φ ′ (t) ≤ 2l(t)x(t) − ˜x(t) 2 = 2l(t)φ(t).<br />

(φη) ′ = φ ′ η + φη ′ = φ ′ η − 2l(t)φη = η φ ′ − 2l(t)φ ≤ 0, ∀t ≥ t0.<br />

Somit ist φη monoton fallend, d.h. φ(t)η(t) ≤ φ(t0)η(t0) <strong>für</strong> alle t ≥ t0. Wegen η > 0 folgt (1.27)<br />

wegen<br />

φ(t) ≤ φ(t0) η(t0)<br />

t <br />

= φ(t0)exp 2 l(s) ds .<br />

η(t)<br />

✷<br />

Abschätzung (1.27) zeigt, daß die Lösungstrajektorien mit (beliebig dicht) benachbarten Anfangswerten<br />

im Fall l(t) > 0 eventuell exponentiell schnell auseinander driften. Eine derartiges<br />

Verhalten spiegelt sich bereits in der Normwahl im Beweis von Satz 1.12 wider. Insbesondere<br />

können dann Anfangsstörungen exponentiell anwachsen.<br />

Ein exponentielles Anwachsen von Störungen <strong>für</strong> t → ∞ ist jedoch nicht zwingend. Eine besondere<br />

Rolle spielen dissipative Systeme, die bei irreversiblen Prozessen in der Mathematischen<br />

Physik auftreten.<br />

Definition 1.21. Das System x ′ = f(t;x) mit einseitiger Lipschitz-Konstante l(t) ≤ 0 heißt<br />

dissipativ bezüglich der Norm · .<br />

Insbesondere gilt die Abschätzung<br />

t0<br />

Φ t,t0 x 0 − Φ t,t0 ˜x 0 ≤ x 0 − ˜x 0 , ∀x 0 , ˜x 0 ∈ G, t0 ≤ t. (1.28)<br />

Man sagt auch, die Lösungen verhalten sich nichtexpansiv.


1.4. STABILITÄT DER LÖSUNG VON AWP 19<br />

Definition 1.22. Das AWP (1.25) wird als steif auf dem Intervall [t0,T] bezeichnet, wenn gilt<br />

T<br />

t0<br />

l(s) ds ≪<br />

T<br />

Beispiel 1.23. Betrachtet wird das autonome System<br />

t0<br />

x ′ (t) = Ax(t), x(t0) = x 0 ,<br />

L(s) ds. (1.29)<br />

bei dem die konstante Matrix A ∈ C n×n diagonalisierbar ist. Es existiert also eine nichtsinguläre<br />

Matrix P mit<br />

P −1 AP = Λ := diag(λ1,... ,λn)<br />

und den Eigenwerten λ1,... ,λn der Matrix A. Durch die Transformation x = Py erhält man<br />

aus dem Ausgangssystem zunächst Py ′ = APy und damit das System<br />

y ′ = Λy, y(t0) = y 0 := P −1 x 0 .<br />

Da Λ = diag(λ1,...,λn) Diagonalgestalt hat, zerfällt das ursprünglich gekoppelte System in n<br />

skalare Differentialgleichungen mit der Lösung<br />

y(t) = e Λt y 0 :=<br />

<br />

y 0 1 eλ1t ,...,y 0 n e λnt T<br />

.<br />

Die Lösung des AWP zum Ausgangssystem lautet damit<br />

x(t) = Pe Λt P −1 x 0 , e Λt := diag(e λ1t ,...,e λnt ).<br />

Komponenten der Lösung zu einem Eigenwert mit positiven Realteil, wachsen in der Tat exponentiell<br />

schnell <strong>für</strong> t > t0. Falls alle Eigenwerte negativen Realteil haben, so ist die Lösung <strong>für</strong><br />

t > t0 dissipativ. (Übungsaufgabe) Wie wir in Kapitel 5 sehen werden, dient diese Situation als<br />

Testfall <strong>für</strong> die Stabilität von Diskretisierungsverfahren <strong>für</strong> AWP.<br />

Beispiel 1.24. Das Anfangs-Randwertproblem der Wärmeleitungsgleichung<br />

∂u<br />

∂t = ∂2u ∂x2, t ≥ 0, x ∈ (0,1); u(t,0) = u(t,1) = 0, t > 0, u(0,x) = u0(x)<br />

wird mittels Differenzen-Verfahren in den Punkten xi = ih, h = 1<br />

n+1 , i = 0,... ,n + 1 semidiskretisiert,<br />

d.h. man approximiert ui(t) ≈ u(t,xi), setzt u0(t) = un+1(t) = 0 und approximiert<br />

∂2u ∂x2(t,xi) ≈ 1<br />

h2(ui+1(t) − 2ui(t) + ui−1(t)), i = 1,... ,n.<br />

Man kann sich überlegen, dass das resultierende Differentialgleichungssystem stets einer einseitigen<br />

Lipschitz-Bedingung genügt, dissipativ und steif ist. (Übungsaufgabe)


20 KAPITEL 1. ANFANGSWERTAUFGABEN


Kapitel 2<br />

Einschritt-Verfahren<br />

Die Lösung von<br />

x ′ (t) = f(t;x(t)), x(t0) = x 0 , t ∈ [t0,T] (2.1)<br />

ist i.a. (selbst bei skalaren Aufgaben mit n = 1) nicht in geschlossener Form angebbar. Oft ist<br />

auch die Funktion f nur durch Meßwerte gegeben. Bei Anwendungen auf zeitabhängige partielle<br />

Differentialgleichungen ist die Dimension n des Lösungsvektors x(·) sehr groß.<br />

Bei der numerischen Behandlung von AWP ermittelt man die Lösung näherungsweise an diskreten<br />

Punkten. Ausgangspunkt ist die zum AWP äquivalente Fixpunktgleichung (1.16). Grundlage<br />

<strong>für</strong> die Konstruktion numerischer Verfahren ist die Anwendung geeigneter Integrationsformeln<br />

in dieser Fixpunktgleichung. Wir führen hier die Klasse der Einschritt-Verfahren (ESV) ein und<br />

behandeln die Grundaussagen der Konvergenztheorie. Für das AWP (2.1) seien die Voraussetzungen<br />

des Satzes von Picard-Lindelöf (vgl. Kap. 1) erfüllt.<br />

2.1 Definition und Beispiele<br />

Gesucht werden auf dem Intervall [t0,T] Näherungswerte an den gesuchten Lösungsvektor x(·)<br />

des AWP (2.1) auf dem (nicht notwendig äquidistanten) Gitter<br />

∆ := {t0,t1,... ,tN }, t0 < t1 < ...tN = T.<br />

Dabei heißen die Größen τj := tj+1 − tj Schrittweiten. Als Feinheit des Gitters bezeichnen wir<br />

Gesucht wird eine Gitterfunktion<br />

τ∆ := max<br />

j=0,...,N−1 τj.<br />

x∆ : ∆ → R n ,<br />

die die Lösung x(·) von (2.1) auf dem Gitter möglichst gut approximiert.<br />

Bei Einschritt-Verfahren ermittelt man x∆ durch eine Zweiterm-Rekursion, d.h. bei der Berechnung<br />

von x∆(tj+1) benutzt man nur den (bereits bekannten) Wert x∆(tj). Bei Mehrschritt-<br />

Verfahren verwendet man allgemeiner eine Mehrterm-Rekursion, d.h. in die Berechnung von<br />

x∆(tj+1) gehen die Werte x∆(tj),... ,x∆(tj−m) mit m ∈ N0 ein. Wir beschränken uns jedoch im<br />

Rahmen dieser Vorlesung auf Einschritt-Verfahren, d.h. den Fall m = 0.<br />

Bei der Festlegung eines Einschritt-Verfahrens ersetzt man die Evolution Φ der Differentialgleichung<br />

durch eine diskrete Evolution Ψ, d.h. man approximiert<br />

x(tj+1) = Φ tj+1,tj x(tj), x(t0) = x 0<br />

21


22 KAPITEL 2. EINSCHRITT-VERFAHREN<br />

durch<br />

x∆(tj+1) := Ψ tj+1,tj x∆(tj), x∆(t0) := x 0 . (2.2)<br />

Ausgehend von<br />

t+τ<br />

x(t + τ) = x(t) + f(s;x(s)) ds (2.3)<br />

t<br />

verschafft man sich einfache Beispiele von ESV durch geeignete Integrationsformeln.<br />

Beispiel 2.1. Die Anwendung der linken Eckpunktregel t+τ<br />

t f(s;x(s)) ds ≈ τf(t;x(t)) führt<br />

auf das explizite Euler-Verfahren<br />

x∆(tj+1) = Ψ tj+1,tj<br />

EEV x∆(tj) := x∆(tj) + τjf(tj;x∆(tj)). (2.4)<br />

Vorteilhaft ist, daß x∆(tj+1) explizit bestimmt wird, d.h. ohne Lösung eines i.a. nichtlinearen<br />

Gleichungssystems. Das Verfahren benutzt in den Näherungspunkten (tj,x∆(tj)) den Anstieg des<br />

durch (2.1) definierten Richtungsfeldes zur Ermittlung des folgenden Näherungsvektors x∆(tj+1).<br />

Wegen der anschaulichen geometrischen Konstruktion heißt es im skalaren Fall n = 1 auch<br />

Polygonzug-Verfahren.<br />

Wir erwähnen an dieser Stelle bereits, daß bei Wahl der rechten Eckpunktregel<br />

t+τ<br />

das implizite Euler-Verfahren<br />

t<br />

f(s;x(s)) ds ≈ τf(t + τ;x(t + τ))<br />

x∆(tj+1) = Ψ tj+1,tj<br />

IEV x∆(tj) := x∆(tj) + τjf(tj+1;x∆(tj+1)) (2.5)<br />

entsteht, bei dem in jedem Zeitschritt (!) ein (i.a. Fall) nichtlineares Gleichungssytem <strong>für</strong> den<br />

Vektor x∆(t j+1) zu lösen ist. Wir gehen auf implizite Verfahren dann in Kapitel 5 ein. ✷<br />

Beispiel 2.2. Wählt man zur Integralauswertung in (2.3) die Trapezregel<br />

t+τ<br />

t<br />

f(s;x(s)) ds ≈ τ<br />

f(t;x) + f(t + τ;x(t + τ))<br />

,<br />

2<br />

so erhält man das verbesserte Euler- bzw. Euler-Heun Verfahren<br />

x∆(tj+1) = Ψ tj+1,tj<br />

EHV x∆(tj) := x∆(tj) + τj<br />

2 [f(tj;x∆(tj) + f(tj+1;x∆(tj+1)] . (2.6)<br />

Dies ist ein implizites Verfahren, da in jedem Zeitschritt der Vektor x∆(tj+1) aus einem i.a.<br />

nichtlinearen System ermittelt werden muß. Ein einfaches Näherungsverfahren beschreibt<br />

Lemma 2.3. Die Funktion f(t, ·) in (2.1) sei Lipschitz-stetig bezüglich x mit Lipschitz-Konstante<br />

L. Dann läßt sich das Gleichungssystem (2.6) durch sukzessive Approximation<br />

<br />

, m ∈ N0 (2.7)<br />

x (m+1)<br />

∆<br />

(tj+1) := x∆(tj) + τj<br />

2<br />

lösen, sofern Lτj/2 < 1.<br />

<br />

f(tj;x∆(tj)) + f(tj+1;x (m)<br />

∆ (tj+1))<br />

Zum Nachweis untersucht man g(x) := x∆(tj)+ τj<br />

2 [f(tj;x∆(tj)) + f(tj+1;x)] auf Kontraktivität:<br />

g(x) − g(˜x) = τj<br />

2 f(tj+1;x) − f(tj+1; ˜x) ≤ τjL<br />

x − ˜x.<br />

2


2.2. KONSISTENZ VON EINSCHRITT-VERFAHREN 23<br />

Die Erfahrung und die mathematische Analyse zeigen, daß in vielen Fällen ein Iterationsschritt<br />

in (2.7) ausreichend ist. Man erhält dann mit dem Startwert (Prädiktor)<br />

˜x∆(tj+1) := x∆(tj) + τjf(tj;x∆(tj)) (2.8)<br />

aus dem expliziten Euler-Verfahren über den Korrektor-Schritt<br />

x∆(tj+1) = Ψ tj+1,tj<br />

PKV x∆(tj) := x∆(tj) + τj<br />

2 [f(tj;x∆(tj)) + f(tj+1; ˜x∆(tj+1))] (2.9)<br />

die Prädiktor-Korrektor Variante des Verfahrens von Euler-Heun.<br />

Beispiel 2.4. Wir vergleichen die Qualität der bisher eingeführten Verfahren anhand des skalaren<br />

AWP<br />

x ′ = f(t;x) := x − t 2 + 1, 0 ≤ t ≤ 2, x(0) = 0.5.<br />

Tabelle 2.1 zeigt <strong>für</strong> die (grobe) Schrittweite τ = 0.2 Ergebnisse und Fehler <strong>für</strong> das (explizite)<br />

Euler-Verfahren bzw. die Prädiktor-Korrektor Variante. Die Prädiktor-Korrektor Variante ist<br />

Tabelle 2.1: Vergleich von explizitem Euler- und Prädiktor-Korrektor-Verfahren in Beispiel 2.4<br />

ti x(ti) x EEV<br />

∆ (ti) |x EEV<br />

∆ (ti) − x(ti)| x PKV<br />

∆ (ti) |x PKV<br />

∆ (ti) − x(ti)|<br />

0.0 0.5000000 0.5000000 0.0000000 0.5000000 0.0000000<br />

0.2 0.8000000 0.8292986 0.0292986 0.8032986 0.0032986<br />

0.4 1.2140877 1.1520000 0.0620877 1.2069200 0.0071677<br />

0.6 1.6489406 1.5504000 0.0985406 1.6372424 0.0116982<br />

0.8 2.1272295 1.9884800 0.1387495 2.1102357 0.0169938<br />

1.0 2.6408591 2.4581760 0.1826831 2.6176876 0.0231715<br />

1.2 3.1799415 2.9498112 0.2301303 3.1495789 0.0303627<br />

1.4 3.7324000 3.4517734 0.2806266 3.6936862 0.0387138<br />

1.6 4.2834838 3.9501281 0.3333557 4.2350972 0.0483866<br />

1.8 4.8151763 4.4281538 0.3870225 4.7556185 0.0595577<br />

2.0 5.3054720 4.8657845 0.4396874 5.2330546 0.0724173<br />

dem expliziten Euler-Verfahren aus Genauigkeitsgründen überlegen. Die höhere Genauigkeit<br />

erfordert jedoch, daß sich pro Zeitschritt die Zahl von Funktionsauswertungen erhöht. ✷<br />

In den Übungen werden Matlab-Funktionen <strong>für</strong> die hier angegebenen einfachen Verfahren<br />

benutzt. In den folgenden Abschnitten führen wir eine Konvergenzanalyse von ESV durch. In<br />

Kapitel 3 zeigen wir dann, wie man systematisch Verfahren höherer Genauigkeit konstruiert.<br />

2.2 Konsistenz von Einschritt-Verfahren<br />

Wir erinnern an die Bedingungen (1.21)-(1.23) an die Evolution Φ der Differentialgleichung<br />

x ′ = f(t;x). Möglichst viele dieser Bedingungen sollen an die diskrete Evolution Ψ ”vererbt”<br />

werden. Da man nicht auf Ψ = Φ hoffen kann, sollen mindestens die ersten beiden Eigenschaften,<br />

d.h. (1.21)-(1.22), erhalten bleiben. Nachfolgend betrachten wir das Gebiet D ⊂ R × R n .<br />

Definition 2.5. Eine diskrete Evolution Ψ heißt konsistent zur Gleichung x ′ = f(t;x), falls <strong>für</strong>


24 KAPITEL 2. EINSCHRITT-VERFAHREN<br />

alle (t0,x 0 ) ∈ D gilt<br />

Ψ t0,t0 0<br />

x<br />

0<br />

= x (2.10)<br />

d<br />

dτ Ψt0+τ,t0 0<br />

x |τ=0 = f(t0;x 0 ). (2.11)<br />

Ein ESV heißt konsistent, falls es jeder hinreichend glatten Funktion f eine konsistente diskrete<br />

Evolution Ψ[f] zuordnet.<br />

Wir suchen äquivalente Konsistenzkriterien. Hierbei sei · eine beliebige Norm auf R n .<br />

Lemma 2.6. Die diskrete Evolution Ψ t0+τ,t0 x 0 sei <strong>für</strong> alle (t0,x 0 ) ∈ D und hinreichend kleines<br />

τ differenzierbar. Dann sind folgende Aussagen zur Konsistenz von Ψ äquivalent:<br />

(i) Es gibt eine bezüglich τ stetige Verfahrensfunktion φ = φ(t0,x0,τ) mit den Eigenschaften<br />

(ii) Es gilt<br />

Beweis:<br />

Ψ t0+τ,t0 x 0 = x 0 + τφ(t0,x 0 ,τ) (2.12)<br />

φ(t0,x 0 ,0) = f(t0;x 0 ). (2.13)<br />

1<br />

lim<br />

τ→0 τ Ψt0+τ,t0 0 t0+τ,t0 0<br />

x − Φ x = 0. (2.14)<br />

1. Sei Ψ konsistent. Wir setzen φ(t0,x 0 ,τ) := 1<br />

τ (Ψt0+τ,t0 x 0 − x 0 ), so daß (2.12) erfüllt ist.<br />

Wegen (2.11) ist dann aber auch (2.13) erfüllt, d.h. Aussage (i) ist gültig.<br />

2. Sei Eigenschaft (i) erfüllt, d.h. <strong>für</strong> eine Verfahrensfunktion φ gelten (2.12), (2.13). Wegen<br />

(1.22), der Stetigkeit von φ bezüglich τ und (2.13) haben wir<br />

1<br />

lim<br />

τ→0 τ Ψt0+τ,t0 <br />

<br />

0 t0+τ,t0 0<br />

x − Φ x = lim <br />

Ψ<br />

τ→0 <br />

t0+τ,t0x0 − x0 −<br />

τ<br />

Φt0+τ,t0 <br />

x0 − x0 <br />

τ <br />

d.h. Aussage (ii) ist gültig.<br />

= φ(t0,x 0 ,0) − f(t0,x 0 ) = 0,<br />

3. Sei nun (ii) erfüllt. Die Eigenschaften (1.21), (1.22) der exakten Evolution Φ ergeben<br />

Φ t0+τ,t0 x 0 = x 0 + τf(t0;x 0 ) + o(τ), τ → 0.<br />

Wegen der Differenzierbarkeit von Ψ nach τ gilt andererseits<br />

Ψ t0+τ,t0 x 0 = Ψ t0,t0 x 0 + τ d<br />

dτ Ψt0+τ,t0 x 0 |τ=0 + o(τ), τ → 0.<br />

Ein Koeffizientenvergleich liefert mit (2.14) gerade (2.10), (2.11), d.h. Ψ ist konsistent. ✷<br />

Zur Untersuchung der Genauigkeit von ESV nutzen wir Begriffe, die die lokale Approximation<br />

der Differentialgleichung durch das ESV beschreiben.<br />

Definition 2.7. Eine diskrete Evolution Ψ <strong>für</strong> eine gegebene Differentialgleichung x ′ = f(t;x)<br />

mit f : D → R n hat die Konsistenzordnung p > 0, falls es <strong>für</strong> jedes kompakte Teilgebiet ˜ D ⊂ D<br />

eine Konstante C > 0 gibt, so daß <strong>für</strong> alle (t,x) ∈ ˜ D und alle hinreichend kleinen τ ≥ 0 gilt<br />

1<br />

τ Ψt+τ,t x − Φ t+τ,t x ≤ Cτ p . (2.15)


2.3. KONVERGENZ VON EINSCHRITT-VERFAHREN 25<br />

Ein ESV hat die Konsistenzordnung p > 0, falls <strong>für</strong> alle f ∈ C ∞ (D; R n ) die zugeordnete diskrete<br />

Evolution Ψ = Ψ[f] die Konsistenzordnung p hat.<br />

Wir werden im Kapitel 3 sehen, wie man die Konsistenzordnung bestimmter ESV in systematischer<br />

Weise ermittelt. Hier untersuchen wir exemplarisch das explizite Euler-Verfahren.<br />

Korollar 2.8. Das explizite Euler-Verfahren hat <strong>für</strong> f ∈ C 1 (D; R n ) die Konsistenzordnung 1.<br />

Beweis: Wegen der Kompaktheit von ˜ D ⊂ D ist dist( ˜ D,∂D) > 0. Somit gibt es ein weiteres<br />

kompaktes Teilgebiet ˆ D mit ˜ D ⊂ ˆ D ⊂ D und dist( ˜ D,∂ ˆ D) > 0 sowie dist( ˆ D,∂D) > 0. Ferner<br />

gibt es eine Zahl ˆτ > 0, so daß (t + τ,Φ t+τ,t x) ∈ ˆ D <strong>für</strong> alle (t,x) ∈ ˜ D und 0 ≤ τ ≤ ˆτ.<br />

Wir berechnen <strong>für</strong> (t,x) ∈ ˜ D die Taylor-Reihe von τ ↦→ Φ t+τ,t x bei τ = 0. Es gilt<br />

d<br />

dτ Φt+τ,t x = f(t + τ;Φ t+τ,t x),<br />

d 2<br />

dτ 2Φt+τ,t x = ft(t + τ;Φ t+τ,t x) + fx(t + τ;Φ t+τ,t x)f(t + τ;Φ t+τ,t x)<br />

mit ft := ∂f<br />

∂t und der Jacobi-Matrix fx ∈ R n×n von f bezüglich x = (x1,...,xn) T . Die Taylor-<br />

Entwicklung mit Restglied in Integraldarstellung lautet dann<br />

Somit finden wir<br />

Φ t+τ,t x = x + τf(t;x) + τ 2<br />

1<br />

Ψ t+τ,t<br />

EEV x − Φt+τ,t x ≤ τ 2<br />

0<br />

(1 − s)(ft + fxf)(t + s;Φ t+sτ,t x) ds.<br />

sup<br />

(s,z)∈ ˆ D<br />

ft(s;z) + fx(s;z)f(s;z).<br />

Wegen der Kompaktheit von ˆ D und der Stetigkeit des Normausdrucks in der letzten Zeile ist<br />

das dort zu bildende Supremum endlich. ✷<br />

2.3 Konvergenz von Einschritt-Verfahren<br />

Wir haben bislang nur den lokalen Fehler eines ESV betrachtet, der in einem einzelnen Schritt<br />

des Verfahrens bei Berechnung von x∆ gemacht wird. Natürlich möchte man eine Abschätzung<br />

des globalen Fehlers x∆(t) − x(t) <strong>für</strong> beliebige Gitterpunkte t ∈ ∆ gewinnen.<br />

Definition 2.9. Ein Einschritt-Verfahren heißt auf dem Gitter ∆ konvergent, falls gilt<br />

lim<br />

τ→0 max<br />

t∈∆ x∆(t) − x(t) = 0.<br />

Für Konvergenzuntersuchungen benötigen wir neben einer (gleichmäßigen) Konsistenzbedingung<br />

noch eine Stabilitätsbedingung an die diskrete Evolution Ψ, die die Verstärkung von lokalen<br />

Fehlern im Verlauf der Rechnung kontrolliert. Der folgende Satz ist ein Beispiel <strong>für</strong> das in der<br />

Numerischen Mathematik oft zu findende Beweisschema<br />

Konsistenz + Stabilität =⇒ Konvergenz .<br />

Satz 2.10. Die diskrete Evolution Ψ sei in einer Umgebung U der Trajektorie {(t,x(t)) : t ∈<br />

[t0,T]} definiert und erfülle die folgenden Bedingungen:


26 KAPITEL 2. EINSCHRITT-VERFAHREN<br />

1. Stabilitätsbedingung: Es gibt Konstanten LΨ ≥ 0 und τ0 > 0, so daß<br />

Ψ t+τ,t x − Ψ t+τ,t ˜x ≤ e LΨτ x − ˜x, ∀(t,x,),(t, ˜x) ∈ U, ∀τ ∈ [0,τ0]. (2.16)<br />

2. Konsistenzbedingung: Für τ ∈ [0,τ0] gibt es eine Funktion err(τ) mit limτ→0 err(τ) = 0,<br />

so daß<br />

1<br />

τ Φt+τ,t x(t) − Ψ t+τ,t x ≤ err(τ), ∀t ∈ [t0,T]. (2.17)<br />

Dann gibt es eine Zahl τ1 > 0, so daß <strong>für</strong> jedes Gitter ∆ auf dem Intervall [t0,T] mit Feinheit<br />

τ∆ ≤ τ1 die Gitterfunktion x∆ nach (2.2) wohldefiniert ist. Für alle t ∈ ∆ gilt <strong>für</strong> den Fehler<br />

<br />

x∆(t) − x(t) ≤ r(τ∆) :=<br />

err(τ∆) eLΨ (t−t0 ) −1,<br />

LΨ > 0,<br />

LΨ<br />

err(τ∆)(t − t0), LΨ = 0.<br />

(2.18)<br />

Beweis: Wir wählen τ1 so klein, daß <strong>für</strong> alle t ∈ [t0,T] und alle x 1 ∈ R n mit x 1 −x(t) ≤ r(τ1)<br />

gilt, daß (t,x 1 ) ∈ U. Wir zeigen durch Induktion nach j, daß die Abschätzung (2.18) <strong>für</strong> alle<br />

tj ∈ ∆ erfüllt ist. Speziell ist dann x∆(tj) <strong>für</strong> alle tj ∈ ∆ wohldefiniert.<br />

Aussage (2.18) ist <strong>für</strong> j = 0 wegen x∆(t0) = x 0 = x(t0) richtig. Sei dann (2.18) <strong>für</strong> t = tj mit<br />

j < N erfüllt. Für den Fall LΨ > 0 gilt zunächst<br />

x∆(tj+1) − x(tj+1) = Ψ tj+1,tj x∆(tj) − Φ tj+1,tj x(tj)<br />

≤ Ψ tj+1,tj x∆(tj) − Ψ tj+1,tj x(tj) + Ψ tj+1,tj x(tj) − Φ tj+1,tj x(tj)<br />

≤ e LΨ(tj+1−tj) x∆(tj) − x(tj) + err(τ∆)(tj+1 − tj)<br />

≤ err(τ∆)<br />

LΨ<br />

<br />

e LΨ(tj+1−tj)<br />

<br />

LΨ(tj−t0)<br />

(e − 1) + LΨ(tj+1 − tj)<br />

≤ err(τ∆) eLΨ(tj+1−t0) − 1<br />

.<br />

LΨ<br />

Hierbei wurde die Ungleichung ea ≥ 1 + a mit a := LΨ(tj+1 − tj) benutzt. Die Regel von<br />

l’Hospital ergibt die Aussage auch <strong>für</strong> LΨ → 0. ✷<br />

Wir wollen jetzt die Konvergenzgeschwindigkeit von ESV genauer charakterisieren.<br />

Definition 2.11. Ein Einschritt-Verfahren hat die Konvergenzordnung p > 0, falls <strong>für</strong> jede<br />

Lösung x : [t0,T] → R n des AWP (2.1) mit rechter Seite f ∈ C ∞ (D; R n ) der globale Fehler der<br />

Näherungslösung x∆ auf einem Gitter ∆ mit hinreichend kleiner Feinheit τ∆ der Abschätzung<br />

max<br />

t∈∆ x∆(t) − x(t) ≤ CKτ p<br />

∆<br />

mit vom Gitter unabhängiger Konstante CK genügt.<br />

(2.19)<br />

Satz 2.12. Ein Einschritt-Verfahren der Konsistenzordnung p, das die Stabilitätsbedingung<br />

(2.16) erfüllt, hat die Konvergenzordnung p.<br />

Beweis: Die Konsistenzbedingung (2.17) ist mit err(τ) = Cτ p erfüllt. Dann folgt die Behauptung<br />

aus (2.18) mit CK = C<br />

LΨ (eLΨ(T −t0) − 1) <strong>für</strong> LΨ > 0 und CK = C(T − t0) bei LΨ = 0. ✷<br />

Beispiel 2.13. Das explizite Euler-Verfahren hat die Konsistenzordnung 1, vgl. Korollar 2.8.<br />

Ferner gilt <strong>für</strong> bezüglich x Lipschitz-stetige Funktionen f, daß<br />

Ψ t+τ,t<br />

EEV<br />

x − Ψt+τ,t<br />

EEV ˜x ≤ x − ˜x + τf(t;x) − f(t; ˜x)<br />

≤ (1 + τL)x − ˜x<br />

≤ e τL x − ˜x.<br />

Damit ist auch die Stabilitätsbedingung (2.16) erfüllt. Satz 2.12 ergibt die Behauptung. ✷


Kapitel 3<br />

Explizite Runge-Kutta Verfahren<br />

Im vorliegenden Kapitel wollen wir zur numerischen Lösung des AWP<br />

x ′ (t) = f(t;x(t)), x(t0) = x 0<br />

die expliziten Runge-Kutta-Verfahren als wichtigste Klasse von Einschritt-Verfahren (ESV)<br />

<strong>für</strong> nichtsteife AWP untersuchen. Nach Behandlung der Konstruktion und Grundaussagen zur<br />

Konvergenztheorie dieser Verfahren wollen wir dann in Kapitel 4 sehen, wie sich die Konvergenz<br />

dieser Verfahren steuern und beschleunigen läßt. Mehrschrittverfahren werden im Rahmen dieser<br />

Vorlesung nicht besprochen, da sie sich weniger gut <strong>für</strong> adaptive Verfahren eignen.<br />

3.1 Idee von Runge-Kutta-Verfahren<br />

Die Konstruktion von ESV höherer Ordnung erfordert nach dem Konvergenzsatz 2.12 die Bestimmung<br />

diskreter Evolutionen Ψ mit gewünschter Konsistenzordnung. Dazu ist eine Taylor-<br />

Entwicklung der exakten Evolution Φ erforderlich<br />

Φ t+τ,t x = x + τf(t;x) + 1<br />

2 τ2 (ft(t;x) + fx(t;x)f(t;x)) + 0(τ 3 ).<br />

Man erhält gerade das explizite Euler-Verfahren mit<br />

Ψ t+τ,t x = x + τf(t;x)<br />

bei Berücksichtigung der Entwicklung 1. Ordnung von Φ. Verwendet man die Entwicklung 2.<br />

Ordnung, so gelangt man zu einem ESV der Konsistenz- und Konvergenzordnung 2:<br />

Ψ t+τ,t x = x + τf(t;x) + 1<br />

2 τ2 (ft(t;x) + fx(t;x)f(t;x)).<br />

Die Verallgemeinerung dieser Methodik der Taylor-Verfahren <strong>für</strong> beliebig hohe Ordnung hat<br />

den wesentlichen Nachteil, daß in der Regel die vollständige Jacobi-Matrix fx ∈ R n×n auszuwerten<br />

ist. Nachfolgend wollen wir eine wesentlich effizientere und leichter zu implementierende<br />

Möglichkeit betrachten.<br />

Wir hatten in Kapitel 2 das explizite Euler-Verfahren durch die Auswertung der Integraldarstellung<br />

Ψ t+τ,t t+τ<br />

x = x + f(t + s;Φ<br />

t<br />

t+s,t x) ds<br />

27<br />

(3.1)


28 KAPITEL 3. EXPLIZITE RUNGE-KUTTA VERFAHREN<br />

durch die linke Eckpunkt-Regel<br />

t+τ<br />

motiviert. Die Mittelpunkt-Regel<br />

t+τ<br />

t<br />

t<br />

f(t + s;Φ t+s,t x) ds = τf(t;x) + 0(τ 2 )<br />

f(t + s;Φ t+s,t x) ds = τf(t + τ<br />

2 ;Φt+τ/2,t x) + 0(τ 3 )<br />

sollte ein Verfahren höherer Ordnung ergeben. Leider ist aber der Wert von Φ t+τ/2,t x nicht<br />

bekannt. Daher versucht man, diesen Ausdruck durch das explizite Euler-Verfahren<br />

Φ t+τ/2,t x = x + 1<br />

2 τf(t;x) + 0(τ2 )<br />

auszuwerten. Dies führt auf das von Runge eingeführte Verfahren mit der diskreten Evolution<br />

Ψ t+τ,t <br />

x = x + τf t + τ τ<br />

;x +<br />

2 2 f(t;x)<br />

<br />

.<br />

Im Unterschied zum oben vorgestellten Taylor-Verfahren 2. Ordnung ist hier nur eine verschachtelte<br />

zweifache Auswertung von f erforderlich. Das sieht man noch deutlicher in der<br />

folgenden Darstellung des Runge-Verfahrens:<br />

k1 = f(t;x)<br />

<br />

k2 = f t + τ τ<br />

;x +<br />

2 2 k1<br />

<br />

Ψ t+τ,t x = x + τk2.<br />

Diese Idee geschachtelter Auswertungen von f wird bei den expliziten Runge-Kutta-Verfahren<br />

(RK-Verfahren) verallgemeinert durch folgende systematische Konstruktion: Mit reellen Zahlen<br />

cj,aij und bj ermittelt man die Näherungen<br />

Ψ t+τ,t x := x + τ<br />

s<br />

bjkj. (3.2)<br />

über die rekursiv durch Funktionsauswertung zu berechnenden Größen (Stufen)<br />

k1 = f(t;x)<br />

j=1<br />

k2 = f(t + c2τ;x + a21k1τ)<br />

k3 = f(t + c3τ;x + a31k1τ + a32k2τ)<br />

. . ⎛<br />

s−1<br />

ks = f ⎝t + csτ;x + τ<br />

j=1<br />

asjkj<br />

In übersichtlicher Weise hat man das folgende Butcher-Koeffizientenschema:<br />

c2 a21<br />

c3 a31 a32<br />

· · · ·<br />

cs as1 as2 · as,s−1<br />

b1 b2 · bs−1 bs<br />

bzw.<br />

⎞<br />

⎠.<br />

c A<br />

b T


3.1. IDEE VON RUNGE-KUTTA-VERFAHREN 29<br />

mit<br />

⎛<br />

0<br />

⎜ a21<br />

⎜<br />

A = ⎜ a31<br />

⎜<br />

⎝ .<br />

0<br />

a32<br />

.<br />

...<br />

0<br />

. .. . ..<br />

⎞<br />

0<br />

⎟<br />

. ⎟ ,<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

b = ⎝ .<br />

as1 as2 ... as,s−1 0<br />

b1<br />

bs<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠, c = ⎝<br />

Bei den expliziten Runge-Kutta-Verfahren gilt also aij = 0, j ≥ i. Die Stufenzahl s des<br />

Verfahrens beschreibt die Tiefe der Schachtelung und damit die erforderliche Anzahl von f-<br />

Auswertungen. In dieses Schema ordnen sich folgende Verfahren ein:<br />

1. Explizites Euler-Verfahren:<br />

0 0<br />

1<br />

2. Runge-Verfahren (Explizite Mittelpunkt-Regel):<br />

0 0<br />

1/2 1/2 0<br />

0 1<br />

3. ”Klassisches” Runge-Kutta-Verfahren der Ordnung 4:<br />

bzw.<br />

0 0<br />

1/2 1/2 0<br />

1/2 0 1/2 0<br />

1 0 0 1 0<br />

1/6 1/3 1/3 1/6<br />

k1<br />

k2<br />

=<br />

=<br />

f(t;x),<br />

f(t + τ τ<br />

;x +<br />

2 2 k1),<br />

k3 = f(t + τ τ<br />

;x +<br />

2 2 k2),<br />

k4 = f (t + τ;x + τk3) ,<br />

Ψ t+τ,t x := x + τ<br />

6 (k1 + 2k2 + 2k3 + k4)<br />

Die expliziten RK-Verfahren sind mit gegebenen Daten (A,b,c) und <strong>für</strong> (t,x) ∈ D bei hinreichend<br />

kleiner Schrittweite τ wohldefiniert. Ferner hat man folgende Aussagen zur Konsistenz.<br />

Lemma 3.1. Das s−stufige explizite RK-Verfahren (3.2) mit (A,b,c) ist konsistent <strong>für</strong> alle<br />

Funktionen f ∈ C(D, R n ) genau dann, wenn<br />

c1<br />

.<br />

cs<br />

⎞<br />

⎟<br />

⎠ .<br />

s<br />

bj = 1. (3.3)<br />

j=1<br />

Das Verfahren hat <strong>für</strong> beliebige f ∈ C ∞ (D, R n ) höchstens die Konsistenzordnung p ≤ s.


30 KAPITEL 3. EXPLIZITE RUNGE-KUTTA VERFAHREN<br />

Beweis: (i) Wir benutzen die zur Konsistenz äquivalenten Bedingungen aus Lemma 2.6 (i). Es<br />

gilt<br />

Ψ t+τ,t s<br />

x = x + τφ(t,x,τ), φ(t,x,τ) := bjkj(t,x,τ).<br />

Wegen kj(t,x,0) = f(t;x) ist dann φ(t,x,0) = f(t;x) genau dann, wenn (3.3) gilt.<br />

(ii) Für das spezielle AWP x ′ (t) = x(t), x(0) = 1 gilt offenbar Φ τ,0 1 = e τ , daher folgt<br />

Φ τ,0 1 =<br />

p<br />

j=0<br />

j=1<br />

1<br />

j! τj + 0(τ p+1 ), τ → 0.<br />

Per Induktion über j = 1,... ,s folgt unmittelbar, daß die Stufe kj(0,1, ·) ein Polynom von<br />

maximalen Grad j − 1 ist. Damit ist Ψ ·,0 1 ein Polynom vom maximalen Grad s. Folglich kann<br />

die Konsistenzaussage<br />

|Ψ τ,0 1 − Φ τ,0 1| = 0(τ p+1 ), τ → 0<br />

höchstens <strong>für</strong> p ≤ s gelten. ✷<br />

3.2 Ordnungsbedingungen nach Butcher<br />

Die Daten (A,b,c) des expliziten RK-Verfahrens, d.h. Koeffizienten bj,aij und cj, sind so zu<br />

wählen, daß die gewünschte Konsistenzordnung erreicht wird. Wir wollen uns die Arbeit etwas<br />

erleichtern, indem wir die Äquivalenz des AWP (3.1) zu einem (erweiterten) autonomen AWP<br />

ausnutzen. Es gilt Φ t+τ,t x<br />

t + τ<br />

<br />

= ˆ Φ t+τ,t<br />

<br />

x<br />

t<br />

Diese Eigenschaft der Evolution ˆ Φ des autonomen Systems soll auf die diskrete Evolution ”ver-<br />

erbt” werden, d.h. Ψ t+τ,t x<br />

t + τ<br />

<br />

= ˆ Ψ t+τ,t<br />

<br />

x<br />

t<br />

Man bezeichnet Verfahren als invariant gegen Autonomisierung, falls das gleiche numerische Ergebnis<br />

bei Anwendung auf die gegebene Differentialgleichung bzw. auf das erweiterte autonome<br />

System entsteht.<br />

Lemma 3.2. Ein explizites RK-Verfahren ist invariant gegenüber Autonomisierung genau dann,<br />

wenn es konsistent ist und<br />

s−1<br />

ci = aij, i = 1,... ,s.<br />

j=1<br />

Beweis: Die Stufen von ˆ Ψ seien ˆ <br />

ˆki<br />

Ki =<br />

ˆli<br />

sowie<br />

<br />

. Dann gilt<br />

s−1<br />

ˆki = f(t + τ aij ˆ s−1<br />

lj;x + τ aij ˆ kj), ˆli = 1, i = 1,... ,s<br />

j=1<br />

ˆΨ t+τ,t<br />

<br />

x<br />

t<br />

j=1<br />

<br />

=<br />

<br />

.<br />

<br />

.<br />

x + τ s−1<br />

j=1 bj ˆ kj<br />

t + τ s−1<br />

j=1 bj


3.2. ORDNUNGSBEDINGUNGEN NACH BUTCHER 31<br />

Die erste Komponente stimmt genau dann mit Ψ t+τ,t x überein <strong>für</strong> alle f, wenn<br />

s−1<br />

ˆki = ki = f(t + ciτ;x + τ aijkj), i = 1,... ,s.<br />

j=1<br />

Dies ist genau <strong>für</strong> ci = s−1 j=1 aij erfüllt. Bezüglich der zweiten Komponente hat man Übereinstimmung<br />

mit t + τ genau <strong>für</strong> s−1 j=1 bj = 1. Das war nach Lemma 3.1 gerade die zur Konsistenz<br />

äquivalente Bedingung. ✷<br />

Wir werden <strong>für</strong> gegen Autonomisierung invariante RK-Verfahren kurz die Notation (A,b) benutzen.<br />

Die weiteren Betrachtungen beziehen sich dann auf das autonome AWP<br />

x ′ = f(x), x(0) = x 0<br />

<strong>für</strong> f ∈ C(D0; R n ) mit offener Menge D0 ⊂ R n . Man schreibt verkürzt Ψ τ x := Ψ t+τ,t x.<br />

Wir leiten jetzt Bedingungen an die Koeffizienten (A,b) eines gegen Autonomisierung invarianten<br />

RK-Verfahrens ab, die die Konsistenzordnung p sichern, d.h.<br />

1<br />

τ Ψτ x − Φ τ x = 0(τ p ), τ → 0.<br />

Dazu führen wir Taylor-Entwicklungen von τ ↦→ Φ τ x und τ ↦→ Ψ τ x durch und gleichen dann<br />

die Koeffizienten bis zur gewünschten Ordnung ab.<br />

Sei f : D0 ⊂ R n → R n hinreichend glatt. Wir erinnern an die Richtungsableitung<br />

1<br />

(Dhf)(x) := lim (f(x + ǫh) − f(x)) =<br />

ǫ→0 ǫ<br />

n<br />

j=1<br />

hj<br />

∂f<br />

(x)<br />

∂xj<br />

sowie <strong>für</strong> die Richtungen h 1 ,... ,h p ∈ R n an die symmetrische, p-lineare Abbildung f (p) : R n ×<br />

R np → R n mit<br />

f (p) [x](h 1 ,... ,h p ) := (Dh1Dh2 · · · Dhpf)(x) =<br />

Dann gilt die Taylor-Formel<br />

f(x + h) =<br />

p<br />

k=0<br />

n n<br />

· · · h 1 ∂f<br />

i1 · · · hp<br />

ip<br />

(p)<br />

(x).<br />

∂xi1 · · · ∂xip<br />

i1=1<br />

ip=1<br />

1<br />

k! f(k) [x](h,... ,h) + 0(h p+1 ), h → 0.<br />

Taylor-Entwicklung der exakten Evolution Φ τ : Es gilt<br />

Φ τ x = Φ 0 x + τ d<br />

dτ Φτ x|τ=0 + 0(τ 2 ) = x + τf(x) + 0(τ 2 ).<br />

Einsetzen in die Differentialgleichung (3.4) und Taylor-Entwicklung ergeben<br />

d<br />

dτ Φτ x = f(Φ τ x) = f(x + τf(x) + 0(τ 2 ))<br />

= f(x) + f ′ [x](τf(x) + 0(τ 2 )) + 0(τf(x) 2 )<br />

= f(x) + τf ′ [x](f(x)) + 0(τ 2 ).<br />

(3.4)


32 KAPITEL 3. EXPLIZITE RUNGE-KUTTA VERFAHREN<br />

Integration ergibt die Taylor-Entwicklung 3. Ordnung von Φ τ x mit<br />

Φ τ x = x + τf(x) + τ2<br />

2 f ′ [x](f(x)) + 0(τ 3 ).<br />

Erneutes Einsetzen in (3.4) und Taylor-Entwicklung führt (bei Weglassung der Argumente (x),<br />

[x]) auf<br />

d<br />

dτ Φτ x = f(Φ τ x)<br />

= f(x + τf + τ2<br />

2 f ′ (f) + 0(τ 3 ))<br />

= f + f ′ (τf + τ2<br />

2 f ′ (f)) + 1<br />

2 f ′′ (τf,τf) + 0(τ 3 )<br />

= f + τf ′ (f) + τ 2<br />

<br />

1<br />

2 f ′ (f ′ (f)) + 1<br />

2 f ′′ <br />

(f,f) + 0(τ 3 ).<br />

Erneute Integration ergibt die Taylor-Entwicklung 4. Ordnung<br />

Φ τ x = x + τf + τ2<br />

2 f ′ (f) + τ 3<br />

<br />

1<br />

6 f ′ (f ′ (f)) + 1<br />

6 f ′′ <br />

(f,f) + 0(τ 4 ). (3.5)<br />

Taylor-Entwicklung der diskreten Evolution Ψ τ : Die Stufen der diskreten Evolution Ψ τ x<br />

sind erklärt durch<br />

⎛<br />

s−1<br />

ki = f ⎝x + τ<br />

j=1<br />

aijkj<br />

⎞<br />

⎠, i = 1,... ,s. (3.6)<br />

Wegen der Stetigkeit von f ist ki = 0(1), τ → 0. Einsetzen in (3.6) und Taylor-Entwicklung<br />

ergibt<br />

ki = f(x + 0(τ)) = f + 0(τ).<br />

Erneutes Einsetzen in (3.6) liefert<br />

⎛<br />

s−1<br />

ki = f ⎝x + τ<br />

j=1<br />

aijf + 0(τ 2 )<br />

Wiederholung der letzeren Prozedur führt auf<br />

⎛<br />

ki = f ⎝x + τcif + τ 2<br />

s−1<br />

j=1<br />

<br />

= f + τcif ′ (f) + τ 2<br />

s−1<br />

j=1<br />

Nach Einsetzen in die diskrete Evolution folgt<br />

Ψ τ x = x + τ<br />

s<br />

i=1<br />

biki<br />

⎞<br />

s−1<br />

⎠ = f + τ<br />

j=1<br />

aijcjf ′ (f) + 0(τ 3 )<br />

<br />

=ci<br />

aij f ′ (f) + 0(τ 2 ).<br />

⎞<br />

⎠<br />

aijcjf ′ (f ′ (f)) + 1<br />

2 τ2 c 2 i f ′′ (f,f) + 0(τ 3 ).


3.2. ORDNUNGSBEDINGUNGEN NACH BUTCHER 33<br />

<br />

s<br />

<br />

= x + τ bif + τ 2<br />

<br />

s<br />

bicif ′ <br />

(f)<br />

+τ 3<br />

⎛<br />

⎝ 1<br />

2<br />

i=1<br />

i=1<br />

s<br />

bic 2 if ′′ (f,f) + <br />

i=1<br />

i,j<br />

biaijcjf ′ (f ′ (f))<br />

⎞<br />

⎠ + 0(τ 4 ).<br />

Koeffizientenvergleich: Wir vergleichen nun in den Taylor-Entwicklungen (3.6) und (3.7)<br />

die Koeffzienten und erhalten die sogenannten Ordnungsbedingungen an ein RK-Verfahren bis<br />

zur Ordnung 3. Die Prozedur kann sinngemäß <strong>für</strong> Entwicklungen höherer Ordnung ausgeführt<br />

werden. (Natürlich kann man die Rechnung einem Computeralgebra-System überlassen, vgl.<br />

Übungsaufgabe !).<br />

Der folgende Satz faßt die Ordnungsbedingungen <strong>für</strong> die Ordnungen p = 1,2,3,4 zusammen.<br />

Satz 3.3. Ein gegenüber Autonomisierung invariantes Runge-Kutta Verfahren (A, b) hat <strong>für</strong><br />

jede Differentialgleichung x ′ = f(x) mit f ∈ C p (D) die Konsistenzordnung<br />

(3.7)<br />

• p = 1, falls <br />

bi = 1, (3.8)<br />

• p = 2, falls zusätzlich<br />

• p = 3, falls zusätzlich<br />

• p = 4, falls zusätzlich<br />

<br />

i,j<br />

<br />

i,j<br />

<br />

i,j,k<br />

<br />

i,j<br />

i<br />

<br />

i<br />

<br />

i<br />

bici = 1<br />

, (3.9)<br />

2<br />

bic 2 i = 1<br />

, (3.10)<br />

3<br />

biaijcj = 1<br />

, (3.11)<br />

6<br />

<br />

i<br />

bic 3 i = 1<br />

, (3.12)<br />

4<br />

biciaijcj = 1<br />

, (3.13)<br />

8<br />

biaijc 2 j<br />

1<br />

= , (3.14)<br />

12<br />

biaijajkck = 1<br />

. (3.15)<br />

24<br />

Bemerkung 3.4. Interessant ist der Zusammenhang zur numerischen Integration aus dem<br />

Kurs ”Numerische Mathematik I”, denn die Integralberechnung ist ein Spezialfall der Lösung<br />

von AWP. Das AWP x ′ (t) = f(t), x(0) = 0 mit f ∈ C([0,1]; R) hat die Lösung x(t) = t<br />

0 f(s) ds.<br />

Ein RK-Verfahren (A, b, c) führt auf die Quadraturformel<br />

1<br />

0<br />

f(s) ds = x(1) ≈<br />

s<br />

bjkj =<br />

j=1<br />

s<br />

bjf(cj).<br />

j=1


34 KAPITEL 3. EXPLIZITE RUNGE-KUTTA VERFAHREN<br />

Die Ordnungsbedingungen (3.8), (3.9), (3.10) und (3.12) aus dem Satz 3.3 entstehen alternativ<br />

durch die Forderung, daß diese Formel mit Gewichten bj und Stützstellen cj exakt <strong>für</strong> die Monome<br />

t i , i = 0,... ,3 ist. ✷<br />

Die Ordnungsbedingungen aus Satz 3.3 entsprechen überbestimmten nichtlinearen Gleichungssystemen<br />

<strong>für</strong> die Daten (A, b, c) des RK-Verfahrens. Wir diskutieren einige Spezialfälle.<br />

s=1: Der einzige Freiheitsgrad ist aus (3.8) festgelegt auf b1 = 1. Dies entspricht dem expliziten<br />

Euler-Verfahren, das somit das einzige einstufige, explizite und gegen Autonomisierung<br />

invariante RK-Verfahren 1. Ordnung.<br />

s=2: Für die Freiheitsgrade b1,b2 und a21 = c2 hat man nur die Gleichungen (3.8), (3.9). Eine<br />

Lösung hat man mit der expliziten Mittelpunkt-Regel, jedoch auch die explizite Trapez-<br />

Regel ist möglich:<br />

0 0<br />

1 1 0<br />

s=4: Für die 10 Unbekannten b1,... ,b4,a21,a31,a32,a41,a42,a43 hat man 8 Gleichungen. Nach<br />

Bemerkung 3.4 sind (3.8), (3.9), (3.10) und (3.12) genau dann erfüllt, wenn Polynome<br />

aus Π3 exakt integriert werden. Wir betrachten exemplarisch die Simpson-Regel. Da vier<br />

Stützstellen erforderlich sind, wählen wir (aus Symmetriegründen) die mittlere Stützstelle<br />

doppelt und erhalten<br />

c T = (0, 1 1<br />

,<br />

2<br />

1<br />

2<br />

1<br />

2<br />

2 ,1), bT = ( 1<br />

6<br />

.<br />

1 1 1<br />

, , ,<br />

3 3 6 ).<br />

Man rechnet aus den verbleibenden Bedingungen aus Satz 3.3 <strong>für</strong> p = 4 leicht nach, daß<br />

durch a21 = a32 = 1<br />

2 ,a31 = a41 = a42 = 0,a43 = 1 eine Lösung gegeben ist. Dies entspricht<br />

gerade dem ”klassischen” RK-Verfahren 4. Ordnung.<br />

Bei steigender Ordnung p steigt die Zahl der Ordnungsbedingungen rasant und erschwert daher<br />

deren Lösung. So hat man <strong>für</strong> p = 10 bereits 1205 und <strong>für</strong> p = 20 sogar 20.247.374 Bedingungen.<br />

3.3 Konvergenz expliziter Runge-Kutta-Verfahren<br />

Wir haben gerade gesehen, wie man systematisch explizite RK-Verfahren der Konsistenzordnung<br />

p konstruieren kann. Für den Konvergenzsatz 2.10 ist noch die Stabilitätsbedingung offen.<br />

Satz 3.5. Für die Funktion f ∈ C(D0, R n ) der autonomen Gleichung (3.4) gelte die globale<br />

Lipschitz-Bedingung<br />

f(x) − f(˜x) ≤ Lx − ˜x, ∀x, ˜x ∈ D0. (3.16)<br />

Dann genügt die diskrete Evolution eines gegen Autonomisierung invarianten RK-Verfahrens<br />

der Stabilitätsbedingung (2.16) aus Satz 2.10 mit LΨ = γL. Dabei ist γ = γ(A, b) ≥ 0.<br />

Im Spezialfall p = s ≤ 4 mit bi, aij ≥ 0 <strong>für</strong> alle Indizes i,j gilt γ = 1.<br />

Korollar 3.6. Unter der Voraussetzung (3.16) hat ein gegen Autonomisierung invariantes RK-<br />

Verfahren der Konsistenzordnung p auch die Konvergenzordnung p.


3.3. KONVERGENZ EXPLIZITER RUNGE-KUTTA-VERFAHREN 35<br />

Beweis von Satz 3.5. Für i = 1,... ,s gilt zunächst unter Beachtung von (3.16)<br />

ki(x,τ) − ki(˜x,τ) = f(x + τ <br />

aijkj(x,τ)) − f(˜x + τ <br />

aijkj(˜x,τ))<br />

j<br />

⎛<br />

≤ L⎝x<br />

− ˜x + τ <br />

⎞<br />

|aij| kj(x,τ) − kj(˜x,τ) ⎠ .<br />

Wiederholtes Einsetzen dieser Ungleichung in die rechte Seite ergibt<br />

⎛<br />

ki(x,τ) − ki(˜x,τ) = L⎝1<br />

+ τL <br />

⎞<br />

<br />

|aij| ⎠ 2<br />

x − ˜x + (τL) |aij||ajl|kl(x,τ) − kl(˜x,τ)<br />

⎛<br />

≤ L⎝1<br />

+ τL <br />

|aij| + (τL)<br />

≤ ...<br />

Zur Abkürzung verwenden wir<br />

<br />

3<br />

+(τL)<br />

j,l,m<br />

j<br />

j<br />

j<br />

2 <br />

j,l<br />

j,l<br />

⎞<br />

|aij||ajl| ⎠ x − ˜x<br />

|aij||ajl||alm| km(x,τ) − km(˜x,τ)<br />

(b+)i := |bi|, (A+)ij := |aij|, e T = (1,... ,1).<br />

Im Schritt q hat man somit<br />

ki(x,τ) − ki(˜x,τ) ≤ L 1 + τL(A+e)i + ... + (τL) q (A q<br />

+ e)i<br />

<br />

x − ˜x<br />

<br />

q+1<br />

+(τL) (A q+1<br />

+ )ijkj(x,τ) − kj(˜x,τ).<br />

Wegen aij = 0 <strong>für</strong> j ≥ i ist offenbar A s + = 0, damit<br />

sowie<br />

mit<br />

ki(x,τ) − ki(˜x,τ) ≤ Lx − ˜x 1 + τL(A+e)i + ... + (τL) s−1 (A s−1<br />

+ e)i<br />

<br />

.<br />

Ψ τ x − Ψ τ ˆx ≤ x − ˜x + τ <br />

|bi| ki(x,τ) − ki(˜x,τ)<br />

≤<br />

≤<br />

⎛<br />

⎝1 +<br />

j<br />

i<br />

s<br />

(τL) j b T +(A j−1<br />

+ e)<br />

⎞<br />

⎠ x − ˜x<br />

j=1<br />

∞ (γτL) j<br />

x − ˜x = e<br />

j!<br />

γτL x − ˜x<br />

j=0<br />

<br />

γ := max j! b<br />

j=1,...,s<br />

T +(A j−1<br />

+ e)<br />

1<br />

j<br />

.<br />

Im Spezialfall p = s ≤ 4 mit bi,aij ≥ 0 hat man b+ = b und A+ = A. Aus den Ordnungsbedingungen<br />

(3.8), (3.9), (3.11) und (3.15) findet man j! b T (A j−1 e) = 1 <strong>für</strong> j = 1,... ,s und damit<br />

γ = 1. ✷<br />

j


36 KAPITEL 3. EXPLIZITE RUNGE-KUTTA VERFAHREN<br />

x 2 (t)<br />

3<br />

2<br />

1<br />

0<br />

−1<br />

−2<br />

Tabelle 3.1: Vergleich verschiedener Runge-Kutta-Verfahren in Beispiel 3.7<br />

PKV (ti)<br />

ti x(ti) x<br />

∆<br />

|x PK<br />

∆ (ti) − x(ti)| x RK4<br />

∆ (ti) |x RK4<br />

∆ (ti) − x(ti)|<br />

0.0 0.5000000 0.5000000 0.0000000 0.5000000 0.0000000<br />

0.2 0.8000000 0.8032986 0.0032986 0.8292933 0.0000053<br />

0.4 1.2140877 1.2069200 0.0071677 1.2140762 0.0000114<br />

0.6 1.6489406 1.6372424 0.0116982 1.6489220 0.0000186<br />

0.8 2.1272295 2.1102357 0.0169938 2.1272027 0.0000269<br />

1.0 2.6408591 2.6176876 0.0231715 2.6408227 0.0000364<br />

1.2 3.1799415 3.1495789 0.0303627 3.1798942 0.0000474<br />

1.4 3.7324000 3.6936862 0.0387138 3.7323401 0.0000599<br />

1.6 4.2834838 4.2350972 0.0483866 4.2834095 0.0000743<br />

1.8 4.8151763 4.7556185 0.0595577 4.8150857 0.0000906<br />

2.0 5.3054720 5.2330546 0.0724173 5.3053630 0.0001089<br />

explizites Euler−Verfahren<br />

−3<br />

−5 −4 −3 −2 −1 0<br />

x (t)<br />

1<br />

1 2 3 4 5<br />

x 2 (t)<br />

3<br />

2<br />

1<br />

0<br />

−1<br />

−2<br />

Praediktor−Korrektor−Verfahren<br />

−3<br />

−5 −4 −3 −2 −1 0<br />

x (t)<br />

1<br />

1 2 3 4 5<br />

Abbildung 3.1: Lösung des Pendelmodells <strong>für</strong> verschiedene Runge-Kutta-Verfahren<br />

Beispiel 3.7. Wir vergleichen die Ergebnisse des Prädiktor-Korrektor Verfahrens mit denen<br />

des klassischen RK-Verfahren 4. Ordnung anhand der Aufgabe aus Beispiel 2.4. Die Ergebnisse<br />

in Tabelle 3.1 bestätigen die theoretisch ermittelte Konvergenzordnung. ✷<br />

Beispiel 3.8. Wir betrachten noch die numerische Lösung des mathematischen Pendelmodells<br />

mit verschiedenen Runge-Kutta-Verfahren. Das Modell wird beschrieben durch die Gleichung<br />

x ′ 1 (t) = x2(t), x ′ 2 (t) = − sinx1(t).<br />

Bei der Anfangsbedingung x1(0) = 1,x2(0) = −1 stellt sich eine periodische Lösung ein. Abbildung<br />

3.1 zeigt die Lösungen mit (i) dem expliziten Euler-Verfahren, (ii) dem Prädiktor-<br />

Korrektor Verfahren (zu Euler-Heun) bei Berechnung auf dem recht großen Zeitintervall<br />

[0,200] mit der Schrittweite τ = 0.2. Das Problem hat die Lipschitz-Konstante L = 1. Wegen<br />

des großen Zeitintervalls ist jedoch bereits LT = 200 ≫ 1. Offenbar driftet die Lösungstrajektorie<br />

des expliziten Euler-Verfahrens wegen zu großer Fehler schnell von der periodischen<br />

Lösung ab. Das Prädiktor-Korrektor Verfahren hat die gleiche Tendenz, dies erfolgt wegen der<br />

deutlichen besseren Genauigkeit jedoch wesentlich langsamer. ✷


Kapitel 4<br />

Adaptive Gittersteuerung<br />

Der Aufwand eines expliziten Runge-Kutta-Verfahrens zur Lösung des AWP<br />

x ′ (t) = f(t;x(t)), t ∈ [t0,T]; x(t0) = x 0<br />

hängt wesentlich von der Zahl erforderlicher Funktionsauswertungen ab. Die Effizienz des Verfahrens<br />

wird ferner signifikant durch Steuerung der Schrittweite τ im Lösungsprozeß beeinflußt.<br />

In Intervallen mit starker Lösungsänderung muß man zur Erzielung eines kleinen lokalen Diskretisierungsfehlers<br />

kleine Werte τ wählen, in Intervallen mit geringer Änderung der Lösung kann<br />

man zur Reduktion der Rechenzeit zu größeren Werten τ übergehen.<br />

Ziel ist eine automatische Schrittweitensteuerung <strong>für</strong> (nichtsteife) AWP. Eine solche Steuerung<br />

basiert auf einer Schätzung des lokalen Diskretisierungsfehlers. Man hofft, daß dabei auch der<br />

globale Diskretisierungsfehler nicht zu stark wächst.<br />

4.1 Adaptiver Basisalgorithmus<br />

Die Lösung x∆ zu einem AWP sei bis zum Zeitpunkt t = tj ermittelt. Nun soll der nächste<br />

Gitterpunkt tj+1 geeignet bestimmt werden. Der globale Diskretisierungsfehler<br />

wird durch<br />

e∆(tj+1) := x∆(tj+1) − x(tj+1)<br />

e∆(tj+1) = Ψ tj+1,tj x∆(tj) − Φ tj+1,tj x∆(tj) <br />

<br />

=:ǫj+1<br />

+ Φ tj+1,tj x∆(tj) − Φ tj+1,tj x(tj) <br />

<br />

=:pj+1<br />

zerlegt in den lokalen Diskretisierungsfehler (Konsistenzfehler) ǫj+1 und den Propagationsfehler<br />

(Fortpflanzungsfehler) pj+1.<br />

Wir hatten zwar in der Konvergenztheorie <strong>für</strong> Einschritt-Verfahren gesehen, daß der globale<br />

Diskretisierungsfehler durch den lokalen beschränkt ist. Man kennt jedoch in der Regel nicht<br />

die Abschätzungskonstanten. So kann man pj+1 nur durch Neustart der Rechnung beeinflussen.<br />

Theoretisch kann man den lokalen Anteil bei vorgegebener Toleranz TOL beschränken durch<br />

die Forderung<br />

ǫj+1 ≤ TOL. (4.3)<br />

Aber leider kann man auch <strong>für</strong> ǫj+1 nur auf einen lokalen Fehlerschätzer [ǫj+1] ≈ ǫj+1 hoffen,<br />

d.h. wir ersetzen (4.3) durch<br />

[ǫj+1] ≤ TOL. (4.4)<br />

37<br />

(4.1)<br />

(4.2)


38 KAPITEL 4. ADAPTIVE GITTERSTEUERUNG<br />

Ist (4.4) nicht erfüllt, bestimmt man eine neue Schrittweite τ ∗ j , mit der der Schritt wiederholt<br />

wird. Diese wird so gewählt, daß<br />

[ǫj+1] ≈ TOL, (4.5)<br />

d.h. die vorgegebene Toleranz soll weder deutlich unterschritten bzw. überschritten werden. Man<br />

spricht auch von Effizienz bzw. Verläßlichkeit des Fehlerschätzers. Ist die Forderung (4.4) erfüllt,<br />

wird die Berechnung akzeptiert und im nächsten Schritt die Schrittweite τ ∗ j verwendet.<br />

Für die Berechnung einer ”optimierten” Schrittweite τ ∗ j<br />

eine asymptotische Darstellung der Form<br />

[ǫj+1] ≈ d(tj)τ p+1<br />

j<br />

mit einer in der Regel nicht bekannten Konstanten d(tj) besitzt.<br />

nimmt man an, daß der lokale Schätzer<br />

+ 0(τp+2<br />

j ) ≈ d(tj)τ p+1<br />

j , τ → 0 (4.6)<br />

Bemerkung 4.1. Bei hinreichend glatter Funktion f und diskreter Evolution Ψ kann man<br />

tatsächlich eine asymptotische Entwicklung des Konsistenzfehlers ǫj+1 angeben und von dieser<br />

auf eine analoge Entwicklung <strong>für</strong> den Diskretisierungsfehler schließen, siehe [8]. ✷<br />

Sinngemäß gilt<br />

TOL ≈ [ǫ ∗ j+1] ≈ d(tj) (τ ∗ j ) p+1 .<br />

Nach Division durch (4.6) kürzt sich der (unbekannte) Faktor d(tj) heraus, man erhält<br />

Auflösung nach τ ∗ j<br />

TOL<br />

[ǫj+1] ≈<br />

<br />

τ ∗p+1 j<br />

.<br />

τj<br />

ergibt unter Einführung eines Sicherheitsfaktors ρ < 1 auf<br />

τ ∗ 1<br />

TOL p+1<br />

j = ρ<br />

τj. (4.7)<br />

[ǫj+1]<br />

Da [ǫj+1] klein werden kann, führt man Beschränkungen τ ∗ j ≤ qτj mit vorgegebenem Faktor<br />

q > 1 und/oder τ ∗ j ≤ τmax mit vorgegebener maximaler Schrittweite τmax ein. Ferner soll sicher<br />

im (j + 1)-ten Schritt noch tj+1 + τ ∗ j+1 ≤ T gelten.<br />

Adaptiver Basisalgorithmus <strong>für</strong> AWP (4.1)<br />

Initialisierung: Diskrete Evolution Ψ der Ordnung p, lokaler Fehlerschätzer,<br />

Toleranz TOL, Startschrittweite τ0 ∈ (0,T − t0],<br />

Hochschaltfaktor q > 1, Sicherheitsfaktor ρ ∈ (0,1), maximale Schrittweite τmax<br />

j := 0<br />

∆ := {t0};<br />

x∆(t0) := x 0 ;<br />

while (tj < T) do<br />

t := tj + τj;<br />

x := Ψ t,tj x∆(tj);<br />

Berechne Fehlerschätzer [ǫ];<br />

<br />

τ := min<br />

TOL<br />

qτj,τmax,ρτj [ǫj+1]<br />

1<br />

p+1<br />

<br />

;


4.2. LOKALE FEHLERSCHÄTZUNG 39<br />

end<br />

if ([ǫj+1] > TOL) // Schritt wird nicht akzeptiert<br />

τj := min(τ,T − tj);<br />

else // Schritt wird akzeptiert<br />

end<br />

tj+1 := t;<br />

∆ := ∆ ∪ {tj+1};<br />

x∆(tj+1) := x;<br />

τj+1 := min(τ,T − tj1 );<br />

j := j + 1;<br />

4.2 Lokale Fehlerschätzung<br />

Zur Schätzung des lokalen Diskretisierungsfehlers rechnet man oft mit zwei verschiedenen Diskretisierungen,<br />

d.h. mit zwei diskreten Evolutionen Ψ und ˆ Ψ. Für die lokalen Diskretisierungsfehler<br />

gilt dann<br />

ǫ = Ψ t+τ,t x − Φ t+τ,t x, ˆǫ = ˆ Ψ t+τ,t x − Φ t+τ,t x.<br />

O.B.d.A. sei ˆ Ψ die genauere Evaluation mit<br />

Als Schätzung <strong>für</strong> ǫ wählen wir<br />

Wegen [ǫ] = ǫ − ˆǫ ist<br />

Nach Dreiecksungleichung folgt<br />

und daraus<br />

θ := ˆǫ<br />

< 1. (4.8)<br />

ǫ<br />

[ǫ] := Ψ t+τ,t x − ˆ Ψ t+τ,t x.<br />

[ǫ] − ǫ = ˆǫ = θǫ.<br />

[ǫ] − ǫ ≤ θǫ, −[ǫ] + ǫ ≤ θǫ<br />

(1 − θ)ǫ ≤ [ǫ] ≤ (1 + θ)ǫ.<br />

Daher wird der Fehler im Fall von (4.8) weder stark über- noch unterschätzt. Ist die Diskretisierung<br />

mit ˆ Ψ von höherer Ordnung als Ψ, gilt sogar limτ→0 θ = 0. Dann ist der Fehlerschätzer<br />

asymptotisch exakt, d.h.<br />

lim [ǫ] = ǫ.<br />

τ→0<br />

Rechnet man nun mit der genaueren Approximation ˆ Ψt+τ,tx an Ψt+τ,tx weiter, wird die Toleranzbedingung<br />

bei θ ≤ 1<br />

2 sogar übererfüllt, denn<br />

ˆǫ = θǫ ≤ θ<br />

[ǫ] ≤ [ǫ] ≈ TOL.<br />

1 − θ<br />

Bei dieser in der Praxis oft genutzten Vorgehensweise gibt man damit eigentlich das Konzept der<br />

Fehlerschätzung auf, denn man optimiert das Gitter <strong>für</strong> das ungenauere Verfahren Ψ. Man hofft,<br />

daß es dann auch in der Regel ein gutes Gitter <strong>für</strong> das genauere Verfahren ˆ Ψ ist. Im folgenden<br />

Abschnitt besprechen wir diese Idee genauer <strong>für</strong> eingebettete Runge-Kutta-Verfahren.


40 KAPITEL 4. ADAPTIVE GITTERSTEUERUNG<br />

4.3 Eingebettete Runge-Kutta-Verfahren. Fehlberg-Trick<br />

Wir bezeichnen mit RKp(q) ein adaptives RK-Verfahren, bei dem mit einer Evolution der Ordnung<br />

p weitergerechnet und eine Evolution der Ordnung q zur Fehlerschätzung bzw. Gittersteuerung<br />

genutzt wird. Zur Reduktion der Funktionsauswertungen von f betrachtet man Paare<br />

diskreter Evolutionen ˆ Ψ,Ψ, die zu RK-Verfahren (A, ˆ b) bzw. (A, b) mit der gleichen Matrix<br />

A gehören. Man spricht auch von eingebetteten RK-Verfahren und kennzeichnet sie durch das<br />

erweiterte Butcher-Schema<br />

c A<br />

ˆ b T<br />

Beispiel 4.2. Wir suchen exemplarisch ein eingebettetes RK-Verfahren RK4(3), bei dem die<br />

genauere Evolution ˆ Ψ durch das ”klassische” RK-Verfahren 4. Ordnung gegeben ist, d.h.<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

0 0 0 0<br />

1<br />

2 0 0 0<br />

0 1<br />

2 0 0<br />

0 0 1 0<br />

b T<br />

⎞<br />

⎟<br />

⎠ ,<br />

Satz 3.3 liefert im Fall s = 3 die folgenden Ordnungsbedingungen <strong>für</strong> den Vektor b = (b1,b2,b3,b4) T :<br />

Als eindeutige Lösung erhält man b = ( 1<br />

6<br />

ˆ b =<br />

b1 + b2 + b3 + b4 = 1<br />

1<br />

2 b2 + 1<br />

2 b3 + b4 = 1<br />

2<br />

1<br />

4 b2 + 1<br />

4 b3 + b4 = 1<br />

3<br />

1<br />

4 b3 + 1<br />

2 b4 = 1<br />

6 .<br />

, 1<br />

3<br />

, 1<br />

3<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

6<br />

1<br />

3<br />

1<br />

3<br />

1<br />

6<br />

⎞<br />

⎟<br />

⎠ .<br />

, 1<br />

6 )T , also b = ˆ b und damit Ψ = ˆ Ψ. Man findet<br />

also auf diesem Weg kein passendes eingebettetes RK-Verfahren. Ein von ˆ Ψ abweichendes RK-<br />

Verfahren Ψ der Ordnung 3 mit den Stufen ki,i = 1,2,3,4 von ˆ Ψ erfordert somit paradoxerweise<br />

weitere Stufen von Ψ.<br />

Einen Kompromiss bietet die Idee von Fehlberg, als zusätzliche Stufe die ohnehin zu berech-<br />

nende erste Stufe des folgenden Zeitschritts zu wählen. Allgemein lauten bei einem s-stufigen<br />

RK-Verfahren (A, ˆb) die Stufe ks und die Stufe k∗ 1 des nächsten Schrittes<br />

Aus der Forderung ks = k ∗ 1<br />

s−1<br />

ks = f(t + csτ;x + τ asjkj),<br />

k ∗ 1 = f(t + τ;x + τ<br />

j=1<br />

s<br />

ˆbjkj). j=1<br />

findet man die Bedingungen<br />

cs = 1, ˆ bs = 0; asj = ˆ bj, j = 1,... ,s − 1. (4.9)


4.3. EINGEBETTETE RUNGE-KUTTA-VERFAHREN. FEHLBERG-TRICK 41<br />

Im Fall p = 4,q = 3 führt der Fehlberg-Trick wegen (4.9) also auf den fünf-stufigen Ansatz<br />

0 1<br />

2<br />

1<br />

2<br />

1<br />

2<br />

0 1<br />

2<br />

1 0 0 1<br />

1 1 1 1<br />

6<br />

1<br />

3<br />

1<br />

3<br />

1<br />

1<br />

6<br />

1<br />

6<br />

b1<br />

3<br />

b2<br />

3<br />

b3<br />

6<br />

b4 b5<br />

Satz 3.3 ergibt im Fall s = 3 die Ordnungsbedingungen<br />

b1 + b2 + b3 + b4 + b5 = 1<br />

1<br />

2 b2 + 1<br />

2 b3 + b4 + b5 = 1<br />

2<br />

1<br />

4 b2 + 1<br />

4 b3 + b4 + b5 = 1<br />

3<br />

1<br />

4 b3 + 1<br />

2 b4 + 1<br />

2 b5 = 1<br />

6 .<br />

Man kann offenbar in diesem System die Rolle von b4 und b5 vertauschen. Daher ist mit ˆb T =<br />

( 1 1 1 1<br />

6 , 3 , 3 , 6 ,0) auch bT = ( 1 1 1 1<br />

6 , 3 , 3 ,0, 6 ) eine Lösung. Der zu diesem vier-stufigen Verfahren vom<br />

Typ RK4(3) gehörige Fehlerschätzer ist<br />

[ǫ] = Ψ t+τ,t x − ˆ Ψ t+τ,t x = 1<br />

6 τ(k4 − k ∗ 1 ). ✷<br />

Beispiel 4.3. Dem Matlab-Solverode23 liegt ein eingebettetes RK-Verfahren vom Typ RK3(2)<br />

zugrunde mit<br />

0 1<br />

2<br />

3<br />

4<br />

1<br />

1<br />

2<br />

0<br />

2<br />

9<br />

2<br />

3<br />

4<br />

1<br />

3<br />

1<br />

9<br />

7<br />

3<br />

1<br />

24 4<br />

4<br />

9<br />

4<br />

9 0<br />

1<br />

3<br />

Beispiel 4.4. Von Dormand und Prince stammt ein unter verschiedenen Aspekten optimiertes<br />

eingebettetes Verfahren vom Typ RK5(4). Es ist im Matlab-Solver ode45 implementiert und<br />

ist heute das Standardverfahren vom Typ RK5(4). ✷<br />

Beispiel 4.5. Der Lorenz-Attraktor wird durch das parameterbehaftete autonome System<br />

1<br />

8<br />

✷<br />

x ′ 1 (t) = f1(x) := −σx1 + σx2<br />

x ′ 2(t) = f2(x) := rx1 − x2 − x1x3<br />

x ′ 3(t) = f3(x) := x1x2 − bx3<br />

beschrieben. Er beschreibt sehr grob vereinfacht ein Problem aus der Metereologie. Für bestimmte<br />

Parameterwerte (σ,r,b) zeigte das System einen ”chaotischen” Lösungsverlauf. Man<br />

kann beweisen, daß alle Lösungen <strong>für</strong> t → ∞ in einer hinreichend großen Umgebung des Nullpunktes<br />

verbleiben. Die Grenzmenge <strong>für</strong> t → ∞ , der sogenannte Attraktor, hat aber eine<br />

komplizierte Gestalt. Die Abbildung 4.1 (i) zeigt eine Lösungstraktorie <strong>für</strong> die Parameterwerte<br />

.


42 KAPITEL 4. ADAPTIVE GITTERSTEUERUNG<br />

y 3 (t)<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

30<br />

20<br />

10<br />

0<br />

y 2 (t)<br />

−10<br />

−20<br />

−30<br />

−20<br />

Abbildung 4.1: Lösung des Lorenz-Modells mit expliziten Runge-Kutta Verfahren<br />

σ = 10,r = 28,b = 8/3. Hinsichtlich der nichttrivialen Untersuchung dieses berühmt gewordenen<br />

Beispiels konsultiere man etwa [15].<br />

Natürlich erwartet man Schwierigkeiten bei der numerischen Lösung dieses Systems. Für den<br />

hier betrachteten Parameterfall (σ,r,b) = (10,28,8/3) ist die Lipschitz-Konstante der rechten<br />

Seite nicht mehr sehr klein. Auf dem recht großen Intervall 0 ≤ t ≤ 30 wird LT ≫ 1. Abbildung<br />

4.1 zeigt die Lösung <strong>für</strong> die Anfangsbedingung x(0) = (0,1;0.1;0.05) bei äquidistanter Schrittweite<br />

τ = 3/100.<br />

Offenbar muß man Verfahren höherer Ordnung oder sogar implizite Methoden mit Schrittweitensteuerung<br />

verwenden. Abbildung 4.2 zeigt die Verläufe der berechneten Normen x(t) <strong>für</strong><br />

den Bereich von 0 ≤ t ≤ 30. Eine genauere Ansicht zeigt, daß sich die Kurvenverläufe insbesondere<br />

<strong>für</strong> t ≥ 15 signifikant unterscheiden.<br />

Zur Lösung wurden die folgenden in Matlab verfügbaren Lösungsverfahren benutzt:<br />

• Die Methoden ode23 und ode45 sind explizite Runge-Kutta Verfahren nach Bogacki/<br />

Shampine bzw. Dormand/ Price mit Extrapolation und Schrittweitensteuerung. Insbesondere<br />

ist ode45 ein sechs-stufiges RKV.<br />

• Die beiden anderen Methoden ode23tb und ode23s sind spezielle implizite Runge-Kutta-<br />

Verfahren. Auf derartige Methoden gehen wir in Kapitel 5 ein.<br />

Hinsichtlich einer genaueren Übersicht zu den in Matlab verfügbaren Verfahren wird auf den<br />

Übersichtsartikel [14] und die dort angegebene Literatur verwiesen. ✷<br />

−10<br />

y 1 (t)<br />

0<br />

10<br />

20


4.3. EINGEBETTETE RUNGE-KUTTA-VERFAHREN. FEHLBERG-TRICK 43<br />

150<br />

100<br />

50<br />

ode23<br />

0<br />

0<br />

150<br />

5 10 ode23tb 15 20 25 30<br />

100<br />

50<br />

0<br />

0<br />

150<br />

5 10 ode23s 15 20 25 30<br />

100<br />

50<br />

0<br />

0<br />

150<br />

5 10 ode45 15 20 25 30<br />

100<br />

50<br />

0<br />

0 5 10 15 20 25 30<br />

Abbildung 4.2: Verlauf von x(t) <strong>für</strong> verschiedene AWP-Löser des Lorenz-Attraktors


44 KAPITEL 4. ADAPTIVE GITTERSTEUERUNG


Kapitel 5<br />

Implizite Verfahren <strong>für</strong> steife AWP<br />

Zunächst zeigen wir, daß explizite Einschrittverfahren (ESV) i.a. nicht <strong>für</strong> steife AWP geeignet<br />

sind. Die Konvergenztheorie aus Kapitel 2 ist nur <strong>für</strong> unvertretbar kleine Schrittweiten anwendbar.<br />

Daher werden implizite Runge-Kutta-Verfahren als wichtigste Klasse von ESV eingeführt,<br />

die wesentlich günstigere Stabilitätseigenschaften haben.<br />

5.1 Eignung expliziter Verfahren <strong>für</strong> steife AWP<br />

Wir betrachten das skalare Testproblem<br />

x ′ (t) = λx(t), Re(λ) < 0, x(0) = 1 (5.1)<br />

mit λ ∈ R − := {z ∈ C : Im(z) = 0, Re(z) < 0}. Das AWP hat die exponentiell abklingende<br />

Lösung x(t) = e λt . Untersucht werden soll die Eignung expliziter Runge-Kutta-Verfahren <strong>für</strong><br />

dieses Problem.<br />

Beispiel 5.1. Zur Lösung von Aufgabe (5.1) verwenden wir das explizite Euler-Verfahren<br />

x∆(tj+1) = x∆(tj) + λτx∆(tj) = (1 + λτ)x∆(tj) = ... = (1 + λτ) j+1 x 0 .<br />

Nur bei Schrittweitenbeschränkung τ < 2/|λ| erhält man im Fall λ < 0 eine monoton abnehmende<br />

Folge (x∆(tj))j. Löst man etwa (5.1) <strong>für</strong> λ = −100 auf dem Intervall [0,5], so bräuchte<br />

man wenigstens eine Schrittweite τ < 0.02 bzw. mehr als 250 Integrationsschritte, obwohl die<br />

Lösung x(t) sehr schnell auf Null abklingt.<br />

Das implizite Euler-Schema<br />

x∆(tj+1) = x∆(tj) + λτx∆(tj+1)<br />

erzeugt <strong>für</strong> beliebige Schrittweiten τ > 0 eine monoton abnehmende diskrete Lösungsfolge mit<br />

x∆(tj+1) =<br />

1<br />

1 − λτ x∆(tj) = ... =<br />

1<br />

(1 − λτ) j+1x0 .<br />

Für λ = −100 und die sehr grobe Schrittweite τ = 1 erhält man die folgenden Lösungen<br />

j 0 1 2 3 4 5<br />

x∆(tj) 1 9.90-3 9.80-5 9.71–7 9.61-9 9.57-11<br />

x(tj) 1 < 10 −45 0 0 0 0<br />

45


46 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

Explizite RK-Verfahren bereiten generell bei Anwendung auf das Testproblem (5.1) Probleme.<br />

Lemma 5.2. Sei Ψτ λ die Evolution eines konsistenten expliziten RK-Verfahrens <strong>für</strong> die Aufgabe<br />

(5.1). Für festes τ > 0 gilt<br />

lim<br />

|λ|→∞ |Ψτλ 1| = ∞.<br />

Beweis: Analog zum Beweis von Lemma 3.1 erhält man, daß Ψτ λ1 = p(λτ) mit einem Polynom<br />

p vom Grad ≤ s ist. Wegen der vorausgesetzten Konsistenz hat p mindestens den Grad 1, vgl.<br />

auch Beweis von Lemma 2.6. Daher folgt lim |z|→∞ |p(z)| = ∞. ✷<br />

Somit sind explizite ESV <strong>für</strong> die Lösung steifer AWP i.a. ungeeignet. Daher betrachten wir<br />

nachfolgend implizite RK-Verfahren als interessanteste Klasse impliziter ESV. ✷<br />

Nach Satz 1.20 erfüllt die Lösung des AWP<br />

x ′ (t) = f(t;x(t)), x(t0) = x 0 . (5.2)<br />

bei Gültigkeit einer einseitigen Lipschitz-Bedingung (1.26) an f folgende Stabilitätsbedingung:<br />

t <br />

l(s) ds x 0 − ˜x 0 , t ≥ t0. (5.3)<br />

Φ t,t0 x 0 − Φ t,t0 ˜x 0 ≤ exp<br />

t0<br />

Für das Testproblem (5.1) ist l(s) = Re(λ); <strong>für</strong> die Lipschitz-Konstante jedoch gilt L = |λ|.<br />

Für explizite RK-Verfahren hatten wir in Satz 3.5 gezeigt, daß dessen diskrete Evolution Ψ die<br />

Stabilitätseigenschaft (5.3) lediglich mit dem Faktor LΨ = γL ”erbt”. Ferner gilt die Fehlerabschätzung<br />

x∆(t) − x(t) ≤ CeLΨ|t−t0| − 1<br />

τ p , t ∈ ∆, (5.4)<br />

vgl. Sätze 2.10, 2.12. Kritisch ist, daß die Konvergenzordnung p im steifen Fall LΨ|T − t0| ≫<br />

l|T −t0| auf dem Intervall [t0,T] durch den exponentiellen Vorfaktor unbrauchbar wird. Natürlich<br />

ist (5.4) eine ”worst case”-Abschätzung. Daher möchte man bei Abschätzungen <strong>für</strong> steife AWP<br />

möglichst nur mit der einseitigen Lipschitz-Konstanten arbeiten.<br />

LΨ<br />

5.2 Implizite Runge-Kutta-Verfahren<br />

Nach Beispiel 5.1 ist das implizite viel besser als das explizite Euler-Verfahren zur Lösung des<br />

<strong>für</strong> Re(λ) ≪ |λ| steifen AWP (5.1) geeignet. Neben der Stabilität eines Verfahrens (vgl. dazu<br />

Abschnitt 5.5) ist aber auch dessen Ordnung wesentlich. Zur Illustration zeigt Abbildung 5.1 die<br />

Lösungen zum Pendel-Problem (vgl. Bsp. 3.8) bzw. zum Lorenz-Attraktor (vgl. Bsp. 4.5) mit<br />

dem impliziten Euler-Verfahren. Die Lösung strebt jeweils inkorrekt auf einen Fixpunkt zu,<br />

das Verfahren ist ”zu dissipativ”. Wir suchen daher implizite RK-Verfahren höherer Ordnung.<br />

Definition 5.3. Ein s−stufiges (implizites) RK-Verfahren ist gegeben durch die Vorschrift<br />

x∆(t + τ) := Ψ t+τ,t x∆(t) := x∆(t) + τ<br />

⎛<br />

ki(t,x,τ) := f ⎝t + ciτ,x + τ<br />

s<br />

bjkj(t,x∆(t),τ), t ∈ ∆ (5.5)<br />

j=1<br />

⎞<br />

s<br />

aijkj(t,x,τ) ⎠ , i = 1,...,s. (5.6)<br />

j=1<br />

Die Werte ci bzw. ki heißen Knoten bzw. Steigungen.<br />

Das entsprechende Butcher-Schema lautet:


5.3. IMPLEMENTATION IMPLIZITER RK-VERFAHREN 47<br />

x 2 (t)<br />

3<br />

2<br />

1<br />

0<br />

−1<br />

−2<br />

implizites Euler−Verfahren<br />

−3<br />

−5 −4 −3 −2 −1 0<br />

x (t)<br />

1<br />

1 2 3 4 5<br />

(i) Lösungsverlauf <strong>für</strong> mathematisches Pendel<br />

x 2 (t)<br />

25<br />

20<br />

15<br />

10<br />

5<br />

implizites Euler−Verfahren<br />

0<br />

0 2 4 6 8 10 12 14 16 18<br />

x (t)<br />

1<br />

(ii) Lösungsverlauf <strong>für</strong> Lorenz-Attraktor<br />

Abbildung 5.1: Dissipatives Verhalten des impliziten Euler-Verfahrens<br />

c A<br />

b T<br />

bzw.<br />

c1 a11 a12 · · · a1,s−1 a1s<br />

c2 a21 a22 · · · a2,s−1 a2s<br />

.<br />

.<br />

.<br />

cs as1 as2 · · · as,s−1 as,s<br />

.<br />

b1 b2 · · · bs−1 bs<br />

Definition 5.4. (i) Für aij = 0, i ≤ j erhält man die expliziten RK-Verfahren (vgl. Kap. 3).<br />

(ii) Für aij = 0, i < j erhält man die diagonal-impliziten RK-Verfahren (DIRK). Gilt sogar<br />

γ = aii, i = 1,... ,s, so spricht man von einfach diagonal-impliziten RK-Verfahren (SDIRK;<br />

engl. singly diagonally implicit RK method)<br />

(iii) Existiert ein Index j > i mit aij = 0, so spricht man von voll-impliziten RK-Verfahren.<br />

5.3 Implementation impliziter RK-Verfahren<br />

In jedem Zeitschrit sind die Steigungen ki durch Lösung des Gleichungssystems (5.6)<br />

<br />

ki(t,x,τ) = f t + ciτ,x + τ<br />

s<br />

j=1<br />

<br />

aijkj(t,x,τ) , i = 1,...,s<br />

zu ermitteln. Bei expliziten Verfahren ermittelt man die ki rekursiv. Leider ist dies bei echt<br />

impliziten RK-Verfahren nicht möglich. Der Versuch mit der einfachen Fixpunktiteration<br />

k (m+1)<br />

<br />

i (t,x,τ) = f t + ciτ,x + τ<br />

s<br />

j=1<br />

.<br />

aijk (m)<br />

<br />

j (t,x,τ) , i = 1,...,s; m ∈ N0<br />

führt aber zu Schrittweitenbeschränkungen (vgl. Lemma 2.3 <strong>für</strong> modifiziertes Euler-Verfahren).<br />

Für steife AWP ist das eine inakzeptable Einschränkung. Man muß also ”intelligentere” Lösungsverfahren,<br />

z.B. das Newton- bzw. Newton-artige Verfahren, benutzen. Beim DIRK-Verfahren<br />

zerfällt speziell die Lösung des s · n-dimensionalen Gleichungssystems in die sukzessive Berech-<br />

nung von s Gleichungssystemen der Dimension n. Bei den SDIRK-Verfahren ist sogar nur einmal<br />

zu invertieren.<br />

die Matrix I − τγ ∂f<br />

∂x<br />

mit der Jacobi-Matrix ∂f<br />

∂x<br />

Zur Vermeidung von Rundungsfehlern (insbesondere im steifen Fall) formen wir das System<br />

(5.6) um: Ist x(s) := Φ s,t0 x 0 die durch (t0,x 0 ) verlaufende Lösungstrajektorie, so sind die Stufen<br />

ki des RK-Verfahrens Approximationen ki ≈ x ′ (t+ciτ). Man kann dann auch Approximationen<br />

.


48 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

zi ≈ x(t + ciτ) − x(t) als Zwischenstufen benutzen.<br />

Lemma 5.5. Betrachtet wird ein RK-Verfahren mit den Daten (A,b,c).<br />

(i) Sind k1,... ,ks Lösung von (5.6), so ist zi := τ s<br />

j=1 aijkj, i = 1,... ,s Lösung des Systems<br />

zi = τ<br />

s<br />

aijf(t + cjτ;x + zj), i = 1,... ,s. (5.7)<br />

j=1<br />

(ii) Sind z1,...,zs Lösung von (5.7), so ist ki := f(t + ciτ;x + zi), i = 1,... ,s Lösung von<br />

(5.6). Für die diskrete Evolution des RK-Verfahrens gilt<br />

Ψ t+τ,t x = x + τ<br />

s<br />

bif(t + ciτ;x + zi). (5.8)<br />

i=1<br />

(iii) Bei invertierbarer Matrix A = (aij) ∈ R s×s des RK-Verfahrens kann man die diskrete<br />

Evolution ohne zusätzliche Auswertung von f ermitteln aus<br />

Ψ t+τ,t x = x +<br />

s<br />

i=1<br />

Beweis: (i) Es gilt nach Definition und (5.6)<br />

s<br />

s<br />

<br />

zi = τ aijkj = τ aijf t + cjτ;x + τ<br />

j=1<br />

j=1<br />

(ii) Nach Definition und (5.7) ist wegen<br />

⎛<br />

wizi, (w1,... ,ws) T := (A T ) −1 b. (5.9)<br />

s<br />

l=1<br />

ajlkl<br />

ki = f(t + ciτ;x + zi) = f ⎝t + ciτ;x + τ<br />

⎛<br />

= f ⎝t + ciτ;x + τ<br />

<br />

= τ<br />

s<br />

aijf(t + cjτ;x + zj).<br />

j=1<br />

⎞<br />

s<br />

aij f(t + cjτ;x + zj) ⎠<br />

j=1<br />

s<br />

j=1<br />

aijkj<br />

(5.6) erfüllt. Die Erfüllung von (5.8) ergibt sich unter Anwendung der Definitionen.<br />

(iii) (5.7) ergibt<br />

x +<br />

s<br />

wizi = x + τ<br />

i=1<br />

s<br />

j=1 i=1<br />

⎞<br />

⎠<br />

s<br />

aijwi f(t + cjτ;x + zj).<br />

Wegen s<br />

i=1 aijwi = (A T w)j = bj ergibt sich mit (5.8) schließlich die Aussage (5.9). ✷<br />

Im steifen Fall können die Werte von f und der ki betragsmäßig groß sein und die Formel (5.7)<br />

ist dann weniger anfällig als (5.6) gegen Rundungsfehler. Vorteil der Formulierung (5.7),(5.9)<br />

<strong>für</strong> implizite RK-Verfahren mit invertierbarer Matrix A ist gegenüber (5.7),(5.8), daß keine<br />

zusätzlichen Auswertungen von f notwendig sind.<br />

Wir wollen nun das modifizierte System (5.7) mittels Newton-Verfahren lösen. Mit der Notation<br />

⎛ ⎞<br />

z1<br />

⎜ ⎟<br />

Z := ⎝ . ⎠ ∈ R sn ,<br />

⎛ ⎞<br />

x<br />

⎜ ⎟<br />

X := ⎝ . ⎠ ∈ R<br />

x<br />

sn ,<br />

⎛<br />

⎞<br />

f(t + c1τ;x + z1)<br />

⎜<br />

⎟<br />

F(τ,X + Z) := ⎝ . ⎠ (5.10)<br />

f(t + csτ;x + zs)<br />

zs


5.3. IMPLEMENTATION IMPLIZITER RK-VERFAHREN 49<br />

sowie<br />

A ⊗ In :=<br />

⎛<br />

⎜<br />

⎝<br />

a11In<br />

.<br />

. a1sIn<br />

as1In · · · assIn<br />

.<br />

⎞<br />

⎟<br />

⎠ ∈ Rsn×sn<br />

und der Einheitsmatrix In ∈ R n×n können wir das System (5.7) kompakt schreiben als<br />

G(Z) := Z − τ(A ⊗ In)F(τ,X + Z) = 0.<br />

Mit dem Startwert Z (0) := 0 lautet dann ein Schritt des Newton-Verfahrens <strong>für</strong> m ∈ N0:<br />

Mit der Vereinfachung<br />

und J := Dxf(t;x) hat man<br />

(Isn − τ(A ⊗ In)(DXF)(τ,X + Z (m) ))∆Z (m) = −G(Z (m) )<br />

DXF(τ,X + Z) ≈ DXF(0,X + Z)<br />

Z (m+1) = Z (m) + ∆Z (m) .<br />

(A ⊗ In)((DXF)(0,X + Z (m) ) = (A ⊗ In)(In ⊗ J) = A ⊗ J<br />

und damit das vereinfachte Newton-Verfahren<br />

(Isn − τA ⊗ J)∆Z (m) = −Z (m) + τ(A ⊗ In)F(τ,X + Z (m) ).<br />

Pro Iterationszyklus in jedem Runge-Kutta-Schritt hat man die Jacobi-Matrix J nur einmal<br />

auszuwerten und nur eine LU-Zerlegung von Isn − τA ⊗ J zu berechnen. Vergleichsweise hat<br />

man beim exakten Newton-Verfahren in jedem Newton-Schritt (!) s Jacobi-Matrizen von f<br />

zu berechnen und jeweils eine weitere Matrix aus R sn×sn zu invertieren.<br />

Dieser enormen Rechenvereinfachung beim vereinfachten Newton-Verfahren steht natürlich der<br />

Verlust der quadratischen Konvergenzordnung des exakten Newton-Verfahrens entgegen. Wir<br />

wissen aber bereits aus dem Kurs Numerische Mathematik I, daß das vereinfachte Verfahren<br />

wenigstens linear konvergiert.<br />

Als Abbruchkriterium der (vereinfachten) Newton-Iteration hätte man bei vorgegebener Toleranz<br />

TOL der Schrittweitensteuerung gerne<br />

Z − Z (m) ≤ κ TOL, κ ≪ 1<br />

mit einem Sicherheitsfaktor κ, der üblicherweise aus dem Intervall [10 −4 ,10 −2 ] gewählt wird.<br />

Natürlich muß man eine geeignete Approximation hieran wählen, da die Lösung Z nicht bekannt<br />

ist. Eine derartige Wahl findet man im folgenden Verfahren.


50 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

Implementierung eines impliziten RK-Verfahrens mit Schrittweitensteuerung:<br />

Initialisierung: (t,x 0 ) ∈ R × R n Anfangspunkt;<br />

(f(t;x) rechte Seite der Differentialgleichung;<br />

F und X definiert wie in (5.10);<br />

τ > 0 Schrittweite;<br />

TOL > 0 Toleranz <strong>für</strong> Fehlerschätzer, 0 < κ ≪ 1;<br />

J := Dxf(t;x);<br />

Berechne LU-Zerlegung von B := Isn − τA ⊗ J;<br />

Löse B∆Z (1) = −τ(A ⊗ In)F(τ,X) mittels LU-Zerlegung von B;<br />

Z (1) := ∆Z (1) ;<br />

m := 1;<br />

do<br />

Löse B∆Z (m) = −Z (m) + τ(A ⊗ In)F(τ,X + Z (m) ) mittels LU-Zerlegung von B;<br />

Z (m+1) := Z (m) + ∆Z (m) ;<br />

qm := ∆Z(m) <br />

∆Z (m−1) ;<br />

<br />

if qm ≥ 1<br />

// Schätzung des Kontraktionsfaktors<br />

Newton-Verfahren divergiert ! Wiederhole RK-Schritt mit Schrittweite 1<br />

2τ; end<br />

m := m + 1;<br />

qm until 1−qm ∆Z(m) ≤ κ TOL<br />

Für DIRK vereinfacht sich der Algorithmus weiter, da er mit geringen Modifikationen s-fach<br />

hintereinander <strong>für</strong> jede Stufe benutzt werden kann.<br />

5.4 Konstruktion impliziter RK-Verfahren<br />

In Abschnitt 5.1 hatten wir bereits das sehr stabile einstufige implizite Euler-Verfahren mit<br />

dem Butcher-Schema<br />

1 1<br />

1<br />

betrachtet. Leider hat es nur die Konsistenzordnung p = 1. Das ebenfalls einstufige implizite<br />

Mittelpunkt-Verfahren<br />

<br />

x∆(tj+1) = x∆(tj) + τf tj + τ<br />

2 ; x∆(tj)<br />

<br />

+ x∆(tj+1)<br />

.<br />

2<br />

mit dem Butcher-Schema<br />

hat, wie wir noch sehen werden, sogar die Konsistenzordnung p = 2.<br />

1<br />

2<br />

Wir wollen jetzt systematisch implizite RK-Verfahren höherer Ordnung konstruieren. Dies erfordert<br />

die Festlegung der bis zu s 2 + 2s Parameter bi,ci,aij mit i,j = 1,...,s. Bei Kollokations-<br />

Verfahren approximiert man die Lösung des AWP (5.2) durch ein vektorwertiges Polynom<br />

w ∈ (Πs) n , das die Anfangsbedingung<br />

1<br />

2<br />

1<br />

w(t0) = x 0<br />

(5.11)


5.4. KONSTRUKTION IMPLIZITER RK-VERFAHREN 51<br />

und die Differentialgleichung an s vorgegebenen Kollokationspunkten t0+ciτ, i = 1,... ,s erfüllt,<br />

d.h.<br />

w ′ (t0 + ciτ) = f(t0 + ciτ;w(t0 + ciτ)), i = 1,... ,s. (5.12)<br />

Das folgende Resultat zeigt, daß durch Kollokation implizite RK-Verfahren erzeugt werden.<br />

Insbesondere wird dabei die Zahl der unbekannten Parameter auf s reduziert.<br />

Lemma 5.6. Für die Parameter 0 ≤ c1 < · · · < cs ≤ 1 sei das System (5.11), (5.12) eindeutig<br />

lösbar. Dann wird durch die diskrete Evolution<br />

ein implizites RK-Verfahren definiert.<br />

Ψ t0+τ,t0 x 0 := w(t0 + τ). (5.13)<br />

Beweis: Sei {L1,...,Ls} die Lagrange-Basis bezüglich der Punkte c1,... ,cs mit Li ∈ Πs und<br />

Li(cj) = δij, i,j = 1,... ,s. Wegen w ′ ∈ (Πs−1) n kann man w ′ in der Lagrange-Basis darstellen<br />

w ′ (t0 + θτ) =<br />

s<br />

kjLj(θ), kj := w ′ (t0 + cjτ), j = 1,... ,s.<br />

j=1<br />

Dann ergibt die Anfangsbedingung (5.11) nach Integration<br />

Mit dem Ansatz<br />

w(t0 + θτ) = x 0 + τ<br />

aij :=<br />

ci<br />

0<br />

s<br />

j=1<br />

kj<br />

θ<br />

0<br />

Lj(σ) dσ.<br />

Lj(θ) dθ, i,j = 1,... ,s (5.14)<br />

kann man die Kollokations-Bedingungen (5.12) äquivalent schreiben als<br />

Mit<br />

folgt <strong>für</strong> (5.13)<br />

ki = f(t0 + ciτ;x 0 + τ<br />

bi :=<br />

1<br />

0<br />

s<br />

aijkj), i = 1,... ,s.<br />

j=1<br />

Li(θ) dθ, i = 1,... ,s (5.15)<br />

Ψ t0+τ,t0 x 0 = x 0 + τ<br />

s<br />

biki.<br />

Somit kann jedes Kollokations-Verfahren als implizites RK-Verfahren mit den durch (5.14),<br />

(5.15) definierten Koeffizienten aij,bi dargestellt werden. ✷<br />

Man kann ohne Beweisänderung zeigen, daß sich die <strong>für</strong> explizite RK-Verfahren bewiesenen Bedingungen<br />

<strong>für</strong> Konsistenz und Invarianz gegen Autonomisierung (Lemmata 3.1 und 3.2) sowie<br />

Satz 3.3 über die Butcher-Bedingungen sinngemäß auf implizite RK-Verfahren übertragen.<br />

Das folgende Resultat zeigt, daß Kollokations-Verfahren bereits einige dieser Bedingungen implizieren.<br />

i=1


52 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

Lemma 5.7. Für die Koeffizienten eines durch Kollokation definierten impliziten RK-Verfahrens<br />

gilt (mit 0 0 = 1)<br />

s<br />

c k−1<br />

j=1<br />

s<br />

j=1<br />

j bj = 1<br />

, k = 1,...,s (5.16)<br />

k<br />

c k−1<br />

j<br />

aij = 1<br />

k cki , i,k = 1,...,s. (5.17)<br />

Insbesondere sind diese Verfahren konsistent und invariant gegen Autonomisierung.<br />

Beweis: Wir schreiben die Monome θ k−1 , k = 1,... ,s in der Lagrange-Basis als<br />

Dann gilt<br />

s<br />

j=1<br />

s<br />

j=1<br />

bjc k−1<br />

j<br />

=<br />

c k−1<br />

j aij =<br />

1<br />

0<br />

ci<br />

0<br />

θ k−1 =<br />

s<br />

j=1<br />

s<br />

j=1<br />

s<br />

j=1<br />

c k−1<br />

j Lj(θ).<br />

c k−1<br />

j Lj(θ) dθ =<br />

Lj(θ)c k−1<br />

j<br />

dθ =<br />

1<br />

0<br />

ci<br />

0<br />

θ k−1 dθ = 1<br />

k ,<br />

θ k−1 dθ = 1<br />

k ck i .<br />

Die Konsistenz- und Invarianzaussage ergeben sich <strong>für</strong> k = 1, vgl. Lemmata 3.1 und 3.2. ✷<br />

Das folgende etwas tieferliegende Resultat gibt einen Hinweis auf die Wahl der Parameter<br />

c1,... ,cs.<br />

Lemma 5.8. Für gegebene Parameter c1,...,cs sei die Quadraturformel<br />

1<br />

0<br />

g(t) dt ≈<br />

s<br />

big(ci)<br />

exakt <strong>für</strong> alle Polynome in Πp−1 mit p ≥ s. Dann hat das zu c1,... ,cs gehörige, durch Kollokation<br />

gewonnene implizite RK-Verfahren die Konsistenzordnung p.<br />

Beweis: vgl. [4], Abschnitt 6.3.1. ✷<br />

Wir wollen jetzt Beispiele <strong>für</strong> durch Kollokation erzeugte implizite RK-Verfahren angeben.<br />

Beispiel 5.9. (Gauß-Verfahren mit p = 2s)<br />

Aus Satz 14.4. aus dem Kurs Numerische Mathematik I wissen wir, daß Quadraturformeln zu s<br />

Stützstellen maximal die Ordnung p = 2s haben. Zur Erzielung der maximal möglichen Konsistenzordnung<br />

p = 2s muß man die Knoten ci des Verfahrens geeignet wählen. Seien die Werte<br />

ci gerade die paarweise verschiedenen Nullstellen des verschobenen Legendre-Polynoms<br />

i=1<br />

˜Ps(t) := Ps(2t − 1) := 1 d<br />

s!<br />

s<br />

dt s [ts (t − 1) s ].<br />

Man erhält dann die Gauß-Verfahren mit p = 2s mit den Parametern bi und aij nach Lemma<br />

5.7, vgl. die Fälle s = 1 bzw. s = 2 in Abb. 5.2. Für s = 1 ist dies gerade die implizite Mittelpunktregel.


5.5. STABILITÄT IMPLIZITER RUNGE-KUTTA-VERFAHREN 53<br />

x 2 (t)<br />

3<br />

2<br />

1<br />

0<br />

−1<br />

−2<br />

1<br />

2<br />

1<br />

2<br />

1<br />

,<br />

3− √ 3<br />

6<br />

3+ √ 3<br />

6<br />

1<br />

4<br />

3+2 √ 3<br />

12<br />

1<br />

2<br />

3−2 √ 3<br />

12<br />

1<br />

4<br />

Abbildung 5.2: Gauß-Verfahren der Ordnung 2 und 4<br />

implizites RK−Verfahren<br />

−3<br />

−5 −4 −3 −2 −1 0<br />

x (t)<br />

1<br />

1 2 3 4 5<br />

(i) Lösungsverlauf <strong>für</strong> mathematisches Pendel<br />

x 2 (t)<br />

30<br />

20<br />

10<br />

0<br />

−10<br />

−20<br />

1<br />

2<br />

.<br />

implizites RK−Verfahren<br />

−30<br />

−20 −15 −10 −5 0<br />

x (t)<br />

1<br />

5 10 15 20<br />

(ii) Lösungsverlauf <strong>für</strong> Lorenz-Attraktor<br />

Abbildung 5.3: Lösungen mit dem Gauß-Verfahren mit s = 2 nach Beispiel 5.12<br />

Wir wollen den Effekt der höheren Ordnung eines impliziten RK-Verfahrens vergleichen mit<br />

den Ergebnissen zum impliziten Euler-Verfahren (vgl. Abb. 5.1 in Abschnitt 5.1). Abbildung<br />

5.3 zeigt die Lösungen zum Pendel-Problem (vgl. Beispiel 3.8) bzw. zum Lorenz-Attraktor (vgl.<br />

Beispiel 4.5) mit dem Gauß-Verfahren mit s = 2. In beiden Fällen ist der Genauigkeitsgewinn<br />

gegenüber dem impliziten Euler-Verfahren signifikant. Tatsächlich gilt folgendes Ergebnis:<br />

Lemma 5.10. Ein s-stufiges Gauß-Verfahren hat die (maximal mögliche) Konsistenzordnung<br />

p = 2s.<br />

Beweis: vgl. Strehmel/Weiner [17], Satz 6.1.3. ✷<br />

Bemerkung 5.11. Man kann zeigen, daß Gauß-Verfahren zwar optimale Konvergenzordnung<br />

haben, jedoch sind die Stabilitätseigenschaften nicht vollständig befriedigend. Durch Absenkung<br />

der Konsistenzforderung kommt man zu Verfahren mit besseren Stabilitätseigenschaften.<br />

RK-Verfahren mit Konsistenzordnung p = 2s − 1 werden als Radau-Verfahren bezeichnet. Verfahren<br />

der Ordnung p = 2s − 2 nennt man Lobatto-Verfahren. Details über Konstruktion und<br />

Eigenschaften findet man in [17], Abschnitt 6.1.3. ✷<br />

5.5 Stabilität impliziter Runge-Kutta-Verfahren<br />

Wir betrachten noch kurz Stabilitätseigenschaften impliziter RK-Verfahren. Ausgangspunkt verschiedener<br />

Stabilitätsbegriffe ist das skalare Testproblem<br />

x ′ (t) = λx(t), Re(λ) ≤ 0 (5.18)<br />

mit der Lösung x(t + τ) = e τλ x(t) mit den folgende Eigenschaften:<br />

(i) |x(t + τ)| ≤ |x(t)|, ∀ τ > 0; (ii) lim x(t + τ) = 0. (5.19)<br />

τRe(λ)→−∞


54 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

Dann heißen RK-Verfahren, <strong>für</strong> die (i) bzw. (i), (ii) ”vererbt” werden, A-stabil bzw. L-stabil.<br />

Erfahrungsgemäß reicht bei linearen steifen AWP bzw. bei nichtlinearen Systemen der Form<br />

x ′ = f(t;x) := Ax + g(t,x) mit moderater Lipschitz-Konstante von g bezüglich x ein Verfahren<br />

mit A-Stabilität aus. Für allgemeinere nichtlineare Probleme ist im sehr steifen Fall auch der<br />

A-Stabilitätsbegriff zu schwach. Wir beschränken uns hier auf den wichtigen Fall dissipativer<br />

AWP, die zum Beispiel bei örtlicher Semidiskretisierung bestimmter zeitabhängiger partieller<br />

Differentialgleichungen entstehen.<br />

Wir erinnern an die Notation aus Abschnitt 1.4: Das System x ′ = f(t,x) heißt dissipativ<br />

bezüglich der Norm · , falls <strong>für</strong> beliebige Lösungen x(·), ˜x(·) gilt<br />

x(t2) − ˜x(t2) ≤ x(t1) − ˜x(t1), ∀t1,t2 : t0 ≤ t1 ≤ t2 < ∞. (5.20)<br />

Man sagt auch, die Lösungen verhalten sich nicht-expansiv.<br />

Definition 5.12. Ein Einschritt-Verfahren heißt B-stabil, falls die diskrete Evolution Ψ = Ψ[f]<br />

auf der Klasse der dissipativen Systeme nicht-expansiv ist, d.h. falls<br />

Ψ t+τ,t x − Ψ t+τ,t ˜x ≤ x − ˜x<br />

<strong>für</strong> alle (t,x),(t, ˜x) ∈ D und alle zulässigen τ ≥ 0.<br />

Durch Anwendung der Definition auf die skalare Testgleichung (5.18) ersieht man sofort, daß<br />

B-Stabilität eines Verfahrens auch dessen A-Stabilität impliziert. Ferner ist bei dissipativen Differentialgleichungen<br />

die Stabilitätsbedingung (2.16) aus dem Konvergenzsatz 2.10 mit LΨ = 0<br />

erfüllt. Insbesondere entfällt dann der bei expliziten RK-Verfahren auftretende exponentielle<br />

Vorfaktor 1<br />

LΨ (eLΨ(t−t0) − 1) in der Fehlerabschätzung.<br />

In der Klasse der impliziten RK-Verfahren (5.5) gibt es B-stabile Verfahren beliebig hoher Ordnung.<br />

Wir beschränken uns auf folgende Aussage.<br />

Lemma 5.13. Die Gauß-Verfahren sind B-stabil.<br />

Beweis: Seien (t,x),(t, ˜x) ∈ D sowie w(t + θ) = Ψt+θ,tx bzw. ˜w(t + θ) = Ψt+θ,t˜x die<br />

Kollokations-Polynome des s-stufigen Gauß-Verfahrens. Mit χ(s) := w(s) − ˜w(s) 2 2 <strong>für</strong> s ∈ R<br />

erhalten wir an den Kollokationspunkten ti := t + ciτ, daß<br />

χ ′ (ti) = 2[[(w(ti) − ˜w(ti)] T · [f(ti;w(ti)) − f(ti; ˜w(ti))] ≤ 0.<br />

Nun ist χ ′ ∈ Π2s−1, d.h. dieses Polynom wird durch die Gauß- Quadratur-Formel exakt integriert.<br />

Damit erhalten wir die Behauptung wegen<br />

Ψ t+τ,t x − Ψ t+τ,t ˜x 2 2<br />

t+τ<br />

= χ(t + τ) = χ(t) +<br />

= χ(t) + τ<br />

s<br />

bjχ ′ (tj)<br />

j=1<br />

≤ χ(t) = x − ˜x 2 2,<br />

t<br />

χ ′ (θ) dθ<br />

da die Quadratur-Gewichte bj positiv sind, vgl. Lemma 14.5 in ”Numerische Mathematik I”. ✷<br />

Bemerkung 5.14. Die Aussage von Lemma 5.13 kann auf bestimmte Radau- bzw. Lobatto-<br />

Verfahren übertragen werden. ✷


5.6. EINGEBETTETE RUNGE-KUTTA-VERFAHREN IN MATLAB 55<br />

Leider ist der Begriff der B-Stabilität allein noch nicht ausreichend zur Charakterisierung geeigneter<br />

RK-Verfahren <strong>für</strong> steife, dissipative AWP. Es kann das Phänomen der Ordnungsreduktion<br />

auftreten.<br />

Beispiel 5.15. Das Prothero-Robinson Modell<br />

x ′ (t) = λ[x(t) − g(t)] + g ′ (t), x(0) = x 0<br />

mit λ < 0 und glatter Funktion g verallgemeinert das Testproblem (5.1) mit g ≡ 0. In der<br />

Lösung<br />

x(t) = e λt [x 0 − g(0)] + g(t)<br />

fällt der exponentielle Anteil im Fall g(0) = x0 weg. Das Gauß-Verfahren mit s = 1 hat den<br />

Konsistenzfehler <br />

λτ<br />

4(2 − λτ) τg′′ <br />

<br />

(tn) <br />

.<br />

Für große Werte von |λ| reduziert sich die Ordnung des Verfahrens von 2 auf 1. ✷<br />

Für steife, dissipative Systeme muß man die Begriffe Konsistenz und Konvergenz verschärfen.<br />

Definition 5.16. Ein RK-Verfahren hat die B-Konsistenzordnung p , wenn auf der Klasse der<br />

AWP x ′ = f(t;x) mit einseitiger Lipschitz-Bedingung die in die Konsistenzdefinition eingehende<br />

Konstante (vgl. Definition 2.7) nur von der einseitigen Lipschitz-Konstanten l(·) und der<br />

Glattheit der Lösung, jedoch nicht von der Lipschitz-Konstanten L der Funktion f abhängt.<br />

Sinngemäß definiert man den Begriff der B-Konvergenz. Aus B-Stabilität und B-Konsistenz<br />

folgt dann die B-Konvergenz des Verfahrens. Hinsichtlich genauerer Untersuchunge kann hier<br />

jedoch nur auf die Spezialliteratur verwiesen werden, etwa [9], Kap. IV.15.<br />

Beim impliziten Euler-Verfahren stimmen die ”klassische” und B-Konvergenzordnung 1 überein.<br />

Hingegen haben s-stufige Gauß-Verfahren s ≥ 2 im Gegensatz zur ”klassischen” Konsistenzund<br />

Konvergenzordnung 2s nur die B-Konvergenzordnung s. Für das Verfahren mit s = 1<br />

aus Beispiel 5.15 tritt zwar ggf. eine Reduktion der Konsistenzordnung auf, jedoch hat es die<br />

B-Konvergenzordnung 2.<br />

5.6 Eingebettete Runge-Kutta-Verfahren in Matlab<br />

Man kann die in Kapitel 4 dargelegte Methode der Schrittweitensteuerung mittels eingebetteter<br />

RK-Verfahren auf implizite Verfahren erweitern. Wir gehen abschließend noch kurz auf diagonalimplizite<br />

eingebettete RK-Verfahren vom Typ RK3(2) ein, die in der ode-Suite von Matlab<br />

implementiert sind. Wir hatten die beiden Verfahren ode23s und ode23tb bereits erfolgreich in<br />

Beispiel 4.5 zum Lorenz-Attraktor als typischem steifem Anfangswertproblem benutzt.<br />

Eine genauere Information zum Verfahren ode23s, das insbesondere <strong>für</strong> steife AWP konstruiert<br />

wurde, findet man in dem Übersichtsartikel zur Matlab-ode-Suite von Shampine und<br />

Reichelt [14] bzw. im Lehrbuch von Hanke-Bourgeois [10], Kap. 80. Als Kontrollverfahren<br />

wird ein Verfahren dritter Ordnung mittels Fehlberg-Trick verwendet. Ferner ist ode23s Lstabil,<br />

falls in jedem Zeitschritt die exakte Jacobi-Matrix J = Dxf benutzt wrd.<br />

Im Verfahren ode23t wird mit der durch bT = ( 1 1 1<br />

4 , 2 , 4 )T definierten diskreten Evolution weitergerechnet.<br />

Sie entspricht der Anwendung von zwei Schritten der impliziten Mittelpunktregel<br />

und hat die Konsistenzordnung p = 2. Die durch ˆb T = ( 1 2 1<br />

6 , 3 , 6 )T definierte diskrete<br />

Evolution hat die Ordnung p = 3, jedoch schlechtere Stabilitäteigenschaften. Sie wird daher


56 KAPITEL 5. IMPLIZITE VERFAHREN FÜR STEIFE AWP<br />

0 0 0 0<br />

1<br />

2<br />

1<br />

1<br />

4<br />

1<br />

1<br />

4<br />

1<br />

0<br />

1<br />

4<br />

1<br />

4<br />

1<br />

6<br />

2<br />

1<br />

2<br />

3<br />

4<br />

1<br />

4<br />

1<br />

6<br />

,<br />

0 0 0 0<br />

2 − √ 2<br />

1<br />

2− √ 2<br />

√2 2<br />

√4 2<br />

4<br />

1<br />

3 −<br />

√<br />

2<br />

12<br />

2− √ 2<br />

√2 2<br />

√4 2<br />

4<br />

1<br />

3 +<br />

√<br />

2<br />

4<br />

0<br />

2− √ 2<br />

2<br />

2− √ 2<br />

2<br />

2− √ 2<br />

6<br />

Abbildung 5.4: Eingebettete RK-Verfahren ode23t und ode23tb in Matlab<br />

nur zur Fehlerschätzung verwendet. Die Anwendung der Vektoren bT √<br />

2<br />

= (<br />

.<br />

√ 2<br />

4 , 2−√ 2<br />

2 ) T und<br />

4 ,<br />

ˆb T 1 = ( 3 −<br />

√<br />

2 1<br />

12 , 3 +<br />

√<br />

2<br />

4 , 2−√2 6 ) T finden beim Verfahren ode23tb analog Verwendung. Beide Verfahren<br />

basieren wieder auf dem Trick von Fehlberg und sind effektiv zweistufig.


Kapitel 6<br />

Randwertaufgaben<br />

Wir setzen in den folgenden drei Kapiteln die Einführung in die numerische Behandlung gewöhnlicher<br />

Differentialgleichungen mit Randwertaufgaben 2. Ordnung fort. Dabei sucht man die<br />

Lösung einer Differentialgleichung zweiter Ordnung. Deren eindeutige Festlegung erfolgt durch<br />

Randbedingungen, d.h. Bedingungen an die Lösung am Randes des betrachteten Lösungsintervalls.<br />

6.1 Einführendes Beispiel. Definitionen<br />

Beispiel 6.1. Wir betrachten einen isothermen Strömungsreaktor mit kontinuierlicher Zufuhr<br />

bzw. Abfuhr der Reaktionsmasse bzw. des Reaktionsproduktes. Die Konzentrationsverteilung<br />

c(x1,x2,x3,t) im Reaktor ergibt sich aus der Stoffbilanzgleichung<br />

∂c<br />

∂t<br />

= −<br />

3 ∂<br />

(wic) +<br />

∂xi<br />

i=1<br />

3<br />

i=1<br />

∂<br />

∂xi<br />

(D ∂c<br />

) + r(c).<br />

∂xi<br />

Dabei sind w = (wi)i das Geschwindigkeitsfeld der Strömung im Reaktor, D der Diffusionskoeffizient<br />

und r(c) der Reaktionsterm. Zur Vereinfachung nehmen wir einen stationären Reaktorbetrieb,<br />

d.h. ∂c<br />

∂t = 0, konstante Diffusionskonstante D und ein konstantes Geschwindigkeitsfeld<br />

w = (w,0,0) an. Ferner sollen Änderungen der Konzentration c nur in axialer Richtung x des<br />

rotationssymmetrischen Reaktors betrachtet werden. Dann vereinfacht sich die Stoffbilanzgleichung<br />

zur gewöhnlichen Differentialgleichung 2. Ordnung<br />

−D d2c dc<br />

+ w + r(c) = 0, 0 < x < L.<br />

dx2 dx<br />

Durch Entdimensionierung mittels ξ := x c<br />

L ,u := c0 mit der Anfangskonzentration c0 erhalten wir<br />

mit der Peclet-Zahl P := wL<br />

D<br />

− 1<br />

P<br />

d2u du<br />

+ + R(u) = 0, 0 < ξ < 1.<br />

dξ2 dξ<br />

Die Lösung kann vereinfachend durch die Randbedingungen<br />

u(0) − 1 du(0)<br />

= 1,<br />

P dξ<br />

du(1)<br />

dξ<br />

festgelegt werden. ✷<br />

57<br />

= 0


58 KAPITEL 6. RANDWERTAUFGABEN<br />

Wir geben nachfolgend eine Klassifikation gewöhnlicher Differentialgleichungen 2. Ordnung<br />

F(x,u(x),u ′ (x),u ′′ (x)) = 0. (6.1)<br />

Definition 6.2. Eine Differentialgleichung 2. Ordnung heißt quasilinear, falls<br />

semilinear, falls<br />

bzw. linear, falls<br />

F(x,u,u ′ ,u ′′ ) := −u ′′ + B(x,u)u ′ + C(x,u) = 0,<br />

F(x,u,u ′ ,u ′′ ) := −u ′′ + b(x)u ′ + C(x,u) = 0,<br />

F(x,u,u ′ ,u ′′ ) := −u ′′ + b(x)u ′ + c(x)u − f(x) = 0.<br />

Offenbar ist die im Beispiel 6.1 betrachtete Gleichung semilinear.<br />

Die Randbedingungen sind im allgemeinen Fall<br />

Gi(a,b,u(a),u(b),u ′ (a),u ′ (b)) = 0, i = 1,2<br />

nichtlinear und gekoppelt. In Anwendungen ist es oft ausreichend, Randbedingungen in linearer<br />

und entkoppelter Form zu betrachten. Dies vereinfacht auch die Untersuchung entsprechender<br />

Randwertprobleme (RWP) erheblich.<br />

Definition 6.3. Lineare und entkoppelte Randbedingungen der Form<br />

u(a) = α, u(b) = β (6.2)<br />

u ′ (a) = α, u ′ (b) = β (6.3)<br />

c1u(a) + u ′ (a) = α, c2u(b) + u ′ (b) = β (6.4)<br />

heißen Randbedingungen 1. Art (oder vom Dirichlet-Typ), 2. Art (oder vom Neumann-Typ)<br />

bzw. 3. Art (oder vom Robin-Typ).<br />

Man spricht von gemischten Randbedingungen, wenn auf x = a und x = b unterschiedliche<br />

Typen von Randbedingungen gestellt werden. Dies trifft in Beispiel 6.1 zu.<br />

Bei den weiteren Betrachtungen werden wir in der Regel vereinfachend lineare RWP 1. Art, d.h.<br />

betrachten. Mittels<br />

(Lu)(x) := −u ′′ (x) + b(x)u ′ (x) + c(x)u(x) = f(x), a < x < b (6.5)<br />

u(a) = α, u(b) = β (6.6)<br />

x − b − a<br />

u(x) = v(x) + α + βx<br />

a − b b − a<br />

kann man die Untersuchung auf den Fall homogener Randbedingungen, d.h. α = β = 0 zurückführen.<br />

Über x = (b − a)ξ transformiert man das RWP auch oft auf das Einheitsintervall, d.h.<br />

(Lu)(x) := −u ′′ (x) + b(x)u ′ (x) + c(x)u(x) = f(x), 0 < x < 1 (6.7)<br />

u(0) = u(1) = 0. (6.8)


6.2. LÖSBARKEIT DES 1. RWP IM SYMMETRISCHEN FALL 59<br />

6.2 Lösbarkeit des 1. RWP im symmetrischen Fall<br />

Nachfolgendes Beispiel zeigt, daß RWP 2. Ordnung nicht in jedem Fall lösbar oder eindeutig<br />

lösbar sind.<br />

Beispiel 6.4. Die allgemeine Lösung der Schwingungsgleichung<br />

−u ′′ (x) − u(x) = 0, 0 < x < b<br />

hat die Form u(x) = c1 cos x+c2 sin x. Die beiden Konstanten sind so zu bestimmen, daß jeweils<br />

die folgenden Randbedingungen u(0) = α, u(b) = β erfüllt werden. Daraus ergibt sich das<br />

lineare System<br />

cos(0)c1 + sin(0)c2 = α, cos(b)c1 + sin(b)c2 = β.<br />

Die Matrix A dieses Systems hat die Determinante det(A) = sinb. Aus der Lösungstheorie<br />

linearer Gleichungssysteme folgt, daß das System bei sin b = 0 eine eindeutige Lösung sowie bei<br />

sin b = 0 in Abhängigkeit von b, α und β entweder keine oder unendlich viele Lösungen hat. ✷<br />

Wir betrachten noch einen Spezialfall, in dem die Lösung in Integralform angebbar ist. Die<br />

mehrdimensionale Verallgemeinerung ist das <strong>für</strong> Anwendungen wichtige Poisson-Problem.<br />

Lemma 6.5. Die Funktion<br />

u(x) =<br />

1<br />

0<br />

G(x,t)f(t)dt, x ∈ [0,1]<br />

mit der Greenschen Funktion (vgl. dazu Übungsaufgabe)<br />

G(x,t) :=<br />

löst das 1. RWP der Poisson-Gleichung<br />

t(1 − x), 0 ≤ t ≤ x ≤ 1<br />

x(1 − t), 0 ≤ x ≤ t ≤ 1<br />

−u ′′ (x) = f(x), x ∈ (0,1); u(0) = u(1) = 0.<br />

Zur Klärung der Lösbarkeit des RWP (6.7), (6.8) betrachten wir hier zunächst den allgemeinen<br />

symmetrischen Fall mit b(x) ≡ 0. Hier gilt der<br />

Satz 6.6. Gelte c,f ∈ C[0,1] sowie b(x) ≡ 0,c(x) ≥ 0 in [0,1]. Dann existiert eine und nur<br />

eine Lösung u ∈ C 2 [0,1] des RWP (6.7), (6.8).<br />

Beweis: (i) Eindeutigkeit: Wir nehmen an, u1,u2 sind Lösungen des RWP (6.7), (6.8). Dann<br />

genügt u := u1 − u2 dem homogenen RWP<br />

−u ′′ + cu = 0, 0 < x < 1; u(0) = u(1) = 0.<br />

Multiplikation der Differentialgleichung mit u, Integration über [0,1] und partielle Integration<br />

des Integralterms mit u ′′ u führt unter Beachtung der Randbedingungen auf<br />

0 =<br />

1<br />

0<br />

(−u ′′ + cu)udx =<br />

1<br />

{(u<br />

0<br />

′ ) 2 + cu 2 }dx.<br />

Wegen c ≥ 0 und u ∈ C[0,1] folgt daraus u(x) ≡ 0 in [0,1] und damit die Eindeutigkeit der<br />

Lösung von (6.7), (6.8).


60 KAPITEL 6. RANDWERTAUFGABEN<br />

(ii) Existenz: Die allgemeine Lösung des RWP (6.7), (6.8) hat die Gestalt<br />

u(x) = α1u1(x) + α2u2(x) + ũ(x).<br />

Dabei bilden u1,u2 ein Fundamentalsystem aus zwei linear unabhängigen Lösungen der homogenen<br />

Differentialgleichung (d.h. mit f(x) ≡ 0.) ũ ist eine (beliebige) Lösung der Gleichung (6.7).<br />

Die Aussage läßt sich mit Hilfe des Satzes von Picard-Lindelöf zeigen, der im Zusammenhang<br />

mit der Lösbarkeit von Anfangswertproblemen behandelt wurde (vgl. Übungsaufgabe dazu).<br />

Zur Erfüllung der Randbedingungen entsteht das lineare Gleichungssystem<br />

u1(0)α1 + u2(0)α2 = −ũ(0)<br />

u1(1)α1 + u2(1)α2 = −ũ(1)<br />

<strong>für</strong> die Koeffizienten α1 und α2. Dieses System ist eindeutig lösbar. Sind nämlich αi,i = 1,2<br />

Lösung des zugehörigen homogenen Systems, wäre u = α1u1 + α2u2 Lösung des entsprechenden<br />

homogenen RWP und damit u ≡ 0 nach Teil (i). Wegen der linearen Unabhängigkeit von u1,u2<br />

impliziert dies α1 = α2 = 0. ✷<br />

Bemerkung 6.7. Die Existenz- und Eindeutigkeitsaussage von Satz 6.6 läßt sich unter Verwendung<br />

Greenscher Funktionen ausdehnen auch auf den semilinearen Fall<br />

−u ′′ (x) = g(x,u(x)), x ∈ (0,1), u(0) = u(1) = 0.<br />

6.3 Lösbarkeit des 1. RWP im nichtsymmetrischen Fall<br />

Wir betrachten nun das (eventuell nichtsymmetrische) RWP<br />

(Lu)(x) := −u ′′ (x) + b(x)u ′ (x) + c(x)u(x) = f(x), 0 < x < 1 (6.9)<br />

u(0) = α, u(1) = β. (6.10)<br />

Zunächst gelingt eine Transformation auf den symmetrischen Fall mittels<br />

x <br />

1<br />

u(x) = v(x)exp b(t)dt .<br />

2<br />

Nach kurzer Rechnung erhält man <strong>für</strong> v das RWP<br />

mit<br />

( ˜ Lv)(x) := −v ′′ (x) + ˜c(x)v(x) = ˜ f(x), 0 < x < 1; v(0) = ˜α, v(1) = ˜ β<br />

˜c(x) := c(x) + 1<br />

4 b2 (x) − 1<br />

2 b′ <br />

(x), f(x) ˜ := f(x)exp − 1<br />

2<br />

0<br />

x<br />

0<br />

<br />

b(t)dt .<br />

Unter der Voraussetzung ˜c(x) ≥ 0,x ∈ [0,1] erhält man sofort nach Satz 6.6 Existenz und<br />

Eindeutigkeit der Lösung des RWP (6.9),(6.10), sofern etwa b ∈ C 1 [0,1] gilt.<br />

Allgemeiner gilt der folgende Satz.<br />

Satz 6.8. (i) Hat das (6.9),(6.10) zugeordnete homogene RWP (d.h. f(x) ≡ 0,α = β = 0) nur<br />

die triviale Lösung, so hat das RWP (6.9),(6.10), eine und nur eine Lösung in<br />

X := {v ∈ C 2 [0,1] : v(0) = α, v(1) = β}.


6.3. LÖSBARKEIT DES 1. RWP IM NICHTSYMMETRISCHEN FALL 61<br />

(ii) Ist c(x) ≥ 0, so hat das (6.9),(6.10) zugeordnete homogene RWP nur die triviale Lösung.<br />

(Nach Aussage von Teil (i) des Satzes 6.8. ergibt sich daraus auch eine Existenzaussage <strong>für</strong> das<br />

RWP (6.9),(6.10).)<br />

Wir beweisen hier nur das Resultat (ii) mittels des wichtigen Maximum-Minimum Prinzips.<br />

Lemma 6.9. Gelte b,c ∈ C[0,1) sowie c(x) ≥ 0. Dann gelten <strong>für</strong> u ∈ C[0,1] ∩ C 2 (0,1) die<br />

Aussagen:<br />

(i) (Lu)(x) ≤ 0 in (0,1) =⇒ u(x) ≤ max{0;u(0),u(1)}<br />

(ii) (Lu)(x) ≥ 0 in (0,1) =⇒ u(x) ≥ min{0;u(0),u(1)}.<br />

Beweis: (1) Für den Differentialoperator ˜ Lu := −u ′′ + bu ′ , d.h. c ≡ 0, beweisen wir zuerst die<br />

Aussagen<br />

(i’) ( ˜ Lu)(x) ≤ 0 in (0,1) =⇒ u(x) ≤ max{u(0),u(1)}<br />

(ii’) ( ˜ Lu)(x) ≥ 0 in (0,1) =⇒ u(x) ≥ min{u(0),u(1)}.<br />

Wir beschränken uns beim Nachweis auf (i’).<br />

(i ′ 1 ) Sei (˜ Lu)(x) < 0 in (0,1). Wir nehmen an, daß u ein Maximum in x0 ∈ (0,1) annimmt.<br />

Wegen u ′ (x0) = 0 folgt<br />

( ˜ Lu)(x0) = −u ′′ (x0) < 0<br />

im Widerspruch zur Bedingung u ′′ (x0) < 0 <strong>für</strong> ein Maximum.<br />

(i ′ 2 ) Sei nun (˜ Lu)(x) ≤ 0 in (0,1). Für die Hilfsfunktion v(x) := δ exp (λx) mit δ > 0 gilt<br />

( ˜ Lv)(x) = λ(b − λ)δe λx < 0<br />

<strong>für</strong> geeignetes λ. Wegen ˜ L(u + v)(x) < 0 ergibt (i ′ 1 )<br />

Im Grenzfall δ → 0 folgt die gesuchte Aussage.<br />

(u + v)(x) ≤ max{(u + v)(0),(u + v)(1)}.<br />

(2) Sei jetzt c(x) ≥ 0 in (0,1) Die Punktmenge<br />

ist wegen u ∈ C[0,1] offen. Ferner ist<br />

G + := {x ∈ (0,1) : u(x) > 0}<br />

( ˜ Lu)(x) ≤ −c(x)u(x) ≤ 0 auf G + .<br />

Anwendung von (1) auf jeder Zusammenhangskomponente Gi von G + zeigt<br />

u(x) ≤ max u(x), ∀x ∈ G<br />

x∈∂Gi<br />

+ .<br />

Dabei ist ∂Gi der Rand von Gi. Nach Definition von G + impliziert das die gewünschte Aussage<br />

u(x) ≤ max{0;u(0),u(1)}.<br />

(3) Die Minimumaussage (ii) wird analog bewiesen. ✷<br />

Als Folgerung beweisen wir folgendes Resultat über die Stabilität der Lösung bezüglich der Problemdaten<br />

f,α,β.


62 KAPITEL 6. RANDWERTAUFGABEN<br />

Satz 6.10. Seien b,c ∈ C[0,1] und c(x) ≥ 0. Für Lösungen u ∈ C 2 (0,1) ∩ C[0,1] des RWP<br />

gilt<br />

Beweis: Für die Hilfsfunktion<br />

Lu(x) = f(x), x ∈ (0,1); u(0) = α, u(1) = β<br />

mit hinreichend großer Konstante λ > 0 gilt<br />

Mit B := f C[0,1] folgern wir daraus<br />

Ferner gilt <strong>für</strong> die Randwerte x = 0 und x = 1<br />

u C[0,1] ≤ Cf C[0,1] + max {u(0),u(1)}.<br />

v(x) := A − Be λx , A,B > 0<br />

Lv(x) = −Be λx {c(x) + b(x)λ − λ 2 } + c(x)A<br />

≥ Be λx {λ 2 − λb(x) − c(x)} ≥ B.<br />

L(v ± u)(x) ≥ B ± f(x) ≥ B − f C[0,1] = 0.<br />

(v ± u)(x) = A − Be λx ± u(x) ≥ A − Be λ − max {u(0),u(1)} = 0,<br />

sofern A := max {u(0),u(1)} + Be λ . Wegen L(v ± u) ≥ 0 in (0,1) und v ± u ≥ 0 <strong>für</strong> die<br />

Randpunkte x = 0 und x = 1 erhalten wir nach dem Lemma 6.9<br />

d.h.<br />

(v ± u)(x) ≥ 0, x ∈ (0,1),<br />

|u(x)| ≤ v(x) ≤ A − B<br />

≤ max {u(0),u(1)} + B(e λ − 1)<br />

≤ max {u(0),u(1)} + (e λ − 1)f C[0,1].<br />

Das ist die Behauptung. ✷<br />

Beweis von Satz 6.8 (ii): Die Aussage des Satzes 6.10 impliziert nun die Eindeutigkeit der<br />

Lösung, d.h. die Aussage von Satz 6.8 (ii). ✷<br />

6.4 Exkurs: Klassische Lösungen elliptischer RWP<br />

Man kann viele Aussagen <strong>für</strong> Zweipunkt-RWP übertragen auf lineare elliptische Differentialgleichungen<br />

2. Ordnung<br />

(Lu)(x) := −<br />

n ∂2u (x) +<br />

∂x<br />

i=1<br />

2 i<br />

n<br />

j=1<br />

bj(x) ∂u<br />

(x) + c(x)u(x) = f(x), x ∈ Ω (6.11)<br />

∂xj<br />

bei gegebenen Funktionen bj,c,f : Ω → R, j = 1,...,n in einem beschränkten Gebiet Ω ⊂ R n .<br />

Einfachster und zugleich wichtiger Spezialfall von (6.11) ist die Poisson-Gleichung<br />

−<br />

n ∂2u (x) = f(x), x ∈ Ω. (6.12)<br />

∂x<br />

i=1<br />

2 i


6.4. EXKURS: KLASSISCHE LÖSUNGEN ELLIPTISCHER RWP 63<br />

Bei gegebener Funktion g : ∂Ω → R betrachten wir das Dirichletsche RWP<br />

(Lu)(x) = f(x), x ∈ Ω; u(x) = g(x), x ∈ ∂Ω. (6.13)<br />

Für die nachfolgenden Ausführungen benötigen wir den Begriff Hölder-Stetigkeit. Seien 0 ≤ s ≤ 1<br />

und m ∈ N0. Dann istr Hölder-Raum C m;s (Ω) die Menge der Funktionen aus C m (Ω) mit<br />

u C m;s (Ω) := u C m (Ω) + <br />

|α|=m<br />

|D<br />

sup<br />

x,y∈ Ω<br />

x=y<br />

αu(x) − Dαu(y)| |x − y| s < ∞. (6.14)<br />

Man sagt, dass der Gebietsrand ∂Ω zur Klasse C m,s gehört, falls eine endliche offene Überdeckung<br />

des Randes lokal mittels Funktionen aus der Klasse C m,s beschrieben werden kann.<br />

Definition 6.11. Für ein beschränktes Gebiet Ω ⊂ R n der Klasse C 2;s mit s ∈ (0,1] und<br />

hinreichend glatte Daten gemäß<br />

bj,c,f ∈ C 0;s (Ω), i,j = 1,...,n; ∃˜g ∈ C 2;s (Ω) : ˜g|∂Ω = g (6.15)<br />

heißt u ∈ C 2;s (Ω) klassische Lösung des Dirichletschen Randwertproblems (6.13) genau dann,<br />

wenn die Gleichungen (6.13) punktweise auf Ω bzw. ∂Ω erfüllt sind.<br />

Es kann gezeigt werden, daß der (gegenüber Definition 6.11) abgeschwächte klassische Lösungsbegriff<br />

u ∈ C 2 (Ω) ∩ C(Ω) nicht <strong>für</strong> eine geeignete Lösbarkeitstheorie <strong>für</strong> das Randwertproblem<br />

(6.13) ausreichend ist. Von Schauder stammt eine entsprechende Existenztheorie in Hölder-<br />

Räumen C 2;s (Ω) mit s ∈ (0,1). Insbesondere gilt folgender Alternativsatz, den wir bereits <strong>für</strong><br />

den eindimensionalen Fall in Kapitel 1 besprochen hatten.<br />

Satz 6.12. Unter den Voraussetzungen der Definition 6.11 gilt <strong>für</strong> die Lösbarkeit des Randwertproblems<br />

(6.13) die folgende Fredholm-Alternative: Es gilt genau einer der Fälle (i) oder (ii).<br />

(i) Das homogene RWP<br />

(Lu)(x) = 0 in Ω; u(x) = 0 auf ∂Ω<br />

hat nur die triviale Lösung. Dann besitzt das inhomogene RWP<br />

(Lu)(x) = f(x) in Ω; u(x) = g(x) auf ∂Ω<br />

eine und nur eine klassische Lösung u ∈ C 2;s (Ω) <strong>für</strong> beliebige Daten f und g gemäß (6.15).<br />

(ii) Das homogene Problem hat nichttriviale Lösungen, die einen endlichdimensionalen Teilraum<br />

von C 2;s (Ω) bilden.<br />

Wir suchen nun (wie bereits im eindimensionalen Fall in Abschnitt 6.3) nach hinreichenden Bedingungen<br />

<strong>für</strong> die Eindeutigkeit der Lösung des Randwertproblems (6.13) oder alternativ da<strong>für</strong>,<br />

daß das entsprechende homogene Problem nur die triviale Lösung besitzt. Dazu kann man den<br />

folgenden Vergleichssatz benutzen, der aus dem Maximum-Prinzip folgt.<br />

Satz 6.13. Sei Ω ⊂ R n ein beschränktes Gebiet mit mindestens Lipschitz-stetigem Rand. Der<br />

Differentialoperator L aus (6.13) sei gleichmäßig elliptisch, ferner sei c(x) ≥ 0. Für zwei Funktionen<br />

U,V ∈ C 2 (Ω) ∩ C(Ω) gelte<br />

(LU)(x) ≤ (LV )(x) ∀x ∈ Ω<br />

U(x) ≤ V (x) ∀x ∈ ∂Ω.


64 KAPITEL 6. RANDWERTAUFGABEN<br />

Dann folgt U(x) ≤ V (x) <strong>für</strong> alle Punkte x ∈ Ω.<br />

Beweis: Folgerung aus nachstehendem Maximum-Minimum Prinzip.<br />

Für die Daten des Operators L seien die Voraussetzungen von Satz 6.14 erfüllt. Für die Funktion<br />

u ∈ C 2 (Ω) ∩ C(Ω) gelten dann folgende Aussagen:<br />

(i) Aus (Lu)(x) ≤ 0 folgt u(x) ≤ max{0;maxx∈∂Ω u(x)}.<br />

(ii) Aus (Lu)(x) ≥ 0 folgt u(x) ≥ min{0;minx∈∂Ω u(x)}.<br />

(Beweis: vgl. Übungsaufgabe - erfolgt analog zum eindimensionalen Fall) ✷<br />

Als Folgerung ergibt sich die gesuchte Existenzaussage.<br />

Folgerung 6.14. Unter den Voraussetzungen der Definition 6.11 und des Satzes 6.13 gibt es<br />

eine und nur eine klassische Lösung des RWP (6.13).


Kapitel 7<br />

Finite-Differenzen-Verfahren<br />

Im vorliegenden Kapitel besprechen wir das klassische Finite Differenzen Verfahren (FDM)<br />

zur Lösung von Zweipunkt-Randwertaufgaben. Bei der Finite-Differenzen Methode ersetzt man<br />

Ableitungen in der Differentialgleichung durch Differenzenquotienten. Dies führt dann zu einem<br />

linearen Gleichungssystem <strong>für</strong> Näherungswerte u∆ an die gesuchten Werte u der Lösung in<br />

vorgegebenen Knotenpunkten.<br />

7.1 Definition der klassischen FDM<br />

Ausgangspunkt ist das lineare Randwertproblem (RWP)<br />

−u ′′ (x) + b(x)u ′ (x) + c(x)u(x) = f(x), 0 < x < 1 (7.1)<br />

u(0) = u(1) = 0. (7.2)<br />

Wir betrachten vereinfachend eine äquidistante Zerlegung ∆ := {xi = ih, i = 0,...,n + 1} mit<br />

der Schrittweite h = 1<br />

n+1 , n ∈ N. Zur Approximation der ersten Ableitung u′ (xi) betrachten wir<br />

drei Varianten, die auf dem sogenannten Dreipunktestern {xi−1,xi,xi+1} basieren.<br />

• Vorwärtsdifferenzen-Quotient: D + u(xi) := u(xi+1)−u(xi)<br />

h<br />

• Rückwärtsdifferenzen-Quotient: D − u(xi) := u(xi)−u(xi−1)<br />

h<br />

• Zentraler Differenzen-Quotient: D 0 u(xi) := u(xi+1)−u(xi−1)<br />

2h<br />

Zur Approximation von u ′′ (xi) nutzen wir den zentralen Differenzenquotienten 2. Ordnung<br />

D + D − u(xi) := u(xi+1) − 2u(xi) + u(xi−1)<br />

h2 .<br />

Für die Näherungswerte u∆(xi) an die gesuchten Lösungswerte u(xi) in den Knotenpunkten xi<br />

erhalten wir bei Approximation der ersten und zweiten Ableitungen in der Differentialgleichung<br />

(7.1) durch die zentralen Differenzenquotienten 1. bzw. 2. Ordnung das System<br />

− u∆(xi+1) − 2u∆(xi) + u∆(xi−1)<br />

h 2<br />

Mit der Notation<br />

+ b(xi) u∆(xi+1) − u∆(xi−1)<br />

2h<br />

ui := u∆(xi); bi := b(xi), ci := c(xi), fi := f(xi)<br />

65<br />

+ c(xi)u∆(xi) = f(xi)


66 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

erhalten wir das System von Differenzengleichungen<br />

1<br />

h2 <br />

− 1 + bih<br />

<br />

ui−1 +<br />

2<br />

2 + cih 2 <br />

ui − 1 − bih<br />

<br />

2<br />

ui+1<br />

Hinzu kommen wegen der Randbedingungen (7.2) die Forderungen<br />

<br />

= fi, i = 1,...,n. (7.3)<br />

u0 = un+1 = 0. (7.4)<br />

Mit den Bezeichnungen<br />

A := 1<br />

h2tridiag <br />

− 1 + bih<br />

<br />

;(2 + cih<br />

2<br />

2 <br />

); − 1 − bih<br />

<br />

2<br />

und U = (u1,...,un) T ,F = (f1,...,fn) T ergibt sich aus (7.3), (7.4) das lineare Gleichungssystem<br />

AU = F. (7.5)<br />

Bemerkung 7.1. Im Fall inhomogener Randbedingungen 1. Art u(0) = α,u(1) = β setzt man<br />

u0 = α,un+1 = β und bringt die entsprechenden Matrixeinträge 1<br />

h2 <br />

1 + b1h<br />

<br />

2 α <strong>für</strong> i = 1 und<br />

1<br />

h2 <br />

bnh 1 − 2 β <strong>für</strong> i = n auf die rechte Seite.<br />

Die Diskretisierung von Randbedingungen 2. und 3. Art behandeln wir in den Übungen. ✷<br />

Von Interesse sind nun folgende Fragen:<br />

• Lösbarkeit des diskreten Problems (7.5)<br />

• Konvergenz der Lösung von (7.5) <strong>für</strong> h → 0 gegen die Lösung des Zweipunkt-RWP<br />

(7.1),(7.2).<br />

7.2 Lösung des diskreten Problems<br />

Eine hinreichende Lösbarkeitsbedingung <strong>für</strong> das diskrete Problem (7.5) gibt<br />

Satz 7.2. Für das Problem (7.1),(7.2) gelte<br />

ci = c(xi) ≥ 0,<br />

<br />

<br />

<br />

bih<br />

<br />

2 ≤ 1, i = 1,...,n. (7.6)<br />

Dann hat das zugehörige klassische Finite-Differenzen Schema (7.3),(7.4) bzw. (7.5) eine und<br />

nur eine Lösung U = (u1,....,un) T .<br />

Bemerkung 7.3. Für bi = 0 ergibt Bedingung (7.6) eine Schrittweitenbeschränkung h ≤ h0.<br />

Wir kommen auf dieses Problem in Abschnitt 7.3 zurück. ✷<br />

Beweis von Satz 7.2: Die Matrix A ist unter Voraussetzung (7.6) schwach diagonal-dominant,<br />

denn:<br />

|aii| := |2 + cih 2 | ≥ <br />

<br />

<br />

|aij| := <br />

bih<br />

1 + <br />

2 +<br />

<br />

<br />

<br />

bih<br />

1 − <br />

2 = 2, i = 1,... ,n.<br />

j=i<br />

Ferner ist A irreduzibel. Dies impliziert die Invertierbarkeit von A und damit die eindeutige<br />

Lösbarkeit des Systems (7.5). ✷<br />

Unter den Voraussetzungen von Satz 7.2 ist das diskrete Problem durch die einfachsten iterativen<br />

Verfahren (wie Gesamt- und Einzelschritt Verfahren, SOR) lösbar. Ein derartiger Zugang


7.2. LÖSUNG DES DISKRETEN PROBLEMS 67<br />

ist auch beim allgemeineren Problem von Randwertaufgaben bei partiellen Differentialgleichungen<br />

<strong>für</strong> die dort entstehenden sehr großen und schwachbesetzten linearen Gleichungssysteme<br />

erforderlich. Aufgrund der sehr speziellen Tridiagonalstruktur der Matrix A erweist sich aber<br />

hier die direkte Lösung mittels LU−Zerlegung als wesentlich efffizienter. Wir betrachten dazu<br />

allgemeiner Tridiagonalmatrizen<br />

Für die LU−Zerlegung setzen wir an<br />

A = tridiag (bi,ai,ci) ∈ R n×n , b1 = cn = 0.<br />

A = LU, L = tridiag(bi;αi;0) ∈ R n×n , U = tridiag(0;1;γi) ∈ R n×n .<br />

Ausmultiplizieren auf der Hauptdiagonalen ergibt die Beziehungen<br />

auf der oberen Nebendiagonalen entsteht<br />

a1 = α1; ai = αi + biγi−1, i = 2,...,n,<br />

ci = γiαi, i = 1,...,n − 1.<br />

Dies ermöglicht eine rekursive Berechnung der Größen αi und γi über<br />

α1 = a1; γi−1 = ci−1<br />

, αi = ai − biγi−1, i = 2,...,n.<br />

αi−1<br />

Die Realisierbarkeit dieses Verfahrens ist bei αi = 0, i = 1,...,n gesichert (siehe unten).<br />

Wir erhalten damit den folgenden Thomas-Algorithmus:<br />

1. LU−Zerlegung von A, d.h. Bestimmung von αi,γi<br />

2. Löse das gestaffelte System Lz = F durch Vorwärtseinsetzen<br />

z1 = f1<br />

α1 , zi = 1<br />

αi (fi − bizi−1), i = 2,...,n<br />

3. Löse das gestaffelte System Uu = z durch Rückwärtseinsetzen<br />

un = zn, ui = zi − γiui+1, i = n − 1,...,1.<br />

Eine hinreichende Lösbarkeitsbedingung liefert das<br />

Lemma 7.4. Für die Matrix A = tridiag (bi,ai,ci) ∈ R n×n gelte<br />

|a1| > |c1| > 0; |an| > |cn| > 0;<br />

|ai| ≥ |bi| + |ci| > 0, bici = 0, i = 2,...,n − 1. (7.7)<br />

Dann ist die Matrix A nichtsingulär und <strong>für</strong> die Koeffizienten der LU−Zerlegung gilt<br />

|γi| < 1, i = 1,...,n − 1; αi = 0, i = 1,...,n.<br />

Beweis: vgl. Kurs Numerische Mathematik I , Lemma 2.18 ✷<br />

Bemerkung 7.5. Für den Thomas-Algorithmus benötigt man 0(n) wesentliche Operationen,<br />

d.h. der Rechenaufwand ist asymptotisch <strong>für</strong> n → ∞ optimal. ✷


68 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

7.3 Stabilitäts- und Konvergenzanalyse<br />

Wir führen hier die <strong>für</strong> die Fehleranalyse des Verfahrens wesentlichen Begriffe ein. Sie sind so<br />

allgemein gehalten, daß sich die Analyse auf allgemeinere Diskretisierungsverfahren <strong>für</strong> Randwertaufgaben<br />

übertragen läßt.<br />

Seien ∆ := {x1,...,xn} die inneren Knotenpunkte im Intervall (0,1) und γ := ∆\∆ = {x0,xn+1}<br />

die Randpunkte. Rhv bezeichne die Einschränkung von v ∈ C[0,1] auf ∆ und L den Differentialoperator<br />

des Randwertproblems. u bzw. U sind die Lösung des Randwertproblems bzw. des<br />

diskreten Problems. Dann gilt <strong>für</strong> den Diskretisierungsfehler Rhu − U<br />

A(Rhu − U) = ARhu − AU = ARhu − F = ARhu − RhLu.<br />

Der letzte Term wird auch als Defekt bezeichnet.<br />

Zur Fehlerabschätzung sind nun sowohl eine Abschätzung des Defekts nach oben (Konsistenzanalyse)<br />

als auch eine Abschätzung des links stehenden Terms nach unten (Stabilitätsanalyse) in<br />

einer geeigneten Norm erforderlich. Bei unseren Untersuchungen verwenden wir die Maximum-<br />

Norm<br />

V ∞,∆ := max<br />

i=1,...,n |vi| <strong>für</strong> V = (v1,...,vn) T .<br />

Dies führt auf die<br />

Definition 7.6. (i) Eine FDM heißt konsistent in der Maximum–Norm , falls<br />

lim<br />

h→0 ARhu − RhLu∞,∆ = 0.<br />

(ii) Die FDM hat die Konsistenzordnung p, falls mit einer von h unabhängigen Konstanten<br />

CK > 0 gilt<br />

ARhu − RhLu∞,∆ ≤ CKh p .<br />

Der Konsistenzbegriff beschreibt, wie gut der Differentialoperator durch das Differenzenverfahren<br />

approximiert wird.<br />

Definition 7.7. Eine FDM heißt stabil in der Maximum-Norm, falls <strong>für</strong> den Vektor W aus<br />

AW = F in ∆, W = 0 in γ<br />

die Existenz einer von h unabhängigen Konstanten CS folgt mit<br />

W ∞,∆ = A −1 F ∞,∆ ≤ CSF ∞,∆.<br />

Definition 7.8. (i) Eine FDM heißt konvergent in der Maximum-Norm , falls<br />

lim<br />

h→0 Rhu − U∞,∆ = 0.<br />

(ii) Die FDM hat die Konvergenzordnung p, falls mit einer von h unabhängigen Konstanten<br />

M > 0 gilt<br />

Rhu − U∞,∆ ≤ Mh p .<br />

Wir beginnen mit der Analyse des Konsistenzfehlers:<br />

Die Abschätzung des Konsistenzfehlers der klassischen FDM (7.3),(7.4) <strong>für</strong> das Zweipunkt-RWP<br />

(7.1),(7.2) erfolgt mittels des Taylorschen Satzes. Zunächst betrachten wir die Genauigkeit der


7.3. STABILITÄTS- UND KONVERGENZANALYSE 69<br />

Approximation der auftretenden Ableitungen durch zentrale Differenzenquotienten.<br />

Lemma 7.9. Es gilt<br />

bzw.<br />

(i) (D 0 u)(x) = u ′ (x) + h 2 R, |R| ≤ 1<br />

6 u(3) C[0,1], falls u ∈ C 3 [0,1]<br />

(ii) (D + D − u)(x) = u ′′ (x) + h 2 R, |R| ≤ 1<br />

12 u(4) C[0,1], falls u ∈ C 4 [0,1].<br />

Beweis: Aus der Taylor-Entwicklung an der Stelle x folgt<br />

mit<br />

u(x ± h) = u(x) ± hu ′ (x) + h 2u′′ (x)<br />

2 ± h3 R ± 3<br />

u(x ± h) = u(x) ± hu ′ (x) + h 2u′′ (x)<br />

2 ± h3u(3) (x)<br />

+ h<br />

6<br />

4 R ± 4<br />

R ± 3<br />

R ± 4<br />

= 1<br />

h 3<br />

= 1<br />

h 4<br />

Dann ergibt sich die Aussage (i) aus<br />

(D 0 u)(x) =<br />

x±h<br />

x<br />

x±h<br />

x<br />

u ′′ (t) − u ′′ (x) (x ± h − t)dt<br />

<br />

u (3) (t) − u (3) <br />

(x ± h − t) 2<br />

(x) dt.<br />

2<br />

u(x + h) − u(x − h)<br />

2h<br />

= u ′ (x) + h 2 R + 3 − R− <br />

3<br />

und einer Abschätzung der Restglied–Differenz. Aussage (ii) beweist man analog. ✷<br />

Damit finden wir<br />

Lemma 7.10. Unter der Voraussetzung u ∈ C 4 [0,1] an die Lösung des RWP (7.1),(7.2) hat<br />

die FDM (7.3),(7.4) die Konsistenzordnung 2.<br />

Beweis: Aus (7.3),(7.4) bzw. (7.1),(7.2) haben wir unter Beachtung der eingeführten Bezeichnungen<br />

Lemma 7.9 ergibt daraus<br />

(ARhu − RhLu)(xi) = −D + D − u(xi) + biD 0 u(xi) + ciu(xi) <br />

− −u ′′ (xi) + biu ′ (xi) + ciu(xi) .<br />

|(ARhu − RhLu)(x)| ≤ 1<br />

12 h2 u (4) C[0,1] + 1<br />

6 h2 b C[0,1]u (3) C[0,1], x ∈ ∆.<br />

Maximumbildung über alle Gitterpunkte xi liefert die Behauptung. ✷<br />

Bemerkung 7.11. Die Voraussetzung an die Lösung u des RWP ist in der Regel nicht realistisch.<br />

Eine sorgfältige Abschätzung zeigt<br />

<br />

Chα , u ∈ C2;α [0,1]<br />

ARhu − RhLu∞,∆ ≤<br />

Ch1+α , u ∈ C3;α [0,1]


70 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

mit 0 ≤ α ≤ 1 und den Hölder–Räumen<br />

<br />

C k;α [0,1] :=<br />

v ∈ C k [0,1] : sup<br />

x,y∈0,1);x=y<br />

|v (k) (x) − v (k) (y)|<br />

x − y α<br />

< ∞<br />

<br />

. ✷<br />

Wir kommen nun zur Stabilitätsanalyse der klassischen FDM: Die oben angegebene Stabilitätsdefinition<br />

ist äquivalent zu<br />

A −1 ∞ ≤ CS mit B∞ := max<br />

i=1,...,n<br />

j=1<br />

n<br />

|bij|.<br />

Bei den weiteren Untersuchungen nutzen wir die Halbordnungsrelation x ≥ 0 <strong>für</strong> Vektoren x,<br />

falls komponentenweise gilt xi ≥ 0. Entsprechend gilt x ≥ y, falls x − y ≥ 0. Ferner schreiben<br />

wir <strong>für</strong> Matrizen A ≥ 0, falls komponentenweise gilt aij ≥ 0.<br />

Definition 7.12. Eine Matrix A heißt inversmonoton, falls aus der Halbordnungsrelation<br />

Ax ≤ Ay auch x ≤ y folgt.<br />

Zur Inversmonotonie von A ist die Existenz von A −1 mit A −1 ≥ 0 äquivalent.<br />

Lemma 7.13. Unter den Voraussetzungen von Satz 7.2 ist A inversmonoton, d.h. A −1 ≥ 0.<br />

Beweis: Wir betrachten die iterative Lösung des linearen Gleichungssystems Az = r mit<br />

dem Gesamtschritt- oder Jacobi-Verfahren. Aus der Zerlegung A = D + AL + AR mit der<br />

Diagonalmatrix D und den strikten unteren bzw. oberen Dreiecksmatrizen AL und AR ergibt<br />

sich die Iteration<br />

zm+1 = −D −1 (AL + AR)zm + D −1 r, m = 0,1,.... (7.8)<br />

Das Jacobi-Verfahren konvergiert unter den Voraussetzungen des Satzes 7.2, denn die Matrix A<br />

ist sowohl schwach diagonaldominant als auch irreduzibel. Man vergleiche hierzu die Ergebnisse<br />

von Kapitel 5 aus dem Kurs Numerische Mathematik I.<br />

Für die Spalten der inversen Matrix A −1 = (a1,...,an) gilt Aai = ei, i = 1,...,n mit den<br />

kartesischen Einheitsvektoren ei. Damit entsteht ai als Grenzelement der Iteration (7.8) mit<br />

r = ei und dem Startvektor z0 = 0.<br />

Nach den Voraussetzungen von Satz 7.2 sind die Elemente von D −1 und −D −1 (AL + AR)<br />

nichtnegativ. Daraus folgt die Aussage A −1 ≥ 0. ✷<br />

Nun besteht das Ziel darin, die Stabilitätskonstante CS abzuschätzen. Wir nutzen dazu das<br />

Lemma 7.14. (M-Kriterium)<br />

Sei A ∈ R n×n L−Matrix, d.h. gelte aij ≤ 0,i = j. Dann ist A inversmonoton genau dann, wenn<br />

ein (majorisierender) Vektor e > 0 existiert mit Ae > 0. Ferner gilt dann die Abschätzung<br />

A −1 ∞ ≤<br />

e<br />

.<br />

mink(Ae)k<br />

Beweis: (i) Sei A inversmonoton. Dann wähle man e = A −1 (1,... ,1) T .<br />

(ii) Übungsaufgabe ! ✷<br />

Die gesuchte Abschätzung der Stabilitätskonstanten CS gelingt nun bei geeigneter Wahl eines<br />

majorisierenden Vektors e zur Matrix A gemäß Lemma 7.14.


7.3. STABILITÄTS- UND KONVERGENZANALYSE 71<br />

u(x)<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

−0.2<br />

Loesung<br />

h=0.2<br />

h=0.1<br />

h=0.01<br />

h=0.001<br />

−0.4<br />

0 0.1 0.2 0.3 0.4 0.5<br />

x<br />

0.6 0.7 0.8 0.9 1<br />

Abbildung 7.1: Lösung von −u ′′ (x) + 100u ′ (x) = 100 <strong>für</strong> h = 0.2, 0.1, 0.01 und h = 0.001<br />

Lemma 7.15.<br />

(i) Unter der Voraussetzung c(x) ≥ c ∗ > 0 gilt<br />

A −1 ∞ ≤<br />

1<br />

<br />

mink akk − <br />

j=k |ajk|<br />

.<br />

(ii) Bei c(x) ≥ 0 existiert eine Konstante CS > 0 (vgl. Beweis) mit<br />

A −1 ∞ ≤ CS.<br />

Beweis: (i) Bei c(x) ≥ c ∗ > 0 ist A streng diagonaldominant. Die Behauptung folgt aus<br />

Lemma 7.14 mit e = (1,1,...,1) T .<br />

(ii) Sei E(x) Lösung des RWP<br />

−E ′′ (x) + b(x)E ′ (x) = 1, 0 < x < 1; E(0) = E(1) = 0.<br />

Aus dem Maximumprinzip (vgl. Lemma 6.9) folgt E(x) > 0, 0 < x < 1. Ferner ist nach<br />

Konstruktion (LE)(x) ≥ 1, 0 < x < 1. Nun wählen wir den Vektor<br />

e := RhE = (e(x1),...,e(xn)) T .<br />

Aus Konsistenzgründen ist Ae ≥ 1<br />

2 <strong>für</strong> h ≤ ˜ h0, denn in der Darstellung<br />

Ae = ARhE = (ARh − RhL)E + RhLE<br />

konvergiert der erste Term der rechten Seite nach Lemma 7.10 gegen 0. Für den zweiten Term<br />

ist RhLE ≥ 1. Die Behauptung folgt dann nach Anwendung von Lemma 7.14. ✷<br />

Beispiel 7.16. Die Abbildung 7.3 zeigt die diskrete Lösung des RWP<br />

−u ′′ (x) + 100u ′ (x) = 100, 0 < x < 1; u(0) = u(1) = 0<br />

mit der klassischen FDM auf einem äquidistanten Gitter mit h = 0.2, 0.1, 0.01 und h = 0.001<br />

bei linearer Interpolation. Man erkennt Oszillationen der diskreten Lösungen <strong>für</strong> die groben Gitterweiten<br />

h = 0.2 und h = 0.1, offenbar ist das Maximumprinzip im diskreten Fall nicht erfüllt.<br />

Für die feineren h-Werte wird die exakte Lösung gut approximiert. Im Fall der Oszillationen


72 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

u(x)<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

Loesung<br />

h=0.2<br />

h=0.1<br />

h=0.01<br />

h=0.001<br />

0<br />

0 0.1 0.2 0.3 0.4 0.5<br />

x<br />

0.6 0.7 0.8 0.9 1<br />

Abbildung 7.2: FDM-Lösung zu Beispiel 7.18 bei h = 1 1 1<br />

2 , 10 , 100 , 1<br />

1000<br />

ist die Bedingung 1<br />

2 h|bi| ≤ 1 aus Satz 7.2 nicht erfüllt; insofern ist diese Bedingung scharf (vgl.<br />

auch Übungsaufgabe, Blatt 7). ✷<br />

Wir kombinieren die Ergebnisse zum folgenden Konvergenzsatz.<br />

Satz 7.17. Unter den Voraussetzungen von Satz 7.2 liege die Lösung u des RWP (7.1),(7.2) in<br />

C 4 [0,1]. Ferner sei eventuell h hinreichend klein. Dann gilt <strong>für</strong> den Diskretisierungsfehler der<br />

klassischen FDM (7.3),(7.4)<br />

Rhu − U∞,∆ = max |u(xi) − ui| ≤ Mh<br />

i<br />

2 ,<br />

d.h. das Verfahren hat die Konvergenzordnung 2.<br />

Beweis: Nach Konstruktion ist Rhu − U = 0 auf γh. Nach Lemma 7.10 ist ferner<br />

Mittels Lemma 7.15 folgt<br />

ARhu − RhLu∞,∆ ≤ CKh 2 .<br />

C −1<br />

S Rhu − U∞,∆ ≤ ARhu − RhLu∞,∆ ≤ CKh 2<br />

und damit die Konvergenzaussage mit M = CSCK. ✷<br />

Beispiel 7.18. Die Abbildung 7.2 zeigt die diskrete Lösung des RWP<br />

−u ′′ (x) + sin(πx)u(x) = 2 + sin(πx)x(1 − x), 0 < x < 1; u(0) = u(1) = 0<br />

mittels klassischer FDM auf einem äquidistanten Gitter mit den Schrittweiten h = 0.2, 0.1, 0.01<br />

und h = 0.0001. Die Knotenwerte wurden linear interpoliert. Man erkennt die Konvergenz der<br />

diskreten Lösung <strong>für</strong> h → 0.<br />

7.4 Exkurs: Finite-Differenzen-Methode <strong>für</strong> Poisson-Problem<br />

Wir wollen nun die numerische Lösung von Zweipunkt-RWP im eindimensionalen Fall auf<br />

mehrdimensionale Probleme erweitern. Vereinfachend betrachten wir auf dem Einheitsquadrat<br />

Ω = (0,1) × (0,1) das Dirichletsche RWP der Poisson-Gleichung, d.h.<br />

<br />

∂2u −(∆u)(x1,x2) := − + ∂2 <br />

u<br />

= f(x1,x2), (x1,x2) ∈ Ω (7.9)<br />

∂x 2 1<br />

∂x 2 2<br />

u(x1,x2) = g(x1,x2), (x1,x2) ∈ ∂Ω. (7.10)


7.4. EXKURS: FINITE-DIFFERENZEN-METHODE FÜR POISSON-PROBLEM 73<br />

Zur Definition des klassischen Differenzen-Verfahrens (FDM) definieren wir mit der (vereinfa-<br />

, N ∈ N die Menge der Gitterpunkte<br />

chend) äquidistanten Schrittweite h = 1<br />

N<br />

Zh := {(x1,x2) : x1 = z1h,x2 = z2h, z1,z2 ganz}.<br />

Die Menge der inneren Gitterpunkte sei ωh := Zh ∩Ω, die Menge der Randgitterpunkte entsprechend<br />

γh := Zh ∩ ∂Ω.<br />

Wir approximieren die zweiten partiellen Ableitungen in x1− bzw. x2-Richtung wie im eindimensionalen<br />

Fall durch den zentralen Differenzenquotienten 2. Ordnung, d.h.<br />

(∆hu)(x1,x2) := 1<br />

h 2 ({u(x1 + h,x2) − 2u(x1,x2) + u(x1 − h,x2)}<br />

+ {u(x1,x2 + h) − 2u(x1,x2) + u(x1,x2 − h)}) . (7.11)<br />

Man spricht auch von einem sogenannten Fünfpunkte-Stern. Bezeichne wie im eindimensionalen<br />

Fall Rhv die Einschränkung einer Funktion v : Ω → R auf das Gitter ωh∪γh. Ferner sei der Vektor<br />

U = (Ui) M i=1 die durch die FDM erzeugte Näherung an die Werte Rhu der gesuchten stetigen<br />

Lösung auf dem Gitter. Dann lautet das dem 1. RWP der Poisson-Gleichung zugeordnete lineare<br />

Gleichungssystem<br />

−∆hU = Rhf in ωh (7.12)<br />

U = Rhg in γh. (7.13)<br />

Im Fall Dirichletscher Randbedingungen kann man die Randwerte U = Rhg eliminieren. Die<br />

konkrete Gestalt des linearen Gleichungssystems hängt dann von der Numerierung der Gitterpunkte<br />

in ωh ab. Der einfachste Fall entsteht bei lexikographischer Anordnung gemäß<br />

(h,h), (2h,h), ..., (1 − h,h)<br />

(h,2h), (2h,2h), ..., (1 − h,2h)<br />

., ., ., .,<br />

(h,1 − h), (2h,1 − h), ..., (1 − h,1 − h)<br />

und Numerierung der Unbekannten in den Gitterpunkten auf ωh gemäß<br />

Mit der Tridagonal-Matrix<br />

U1,...,UN−1,UN,...,U2N−2,U2N−1....,U3N−3,...,U (N−1)(N−1).<br />

T = tridiag (−1, 4, −1) ∈ R (N−1)×(N−1)<br />

und der Einheitsmatrix I ∈ R (N−1)×(N−1) hat die entstehende Systemmatrix die Blocktridiagonal-<br />

Gestalt<br />

A = 1<br />

h2tridiag(−I, T, −I) ∈ R(N−1)2 ×(N−1) 2<br />

. (7.14)<br />

Man charakterisiert Differenzenverfahren auf regelmäßigen Gittern oft durch Differenzensterne<br />

bezüglich eines Gitterpunktes (x1,x2). Im allgemeinen Fall entsteht als Approximation des<br />

Differentialoperators bei geeigneten Größen cij das Schema<br />

<br />

cijU(x1 + ih,x2 + jh).<br />

i,j


74 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

Für den Fall |i|, |j| ≤ 1 spricht man von kompakten Differenzen-Sternen. Der allgemeinste Fall<br />

ist dabei dann ein Neunpunkte-Stern. Der oben genannte Fünfpunkte-Stern ist ein Spezialfall.<br />

Man kann die FDM auf allgemeineren Gebieten als dem hier betrachteten Einheitsquadrat erzeugen.<br />

Man überzieht den R 2 erneut mit dem Gitter Zh und verfährt in inneren Gitterpunkten<br />

Zh ∩ Ω wie oben beschrieben. Die Approximation in den randnahen Gitterpunkten erfordert<br />

jedoch eine gesonderte Behandlung.<br />

Wir analysieren nun exemplarisch die gerade eingeführte klassische FDM <strong>für</strong> das 1. RWP des<br />

Poisson-Problems (7.9),(7.10) auf dem Einheitsquadrat. Dabei benutzen wir die zuvor eingeführten<br />

Grundbegriffe Konsistenz, Stabilität und Konvergenz wieder bezüglich der Maximum-Norm.<br />

Lemma 7.19. Die klassische Lösung des Problems (7.9),(7.10) liege in C 4 (Ω). Dann gilt <strong>für</strong><br />

den Konsistenzfehler der klassischen FDM (7.12),(7.13)<br />

ARhu − RhLu∞,ωh<br />

≤ 1<br />

6 h2 u C 4 (Ω) . (7.15)<br />

Beweis: vgl. Übungsaufgabe ✷<br />

Lemma 7.20. Die klassische FDM (7.12),(7.13) <strong>für</strong> das Problem (7.9),(7.10) ist bezüglich der<br />

Maximum-Norm stabil. Es gilt<br />

A −1 ∞ ≤ CS = 1<br />

. (7.16)<br />

8<br />

Beweis: Wir betrachten (ohne Beschränkung der Allgemeinheit) die bei lexikographischer<br />

Anordnung der inneren Gitterpunkte entstehende Matrix A aus (7.14). A = (aij) ist eine<br />

L0−Matrix, denn es gilt aii > 0 sowie aij < 0 <strong>für</strong> i = j. Ferner prüft man sofort nach, daß<br />

die Matrix schwach diagonaldominant und irreduzibel ist. Damit ist A M−Matrix, daher kann<br />

das M−Kriterium angewendet werden.<br />

Wir nehmen vereinfachend an, daß der Punkt ( 1<br />

1<br />

2 , 2 ) zum Gitter ωh gehört. Für das Polynom<br />

e∗ (x1,x2) := x1(1−x1)+x2(1−x2) gilt offenbar sowohl e∗ > 0 als auch −∆e∗ = 4. Für e := Rhe∗ gilt −∆he = 4, da quadratische Polynome durch den Fünfpunkte-Stern exakt diskretisiert werden.<br />

Wegen e∞,ωh folgt nach dem M−Kriterium die gesuchte Aussage. ✷<br />

≤ 1<br />

2<br />

Beide Lemmata ergeben dann die gewünschte Konvergenzaussage<br />

Satz 7.21. Die klassische FDM (7.12),(7.13) <strong>für</strong> das Problem (7.9),(7.10) ist unter der Regularitätsvoraussetzung<br />

u ∈ C 4 (Ω) bezüglich der Maximum-Norm konvergent. Es gilt<br />

Rhu − U∞,ωh<br />

≤ 1<br />

48 h2 u C 4 (Ω) . (7.17)<br />

Zur Illustration dieser Untersuchungen betrachten wir die folgenden Beispiele. Die Rechnungen<br />

wurden dazu mit einem in MATLAB erstellten Finite-Differenzen-Programm durchgeführt.<br />

Beispiel 7.22. Wir betrachten das Problem (7.9)- (7.10) mit f(x1,x2) = 4sin 2πx1 sin πx2 und<br />

g(x1,x2) = 0. Die Lösung u(x1,x2) = sin2πx1 sin πx2 entspricht damit gerade einer Eigenfunktion<br />

des Laplace-Operators mit homogenen Dirichlet-Bedingungen. Die Abbildung 7.3 zeigt die<br />

Lösung und den Fehler des Finite-Differenzen-Schemas bei grober äquidistanter Schrittweite<br />

h = 0.1. Ferner wird der Fehler in der Maximum-Norm in zwei Diagrammen dokumentiert. In<br />

der halblogarithmischen Darstellung erkennt man sehr gut die in Satz 7.21 ermittelte quadratische<br />

Konvergenzordnung. ✷<br />

Beispiel 7.23. Wir ermitteln die Lösung von Problem (7.9) - (7.10) mit g(x1,x2) = 0 und der


7.4. EXKURS: FINITE-DIFFERENZEN-METHODE FÜR POISSON-PROBLEM 75<br />

|e|<br />

0.03<br />

0.025<br />

0.02<br />

0.015<br />

0.01<br />

0.005<br />

u(x)<br />

Konvergenz in der Supremumsnorm<br />

0<br />

0 0.02 0.04 0.06 0.08 0.1<br />

h<br />

1<br />

0<br />

−1<br />

1<br />

0.5<br />

y<br />

Loesung fuer h=0.1<br />

0<br />

0<br />

x<br />

0.5<br />

1<br />

|e|<br />

e(x)<br />

0.03<br />

0.025<br />

0.02<br />

0.015<br />

0.01<br />

0.005<br />

0.05<br />

−0.05<br />

1<br />

Konvergenz in der Supremumsnorm<br />

0<br />

0 0.002 0.004 0.006 0.008 0.01<br />

h 2<br />

0<br />

0.5<br />

y<br />

Fehler fuer h=0.1<br />

Abbildung 7.3: Lösungs- und Fehlerdarstellung zu Beispiel 7.22 <strong>für</strong> h = 0.1<br />

y<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

h=0.05<br />

0<br />

0 0.2 0.4 0.6 0.8 1<br />

x<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0<br />

x 10 −3<br />

0.5<br />

0<br />

h=0.05<br />

Abbildung 7.4: Lösungsdarstellung zu Beispiel 7.22 <strong>für</strong> h = 0.05<br />

u(x)<br />

x<br />

0<br />

1 0<br />

0.2<br />

x<br />

0.4<br />

0.6<br />

0.5<br />

1<br />

0.8<br />

y<br />

1


76 KAPITEL 7. FINITE-DIFFERENZEN-VERFAHREN<br />

unstetigen Quellfunktion f mit f(x1,x2) = 1 in Ω0 := [0.6,0.65] × [0.6,0.65] und f(x1,x2) = 0<br />

in Ω \ Ω0.<br />

Die FDM-Lösung mit der äquidistanten Schrittweite h = 0.05 ist in Abbildung 7.4 zu sehen.<br />

Trotz der relativ groben Diskretisierung wird die korrekte Lösung qualitativ richtig widergespiegelt.<br />

Man kann die Lösung u als Temperatur interpretieren. Insbesondere erkennt man die Rolle<br />

des Laplace-Operators, der die im Teilgebiet Ω0 vorgegebene (unstetige) Wärmequelle diffusiv<br />

verteilt. ✷


Kapitel 8<br />

Ritz-Galerkin-Verfahren <strong>für</strong> RWP<br />

Im vorliegenden Kapitel schwächen wir den bisher verwendeten ”klassischen” Lösungsbegriff<br />

<strong>für</strong> Zweipunkt-Randwertaufgaben ab. Dies erlaubt zugleich einen natürlichen Zugang zu der<br />

Finite-Elemente Methode (FEM) und vereinfacht die Konvergenzanalyse.<br />

8.1 Variationsgleichungen<br />

Betrachtet wird die Zweipunkt-Randwertaufgabe<br />

−u ′′ (x) + b(x)u ′ (x) + c(x)u(x) = f(x), 0 < x < 1 (8.1)<br />

u(0) = u(1) = 0. (8.2)<br />

Zunächst streben wir eine Abschwächung des klassischen Lösungsbegriffs, d.h. von u ∈ C 2 (0,1)∩<br />

C[0,1], an. Sei etwa b = c ≡ 0 sowie f ∈ C(0,1). Dann liegt die Lösung nicht in C 2 (0,1).<br />

Multiplikation von Gleichung (8.1) mit einer beliebigen Testfunktion<br />

und Integration über (0,1) ergibt<br />

v ∈ ˜ X := {w ∈ C 1 (0,1) ∩ C[0,1] : w(0) = w(1) = 0} (8.3)<br />

1<br />

0<br />

−u ′′ + bu ′ + cu v dx =<br />

1<br />

0<br />

fv dx.<br />

Partielle Integration des Terms − 1<br />

0 u′′ v dx liefert unter Beachtung der Randwerte v(0) =<br />

v(1) = 0<br />

1<br />

u ′ v ′ 1<br />

<br />

1<br />

′<br />

dx + bu + cu v dx = fv dx ∀v ∈ ˜ X. (8.4)<br />

0<br />

0<br />

Klassische Lösungen u ∈ C 2 (0,1) ∩C[0,1] von (8.1),(8.2) lösen offenbar auch (8.4). Ebenso sind<br />

(bei hinreichend glatten Daten) nach Rückwärtsausführung der vorgenommenen Umformungen<br />

klassische Lösungen von (8.4) auch Lösungen von (8.1),(8.2). Offenbar reicht aber z.B. schon die<br />

Forderung u ∈ ˜ X <strong>für</strong> die Lösungen von (8.4) aus. Daher bezeichnet man die Aufgabe<br />

0<br />

Finde u ∈ ˜ X, so daß a(u,v) = f(v), ∀v ∈ ˜ X (8.5)<br />

77


78 KAPITEL 8. RITZ-GALERKIN-VERFAHREN FÜR RWP<br />

mit<br />

a(u,v) :=<br />

f(v) :=<br />

1<br />

u<br />

0<br />

′ v ′ 1<br />

dx +<br />

0<br />

1<br />

0<br />

bu ′ + cu v dx (8.6)<br />

fv dx (8.7)<br />

auch als verallgemeinerte Aufgabenstellung zu (8.1),(8.2) bzw. als zugehörige Variationsgleichung.<br />

Wir vertiefen diesen Gedanken im Abschnitt 8.2 weiter. Zuvor betrachten wir noch den Zusammenhang<br />

mit Variationsproblemen. Seien vereinfachend b(x) ≡ 0 und c(x) ≥ 0. Mit dem<br />

Funktional<br />

betrachten wir das Variationsproblem<br />

Dann gilt<br />

J(u) := 1<br />

a(u,u) − f(u) (8.8)<br />

2<br />

= 1<br />

1<br />

{(u<br />

2<br />

′ ) 2 + cu 2 1<br />

} dx − fu dx, u ∈ ˜ X<br />

0<br />

0<br />

Finde u ∈ ˜ X, so daß J(u) ≤ J(v), ∀v ∈ ˜ X. (8.9)<br />

Lemma 8.1. Notwendige Lösbarkeitsbedingung <strong>für</strong> das Variationsproblem (8.9) ist im Fall<br />

b(x) ≡ 0, c(x) ≥ 0 die Variationsgleichung (8.5).<br />

Beweis: Wir setzen <strong>für</strong> festes u,v ∈ ˜ X und t ∈ R<br />

Φ(t) := J(u + tv).<br />

Notwendige Minimumbedingung <strong>für</strong> die reellwertige Funktion Φ ist wegen<br />

dann<br />

J(u + tv) = 1<br />

2<br />

1<br />

{(u<br />

0<br />

′ + tv ′ ) 2 + c(u + tv) 2 1<br />

} dx −<br />

0<br />

1<br />

{2(u ′ + tv ′ )v ′ 1<br />

+ 2c(u + tv)v} dx |t=0 −<br />

0<br />

Φ ′ (0) = 1<br />

2 0<br />

= a(u,v) − f(v) = 0. ✷<br />

f(u + tv) dx<br />

fv dx<br />

Bemerkung 8.2. Man kann zeigen, daß unter gewissen Glattheitsforderungen an die Daten<br />

(z.B. c,f ∈ C[0,1]) eine Lösung u ∈ ˜ X der Variationsgleichung (8.5) auch Minimum von (8.9)<br />

ist. ✷<br />

Variationsprobleme treten sehr oft in Naturwissenschaften und Technik als bekannte Grundprinzipien<br />

(z.B. Prinzip der minimalen Energie usw.) auf und bilden einen wesentlichen Zugang zur<br />

mathematischen Modellierung realer Vorgänge.<br />

Es sei hervorgehoben, daß die Variationsgleichung (8.5) als verallgemeinerte Aufgabenstellung<br />

zu (8.1)-(8.2) auch im allgemeinen Fall sinnvoll bleibt, wenn nicht b(x) ≡ 0 gilt.


8.2. VERALLGEMEINERTE ABLEITUNGEN 79<br />

8.2 Verallgemeinerte Ableitungen<br />

Wir untersuchen jetzt Eigenschaften des Raumes ˜ X (vgl. (8.3)) in Verbindung mit der Sobolev-<br />

Norm<br />

1 <br />

1<br />

′ 2<br />

uH1 := u (x) dx + [u(x)] 2 1/2<br />

dx . (8.10)<br />

0<br />

Der Raum { ˜ X; · H 1} ist offenbar normierter Raum, jedoch nicht vollständiger Raum (vgl.<br />

Übungsaufgabe), d.h. kein Banach-Raum.<br />

Die Norm (8.10) ist auch noch <strong>für</strong> meßbare Funktionen u,u ′ sinnvoll, die quadratisch über (0,1)<br />

im Lebesgue-Sinne integrierbar sind, d.h. <strong>für</strong> Funktionen im Lebesgue-Raum<br />

L 2 (0,1) := {v : (0,1) → R meßbar :<br />

0<br />

1<br />

0<br />

[v(x)] 2 dx < ∞}. (8.11)<br />

Im Hinblick auf die Näherungslösung von Zweipunkt-Randwertaufgaben mittels FEM ist eine<br />

weitere Abschwächung des klassischen Lösungsbegriffs sinnvoll. Wir wollen den entsprechenden<br />

Gedankengang hier nur skizzieren:<br />

Zunächst benötigen wir einige Begriffe. Es bezeichnet clV (A) den Abschluß der Teilmenge A von<br />

V in der Topologie des Raumes V. Dann heißt<br />

Träger von v ∈ C[0,1]. Sei<br />

supp v := clR{x ∈ (0,1) : v(x) = 0}<br />

C ∞ 0 (0,1) := {v ∈ C∞ (0,1) : supp v ⊂ (0,1)},<br />

d.h. Elemente dieser Menge verschwinden von beliebiger Ordnung bei x = 0 und x = 1. Ferner<br />

sei<br />

<br />

|v(x)| dx < ∞ ∀A ⊂⊂ (0,1))}.<br />

L 1 loc (0,1) := {v : (0,1) → R meßbar :<br />

A ⊂⊂ B bedeutet dabei, daß A abgeschlossen ist und A ⊂ B gilt.<br />

Partielle Integration ergibt <strong>für</strong> u ∈ C 1 [0,1] und beliebige Testfunktionen v ∈ C ∞ 0 (0,1)<br />

1<br />

Nach der Hölder’schen Ungleichung<br />

<br />

1<br />

<br />

uv ′ <br />

<br />

dx<br />

=<br />

<br />

<br />

<br />

<br />

bzw. <br />

0<br />

1<br />

0<br />

0<br />

u ′ <br />

<br />

v dx<br />

=<br />

<br />

<br />

<br />

<br />

u ′ v dx = −<br />

supp v<br />

supp v<br />

A<br />

1<br />

0<br />

uv ′ <br />

<br />

dx<br />

≤ v′ <br />

C[0,1] u ′ <br />

<br />

v dx<br />

≤ v <br />

C[0,1]<br />

ergeben die Integrale in (8.12) noch Sinn <strong>für</strong> u,u ′ ∈ L 1 loc (0,1).<br />

uv ′ dx. (8.12)<br />

supp v<br />

supp v<br />

|u| dx<br />

|u ′ | dx<br />

Definition 8.3 w ∈ L1 loc (0,1) heißt verallgemeinerte erste Ableitung von u ∈ L1 loc (0,1), falls<br />

1 1<br />

wv dx = − uv<br />

0<br />

0<br />

′ dx, ∀v ∈ C ∞ 0 (0,1)


80 KAPITEL 8. RITZ-GALERKIN-VERFAHREN FÜR RWP<br />

gilt. Man schreibt w = u ′ .<br />

Wir erklären nun<br />

Definition 8.4. Die Menge<br />

H 1 (0,1) := {v ∈ L 2 (0,1) : ∃v ′ ∈ L 2 (0,1)}<br />

heißt Sobolev-Raum der Funktionen mit verallgemeinerten und quadratisch auf (0,1) integrierbaren<br />

Ableitungen. Ferner ist<br />

H 1 0(0,1) := cl H 1 (0,1)C ∞ 0 (0,1).<br />

Bemerkung 8.5. Man kann zeigen, daß auch gilt<br />

Ohne Beweis zitieren wir<br />

H 1 (0,1) := cl H 1 (0,1)C ∞ (0,1). ✷<br />

Satz 8.6. Die Räume {H 1 (0,1); · H 1 (0,1)} und {H 1 0 (0,1); · H 1 (0,1)} sind Hilbert-Räume<br />

mit dem Skalarprodukt<br />

(u,v) H 1 :=<br />

1<br />

0<br />

uv dx +<br />

1<br />

u<br />

0<br />

′ v ′ dx.<br />

Offenbar ist X := H1 0 (0,1) der geeignete Funktionenraum, um eine verallgemeinerte Aufgabenstellung<br />

zu (8.1)-(8.2) bzw. zu (8.5)-(8.7) zu formulieren:<br />

Finde u ∈ H 1 0 (0,1) : a(u,v) = f(v) ∀v ∈ H1 0 (0,1). (8.13)<br />

Vertiefende Kenntnisse über die hier zum Teil nur heuristisch eingeführten Inhalte, insbesondere<br />

zur Existenz verallgemeinerter Lösungen (Satz von Lax-Milgram) kann man in einer Vorlesung<br />

über partielle Differentialgleichungen oder über Lineare Funktionalanalysis erwerben.<br />

8.3 Ritz-Galerkin Verfahren<br />

Im vorliegenden Kapitel führen wir Näherungsverfahren zur approximativen Lösung von Variationsgleichungen<br />

ein. Die Darstellung ist dabei zunächst möglichst allgemein gehalten. Erst im<br />

abschließenden Teil betrachten wir speziell eine Finite-Elemente-Methode (FEM) <strong>für</strong> Zweipunkt-<br />

Randwertaufgaben.<br />

Ausgangspunkt ist die Variationsgleichung<br />

Finde u ∈ X : a(u,v) = f(v) ∀v ∈ X (8.14)<br />

im Hilbert-Raum X. Dabei verwenden wir die im Kapitel vorne eingeführten Bezeichnungen<br />

und Voraussetzungen an die Bilinearform a(·, ·) sowie die Linearform f(·).<br />

Gesucht ist nun eine Näherung u n an die Lösung u von (8.14) im endlich-dimensionalen Teilraum<br />

Xn ⊂ X mit dim Xn = n < ∞. Offenbar ist dann {Xn; · X} Banach-Raum.<br />

Definition 8.7. Die Aufgabe<br />

Finde u n ∈ Xn : a(u n ,v) = f(v) ∀v ∈ Xn (8.15)<br />

heißt Ritz-Galerkin-Verfahren zur Variationsgleichung (8.14).


8.3. RITZ-GALERKIN VERFAHREN 81<br />

Wir zeigen nun, daß das Ritz-Galerkin-Verfahren stets einem linearen Gleichungssystem entspricht.<br />

Sei {φi} n i=1 Basis von Xn. Es bezeichne P : R n → Xn ⊂ X die durch<br />

Pv =<br />

n<br />

viφi, v = (v1,...,vn) T<br />

i=1<br />

erklärte Abbildung. Offensichtlich ist P ein Isomorphismus zwischen R n und Xn. Unter Beachtung<br />

der Basisdarstellung in Xn = span{φ1,...,φn} erhält man das<br />

Lemma 8.8. Das Ritz-Galerkin-Verfahren (8.15) ist äquivalent zu dem System der Gleichungen<br />

Finde u n ∈ Xn : a(u n ,φi) = f(φi) i = 1,...,n (8.16)<br />

Mit den Bezeichnungen<br />

formulieren wir<br />

u = (u1,...,un) T ∈ R n , u n := Pu;<br />

A = (aij) ∈ R n×n , aij := a(φj,φi)<br />

f = (f1,...,fn) T ∈ R n , fi := f(φi)<br />

Satz 8.9. Das Ritz-Galerkin-Verfahren (8.15) ist äquivalent zu dem linearen Gleichungssystem<br />

Au = f. (8.17)<br />

Beweis: Nach Lemma 8.8 sind (8.15) und (8.16) äquivalent. Die Behauptung folgt nun mit<br />

u n = Pu = n<br />

j=1 ujφj aus<br />

a(u n ,φi) =<br />

n<br />

uja(φj,φi) =<br />

j=1<br />

n<br />

aijuj = f(φi) = fi, i = 1,...,n ✷<br />

j=1<br />

Bemerkungen 8.10. (i) Mit dem Skalarprodukt<br />

im R n sowie u = Pu, v = Pv gilt<br />

〈u,v〉 :=<br />

n<br />

i=1<br />

uivi<br />

a(u,v) = 〈Au,v〉, f(v) = 〈f,v〉.<br />

(ii) Das lineare Gleichungssystem (8.17) besitzt genau dann eine eindeutig bestimmte Lösung<br />

u n ∈ Xn, wenn die Matrix A nicht singulär ist. ✷<br />

Folgende Aufgaben sind nun zu lösen:<br />

• Konstruktion geeigneter Unterräume Xn<br />

• Generierung und Lösung des linearen Gleichungssytems<br />

• Fehlerabschätzung.


82 KAPITEL 8. RITZ-GALERKIN-VERFAHREN FÜR RWP<br />

Nachfolgend geben wir hinreichende Lösbarkeitsbedingungen <strong>für</strong> das Ritz-Galerkin-Verfahren<br />

sowie eine a-priori Abschätzung der Lösung an.<br />

Satz 8.11. Seien Xn ⊂ X, dim Xn = n < ∞ und X Hilbert-Raum. Ferner sei a(·, ·) :<br />

X × X → R X−elliptische, stetige Bilinearform, d.h. gelte<br />

sowie<br />

und f : X → R sei linear und stetig, d.h.<br />

∃γ > 0 : a(v,v) ≥ γv 2 X<br />

∀v ∈ X (8.18)<br />

∃M > 0 : |a(u,v)| ≤ MuXvX ∀u,v ∈ X, (8.19)<br />

∃K > 0 : |f(v)| ≤ KvX ∀v ∈ X. (8.20)<br />

Dann gilt<br />

(i) Die Matrix A = (a(φj,φi)) ∈ R n×n ist nicht singulär. (Daraus folgt die eindeutige Lösbarkeit<br />

von (8.17).)<br />

(ii) Für die Lösung u n ∈ Xn des Ritz-Galerkin-Verfahrens gilt die a-priori Abschätzung<br />

u n X ≤ K<br />

. (8.21)<br />

γ<br />

Beweis: (i) Mit u = 0 folgt Pu = 0 sowie wegen der X−Elliptizität von a(·, ·) die Aussage<br />

d.h. Au = 0.<br />

(ii) Wegen (8.19) und (8.20) gilt<br />

< Au,u >= a(Pu,Pu) ≥ γPu 2 X<br />

> 0,<br />

γPu 2 X ≤ a(Pu,Pu) = f(Pu) ≤ KPuX,<br />

also (8.21). ✷<br />

Eine Abschätzung zwischen den Lösungen u ∈ X der Variationsgleichung (8.14) und u n ∈ Xn<br />

des Ritz-Galerkin-Verfahrens (8.15) liefert der<br />

Satz 8.12. Seien Xn ⊂ X, dim Xn = n < ∞, X Hilbert-Raum und a(·, ·) : X × X → R<br />

X−elliptische, stetige Bilinearform, d.h. gelte (8.18) und (8.19).<br />

Dann folgt<br />

u − u n X ≤ M<br />

γ inf u − vX. (8.22)<br />

v∈Xn<br />

Beweis: Aus (8.14) und (8.15) folgern wir zunächst die sogenannte Fehlergleichung<br />

a(u − u n ,w) = a(u,w) − a(u n ,w) = 0 ∀w ∈ Xn. (8.23)<br />

Man nennt (8.23) auch Galerkin-Orthogonalität. Unter Beachtung von (8.14),(8.15) und (8.19)<br />

ergibt sich<br />

γu − u n 2 X ≤ a(u − un ,u − u n ) = a(u − u n ,u − w)<br />

≤ Mu − u n Xu − wX, ∀w ∈ Xn.<br />

Daraus folgt durch Bildung des Infimums in Xn die Behauptung (8.22). ✷


8.4. FINITE-ELEMENTE-METHODE FÜR ZWEIPUNKT-RWP 83<br />

Mit dem Satz 8.12 ist die Fehlerabschätzung auf eine Abschätzung des Interpolationsfehlers<br />

zurückgeführt. Auf Details dieser Interpolationstheorie in Sobolev-Räumen können wir hier<br />

nicht eingehen. Es gilt zumindest<br />

Lemma 8.13. Seien<br />

sowie X = ∪ ∞ n=1 Xn. Dann ist<br />

X1 ⊂ ... ⊂ Xn−1 ⊂ Xn ⊂ ... ⊂ X<br />

lim<br />

n→∞ inf u − wX = 0. (8.24)<br />

w∈Xn<br />

Beweis: Folgerung aus Dichtheit von ∪ ∞ n=1 Xn in X. ✷<br />

8.4 Finite-Elemente-Methode <strong>für</strong> Zweipunkt-RWP<br />

Wir betrachten jetzt speziell die zum Zweipunkt-RWP<br />

gehörige Variationsgleichung<br />

mit<br />

−u ′′ (x) = f(x), x ∈ (0,1); u(0) = u(1) = 0 (8.25)<br />

Finde u ∈ X = H 1 0(0,1) : a(u,v) = f(v) ∀v ∈ X (8.26)<br />

a(u,v) :=<br />

1<br />

u<br />

0<br />

′ (x)v ′ 1<br />

(x) dx, f(v) :=<br />

0<br />

f(x)v(x) dx. (8.27)<br />

Man kann einfach zeigen (über die Friedrichs-Ungleichung im Beweis von Lemma 8.15), daß<br />

durch die Halbnorm<br />

vX := (a(v,v)) 1<br />

1<br />

2 = u<br />

0<br />

′ (x)v ′ <br />

(x) dx<br />

1<br />

2<br />

sogar eine Norm auf dem Raum X = H1 0 (0,1) erklärt wird. Hierbei sind die (verallgemeinerten)<br />

homogenen Randbedingungen wesentlich. Dann ist die Bilinearform a offenbar X-elliptisch mit<br />

der Konstanten γ = 1 und stetig mit der Konstanten M = 1. Beide Konstanten sind optimal.<br />

Wir konstruieren nun passende Unterräume Xn ⊂ X. Unter Zerlegung des Intervalls<br />

[0,1] = ∪ n+1<br />

i=1 Mi, Mi := [xi−1,xi]<br />

mit der Gitterweite hi := xi − xi−1 betrachten wir den endlich-dimensionalen Raum<br />

Xn := {v ∈ C[0,1] : v(0) = v(1) = 0, v|Mi ∈ Π1(Mi),i = 1,...,n + 1}. (8.28)<br />

Mittels stückweise linearer Lagrange’scher Basisfunktionen (finite Elemente)<br />

⎧<br />

x−xi−1 , xi−xi−1<br />

⎪⎨<br />

xi+1−x<br />

φi(x) := ,<br />

x ∈ Mi<br />

x ∈ Mi+1 , i = 1,... ,n<br />

ergibt sich<br />

⎪⎩<br />

xi+1−xi<br />

0, sonst<br />

Xn = span{φ1(x),....,φn(x)} ⊂ X. (8.29)


84 KAPITEL 8. RITZ-GALERKIN-VERFAHREN FÜR RWP<br />

Man beachte hierbei, daß die Funktionen aus Xn per Konstruktion die homogenen Dirichlet-<br />

Randbedingungen erfüllen.<br />

Lemma 8.14. Jede Funktion vn ∈ Xn ist durch die Knotenwerte vi = v(xi) eindeutig festgelegt<br />

und besitzt die Darstellung<br />

v n n<br />

= vjφj(x).<br />

Beweis: Übungsaufgabe.<br />

j=1<br />

Wir kommen nun zur Generierung des linearen Gleichungssystems: Wegen supp(φi) = (xi−1,xi+1)<br />

ist<br />

aij =<br />

1<br />

φ<br />

0<br />

′ jφ ′ i dx = 0, |i − j| ≥ 2.<br />

Für die Nichtnullelemente der Matrix A erhalten wir nach kurzer Rechnung<br />

d.h.<br />

ai,i−1 =<br />

−1<br />

xi − xi−1<br />

, ai,i =<br />

A = tridiag<br />

1<br />

xi − xi−1<br />

Für die rechte Seite des Gleichungssystems folgt<br />

fi =<br />

1<br />

0<br />

fφi dx =<br />

+<br />

1<br />

xi+1 − xi<br />

, ai,i+1 =<br />

−1<br />

xi+1 − xi<br />

<br />

− 1<br />

;<br />

hi<br />

1<br />

+<br />

hi<br />

1<br />

; −<br />

hi+1<br />

1<br />

<br />

. (8.30)<br />

hi+1<br />

xi<br />

xi−1<br />

fφi dx +<br />

xi+1<br />

xi<br />

fφi dx. (8.31)<br />

Die Koeffizienten aij sind in diesem Spezialfall exakt integrierbar. Im allgemeinen Fall interpoliert<br />

man die Daten durch Splines und/oder integriert mit passenden Quadraturformeln. Dadurch<br />

entsteht dann in der Regel ein kleiner Konsistenzfehler.<br />

Die bei der klassischen Finite-Differenzen Methode entstehende Matrix A <strong>für</strong> Problem (8.25)<br />

stimmt mit der bei stückweise linearen finiten Elementen entstehenden Matrix A im äquidistanten<br />

Fall h = hi,i = 1,...,n + 1 bis auf den Skalierungsfaktor 1<br />

h überein. Unterschiede entstehen<br />

jedoch ggf. bei der rechten Seite. Zur Lösung des linearen Gleichungssystems <strong>für</strong> die FEM können<br />

damit der Thomas-Algorithmus oder Standard-Iterationsverfahren herangezogen werden.<br />

Es verbleibt die Ableitung einer Fehlerabschätzung. Zuvor beweisen wir Interpolationsabschätzungen<br />

im Finite-Elemente-Raum Xn.<br />

Lemma 8.15. Unter der Voraussetzung u ′′ ∈ L 2 (a,b) gilt<br />

sowie<br />

inf u − wL2 (a,b) ≤ (b − a)<br />

w∈Xn<br />

2 u ′′ L2 (a,b). (8.32)<br />

inf (u − w)<br />

w∈Xn<br />

′ L2 (a,b) ≤ (b − a)u ′′ L2 (a,b). (8.33)<br />

Beweis: Für ζ ∈ C 1 [a,b] mit ζ(a) = 0 gilt ζ(x) = x<br />

a ζ′ (t)dt. Mit Ungleichung von Cauchy-<br />

Schwarz folgt<br />

|ζ(x)| 2 ≤ (b − a)ζ ′ 2 L2 (a,b) , x ∈ [a,b].<br />

Durch Integration über (a,b) folgt die sogenannte Friedrichs-Ungleichung<br />

ζ L 2 (a,b) ≤ (b − a)ζ ′ L 2 (a,b).<br />

,


8.4. FINITE-ELEMENTE-METHODE FÜR ZWEIPUNKT-RWP 85<br />

Sei zunächst u ∈ C 2 [a,b], Πhu die lineare Lagrange-Interpolierende sowie Ru := u −Πhu. Wegen<br />

der Interpolationsbedingungen ist (Ru)(a) = (Ru)(b) = 0. Dann ergibt partielle Integration<br />

b<br />

[u<br />

a<br />

′ − (Πhu) ′ ] 2 b<br />

dx =<br />

a<br />

u ′′ (Πhu − u)dx.<br />

Die Ungleichung von Cauchy-Schwarz sowie die Friedrichs-Ungleichung <strong>für</strong> ζ := Ru liefern dann<br />

(Ru) ′ 2 L 2 (a,b) ≤ u′′ L 2 (a,b)Ru L 2 (a,b) ≤ (b − a)u ′′ L 2 (a,b)(Ru) ′ L 2 (a,b),<br />

also (Ru) ′ 2 L 2 (a,b) ≤ (b − a)u′′ L 2 (a,b). Erneute Anwendung der Friedrichs-Ungleichung ergibt<br />

Ru 2 L 2 (a,b) ≤ (b − a)2 u ′′ L 2 (a,b).<br />

Damit sind die gesuchten Aussagen <strong>für</strong> u ∈ C 2 [a,b] bewiesen. Sie gelten auch noch <strong>für</strong> u ′ ∈<br />

H 1 (a,b) mit u ′′ ∈ L 2 (a,b), da der Raum C 1 (a,b) dicht in H 1 (a,b) ist. ✷<br />

Damit können wir unter Benutzung von Satz 8.12 folgende Konvergenzaussage zeigen.<br />

Satz 8.16. Für die Lösung u ∈ H 1 0 (0,1) gelte u′′ ∈ L 2 (0,1). Dann gilt <strong>für</strong> den Approximationsfehler<br />

der FEM mit stückweise linearer Lagrange-Basis<br />

Beweis: Nach Satz 8.12 gilt die Abschätzung<br />

(u − u n ) ′ L 2 (0,1) ≤ hu ′′ L 2 (0,1).<br />

u − u n H1 0 (0,1) := (u − un ) ′ L2 (0,1) ≤ inf (u − w)<br />

w∈Xn<br />

′ )L2 (0,1),<br />

denn <strong>für</strong> die Elliptizitätskonstante und Beschränktheitskonstante gilt γ = M = 1. Dann liefert<br />

Lemma 8.15 die Behauptung, indem man die Aussage über die Approximation <strong>für</strong> jedes der<br />

Teilintervalle (a,b) := Mi,i = 1,... ,n anwendet und aufsummiert. ✷<br />

Mit einem Dualitätsargument nach Aubin/ Nitsche kann man eine bessere Fehlerabschätzung<br />

in der L 2 -Norm ableiten.<br />

Satz 8.17. Unter den Voraussetzungen von Satz 8.16 gilt<br />

u − u n L 2 (0,1) ≤ Ch 2 u ′′ L 2 (0,1).<br />

Beweis: Sei zn ∈ H1 0 (0,1) verallgemeinerte Lösung des Problems<br />

Mit v = u − u n folgt<br />

a(v,z n ) = (v,u − u n ) L 2 (0,1)<br />

∀v ∈ H 1 0(0,1).<br />

a(u − u n ,z n ) = u − u n 2 L2 (0,1) . (8.34)<br />

Wegen a(v,u) = a(v,u n ) = f(v) <strong>für</strong> alle v ∈ Xn und der Symmetrie von a gilt<br />

a(v,u − u n ) = a(u − u n ,v) = 0 ∀v ∈ Xn. (8.35)<br />

Sei nun ˜z n ∈ Xn Ritz-Galerkin Lösung zu z n . Wir setzen in (8.35) v = ˜z n und ziehen dies von<br />

(8.34) ab. Dann gilt wegen der Beschränktheit von a<br />

u − u n 2 L 2 (0,1) = a(u − un ,z n − ˜z n ) ≤ (u − u n ) ′ L 2 (0,1)(z n − ˜z n ) ′ L 2 (0,1).


86 KAPITEL 8. RITZ-GALERKIN-VERFAHREN FÜR RWP<br />

Satz 8.16 ergibt<br />

u − u n 2 L 2 (0,1) ≤ Kh2 u ′′ L 2 (0,1)(z n ) ′′ L 2 (0,1).<br />

Aus der Differentialgleichung −(˜z n ) ′′ = u−u n ersieht man sofort (z n ) ′′ L 2 (0,1) ≤ u−u n L 2 (0,1)<br />

und damit die gesuchte Aussage. ✷<br />

Bemerkung 8.18. Zur Gewinnung der optimalen Fehlerabschätzung im Raum X bzw. in<br />

L 2 (0,1) muß man zusätzlich die Existenz der verallgemeinerten zweiten Ableitung u ′′ ∈ L 2 (0,1)<br />

fordern. Man vergleiche jedoch die hier verwendeten Regularitätsannahmen an die Lösung des<br />

RWP mit denen, die <strong>für</strong> die Konvergenzanalyse bei der klassischen Finite-Differenzen-Methode<br />

in Kapitel 7 gestellt wurden. ✷<br />

Die Darlegungen in diesem Abschnitt können in mehrfacher Hinsicht verallgemeinert werden:<br />

• Zunächst kann die Methode auf den Fall des RWP (8.1),(8.2) sowie <strong>für</strong> gemischte Randbedingungen<br />

erweitert werden. Die Voraussetzungen der Existenz- und Konvergenzsätze<br />

gelten zum Beispiel beim 1. RWP unter der Voraussetzung c(x) − 1<br />

2 b′ (x) ≥ 0.<br />

• Bei der Generierung des entsprechenden linearen Gleichungssystems muß man bei variablen<br />

Daten b,c,f aber numerisch integrieren.<br />

• Schließlich kann man allgemeiner global stetige und stückweise polynomiale Basisfunktionen<br />

höheren Grades verwenden.


Teil <strong>II</strong><br />

Numerische Lineare Algebra<br />

87


Kapitel 9<br />

Krylov-Unterraum-Methoden<br />

In Teil <strong>II</strong> der Vorlesung wollen wir die Kenntnisse zur Numerischen Linearen Algebra aus dem<br />

Kurs Numerische Mathematik I erweitern. Zunächst befassen wir uns im vorliegenden Kapitel<br />

mit Krylov-Unterraum-Methoden. Dies sind spezielle iterative Lösungsmethoden <strong>für</strong> lineare<br />

Gleichungssysteme<br />

Au = b (9.1)<br />

mit regulärer Koeffizientenmatrix A. Bei dieser Verfahrensklasse ist vor allem die effiziente Berechenbarkeit<br />

gewisser Matrix-Vektorprodukte (z.B. Au) wesentlich.<br />

Ihren Ursprung haben diese Methoden im Verfahren der konjugierten Gradienten (CG-Verfahren)<br />

von Hestenes und Stiefel (1952) <strong>für</strong> den Spezialfall symmetrischer und positiv definiter Matrizen.<br />

Es gibt inzwischen zahlreiche Verallgemeinerungen auf Gleichungssysteme mit nichtsymmetrischer<br />

und/oder indefiniter Matrix A. Einen guten Überblick findet man in den Lehrbüchern<br />

von A. Greenbaum [7] oder von Y. Saad [19].<br />

9.1 Krylov-Unterräume<br />

Iterationsverfahren vom Krylov-Typ basieren auf der Konstruktion von Teilräumen des R n ,<br />

die der Matrix A angepaßt sind.<br />

Definition 9.1. Für eine gegebene Matrix A ∈ R n×n und einen Vektor v ∈ R n \ {0} wird ein<br />

Krylov-Unterraum definiert durch<br />

Kk(A,v) := span{v,Av,... ,A k−1 v} = {p(A)v : p ∈ Pk−1}. (9.2)<br />

Sind keine Mißverständnisse möglich, schreiben wir auch Kk := Kk(A,v).<br />

Sei u0 eine Näherung an die Lösung des Gleichungssystems (9.1). Dann gilt <strong>für</strong> das Start-<br />

Residuum bzw. den -Defekt<br />

r0 := b − Au0<br />

in der Regel r0 = 0, anderenfalls wäre u0 bereits Lösung. Bei einem Krylov-Verfahren sucht<br />

man eine geeignete Näherungslösung uk im affinen Teilraum u0 + Kk(A,r0) durch bestimmte<br />

Zusatzforderungen: Entweder soll der Defekt<br />

rk := b − Auk, k ∈ N<br />

zu Kk(A,r0) bzw. einem anderen geeigneten Krylov-Unterraum orthogonal sein (Galerkin-<br />

Bedingung) oder man minimiert rk in einer passenden Norm auf Kk(A,r0) bw. einem anderen<br />

geeigneten Krylov-Unterraum. Dann erhöht man k oder startet das Verfahren mit<br />

89


90 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

u0 := uk, r0 := b − Au0 neu (Restart). Man hofft, daß man bereits <strong>für</strong> k ≪ n eine gute<br />

Näherung erhält.<br />

Wir definieren implizit im nächsten Lemma die Dimension eines Krylov-Unterraumes. Sei dazu<br />

deg(v) := min{l : ∃p ∈ Pl \ {0} mit p(A)v = 0}. (9.3)<br />

Wir erinnern an den Satz von Caley/Hamilton: Sei p(λ) := det(A −λI) das charakteristische<br />

Polynom der Matrix A ∈ R n×n . Dann gilt p(A) = 0. Insbesondere folgt dann <strong>für</strong> beliebige<br />

Vektoren v ∈ R n , daß deg(v) ≤ n.<br />

Lemma 9.2. Gegeben seien die Matrix A ∈ R n×n und der Vektor v ∈ R n \ {0}. Weiter sei<br />

m := deg(v). Dann gelten folgende Aussagen:<br />

(i) Es gilt A(Km) ⊂ Km, d.h. der Krylov-Unterraum Km ist invariant unter A. Ferner gilt<br />

Kk = Km <strong>für</strong> alle k ≥ m.<br />

(ii) Es gilt dim (Kk) = k genau <strong>für</strong> m ≥ k.<br />

(iii) Es gilt dim (Kk) = min(k,m).<br />

Beweis: (i) Für u ∈ Km gilt per Konstruktion u = m−1<br />

i=0 αiA i v. Ferner findet man Konstanten<br />

β0,...,βm, die nicht alle gleichzeitig verschwinden, so daß<br />

m<br />

βiA i v = 0.<br />

Wegen deg(v) = m ist βm = 0. Daraus folgt nach Nullergänzung wegen<br />

Au =<br />

m<br />

i=1<br />

i=0<br />

αi−1A i v − αm−1<br />

βm<br />

= − αm−1<br />

β0v +<br />

βm<br />

m−1 <br />

i=1<br />

<br />

m<br />

βiA i v<br />

i=0<br />

αi−1 − αm−1<br />

βi<br />

βm<br />

<br />

A i v ∈ Km,<br />

daß A(Km) ⊂ Km. Für k ≥ m folgt Km ⊂ Kk.<br />

Seien nun k > m und u ∈ Kk. Dann gilt u = k−1 i=0 αiAiv. Außerdem findet man Konstanten<br />

β0,...,βm mit βm = 0 und<br />

m<br />

βiA i v = 0.<br />

Nullergänzung ergibt<br />

u =<br />

=<br />

k−1<br />

i=0<br />

i=0<br />

αiA i v − αk−1<br />

A<br />

βm<br />

k−m−1<br />

k−1<br />

αiA i v − αk−1<br />

βm<br />

i=0<br />

m<br />

i=0<br />

<br />

m<br />

βiA i <br />

v<br />

i=0<br />

βiA i+k−m−1 v ∈ Kk−1.<br />

Dieser Schluß kann bis zur Aussage u ∈ Km fortgeführt werden. Damit ist Teil (i) bewiesen.


9.2. ARNOLDI-VERFAHREN 91<br />

(ii) Die Vektoren {v,Av,... ,A k−1 v} bilden genau dann eine Basis von Kk, wenn <strong>für</strong> jede Menge<br />

{γ0,... ,γk−1} nicht gleichzeitig verschwindender Zahlen die Aussage<br />

k−1<br />

γiA i v = 0<br />

i=0<br />

folgt. Dies entspricht aber gerade der Bedingung, daß genau das Nullpolynom p in Pk−1 der<br />

Bedingung p(A)v = 0 genügt. Dies ist äquivalent zu m = deg(v) ≥ k.<br />

(iii) Aussage (ii) impliziert<br />

dim (Kk) = k = min(k,m), m ≥ k.<br />

Im Fall m < k liefert Teil (i) die Aussage Kk = Km, somit ist dim (Kk) = dim (Km) = m. Damit<br />

ist der Satz bewiesen. ✷<br />

9.2 Arnoldi-Verfahren<br />

Jetzt konstruieren wir ein Orthonormalsystem (ONS) <strong>für</strong> den Krylov-Unterraum<br />

Kk := span{v,Av,... ,A k−1 v},<br />

wobei wir k ≪ n annehmen wollen. Wir betrachten das folgende modifizierte Gram-Schmidt-<br />

Verfahren. Es heißt in der aktuellen Literatur auch<br />

Arnoldi-Verfahren bzw. Modifiziertes Gram-Schmidt-Verfahren<br />

(1) Eingabegrößen: A ∈ R n×n , v ∈ R n \ {0} sowie k ∈ N.<br />

(2) Berechne q1 := v/v2.<br />

(3) Für j = 1,... ,k:<br />

– w := Aqj<br />

– Für i = 1,... ,j:<br />

∗ hij := q T i w<br />

∗ w := w − hijqi.<br />

– hj+1,j := w2<br />

– Falls hj+1,j = 0, dann: STOP.<br />

– qj+1 := w/hj+1,j.<br />

(4) Ausgabegrößen: Ohne vorherigen Abbruch erhält man die Matrizen<br />

und<br />

⎛<br />

⎜<br />

˜Hk<br />

⎜<br />

:= ⎜<br />

⎝<br />

Qk := ( q1 · · · qk ) ∈ R n×k , (9.4)<br />

h11 h12 · · · · · · h1k<br />

h21 h22<br />

. ..<br />

. .. h2k<br />

. ..<br />

. ..<br />

. ..<br />

.<br />

. .. hk−1,k<br />

hk,k−1 hk,k<br />

hk+1,k<br />

⎞<br />

⎟ ∈ R<br />

⎟<br />

⎠<br />

(k+1)×k . (9.5)


92 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

Mit Hk ∈ R k×k bezeichnen wir die Hessenberg-Matrix, die aus ˜ Hk durch Streichen der<br />

letzten Zeile entsteht. Ferner ermittelt man auch den Vektor qk+1 ∈ R n . Damit ist auch<br />

die Matrix Qk+1 := ( Qk qk+1 ) wohldefiniert.<br />

Die Eigenschaften der im Verfahren erzeugten Matrizen fassen wir zusammen im<br />

Lemma 9.3. Das oben beschriebene Arnoldi-Verfahren breche nicht vorzeitig ab. Dann gelten<br />

folgende Aussagen:<br />

(i) Die Spalten q1,... ,qk von Qk bilden eine Orthonormalbasis von Kk.<br />

(ii) Es gilt AQk = Qk+1 ˜ Hk sowie Q T k AQk = Hk.<br />

Beweis: (i) Mittels vollständiger Induktion nach j beweisen wir, daß {q1,...,qj} mit j =<br />

1,... k + 1 ein ONS bildet. Der Induktionsanfang <strong>für</strong> j = 1 ist wegen q1 := v/v2 offenbar<br />

erfüllt.<br />

Sei {q1,...,qj} ein ONS. Per Konstruktion ist qj+12 = 1. Zu zeigen ist noch q T l qj+1 = 0 <strong>für</strong><br />

l = 1,... j. Dazu notieren wir die Berechnungsvorschrift <strong>für</strong> qj+1 wie folgt:<br />

• w (0) := Aqj.<br />

• Für i = 1,... ,j: w (i) := w (i−1) − q T i w(i−1) qi.<br />

• qj+1 := w (j) /w (j) 2.<br />

Hieraus folgt <strong>für</strong> l = 1,... ,j mit der Induktionsvoraussetzung q T l qj = δlj, daß<br />

q T l w(j) = q T l w(j−1) − q T j w(j−1) q T l qj = q T l w(j−1) − q T j w(j−1) δlj.<br />

Damit ist q T l w(j) = 0 <strong>für</strong> l = j, ferner gilt q T l w(j) = q T l w(j−1) <strong>für</strong> l < j.<br />

Nun schließen wir analog weiter wegen<br />

q T l w(j−1) = q T l w(j−2) − q T j−1 w(j−2) q T l qj−1 = q T l w(j−2) − q T j−1 w(j−2) δl,j−1.<br />

Diese Prozedur kann weitergeführt werden. Man erhält, daß w (j) und damit qj+1 orthogonal zu<br />

q1,...,qj ist. Daher ist {q1,... ,qj+1} ein ONS.<br />

Wir zeigen, daß Kk = span{q1,... ,qk}. Hierzu wird durch vollständige Induktion nach j bewiesen,<br />

daß mit geeignetem Polynom pj−1 ∈ Pj−1 gilt qj = pj−1(A)v. Der Induktionsanfang <strong>für</strong><br />

j = 1 folgt wegen q1 = v/v2 mit p0(t) := 1/v2.<br />

Für den Induktionsschritt sehen wir mit der Festsetzung des Polynoms pj ∈ Pj mittels<br />

daß<br />

qj+1 =<br />

=<br />

pj(t) := 1<br />

<br />

tpj−1(t) −<br />

w2<br />

j<br />

<br />

hijpi−1(t)<br />

i=1<br />

<br />

j<br />

<br />

w 1<br />

= Aqj − hijqi<br />

w2 w2 i=1<br />

<br />

j<br />

<br />

1<br />

Apj−1(A)v − hijpi−1(A)v<br />

w2<br />

i=1<br />

= pj(A)v.


9.3. FOM-VERFAHREN 93<br />

Hieraus folgt span{q1,... ,qk} ⊂ Kk. Per Konstruktion ist {q1,... ,qk} ONS von Kk.<br />

(ii) Wir notieren zuerst<br />

j+1<br />

<br />

AQkej = Aqj = hijqi = Qk+1 ˜ Hkej, j = 1,... ,k.<br />

i=1<br />

Damit ist AQk = Qk+1 ˜ Hk, folglich auch QT k AQk = QT k Qk+1 ˜ Hk. Es bleibt zu zeigen, daß<br />

QT k Qk+1 ˜ Hk = Hk ist. Dies folgt aber wegen<br />

Q T k Qk+1 ˜ Hk = Q T k ( Qk qk+1 )<br />

<br />

Hk<br />

hk+1,ke T k<br />

<br />

<br />

= ( I 0 )<br />

Hk<br />

hk+1,ke T k<br />

<br />

= Hk.<br />

Daraus ergibt sich die noch fehlende Aussage Q T k AQk = Hk. ✷<br />

Notwendige und hinreichende Abbruchbedingungen beim Arnoldi-Verfahren gibt<br />

Lemma 9.4. Das Arnoldi-Verfahren bricht im Schritt j genau dann ab, wenn deg(v) = j.<br />

Dann ist Kj ein unter A invarianter Unterraum.<br />

Beweis: Gelte deg(v) = j. Nach Lemma 9.2 hat man dim(Kj) = j, das Arnoldi-Verfahren<br />

kann also nicht vor dem Schritt j abgebrochen sein. Es bricht jedoch zwingend im Schrit j ab.<br />

Sonst könnte der normierte und zu q1,...,qj orthogonale Vektor qj+1 ermittelt werden. Dann<br />

wäre im Widerspruch zu Aussage (iii) von Lemma 9.2 dim (Kj+1) = j + 1.<br />

Wir nehmen nun an, daß das Arnoldi-Verfahren im Schritt j abbricht. Nach Definition des<br />

Grades wäre dann deg(v) ≤ j. Tatsächlich ist deg(v) = j, denn sonst wäre der Algorithmus<br />

schon in einem früheren Schritt abgebrochen. ✷<br />

9.3 FOM-Verfahren<br />

Zur Näherungslösung des linearen Systems Au = b mit regulärer Matrix A ∈ R n×n und b ∈ R n<br />

wird zu einer Startlösung u0 ∈ R n der Defekt r0 := b −Au0 berechnet. Der zugehörige Krylov-<br />

Unterraum ist<br />

Kk := Kk(A,r0) = span{r0,Ar0,... ,A k−1 r0}.<br />

Das hier darzustellende FOM-Verfahren bestimmt eine Näherung uk ∈ u0 + Kk so, daß<br />

b − Auk ⊥ Kk.<br />

Es basiert auf dem folgenden technischen Resultat.<br />

Lemma 9.5. Sei dim (Kk) = k. Mit dem Arnoldi-Verfahren seien die Matrix Qk = (q1 · · · qk) ∈<br />

R n×k und die obere Hessenberg-Matrix Hk ∈ R k×k mit<br />

Q T k Qk = I, Kk = span{q1,... ,qk}, Q T k AQk = Hk<br />

ermittelt worden, insbesondere ist q1 = r0/r02. Ferner sei Hk nichtsingulär. Dann gelten <strong>für</strong><br />

den Vektor<br />

uk := u0 + QkH −1<br />

k (r02e1) (9.6)<br />

die Aussagen uk ∈ u0 + Kk und b − Auk ⊥ Kk.<br />

Beweis: Die Spalten von Qk bilden nach Lemma 9.3 (i) eine Basis des Krylov-Unterraums<br />

Kk. Daher ist uk ∈ u0 + Kk.


94 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

Da {q1,... ,qk} Basis von Kk ist, gilt b − Auk ⊥ Kk genau bei Q T k (b − Auk) = 0. Die letztere<br />

Beziehung gilt wegen<br />

Q T k (b − Auk) = Q T k r0 − Q T k<br />

−1<br />

AQkHk <br />

=I<br />

(r02e1) = Q T k r0 − r02e1<br />

= Q T k (r0 − r02Qke1) = Q T k (r0 − r02q1) = 0.<br />

Daraus folgt die Behauptung. ✷<br />

Auf Basis des Arnoldi-Verfahrens erhält man folgendes Verfahren zur Lösung von (9.1):<br />

”Full Orthogonalization Method” (FOM) Arnoldi-Verfahren<br />

(1) Berechne <strong>für</strong> die Startlösung u0 den Defekt r0 := b−Au0 sowie q1 := r0/r02. Initialisiere<br />

Hk = (hij)1≤i,j≤k := 0.<br />

(2) Für j = 1,... ,k:<br />

– w := Aqj<br />

– Für i = 1,... ,j:<br />

∗ hij := q T i w<br />

∗ w := w − hijqi.<br />

– hj+1,j := w2<br />

– Falls hj+1,j = 0, dann: Setze k := j und gehe zu Schritt (3).<br />

– qj+1 := w/hj+1,j.<br />

(3) Setze Qk := ( q1 · · · qk ) ∈ R n×k , Hk := (hij)1≤i,j≤k und berechne<br />

uk := u0 + QkH −1<br />

k (r02e1).<br />

Das im Vergleich zum Ausgangsproblems (9.1) niedrigdimensionale System<br />

Hky = r02e1, (9.7)<br />

kann mittels Givens-Rotationen (vgl. folgender Abschnitt) oder auch einem direkten Eliminationsverfahren<br />

effizient realisiert werden. Der wesentliche Aufwand des Verfahrens liegt im Schritt<br />

(2) beim Arnoldi-Verfahren in der Berechnung der Matrix-Vektorprodukte Aqj.<br />

9.4 GMRES-Verfahren<br />

Wir behandeln nun eine alternative Methode zur Lösung des Problems (9.1). Wir benutzen die<br />

Bezeichnungen und den Ansatz aus dem vorhergehenden Abschnitt. Im Unterschied zur FOM<br />

wird jetzt die neue Lösung uk ∈ u0 + Kk durch den Minimierungsansatz<br />

Minimiere b − Au2, u ∈ u0 + Kk. (9.8)<br />

Mittels der Orthonormalbasis { q1, · · · ,qk} von Kk bzw. der Matrix Qk = ( q1 · · · qk ) erhält<br />

man die äquivalente Aufgabe<br />

Minimiere J(y) := b − A(u0 + Qky)2 = r0 − AQky2, y ∈ R k . (9.9)


9.4. GMRES-VERFAHREN 95<br />

Nach Lemma 9.3 gilt AQk = Qk+1 ˜ Hk mit der aus dem Arnoldi-Verfahren bestimmten Matrix<br />

˜Hk ∈ R (k+1)×k . Für den ersten Spaltenvektor von Qk bzw. Qk+1 gilt q1 = r0/r02, damit gilt<br />

r0 − AQky = Qk+1<br />

<br />

r02e1 − ˜ <br />

Hky .<br />

Die Spalten der Matrix Qk+1 sind jedoch orthonormiert, somit ist das folgende lineare Ausgleichsproblem<br />

zu lösen:<br />

<br />

<br />

Minimiere J(y) := r02e1 − ˜ <br />

<br />

Hky<br />

, y ∈ R<br />

2 k . (9.10)<br />

Für die unreduzierte obere Hessenberg-Matrix ˜ Hk ist hj+1,j = 0 bei j = 1,... k, somit hat Hk<br />

den Rang k. Dies impliziert die eindeutige Lösbarkeit des Ausgleichsproblems.<br />

Damit ergibt sich das folgende Verfahren.<br />

”Generalized Minimum Residual Method” (GMRES):<br />

(1) Berechne <strong>für</strong> die Startlösung u0 den Defekt r0 := b − Au0 sowie q1 := r0/r02.<br />

Initialisiere<br />

:= 0.<br />

(2) Für j = 1,... ,k:<br />

– w := Aqj<br />

– Für i = 1,... ,j:<br />

∗ hij := q T i w<br />

∗ w := w − hijqi.<br />

– hj+1,j := w2<br />

˜Hk = (hij)1≤i≤k+1<br />

1≤j≤k<br />

– Falls hj+1,j = 0, dann: Setze k := j und gehe zu Schritt (3).<br />

– qj+1 := w/hj+1,j.<br />

(3) Bestimme die Lösung yk des linearen Ausgleichsproblems<br />

<br />

<br />

Minimiere J(y) := r02e1 − ˜ <br />

<br />

Hky<br />

, y ∈ R<br />

2 k .<br />

Setze anschließend uk := u0 + Qkyk mit Qk := (q1 · · · qk).<br />

Der Hauptaufwand des Verfahrens liegt wieder im Arnoldi-Prozeß in der Berechnung der<br />

Matrix-Vektorprodukte in Schritt (2). Zur effizienten Lösung des linearen Ausgleichsproblems<br />

mit der niedrigdimensionalen Hessenberg-Matrix ˜ Hk bietet sich die QR-Zerlegung mittels<br />

Givens-Rotationen an:<br />

Dabei multipliziert man die Matrix ( ˜ Hk r02e1 ) ∈ R (k+1)×(k+1) sukzessive mit den Rotationsmatrizen<br />

Gj,j+1, die sich von der Einheitsmatrix lediglich in den Positionen (j,j),(j,j + 1),(j +<br />

1,j),(j + 1,j + 1) unterscheiden, in denen sie die Werte<br />

<br />

cj sj<br />

, j = 1,... ,k (9.11)<br />

−sj cj


96 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

annehmen mit cj = cos φ, sj = sin φ. Durch Wahl des Winkels φ wird erreicht, daß in der jeweils<br />

aktuellen Matrix das an der Position (j +1,j) stehende Element <strong>für</strong> j = 1, · · · ,k annuliert wird.<br />

Somit erhält man nach k Schritten die Matrix<br />

( ˜ Rk ˜gk ) := Fk( ˜ Hk r02e1 ), Fk := Gk,k+1 · · · G12.<br />

Offenbar sind die Rotationsmatrizen und damit auch Fk orthogonal. (Hinsichtlich einer genaueren<br />

Darstellung zur Givens-Rotation sei auf Abschnitt 12.5 verwiesen.)<br />

Wir bezeichnen jetzt mit Rk ∈ Rk×k die aus ˜ Rk ∈ R (k+1)×k durch Streichen der letzten (Null-)<br />

Zeile entstehende Matrix. Analog erhält man aus ˜gk = (γi) k+1<br />

i=1 ∈ Rk+1 den Vektor gk ∈ Rk durch<br />

Weglassen der letzten Komponente.<br />

Da ˜ Hk den Rang k hat, ist Rk regulär. Dann ist die Lösung des linearen Ausgleichsproblems<br />

gegeben durch<br />

yk = R −1<br />

k gk.<br />

Wegen der Dreiecksstruktur von Rk benötigt man hier nur eine Rückwärtselimination. Ferner<br />

ist<br />

<br />

b − Auk = Qk+1 r02e1 − ˜ <br />

Hkyk = Qk+1F T k (˜gk − ˜ Rkyk) = Qk+1F T k (γk+1ek+1)<br />

und aufgrund der Orthonormierung der Spalten von Qj+1 sowie der Orthogonalität von Fk ergibt<br />

sich<br />

b − Auk2 = |γk+1|.<br />

Man kann den Vektor ˜gk = (γi)1≤i≤k+1 sehr einfach wie folgt berechnen: Wegen<br />

˜gk = Fk(r02e1) = Gk,k+1 · · · G12(r02e1)<br />

mit den Givens-Rotationen aus (9.11) erhält man γ1,... ,γk+1 aus<br />

• γ1 := r02.<br />

• Für j = 1,... ,k : γj<br />

γj+1<br />

<br />

:=<br />

cj sj<br />

−sj cj<br />

γj<br />

0<br />

Insbesondere ist γj+1 = −sjγj. Daraus ergibt sich ein Abbruchkriterium <strong>für</strong> das GMRES-<br />

Verfahren.<br />

Lemma 9.6. Bei regulärer Matrix A ∈ R n×n bricht das GMRES-Verfahren im j−ten Schritt<br />

wegen hj+1,j = 0 genau dann ab, wenn uj bereits Lösung des zu lösenden Gleichungssytems<br />

Au = b ist.<br />

Beweis: Wir nehmen an, daß hj+1,j = 0 ist. Im Verfahren wird dann k := j gesetzt. Da das<br />

zu annulierende Element bereits verschwindet, ist die letzte Givens-Rotation die Identität, d.h.<br />

sk = 0 und damit γk+1 = 0. Also ist Auk = b. Die Umkehrung wird analog gezeigt. ✷<br />

Wir wollen uns nun mit Konvergenzeigenschaften des GMRES-Verfahrens <strong>für</strong> wachsende Dimension<br />

der Krylov-Unterräume Kk(A,r0) befassen. Theoretisch würde man bei exakter Arithmetik<br />

spätestens <strong>für</strong> k = n die exakte Lösung des Systems b − Au = 0 erhalten. Da der Rechen- und<br />

Speicheraufwand des Verfahrens mit k wächst, hofft man auf Konvergenz des Residuums unter<br />

eine bestimmte Toleranz <strong>für</strong> k ≪ n. Eine praktisch wichtige Variante besteht in der Restart-<br />

Version GMRES(m). Dabei beschänkt man beim Aufbau der Arnoldi-Basis deren Dimension<br />

auf m ∈ N mit m ≪ n. Nach Berechnung der Lösungsfolge (uk) <strong>für</strong> k ≤ m setzt man dann<br />

<br />

.


9.4. GMRES-VERFAHREN 97<br />

u0 := um und startet den GMRES-Prozess neu.<br />

Wir wollen jetzt das Konvergenzverhalten der Restart-Version GMRES(m) untersuchen. Sei ũ<br />

Lösung des Gleichungssystems. Per Konstruktion ist dann<br />

Minimiere b − Au2 = A(ũ − u)2, u ∈ u0 + Kk, (9.12)<br />

also b − Auk2 ≤ b − Au02. Die Defektfolge ist also zumindest nach oben beschränkt. Für<br />

positiv definite, aber nicht notwendig symmetrische Matrizen A gilt sogar<br />

Satz 9.7. Sei A ∈ R n×n strikt positiv definit, d.h. v T Av ≥ αv 2 2 <strong>für</strong> beliebige v ∈ Rn \ {0}. Für<br />

die Näherungslösung uk des GMRES(m)-Verfahrens mit Restart-Länge m und Startwert u0 gilt<br />

b − Auk2 ≤<br />

<br />

1 − α2<br />

σ2 k/2 b − Au02, k ∈ N. (9.13)<br />

Dabei ist σ := A2. Insbesondere konvergiert das Verfahren <strong>für</strong> k → ∞ gegen die Lösung des<br />

Systems Au = b.<br />

Beweis: Für beliebiges ω ∈ R und v ∈ R n gilt<br />

Für ω = ω0 := α<br />

A 2 2<br />

(I − ωA)v 2 2 = v2 2 − 2ωvT Av + ω 2 Av 2 2 ≤ (1 − 2ωα + ω2 A 2 2 )v2 2 .<br />

folgt<br />

(I − ω0A)v ≤ qv2, q :=<br />

<br />

1 − α2<br />

A2 1<br />

2<br />

.<br />

2<br />

Für 1 ≤ k ≤ m stimmen die Näherung uk des GMRES(m)-Verfahrens und die des GMRES-<br />

Verfahrens überein. Wegen der Minimaleigenschaft der GMRES-Iterierten kann man das zugehörige<br />

Residuum vergleichen mit dem Residuum von<br />

Wegen<br />

folgt<br />

ũk = u0 + ω0<br />

j=0<br />

k−1<br />

(I − ω0A) j r0 ∈ u0 + Kk(A,r0).<br />

k−1<br />

b − Aũk = r0 − ω0A (I − ω0A) j r0<br />

j=0<br />

k−1<br />

= r0 − (I − ω0A) j k−1<br />

r0 + (I − ω0A) j+1 r0<br />

j=0<br />

j=0<br />

= r0 − r0 + (I − ω0A) k r0 = (I − ω0A) k r0<br />

b − Auk2 ≤ b − Aũk2 = (I − ω0A) k r02 ≤ q k r02.<br />

Nach dem ersten Restart, d.h. <strong>für</strong> m < k ≤ 2m gilt entsprechend<br />

b − Auk2 ≤ q k−m b − Aum2 ≤ q k−m q m r02.


98 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

Analog gilt diese Abschätzung <strong>für</strong> alle k ∈ N. Die Konvergenz des Verfahrens <strong>für</strong> k → ∞ gegen<br />

die Lösung von Au = b ergibt sich wegen u − uk = A −1 b − uk = A −1 (b − Auk) aus<br />

u − uk2 ≤ q k A −1 2r02, k ∈ N. ✷<br />

Bemerkung 9.8. (i) Die Konvergenzaussage von Satz 9.7 ist wenig hilfreich, wenn α ≪ σ :=<br />

A2 gilt. In vielen Fällen kann man jedoch die Situation durch geeignete Vorkonditionierung<br />

(vgl. folgender Abschnitt) erheblich verbessern.<br />

(ii) Die Aussage von Satz 9.7 kann verallgemeinert werden auf den Fall diagonalisierbarer<br />

Matrizen A, d.h. man findet eine Matrix X ∈ R n×n mit A = XΛX −1 und Λ := diag(λ1,...,λn).<br />

Dabei sind λ1,... ,λn die Eigenwerte von A. ✷<br />

9.5 Vorkonditionierung von Krylov-Verfahren<br />

Bemerkung 9.8 zeigt, daß die Konvergenz des GMRES-Verfahrens wesentlich vom Spektrum, d.h.<br />

den Eigenwerten der Matrix A, abhängt. Bei der Diskretisierung von Randwertaufgaben folgt<br />

<strong>für</strong> die aus der Diskretisierung resultierenden Matrizen mit der Verfeinerung des Gitters, daß<br />

limh→0 α2<br />

σ 2 = 0. Das GMRES-Verfahren konvergiert dann in der bisherigen Version zunehmend<br />

schlechter.<br />

Ein Ausweg aus dieser Situation ergibt sich durch geeignete Vorkonditionierung des Problems<br />

mit einer regulären Matrix M ∈ R n×n . Bei der Linksvorkonditionierung betrachtet man das zum<br />

Ausgangssystem (9.1) äquivalente Problem<br />

M −1 Au = M −1 b. (9.14)<br />

Dabei soll M so gewählt werden, daß einerseits M −1 A ≈ I und damit die Kondition des geänderten<br />

Systems günstiger als die von A ist. Andererseits soll (9.14) ”leicht(er)” lösbar sein als das<br />

Ausgangsproblem.<br />

Bei der Rechtsvorkonditionierung gelangt man über die Transformation u = M −1 x zum System<br />

AM −1 x = b. Man konstruiert M so, daß möglichst AM −1 ≈ I gilt. Man kann die Links- und<br />

Rechtvorkonditionierung auch kombinieren durch u = M −1<br />

2<br />

x und M −1<br />

1<br />

AM −1<br />

2<br />

−1<br />

x = M1 b.<br />

Wir besprechen exemplarisch die Vorkonditionierung des GMRES-Verfahrens. Dabei spezifizieren<br />

wir die Vorkonditionierungsmatrizen noch nicht.<br />

Algorithmus: GMRES-Verfahren mit Linksvorkonditionierung<br />

(1) Berechne <strong>für</strong> die Startlösung u0 den vorkonditionierten Defekt z0 := M −1 (b − Au0) sowie<br />

q1 := z0/z02. Initialisiere<br />

(2) Für j = 1, · · · ,k:<br />

– w := M −1 Aqj<br />

– Für i = 1, · · · ,j:<br />

∗ hij := q T i w<br />

∗ w := w − hijqi.<br />

– hj+1,j := w2<br />

˜Hk = (hij)1≤i≤k+1<br />

1≤j≤k<br />

:= 0.


9.5. VORKONDITIONIERUNG VON KRYLOV-VERFAHREN 99<br />

– Falls hj+1,j = 0, dann: Setze k := j und gehe zu Schritt (3).<br />

– qj+1 := w/hj+1,j.<br />

(3) Bestimme die Lösung yk des linearen Ausgleichsproblems<br />

<br />

<br />

Minimiere J(y) := z02e1 − ˜ <br />

<br />

Hky<br />

, y ∈ R<br />

2 k .<br />

Setze anschließend uk := u0 + Qkyk mit Qk := ( q1 · · · qk ).<br />

Hier wird eine Orthonormalbasis zum modifizierten Krylov-Raum Kk(M −1 A,z0) bestimmt.<br />

Man beachte, daß dabei der Defekt vorkonditioniert wird. Man hat jedoch nicht unmittelbar Zugriff<br />

auf den nicht vorkonditionierten Defekt. Dies gilt jedoch auch <strong>für</strong> den jetzt zu betrachtenden<br />

Fall der Rechtsvorkonditionierung, bei dem zunächst eine Orthonormalbasis <strong>für</strong> Kk(AM −1 ,r0)<br />

bestimmt wird.<br />

Algorithmus: GMRES-Verfahren mit Rechtsvorkonditionierung<br />

(1) Berechne <strong>für</strong> die Startlösung u0 den Defekt r0 := b−Au0 sowie q1 := r0/r02. Initialisiere<br />

(2) Für j = 1, · · · ,k:<br />

– w := AM −1 qj<br />

– Für i = 1, · · · ,j:<br />

∗ hij := q T i w<br />

∗ w := w − hijqi.<br />

– hj+1,j := w2<br />

˜Hk = (hij)1≤i≤k+1<br />

1≤j≤k<br />

:= 0.<br />

– Falls hj+1,j = 0, dann: Setze k := j und gehe zu Schritt (3).<br />

– qj+1 := w/hj+1,j.<br />

(3) Bestimme die Lösung yk des linearen Ausgleichsproblems<br />

<br />

<br />

Minimiere J(y) := r02e1 − ˜ <br />

<br />

Hky<br />

, y ∈ R<br />

2 k .<br />

Setze anschließend uk := u0 + M −1 Qkyk mit Qk := ( q1 · · · qk ).<br />

Der wesentliche Unterschied zwischen beiden Varianten der Vorkonditionierung soll im folgenden<br />

Lemma verdeutlicht werden.<br />

Lemma 9.9. Die Näherungslösung uk ergibt sich im Fall des von links vorkonditionierten<br />

GMRES als Lösung von<br />

Minimiere M −1 (b − Au)2, u ∈ u0 + Kk(M −1 A,z0).<br />

im Fall des von rechts vorkonditionierten GMRES als Lösung von<br />

Minimiere b − Au2, u ∈ u0 + M −1 Kk(AM −1 ,r0),


100 KAPITEL 9. KRYLOV-UNTERRAUM-METHODEN<br />

mit r0 := b − Ax0 und z0 := M −1 r0. In beiden Varianten haben die (nicht zwingend gleichen)<br />

Lösungen uk die Gestalt<br />

uk = u0 + sk−1(M −1 A)z0 = u0 + M −1 sk−1(AM −1 )r0, sk−1 ∈ Pk−1.<br />

Beweis: Die Aussage zur Linksvorkonditionierung folgt, da uk bei Anwendung von GMRES auf<br />

das System M −1 Au = M −1 b gebildet wird. Speziell findet man ein Polynom sk−1 ∈ Pk−1 mit<br />

uk = u0 + sk−1(M −1 A)z0 = u0 + sk−1(M −1 A)M −1 r0 = u0 + M −1 sk−1(AM −1 )r0.<br />

Hierbei benutzt man die durch vollständige Induktion beweisbare Aussage<br />

(M −1 A) j M −1 = M −1 (AM −1 ) j , j = 0, · · · k − 1.<br />

Im Fall der Rechtsvorkonditionierung ist uk = M −1 xk, wobei xk Lösung der Minimierungsaufgabe<br />

Minimiere b − AM −1 x2, x ∈ x0 + Kk(AM −1 ,r0)<br />

mit u0 = M −1 x0 und r0 := b−Au0 ist. Die gesuchte Aussage erhält man mittels Transformation<br />

u = M −1 x. ✷<br />

Zur Vorkonditionierung kommen zum Beispiel folgende Verfahren in Frage:<br />

• Basis-Iterationsverfahren wie Gesamt- bzw. Einzelschrittverfahren bzw. dazugehörige Relaxationsverfahren<br />

(vgl. Kurs Numerische Mathematik I),<br />

• unvollständige LU−Zerlegungen.<br />

In der Regel erhält man dadurch eine deutliche Beschleunigung gegenüber nichtvorkonditionierten<br />

Krylov-Methoden. Mitunter erreicht man auch erst dadurch Konvergenz der Iteration.


Kapitel 10<br />

Eigenwertprobleme<br />

In den nachfolgenden Kapiteln behandeln wir Eigenwertprobleme (EWP) quadratischer Matrizen.<br />

Diesem Problem begenet man oft in der Physik oder in Ingenieurwissenschaften (z.B. bei der<br />

Berechnung von Schwingungsvorgängen), aber auch in der Satistik im Kontext von Varianzanalysen.<br />

Im Kurs Numerische Mathematik I traten EWP be der Bestimmung der Konditionszahl<br />

von Matrizen auf. Dabei bauen wir auf Kenntnissenden in den Kursen AGLA und Numerische<br />

Mathematik I auf.<br />

10.1 Einführende Beispiele<br />

Definition 10.1. Eine Zahl λ ∈ C heißt Eigenwert einer Matrix A ∈ C n×n , wenn es ein<br />

Element x ∈ C n mit x = 0 und der Eigenschaft<br />

Ax = λx (10.1)<br />

gibt. x heißt Eigenvektor (oder Eigenelement) zum Eigenwert λ. Der Nullraum<br />

N(A − λI) := {x ∈ C n : Ax = λx} (10.2)<br />

wird als Eigenraum, seine Dimension als Vielfachheit des Eigenwertes bezeichnet.<br />

Zur Motivation betrachten wir zwei einfache Beispiele.<br />

Beispiel 10.2. Schwingungen einer Saite<br />

Die Wellengleichung<br />

mit den Randbedingungen<br />

∂2u 1<br />

=<br />

∂x2 c2 ∂2u ∂t2 u(0,t) = u(1,t) = 0, t ≥ 0<br />

beschreibt die vertikale Auslenkung u = u(x,t) (d.h. die Schwingungen) einer eingespannten<br />

Saite. c ist dabei die Schallgeschwindigkeit in der Saite. Mit dem zeitharmonischen Ansatz<br />

ergibt sich die Eigenwertgleichung<br />

u(x,t) = U(x)e iωt<br />

−U ′′ (x) = λU(x), λ := ω2<br />

, 0 < x < 1 (10.3)<br />

c2 101


102 KAPITEL 10. EIGENWERTPROBLEME<br />

mit den Nebenbedingungen<br />

U(0) = U(1) = 0. (10.4)<br />

Mit den Festsetzungen X = C[0,1], U = {v ∈ C 2 [0,1] : v(0) = v(1) = 0} und A : U → X<br />

mit A : v ↦→ −v ′′ erhalten wir ein Eigenwertproblem <strong>für</strong> den linearen Operator A auf dem<br />

unendlich-dimensionalen Raum X. In diesem Fall kann man das EWP relativ elementar lösen.<br />

Eine Diskretisierung des Eigenwertproblems (10.3), (10.4) in den Gitterpunkten<br />

xi = ih, i = 0,...,n + 1, h = 1<br />

n + 1<br />

und mit Approximation des Operators d2<br />

dx 2 durch den zentralen Differenzenquotienten 2. Ordnung<br />

v ′′ (xi) ≈ 1<br />

h 2 {v(xi+1) − 2v(xi) + v(xi−1)}<br />

führt mit der Bezeichnung vi = v(xi) auf das System von Differenzengleichungen<br />

−vi−1 + 2vi − vi+1 = h 2 λvi, i = 1,...,n<br />

mit v0 = vn+1 = 0 <strong>für</strong> die Näherungen vi an die Funktionswerte U(xi). In Matrixschreibweise<br />

erhält man mit<br />

Ah := 1<br />

h2tridiag(−1,2, −1),<br />

∗<br />

u = (v1,...,vn)<br />

das lineare Matrix-EWP Ahu = λu. ✷<br />

Beispiel 10.3. Lösung linearer Gleichungwsysteme<br />

Auch bei der iterativen Lösung linearer Gleichungssysteme<br />

Au = b<br />

mit regulärer Matrix A ∈ C N×N stößt man auf EWP. Wir schreiben das Problem in der folgenden<br />

äquivalenten Form<br />

Bu = (B − A)u + b<br />

mit einer zu spezifizierenden regulären Matrix B. Zur iterativen Berechnung der Lösung betrachten<br />

wir das Verfahren<br />

Bu k+1 = (B − A)u k + b<br />

mit geeignetem Startvektor u 0 ∈ C N . Notwendig und hinreichend <strong>für</strong> die Konvergenz des Verfahrens<br />

ist, daß der Spektralradius, also der betragsmäßig größte Eigenwert der Iterationsmatrix<br />

B −1 (B − A) kleiner als 1 ist.<br />

10.2 Algebraische Grundlagen<br />

Wir stellen einige elementare Grundlagen der Eigenwert-Theorie zusammen, die uns später nützlich<br />

sein werden.<br />

Lemma 10.4. Für eine Matrix A = (aik ∈ C n×n gelten folgende Aussagen:<br />

(i) Die Matrix hat mindestens einen und höchstens n Eigenwerte.<br />

(ii) Eigenvektoren zu verschiedenen Eigenwerten sind linear unabhängig.


10.2. ALGEBRAISCHE GRUNDLAGEN 103<br />

(iii) Die Eigenwerte der Matrix A und der adjungierten Matrix A ∗ = (a ∗ ik ) mit a∗ ik = aki sind<br />

zueinander konjugiert komplex.<br />

Beweis: (i): Folgerung aus dem Fundamentalsatz der Algebra <strong>für</strong> das charakteristische Polynom<br />

det(A − λI).<br />

(ii): Wir führen den Induktionsbeweis nach der Anzahl m der Eigenvektoren. Offenbar ist die<br />

Behauptung richtig <strong>für</strong> m = 1. Unter der Annahme der linearen Unabhängigkeit der Eigenvektoren<br />

zu m paarweise verschiedenen Eigenwerten sei<br />

Über den Ansatz<br />

folgt<br />

Axi = λxi, i = 1,...,m + 1, mit λi = λj, i = j.<br />

m+1 <br />

i=1<br />

m+1 <br />

i=1<br />

αixi = 0<br />

αiλixi = 0<br />

nach Multiplikation mit A. Subtraktion der beiden letzten Gleichungen liefert<br />

m<br />

αi(λi − λm+1)xi = 0.<br />

i=1<br />

Per Annahme ist αi(λi − λm+1) = 0, damit αi = 0, i = 1,...,m. Folglich ist auch αm+1 = 0.<br />

(iii): Die Aussage<br />

folgt aus<br />

(Ax,y) =<br />

=<br />

(Ax,y) = (x,A ∗ y), ∀x,y ∈ C m<br />

m<br />

(Ax)iyi =<br />

i=1<br />

m<br />

m<br />

k=1 i=1<br />

m<br />

xka ∗ ki yi =<br />

m<br />

i=1 k=1<br />

m<br />

k=1<br />

aikxkyi<br />

xkA ∗ yk = (x,A ∗ y).<br />

Die Behauptung (iii) folgt wegen det(λI − A) = det (λI − A ∗ ). ✷<br />

Eine naive Idee wäre die Bestimmung der Egenwerte von A durch Ermittlung der Nullstellen des<br />

charakteristischen Polynoms det(λI − A). Dies wäre ohnhin nur <strong>für</strong> kleine Werte von n sinnvoll.<br />

Aber selbst hierbei ist zu beachten, daß die Nullstellenbestimmung von Polynomen schlecht<br />

konditioniert und daher sehr anfällig gegenüber Rundungsfehlern ist.<br />

Im allgemeinen Fall benutzt man zur Berechnung von Eigenwerten iterative Näherungsverfahren,<br />

die wir in den folgenden Kapiteln behandeln. Eine Grundidee besteht in der Konstruktion einer<br />

Folge von Matrizen (Qn) mit<br />

Q −1<br />

n AQn → D, n → ∞,<br />

wobei die Eigenwerte von D leicht bestimmbar sind. Dabei nutzt man folgendes Resultat.<br />

Lemma 10.5. Die Eigenwerte einer Matrix A ändern sich bei einer Ähnlichkeitstransformation<br />

Q −1 AQ mit einer regulären Matrix Q nicht.


104 KAPITEL 10. EIGENWERTPROBLEME<br />

Beweis: Unter Nutzung des Multiplikationssatzes <strong>für</strong> Determinanten ergibt sich aus<br />

det(λI − A) = det(λI − A)det(Q −1 Q) = det[Q −1 (λI − A)Q] = det(λI − Q −1 AQ) (10.5)<br />

bereits die Gleichheit der Eigenwerte von A und Q −1 AQ. ✷<br />

Wir erinnern an den Begriff der unitären oder orthogonalen Matrix Q mit QQ ∗ = Q ∗ Q = I,<br />

d.h. Q ∗ = Q −1 .<br />

Lemma 10.6. (Satz von Schur)<br />

Zu jeder Matrix A existiert eine unitäre Matrix Q so, daß R := Q ∗ AQ obere Dreiecksmatrix ist.<br />

Die Darstellung A = QRQ ∗ heisst Schur--Zerlegung von A.<br />

Beweis: Sei λ Eigenwert einer Matrix An := A ∈ C n×n mit dem (o.B.d.A. orthonormierten)<br />

Eigenvektor u, d.h. (u,u) = 1. Man kann nun u (zum Beispiel unter Nutzung des Orthogonalisierungsverfahrens<br />

von Gram-Schmidt) zu einer orthonormalen Basis {u,v2,...,vn} des Raumes<br />

C n erweitern. Offenbar ist die Matrix<br />

U := (u v2 ... vn)<br />

unitär. Unter Beachtung von (u,vi) = 0, i = 2,...,n finden wir<br />

U ∗ AnU = U ∗ <br />

λ ∗<br />

(λu Anv2 ... Anvn) =<br />

0 An−1<br />

mit einer Matrix An−1 ∈ C (n−1)×(n−1) . Nun verfährt man induktiv. ✷<br />

Ene wichtige Folgerung aus dem Lemma von Schur ist, daß man die Eigenwerte der Matrix A<br />

auf der Diagonale der oberen Dreiecksmatrix R findet.<br />

10.3 Spezialfall hermitescher Matrizen<br />

Wir betrachten nun den wichtigen Fall hermitescher Matrizen, d.h. A = A ∗ . Der folgende Satz<br />

beschreibt gerade die Hauptachsentransformation hermitescher Matrizen.<br />

Lemma 10.7. Für hermitesche Matrizen A ergibt sich<br />

R := Q ∗ AQ = D := diag(λ1,...,λn). (10.6)<br />

Die Spalten der Matrix Q = (u1 ... un) sind die Eigenvektoren von A. Sie bilden ein Orthonormalsystem<br />

des C n . Ferner sind die Eigenwerte von A sämtlich reell.<br />

Beweis: Unter Benutzung von Lemma 10.6 gilt<br />

R ∗ = (Q ∗ AQ) ∗ = Q ∗ A ∗ Q ∗∗ = Q ∗ AQ = R.<br />

Also ist R Diagonalmatrix. Die Darstellung (10.6) folgt aus dem Beweis von Lemma 10.6.<br />

Aus Q ∗ AQ = D ergibt sich AQ = QD, d.h. <strong>für</strong> die Spalten in Q gilt Aui = λiui, i = 1,...,n.<br />

Die Vektoren ui sind somit die Eigenvektoren von A und formieren ein Orthonormalsystem des<br />

C n . Wegen<br />

λi = (Aui,ui) = (ui,Aui) = (Aui,ui)<br />

sind alle Eigenwerte von A reell. ✷<br />

Jetzt geben wir Charakterisierungen der Eigenwerte hermitescher Matrizen.


10.3. SPEZIALFALL HERMITESCHER MATRIZEN 105<br />

Satz 10.8. (Satz von Rayleigh)<br />

Sei A hermitesche Matrix mit den Eigenwerten λ1 ≥ λ2 ≥ ... ≥ λn und den zugehörigen orthonormalen<br />

Eigenvektoren x1,x2,...,xn. Mit den Unterräumen V1 := C n sowie<br />

gilt die Darstellung<br />

Vk := {x ∈ C n : (x,xi) = 0, i = 1,...,k − 1}, k = 2,...,n (10.7)<br />

λk = max<br />

x ∈ V k<br />

x2 = 1<br />

Beweis: Sei x ∈ Vk mit x2 = 1. Dann haben wir<br />

Daraus ergeben sich<br />

sowie<br />

Daraus folgern wir nun<br />

x =<br />

(Ax,x) =<br />

n<br />

(x,xi)xi mit<br />

i=k<br />

Ax =<br />

(Ax,x), k = 1,...,n. (10.8)<br />

n<br />

|(x,xi)| 2 = 1.<br />

i=k<br />

n<br />

λi(x,xi)xi<br />

i=k<br />

n<br />

λi|(x,xi)| 2 ≤ λk<br />

i=k<br />

sup<br />

x ∈ V k<br />

x2 = 1<br />

n<br />

|(x,xi)| 2 = λk.<br />

i=k<br />

(Ax,x) ≤ λk.<br />

Die Behauptung folgt dann mit (Axk,xk) = λk sowie xk ∈ Vk. ✷<br />

Satz 10.8 erlaubt untere Abschätzungen <strong>für</strong> den kleinsten Eigenwert. Schranken <strong>für</strong> die weiteren<br />

Eigenwerte erfordern Kenntnis der Eigenvektoren. Abhilfe schafft<br />

Satz 10.9. (Minimum-Maximum Prinzip von Courant)<br />

Sei A hermitesche Matrix mit den Eigenwerten λ1 ≥ λ2 ≥ ... ≥ λn. Dann gilt die Darstellung<br />

λk = min<br />

Uk⊂Mk<br />

max<br />

x ∈ U k<br />

x2 = 1<br />

(Ax,x), k = 1,...,n, (10.9)<br />

wobei Mk die Menge aller Unterräume Uk von C n der Dimension n + 1 − k ist.<br />

Beweis: Zunächst ist festzustellen, dass wegen der Stetigkeit der Abbildung x ↦→ (Ax,x) das<br />

in (10.9) auftretende Maximum tatsächlich existiert.<br />

Seien x1,...,xn die nach Lemma 10.7 orthonormalen Eigenvektoren zu den Eigenwerten λ1 ≥<br />

λ2 ≥ ... ≥ λn. Es wird nun gezeigt, daß zu einem Unterraum Uk stets ein Element x ∈ Uk<br />

existiert mit<br />

(x,xi) = 0, i = k + 1,...,n.<br />

Sei {φ1,...,φn+1−k} eine Basis von Uk. Mit der Basisdarstellung<br />

x =<br />

n+1−k <br />

j=1<br />

ajφj<br />

(10.10)


106 KAPITEL 10. EIGENWERTPROBLEME<br />

sind die n + 1 − k Koeffizienten a1,...,an+1−k aus dem nichttrivial lösbaren linearen Gleichungssystem<br />

n+1−k <br />

j=1<br />

aj(φj,xi) = 0, i = k + 1,...,n<br />

mit n−k Gleichungen zu bestimmen. O.B.d.A. ist <strong>für</strong> x aus (10.10) x2 = 1. Mit der Darstellung<br />

folgern wir<br />

Daraus folgt<br />

(Ax,x) =<br />

x =<br />

k<br />

(x,xj)xj<br />

j=1<br />

k<br />

λj|(x,xj)| 2 ≥ λk<br />

j=1<br />

max<br />

x ∈ U k<br />

x2 = 1<br />

k<br />

|(x,xj)| 2 = λk.<br />

j=1<br />

(Ax,x) ≥ λk.<br />

Andererseits besteht nach Satz 10.8 <strong>für</strong> Uk := {x ∈ Cn : (x,xi) = 0, i = 1,...,k − 1} die<br />

Gleichheit<br />

max (Ax,x) = λk. ✷<br />

x ∈ Uk x2 = 1<br />

10.4 Lokalisierung von Eigenwerten<br />

Wir zeigen nachfolgend einige Abschätzungen über die Lage von Eigenwerten aus den Matrixdaten.<br />

Derartige Angaben sind u.a. von Interesse, um geeignete Startwerte <strong>für</strong> Iterationsverfahren<br />

zur Bestimmung der Eigenwerte zu finden.<br />

Lemma 10.10. Seien A und B hermitesche Matrizen mit den Eigenwerten<br />

λ1(A) ≥ λ2(A) ≥ ... ≥ λn(A) und λ1(B) ≥ λ2(B) ≥ ... ≥ λn(B).<br />

Dann gilt in jeder Norm die Abschätzung<br />

Beweis: Die Cauchy-Schwarzsche Ungleichung zeigt<br />

daher<br />

|λk(A) − λk(B)| ≤ A − B, k = 1,...,n. (10.11)<br />

((A − B)x,x) ≤ (A − B)x2x2 ≤ A − B2x 2 2,<br />

(Ax,x) ≤ (Bx,x) + A − B2x 2 2 .<br />

Mit den Bezeichungen von Satz 10.9 bilden wir nacheinander <strong>für</strong> k = 1,... ,n das Supremum<br />

über x ∈ Uk zuerst auf der rechten und dann auf der linken Seite der Ungleichung. Dann bilden<br />

wir das Infimum über Uk ⊂ Mk auf der linken und dann auf der rechten Seite. Satz 10.9 ergibt<br />

dann<br />

λk(A) ≤ λk(B) + A − B2, k = 1,...,n<br />

und nach Vertauschung von A und B<br />

λk(B) ≤ λk(A) + A − B2, k = 1,...,n


10.4. LOKALISIERUNG VON EIGENWERTEN 107<br />

somit<br />

|λk(A) − λk(B)| ≤ A − B2, k = 1,...,n.<br />

Die Behauptung des Lemmas folgt aus der Abschätzung <strong>für</strong> den Spektralradius ρ<br />

A − B2 = ρ(A − B) ≤ A − B.<br />

In der letzten Abschätzungskette haben wir die Sätze 4.23 und 4.24 aus dem Kurs Numerische<br />

Mathematik I benutzt. ✷<br />

Folgerung 10.11. Für die Eigenwerte λ1 ≥ λ2 ≥ ... ≥ λn einer hermiteschen Matrix A = (aik)<br />

gilt<br />

|aik| 2 , j = 1,...,n. (10.12)<br />

Dabei ist a ,<br />

derart, daß a ,<br />

11<br />

|λj − a ,<br />

jj |2 ≤ <br />

i, k<br />

i = k<br />

11 ,...,a, nn eine geeignete Permutation der Hauptdiagonalelemente a11,...,ann von A<br />

≥ a,<br />

22 ≥ ... ≥ a, nn.<br />

Beweis: Man wendet Lemma 10.10 mit B = diag(a ,<br />

ii ) und der Norm · 2 an. ✷<br />

Im Fall allgemeiner Matrizen gilt der folgende Lokalisierungssatz <strong>für</strong> Eigenwerte.<br />

Satz 10.12. (Satz von Gerschgorin)<br />

Seien A = (aik) ∈ C n×n sowie<br />

und<br />

Ki :=<br />

K ∗ i :=<br />

⎧<br />

⎪⎨<br />

λ ∈ C : |λ − aii| ≤<br />

⎪⎩<br />

⎧<br />

⎪⎨<br />

λ ∈ C : |λ − aii| ≤<br />

⎪⎩<br />

n<br />

k = 1<br />

k = i<br />

n<br />

k = 1<br />

k = i<br />

|aik|<br />

|aki|<br />

⎫<br />

⎪⎬<br />

,<br />

⎪⎭<br />

i = 1,...,n (10.13)<br />

⎫<br />

⎪⎬<br />

,<br />

⎪⎭<br />

i = 1,...,n. (10.14)<br />

Dann erhält man <strong>für</strong> alle Eigenwerte λ von A die Abschätzung<br />

<br />

n<br />

λ ∈<br />

<br />

n<br />

∩<br />

<br />

. (10.15)<br />

i=1<br />

Ki<br />

Beweis: Sei Ax = λx und x∞ = 1. Wählt man einen Index i mit |xi| = x∞ = 1, so gilt<br />

wegen<br />

n<br />

aikxk = λxi<br />

die Aussage<br />

Daraus ergibt sich<br />

k=1<br />

<br />

<br />

<br />

<br />

|λ − aii| = |(λ − aii)xi| = <br />

<br />

<br />

<br />

λ ∈<br />

n<br />

k = 1<br />

k = i<br />

i=1<br />

n<br />

Ki.<br />

i=1<br />

K ∗ i<br />

aikxk<br />

<br />

<br />

<br />

<br />

<br />

≤<br />

<br />

<br />

n<br />

k = 1<br />

k = i<br />

|aik|.


108 KAPITEL 10. EIGENWERTPROBLEME<br />

Da A ∗ nach Lemma 10.4 die konjugiert komplexen Eigenwerte der Matrix A hat, gilt auch<br />

λ ∈<br />

n<br />

K ∗ i . ✷<br />

i=1<br />

Bemerkung 10.13. Die hier angegebenen Lokalisierungsresultate können auch benutzt werden,<br />

um bei den nachfolgend zu beschreibeneden iterativen Lösungsverfahren <strong>für</strong> Eigenwerte in jedem<br />

Schritt eine a posteriori Fehlerschrake zu erhalten. Man kann dann jeweils entscheiden, ob die<br />

erzielte Genauigkeit ausreicht oder weitere Iterationsschritte erforderlich sind. ✷


Kapitel 11<br />

Verfahren der Vektoriteration<br />

Wir betrachten in den beiden folgenden Kapiteln numerische Lösungsverfahren <strong>für</strong> allgemeine<br />

(nichtsymmetrische) Eigenwertprobleme. Dabei konzentrieren wir uns vor allem auf diagonalisierbare<br />

(oder diagonalähnliche) Matrizen, d.h. es gibt eine reguläre Matrix X ∈ C n×n , so daß<br />

X −1 AX Diagonalmatrix ist. Nach Lemma 10.7 trifft dies natürlich auf hermitesche Matrizen<br />

als Spezialfall zu. Wir gehen zunächst im Kapitel 11 auf Methoden der Vektoriteration ein.<br />

Dann betrachten wir in Kapitel 12 das heute im Fall allgemeiner quadratischer Matrizen wohl<br />

wichtigste numerische Verfahren zur Eigenwertberechnung von Matrizen, das QR-Verfahren.<br />

11.1 Potenzmethode<br />

Die Potenzmethode nach von Mises (1929) erlaubt die iterative Berechnung des betragsmäßig<br />

größten Eigenwertes, der als kritischer Parameter in Anwendungen oftmals zuerst interessiert.<br />

Wir betrachten eine diagonalisierbare Matrix A nehmen an, daß ein Eigenwert die anderen<br />

betragsmäßig dominiert, d.h.<br />

|λ1| > |λ2| ≥ · · · ≥ |λn|. (11.1)<br />

Die zugehörigen Eigenvektoren x1,...,xn bilden eine Basis des C n . (Für hermitesche Matrizen<br />

folgt dies aus Lemma 10.7. Im Fall diagonalisierbarer Matrizen sei dies zur Übung empfohlen.)<br />

Bei beliebigem Startvektor v (0) ∈ C n iteriert man<br />

v (k) := A k v (0) , k ∈ N, d.h. v (k) := Av (k−1) . (11.2)<br />

Aus Stabilitätsgründen baut man bei der Implementierung jedoch eine Orthonormierung ein.<br />

Vektoriteration nach von MISES<br />

Initialisierung: A ∈ C n×n , Startvektor v (0) = n<br />

i=1 αixi ∈ C n mit α1 = 0;<br />

k = 0;<br />

repeat<br />

y (k+1) := Av (k) ;<br />

v (k+1) := y (k+1) /y (k+1) 2;<br />

k := k + 1;<br />

until stop<br />

Ergebnis: v (k) ist Näherung eines Eigenvektors zum Eigenwert λ1 und y (k) 2 ≈ |λ1|.<br />

Die von Mises-Iteration setzt natürlich nicht die Diagonalisierbarkeit von A voraus. Unter dieser<br />

109


110 KAPITEL 11. VERFAHREN DER VEKTORITERATION<br />

Voraussetzung kann man aber den folgenden Konvergenzsatz beweisen.<br />

Satz 11.1. Sei A ∈ Cn×n eine diagonalisierbare Matrix mit Eigenwerten gemäß (11.1). Ferner<br />

gelte in der Basisdarstellung des Startvektors v (0) = n i=1 αixi, daß α1 = 0. Dann ergibt sich<br />

<strong>für</strong> die Potenzmethode die Konvergenzaussage<br />

Ferner gilt<br />

dist(v (k) ,span{x1}) := min<br />

β∈C v(k) − βx12 ≤ M<br />

|y (k) 2 − |λ1|| ≤ M<br />

<br />

<br />

<br />

<br />

λ2<br />

λ1<br />

<br />

<br />

<br />

<br />

k<br />

<br />

<br />

<br />

<br />

λ2<br />

λ1<br />

<br />

<br />

<br />

<br />

k<br />

. (11.3)<br />

. (11.4)<br />

Beweis: Nach Iterationsvorschrift und Voraussetzung an den Startvektor gilt induktiv<br />

ferner<br />

Av (0) =<br />

A 2 v (0) =<br />

A k v (0) =<br />

n<br />

αiAxi =<br />

i=1<br />

n<br />

αiλiAxi =<br />

i=1<br />

n<br />

i=1<br />

.<br />

n<br />

αiλixi,<br />

i=1<br />

n<br />

i=1<br />

αiλ k i Axi = α1λ k 1<br />

.<br />

αiλ 2 i xi<br />

<br />

x1 +<br />

n<br />

k αi λi<br />

xi<br />

α1 λ1<br />

i=2<br />

v (k) = A k v (0) /A k v (0) 2 ∈ span{A k v (0) }, v (k) 2 = 1, k = 1,2,... .<br />

Sei sign(λ) := λ/|λ| <strong>für</strong> λ ∈ C \ {0}. Dann folgt (11.3) aus<br />

min<br />

β∈C v(k) <br />

<br />

A<br />

− βx12 = min <br />

β∈C <br />

kv (0)<br />

Akv (0) <br />

<br />

<br />

− βx1<br />

2 <br />

2<br />

<br />

<br />

<br />

<br />

= min sign(α1λ<br />

β∈C <br />

<br />

k x1 +<br />

1)<br />

n i=2 αi<br />

k λi<br />

xi<br />

α1 λ1<br />

x1 + n i=2 αi<br />

<br />

<br />

<br />

<br />

− βx1<br />

k <br />

λi <br />

xi2<br />

α1 λ1<br />

1<br />

≤<br />

x1 + n i=2 αi<br />

n<br />

<br />

αi k<br />

<br />

<br />

|λi|<br />

k <br />

λi α1<br />

xi2<br />

|λ1|<br />

xi2 i=2<br />

α1 λ1<br />

<br />

λ2<br />

k<br />

≤ M <br />

.<br />

λ1<br />

Hinsichtlich des Beweises <strong>für</strong> die Ausage (11.4) wird verwiesen auf [10], Satz 25.1. ✷<br />

Satz 11.1 zeigt, daß die Folge {v (k) } der ”Richtung nach gegen x1 konvergiert”. Der Skalierungsfaktor<br />

λ k 1 ist a-priori unbekannt. Dies ist unwesentlich, da der Eigenvektor x1 nur bis auf eine<br />

multiplikative Konstante bestimmt ist. Wesentlich ist lediglich die Richtung des Eigenvektors.<br />

Die Konvergenz des Verfahrens hängt natürlich vom Kontraktionsfaktor q := |λ2|/|λ1| ab. Das<br />

folgende einfache Beispiel zeigt, daß die praktische Konvergenz des Verfahrens nicht befriedigt.<br />

<br />

,<br />

2


11.2. INVERSE ITERATION MIT SHIFT-STRATEGIE 111<br />

Beispiel 11.2. Die Matrix<br />

⎛<br />

A = ⎝<br />

−4 14 0<br />

−5 13 0<br />

−1 0 2<br />

hat die Eigenwerte λ1 = 6, λ2 = 3 und λ3 = 2. Die Voraussetzungen von Satz 11.1 sind erfüllt mit<br />

dem Startvektor v (0) = (1,1,1) T . Tabelle 11.1 zeigt die lineare Konvergenz der mit der Methode<br />

Tabelle 11.1: Konvergenz der Potenzmethode <strong>für</strong> Beispiel 11.2<br />

k v (k)<br />

1<br />

v (k)<br />

2<br />

v (k)<br />

3<br />

⎞<br />

⎠<br />

λk<br />

0 1.0 1.000000 1.000000<br />

1 1.0 0.800000 0.100000 10.00000<br />

2 1.0 0.750000 -0.111000 7.200000<br />

3 1.0 0.730769 -0.188034 6.500000<br />

4 1.0 0.722200 -0.220850 6.230769<br />

5 1.0 0.718182 -0.235915 6.111000<br />

6 1.0 0.716216 -0.243095 6.054546<br />

. . . . .<br />

10 1.0 0.714405 -0.249579 6.003352<br />

11 1.0 0.714346 -0.249790 6.001675<br />

12 1.0 0.714316 -0.249895 6.000837<br />

erzeugten Folge (v (k) ) zur Näherung des dominierenden Eigenwertes λ1 = 6. Wir werden in den<br />

folgenden Abschnitten sehen, dass sich diese unbefriedigende Konvergenzgeschwindigkeit durch<br />

geeignete Modifikation des Basisverfahrens deutlich verbessern lässt. ✷<br />

Bemerkung 11.3. Die Bedingung α1 = 0, d.h. v (0) ∈ span{x2,...,xn}, stellt sich im allgemeinen<br />

Fall durch Rundungsfehler ein. ✷<br />

11.2 Inverse Iteration mit shift-Strategie<br />

Die Potenzmethode erlaubt nur die Berechnung des betragsmäßig größten Eigenwertes und eines<br />

dazugehörigen Eigenvektors. Durch eine scheinbar einfache Modifikation kann man auch die<br />

anderen Eigenwerte und Eigenvektoren ermitteln:<br />

• Bei der inversen Iteration ersetzt man die reguläre Matrix A durch A−1 . Da A−1 die Eigenwerte<br />

λ −1<br />

i , i = 1,... ,n mit den gleichen Eigenvektoren hat, konvergiert dieses Verfahren<br />

gegen den dominanten Eigenwert λ−1 n von A−1 .<br />

• Sei σ eine Näherung an einen Eigenwert λj von A und selbst aber kein Eigenwert. Dann<br />

verwendet man die inverse Iteration mit shift oder gebrochene Iteration nach Wielandt.<br />

(A − σI) −1 hat die Eigenwerte (λi − σ) −1 , i = 1,... ,n. Die Iteration approximiert dann<br />

einen Eigenvektor zu dem Eigenwert λj von A, der am nächsten zu σ liegt.<br />

Inverse Iteration mit shift nach WIELANDT<br />

Initialisierung: Näherung σ ∈ C an Eigenwert λj von A ∈ C n×n , Startvektor v (0) ∈ C n ;<br />

k = 0;<br />

repeat


112 KAPITEL 11. VERFAHREN DER VEKTORITERATION<br />

y (k+1) := (A − σI) −1 v (k) ;<br />

v (k+1) := y (k+1) /y (k+1) 2;<br />

k := k + 1;<br />

until stop<br />

Ergebnis: v (k) ist Näherung eines Eigenvektors zum Eigenwert λj.<br />

Im Unterschied zur Potenzmethode ist hier zur Berechnung von y (k+1) , d.h. in jedem Iterationsschritt,<br />

ein lineares Gleichungssystem mit der Matrix A − σI zu lösen. Dies ist natürlich teurer<br />

als die Matrix-Vektor-Multiplikationen bei der Potenzmethode. Wir wollen jedoch motivieren,<br />

warum die inverse Iteration potentiell sehr gute Konvergenzeigenschaften hat.<br />

Ausgehend von der Basisdarstellung des Startvektors erhält man analog zum Beweis von Satz<br />

11.1 die Aussagen v (k) ∈ span{(A − σI) −k v (0) } und<br />

(A − σI) −k v (0) =<br />

n<br />

i=1<br />

αi<br />

(λi − σ) k xi. (11.5)<br />

Falls der Parameter σ sehr viel näher beim Eigenwert λj als bei den restlichen Eigenwerten<br />

λi, i = j liegt, erhält man<br />

1<br />

|λi − σ| ≪<br />

1<br />

,<br />

|λj − σ|<br />

i = j. (11.6)<br />

Aus der Darstellung (11.5) ersieht man, daß der j−te Summand die übrigen Terme der rechts<br />

stehenden Summe stark dominiert. Dies bedeutet, daß v (k) eine gute Näherung <strong>für</strong> den zum<br />

Eigenwert λj gehörenden Eigenvektor ist. Die Konvergenzgeschwindigkeit des Verfahrens wird<br />

dann bestimmt durch den Kontraktionsfaktor<br />

q := max<br />

i=j<br />

|λj − σ|<br />

|λi − σ|<br />

Die Idee des shift-Verfahrens durch Wahl eines geeigneten Parameters σ werden wir auch beim<br />

QR-Verfahren im nächsten Kapitel aufgreifen.<br />

11.3 Rayleigh-Quotienten-Iteration<br />

Man kann bei der Potenzmethode bzw. der inversen (gebrochenen) Iteration eine deutliche Verbesserung<br />

der Konvergenzgeschwindigkeit <strong>für</strong> den gesuchten Eigenwert λj erreichen, wenn man<br />

ihn durch die Näherungsfolge auf Basis des sogenannten Rayleigh-Quotienten ermittelt, d.h.<br />

≪ 1.<br />

RA(v) := (Av,v)<br />

(v,v) .<br />

Seien nachfolgend λ1,...,λn die Eigenwerte von A sowie x1,...,xn ein zugehöriges Orthonormalsystem<br />

von Eigenvektoren. Das Rayleigh-Quotienten Verfahren basiert im Fall hermitescher<br />

Matrizen auf den folgenden Beobachtungen:<br />

• Die Funktion f : R → R mit f(λ) := 1<br />

eindeutiges Minimum auf R in RA(x) an, denn<br />

2 Ax − λx2 2<br />

f(λ) = λ2<br />

2 x2 2 − λx ∗ Ax + 1<br />

2 Ax2 2<br />

nimmt bei gegebenem x = 0 ihr<br />

nimmt das (eindeutige) Minimum an bei λ = RA(x). Ist also v = 0 eine brauchbare Näherung<br />

<strong>für</strong> einen Eigenvektor von A, so ist RA(v) eine gute Näherung <strong>für</strong> einen zugehörigen<br />

Eigenwert.


11.3. RAYLEIGH-QUOTIENTEN-ITERATION 113<br />

• Sei λ eine gute Näherung <strong>für</strong> einen Eigenwert von A, jedoch selbst kein Eigenwert. Ferner<br />

sei v ∈ Cn mit v2 = 1 eine Näherung <strong>für</strong> einen zugehörigen Eigenvektor. Dann ergibt<br />

sich mit<br />

v+ := (A − λI)−1v (A − λI) −1 (11.7)<br />

v2<br />

in der Regel eine verbesserte Approximation <strong>für</strong> einen normierten Eigenvektor.<br />

Sei genauer λ eine wesentliche bessere Näherung <strong>für</strong> den Eigenwert λj als <strong>für</strong> die restlichen<br />

Eigenwerte. Ferner sei v = n<br />

i=1 αixi. Dann ist<br />

v+ :=<br />

(A − λI) −1 v<br />

(A − λI) −1 v2<br />

=<br />

= sign(λj − λ)αjxj + <br />

<br />

α2 <br />

j + i=j α2 i<br />

<br />

i αi<br />

λi−λ xi<br />

[ <br />

i<br />

i=j<br />

λj−λ<br />

λi−λ<br />

α2 1<br />

i 2<br />

(λi−λ) 2]<br />

αi λj−λ<br />

|λi−λ| xi<br />

2 1<br />

2<br />

(11.8)<br />

wegen |λj − λ| ≪ |λi − λ|, i = j eine i.a. bessere Näherung <strong>für</strong> den Eigenvektor xj als v.<br />

Darauf basiert das Rayleigh-Quotienten Verfahren, bei dem zu einer aktuellen Näherung <strong>für</strong><br />

einen Eigenvektor zunächst der zugehörige Rayleigh-Quotient berechnet und danach mit diesen<br />

Daten ein Schritt der inversen Iteration ausgeführt wird.<br />

Rayleigh-Quotienten-Verfahren<br />

Initialisierung: Matrix A ∈ C n×n , Startvektor v (0) ∈ C n mit v02 = 1.;<br />

k = 0;<br />

repeat<br />

ρk := RA(vk);<br />

if A − ρkI singulär<br />

else<br />

until stop<br />

v (k+1) mit (A − ρkI)v (k+1) = 0, v (k+1)2 = 1, stop;<br />

y (k+1) := (A − ρkI) −1 v (k) ;<br />

v (k+1) := y (k+1) /y (k+1) 2;<br />

k := k + 1;<br />

Ergebnis: v (k) ist Näherung eines Eigenvektors A. ρk ist Näherung an zugehörigen Eigenwert.<br />

In jedem Iterationsschritt ist also wie bei der inversen Iteration ein lineares Gleichungssystem<br />

(A − ρkI)y (k+1) = v (k)<br />

(11.9)<br />

zu lösen. Im Unterschied zur inversen Iteration ist jedoch in jedem Iterationsschritt die Koeffizientenmatrix<br />

zu modifizieren.<br />

Die hervorragenden Eigenschaften des Verfahrens im Fall hermitescher Matrizen beschreibt der<br />

folgende lokale Konvergenzsatz.


114 KAPITEL 11. VERFAHREN DER VEKTORITERATION<br />

Satz 11.4. Durch das Rayleigh-Quotienten Verfahren <strong>für</strong> die hermitesche Matrix A ∈ C n×n<br />

werde die Folge {(v (k) ,ρk)} erzeugt, wobei {v (k) } gegen einen durch z2 = 1 normierten Eigenvektor<br />

z von A mit Eigenwert λ konvergiere. Dann konvergieren die Folge {v (k) } kubisch gegen<br />

z und die Folge {ρk} quadratisch gegen λ. Genauer gibt es Konstanten C1,C2 > 0 mit<br />

v (k+1) − z2 ≤ C1v (k) − z 3 2 , |ρk − λ| ≤ C2vk − z 2 2 .<br />

Beweis: Der Beweis ist technisch hinreichend kompliziert. Wir verweisen hierzu auf [12], S. 70<br />

ff. Eine Beweisskizze findet man bei [10], Satz 25.4. ✷<br />

Bemerkung 11.5. Man kann natürlich auch bei der Potenzmethode oder der Wielandt-<br />

Iteration eine verbesserte Näherung an den jeweiligen Eigenwert durch Benutzung des Rayleigh-<br />

Quotienten erreichen. Für hermitesche Matrizen kann im Fall der Potenzmethode folgende gegenüber<br />

(11.4) verbesserte Konvergenzaussage bewiesen werden<br />

<br />

<br />

|λ1 − ρk| ≤ M <br />

<br />

Einen Beweis findet man in [10], Korollar 25.3. ✷<br />

λ2<br />

λ1<br />

<br />

<br />

<br />

<br />

2k<br />

.


Kapitel 12<br />

QR-Verfahren <strong>für</strong> allgemeine EWP<br />

Wir behandeln nun das derzeit wohl wichtigste numerische Verfahren zur Eigenwertberechnung<br />

von Matrizen, das QR-Verfahren. Wir entwickeln zunächst die Idee des Verfahrens und beweisen<br />

die Konvergenz im einfachsten Fall. Hier betrachten wir den Fall diagonalisierbarer Matrizen.<br />

Dann gehen wir auf Fragen der effizienten Implementierung und Konvergenzbeschleunigung ein.<br />

Die Darstellung folgt teilweise der bei [10], Kap. 26-27.<br />

12.1 Basisalgorithmus des QR-Verfahrens<br />

Die QR-Zerlegung ist uns bereits aus dem Kurs Numerische Mathematik I, Kap. 3 bekannt.<br />

Beim QR-Verfahren erzeugt man auf der Basis von QR-Zerlegungen eine Folge von Ähnlichkeits-<br />

Transformationen der Matrix A. Diese konvergiert unter bestimmten Voraussetzungen gegen eine<br />

obere Dreiecksmatrix, auf deren Diagonale die Eigenwerte von A stehen.<br />

Initialisierung: A ∈ C n×n gegebene Matrix<br />

m = 0;<br />

A0 := A;<br />

repeat<br />

Am = QmRm; // QR-Zerlegung<br />

Am+1 := RmQm;<br />

m := m + 1;<br />

until stop<br />

QR-Verfahren (Basisalgorithmus)<br />

Ausgabe: Mit Qm := Q0Q1 · · · Qm−1 ist A = QmAmQ ∗ m, wobei QmAmQ ∗ m i.a. Fall gegen eine<br />

Schur-Zerlegung von A konvergiert.<br />

Das folgende Lemma zeigt, daß hierbei tatsächlich eine Folge von Ähnlichkeitstransformationen<br />

entsteht.<br />

Lemma 12.1. Für den Basisalgorithmus des QR-Verfahrens gilt <strong>für</strong> m ∈ N:<br />

Am = Q ∗ m−1 Am−1Qm−1 (12.1)<br />

Am = Q ∗ m AQm, (12.2)<br />

A m = QmRm mit Rm := Rm−1 · · · R0. (12.3)<br />

115


116 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

Beweis: (i) Aussage (12.1) folgt aus<br />

Am = Rm−1Qm−1 = Q ∗ m−1Qm−1Rm−1Qm−1 = Q ∗ m−1Am−1Qm−1.<br />

(ii) Aussage (12.2) ergibt sich aus (12.1) nach Induktion über m.<br />

(iii) Erneute Induktion über m liefert mittels (12.2)<br />

A m+1 = AA m = QmAmQ ∗ m QmRm = QmQmRmRm = Qm+1Rm+1. ✷<br />

Wir werden den aufwendigen Nachweis, dass die Folge (Am)m gegen eine obere Dreiecksmatrix<br />

konvergiert, erst im folgenden Abschnitt bringen. Wir wollen aber bereits hier diese Konvergenz<br />

unter Bezug auf Verfahren der Vektoriteration motivieren.<br />

Ein Spaltenvergleich in (12.3) zeigt<br />

A m e1 = QmRme1 = Qmr (m)<br />

11 e1 = r (m)<br />

11 q(m)<br />

1 .<br />

Dabei sind r (m)<br />

11 = (Rm)11 sowie q (m)<br />

1 der erste Spaltenvektor von Qm. Bis auf Normierung<br />

stimmen also die Vektoren q (m)<br />

1<br />

mit denen überein, die bei Anwendung der Vektoriteration mit<br />

Startwert x0 = e1 entstehen. Nach Satz 11.1 konvergiert die Folge (q (m)<br />

1 ) i.a. Fall gegen einen<br />

Eigenvektor zum betragsmäßig größten Eigenwert λ1. (Dieser Satz gilt auch ohne die bei der<br />

Potenzmethode vorgenommene Orthonormierung.) Unter Benutzung von (12.2) gilt damit <strong>für</strong><br />

hinreichend große Zahlen m<br />

d.h. es gilt<br />

Ame1 = Q ∗ mAQme1 = Q ∗ mAq(m) 1 ≈ λ1Q ∗ mq(m) 1 = λ1e1,<br />

⎛<br />

λ1<br />

⎜ 0<br />

Am ≈ ⎜<br />

⎝ .<br />

∗<br />

∗<br />

.<br />

· · ·<br />

⎞<br />

∗<br />

∗ ⎟<br />

. ⎠<br />

0 ∗ · · · ∗<br />

.<br />

Wenn A regulär ist, so entsteht <strong>für</strong> die letzte Spalte q (m)<br />

n von Qm unter Benutzung von (12.3)<br />

die Relation<br />

q (m)∗<br />

n<br />

= e ∗ nQ ∗ m = e ∗ nQ −1<br />

m = e ∗ nRmA −m = r (m)<br />

nn e ∗ nA −m .<br />

Daher ist q (m)<br />

n das Ergebnis von m Schritten der inversen Iteration zur Berechnung des betragsmäßig<br />

kleinsten Eigenwertes von A ∗ . Letzterer ist konjugiert-komplex zum betragsmäßig<br />

kleinsten Eigenwert λn von A. Nach Satz 11.1 erhalten wir somit<br />

e ∗ nAm = e ∗ nQ ∗ mAQm = q (m)<br />

n AQm = (A ∗ q (m)<br />

n ) ∗ Qm ≈ λnq (m)∗<br />

n Qm = λne ∗ n.<br />

Da die letzte Zeile von Am somit approximativ ein Vielfaches von e ∗ n<br />

mit der oberen Darstellung<br />

⎛<br />

λ1<br />

⎜ 0<br />

⎜<br />

Am ≈ ⎜ .<br />

⎝ 0<br />

∗<br />

∗<br />

.<br />

∗<br />

· · ·<br />

· · ·<br />

∗<br />

∗<br />

.<br />

∗<br />

⎞<br />

⎟ .<br />

⎟<br />

⎠<br />

0 0 · · · λn<br />

ist, erhalten wir zusammen


12.2. KONVERGENZ DES EINFACHEN QR-VERFAHRENS 117<br />

12.2 Konvergenz des einfachen QR-Verfahrens<br />

Wir zeigen nun die Konvergenz des einfachen QR-Verfahrens <strong>für</strong> den Fall, daß alle Eigenwerte<br />

paarweise verschiedenen Betrag haben. Dabei nutzen wir die Eindeutigkeit der QR-Zerlegung.<br />

Lemma 12.2. Seien A = Q1R1 = Q2R2 zwei QR-Zerlegungen einer regulären Matrix A ∈<br />

C n×n . Dann existiert eine unitäre Diagonalmatrix S mit Q1 = Q2S ∗ und R1 = SR2.<br />

. Daher muß<br />

die obere Dreiecksmatrix S := R1R −1<br />

2 unitär sein. Wegen der Orthogonalität der Spalten einer<br />

unitären Matrix ist S Diagonalmatrix. Damit ist der Beweis vollständig. ✷<br />

Beweis: Wegen der Regularität von A und damit von R2 folgt Q∗ 1Q2 = R1R −1<br />

2<br />

Satz 12.3. Sei A ∈ C n×n diagonalisierbar mit Eigenwerten<br />

|λ1| > |λ2| > ... > |λn| > 0. (12.4)<br />

Sei Λ := diag(λ1,... ,λn) die Eigenwert-Matrix und X := (x1,...,xn) die zugehörige Eigenvektor-<br />

Matrix, d.h. es ist A = XΛX −1 . Ferner existiere eine LU-Zerlegung X −1 = LU. Dann konvergieren<br />

die Matrizen Am des Basis-Verfahrens des QR-Verfahrens gegen eine obere Dreiecksmatrix.<br />

Die Diagonaleinträge (Am)ii konvergieren mindestens linear gegen die Eigenwerte λi.<br />

Beweis: (i) QR-Zerlegung von A m : Wegen der existierenden Zerlegung X −1 = LU folgt<br />

A m = (XΛX −1 ) m = XΛ m X −1 = XΛ m LU = (XΛ m LΛ −m )<br />

<br />

=:Xm<br />

Λ m U.<br />

Sei nun Xm = PmUm eine QR-Zerlegung von Xm. Wegen der Regularität von Xm ist auch die<br />

obere Dreiecksmatrix Um regulär. Neben (12.3) finden wir somit eine weitere QR-Zerlegung<br />

A m = Pm(UmΛ m U).<br />

Nach Lemma 12.2 gibt es dann eine unitäre Diagonalmatrix Sm mit<br />

Qm = PmS ∗ m, Rm = SmUmΛ m U. (12.5)<br />

(ii) Asymptotik der Matrizen Xm: Die Diagonaleinträge der Matrix L = (lij) sind gleich 1<br />

und die Einträge λi der Diagonalmatrix Λ sind der Größe nach geordnet. Dann gelten mit<br />

q := maxi=2,...,n |λi|/|λi−1| ∈ (0,1) die Aussagen<br />

sowie<br />

(Λ m LΛ −m )ij = λ m i<br />

lijλ −m<br />

j =<br />

⎧<br />

⎨<br />

⎩<br />

0, falls i < j<br />

1, falls i = j<br />

0(q m ), falls i > j<br />

Xm = XΛ m LΛ −m = X + Em, Em2 = 0(q m ), m → ∞. (12.6)<br />

(iii) Darstellung von Am: Wegen der Definition von Qm und Rm sowie wegen (12.5) haben wir<br />

und<br />

Qm = Q −1<br />

m Qm+1 = SmP −1<br />

m Pm+1S ∗ m+1<br />

Rm = Rm+1R −1<br />

m = Sm+1Um+1Λ m+1 UU −1 Λ −m U −1<br />

m S∗ −1<br />

m = Sm+1Um+1ΛUm S∗ m .


118 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

Daraus folgt<br />

Am = QmRm = SmP −1<br />

m Pm+1S ∗ −1<br />

m+1Sm+1Um+1ΛUm S∗ m<br />

= SmUmU −1<br />

m P −1<br />

m Pm+1Um+1ΛU −1<br />

m S ∗ m<br />

= SmUmX −1<br />

m Xm+1ΛU −1<br />

m S ∗ m. (12.7)<br />

(iv) Konvergenz der Matrizen Am: Wegen (12.6) ist<br />

Dann liefert (12.7)<br />

X −1<br />

m Xm+1 = (X + Em) −1 (X + Em+1) = I + Fm, Fm2 = 0(q m ).<br />

Am = SmUmΛU −1<br />

m S ∗ m + SmUmFmΛU −1<br />

m S ∗ m.<br />

Wegen Xm = PmUm und der Unitarität der Matrizen Pm und Sm ist<br />

Um2 = P ∗ m Xm2 = Xm2, U −1<br />

m 2 = X −1<br />

m 2.<br />

Für den zweiten Summanden in der letzten Formel <strong>für</strong> Am ergibt sich dann<br />

SmUmFmΛU −1<br />

m S∗ m 2 ≤ Xm2X −1<br />

m 2 |λ1| Fm2 = 0(q m ), m → ∞ (12.8)<br />

und damit die asymptotische Darstellung<br />

Am ∼ SmUmΛU −1<br />

m S ∗ m, m → ∞.<br />

Dabei ist die rechte Seite als Produkt oberer Dreieckmatrizen selbst obere Dreiecksmatrix. Dann<br />

erhalten wir<br />

= Λ, m → ∞.<br />

diag(Am) ∼ Smdiag(Um)Λ diag(Um) −1 S ∗ m<br />

Wegen (12.8) erhalten wir <strong>für</strong> den Fehler<br />

Am − SmUmΛU −1<br />

m S ∗ m2 = SmUmFmΛU −1<br />

m S ∗ m2<br />

lineare Konvergenz gegen Null. ✷<br />

Die Voraussetzung der Existenz einer LU-Zerlegung von X −1 verallgemeinert die Voraussetzung<br />

aus Satz 11.1 <strong>für</strong> die Potenzmethode, daß der Startvektor nicht eine Linearkombination der<br />

übrigen Eigenvektoren ist. Diesen Sachverhalt beschreibt das folgende Lemma.<br />

Lemma 12.4. Für die Matrix X −1 existiert genau dann eine LU-Zerlegung, wenn<br />

span{e1,... ,ek} ∩ span{xk+1,...,xn} = {0}, k = 1,... ,n − 1. (12.9)<br />

Beweis: Für k ∈ {1,... ,n − 1} gehört der Vektor x ∈ C n genau dann zu der Menge auf der<br />

linken Seite von (12.9), d.h. es gilt <strong>für</strong> Koeffizienten αj,βj ∈ C<br />

falls<br />

x =<br />

X −1 x =<br />

k<br />

αjej =<br />

j=1<br />

n<br />

j=k+1<br />

k<br />

αjX −1 ej =<br />

j=1<br />

βjxj,<br />

n<br />

j=k+1<br />

βjej.


12.3. NACHTEILE DES BASISVERFAHRENS 119<br />

Einen derartigen Vektor x = 0 findet man genau dann, wenn die k-te Hauptabschnittsdeterminante<br />

von X −1 nicht verschwindet. Die Behauptung folgt somit, da eine Matrix genau dann eine<br />

LU-Zerlegung besitzt, wenn alle Hauptabschnittsdeterminanten nicht verschwinden. ✷<br />

Bemerkungen 12.5. (i) Die technische Voraussetzung (12.9) ist nicht erforderlich. Man erhält<br />

dann unter der Voraussetzung (12.4) noch Konvergenz des QR-Verfahrens, jedoch sind die Eigenwerte<br />

auf der Hauptdiagonale nicht mehr notwendig betragsmäßig der Größe nach angeordnet.<br />

(ii) Im Falle von Eigenwerten gleichen Betrages konvergiert die Folge (Am) gegen eine obere<br />

Blockmatrix. Dabei entspricht die Größe der Blöcke gerade der Anzahl der Eigenwerte gleichen<br />

Betrages. Hinsichtlich einer genaueren Darstellung dieses allgemeineren Falles verweisen wir auf<br />

[13], Kap. 6.4. ✷<br />

12.3 Nachteile des Basisverfahrens<br />

Wir wollen zunächst diskutieren, daß die Basisvariante des QR-Verfahrens aus Abschnitt 12.1<br />

nicht effizient ist. Folgendes Beispiel zeigt, daß die Konvergenz selbst bei kleiner Dimension n<br />

unzureichend ist.<br />

Beispiel 12.6. Für die Matrix<br />

⎛<br />

A = A1 := ⎝<br />

2 −1 0<br />

−1 2 −1<br />

0 −1 2<br />

lauten die Eigenwerte mit einer Genauigkeit von 10 −5 :<br />

⎞<br />

⎠ ∈ R 3×3<br />

λ1 = 3.414214, λ2 = 2.000000, λ3 = 0.5857864.<br />

Das einfache QR-Verfahren liefert die Iterierten<br />

A2 =<br />

A3 =<br />

A4 =<br />

A5 =<br />

A6 =<br />

A7 =<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

2.8000 −0.7483 −0.0000<br />

−0.7483 2.3429 0.6389<br />

−0.0000 0.6389 0.8571<br />

3.1429 −0.5594 0.0000<br />

−0.5594 2.2484 −0.1878<br />

0.0000 −0.1878 0.6087<br />

3.3084 −0.3722 −0.0000<br />

−0.3722 2.1039 0.0522<br />

−0.0000 0.0522 0.5876<br />

3.3761 −0.2292 0.0000<br />

−0.2292 2.0380 −0.0149<br />

0.0000 −0.0149 0.5859<br />

3.4009 −0.1367 −0.0000<br />

−0.1367 2.0133 0.0043<br />

−0.0000 0.0043 0.5858<br />

3.4096 −0.0805 0.0000<br />

−0.0805 2.0046 −0.0013<br />

0.0000 −0.0013 0.5858<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />

⎠ . ✷


120 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

Neben dieser unbefriedigenden Konvergenzaussage erfordert jeder (!) Schritt des QR-Basisalgorithmus<br />

bei vollbesetzter Matrix A ∈ C n×n bis zu O(n 3 ) wesentliche Rechenoperationen. Natürlich reduziert<br />

sich diese Zahl (bei geschickter Implementierung) stark, wenn die Matrix A schwachbesetzt<br />

ist, d.h. sehr viele Nullelemente hat. Speziell sind alle iterierten Matrizen von Tridiagonalmatrizen<br />

selbst wieder Tridiagonalmatrizen. Ebenso bleibt die Form von Hessenberg-Matrizen, d.h.<br />

bei Matrizen A = (aik) mit<br />

bei der QR-Zerlegung erhalten.<br />

aik = 0, 1 ≤ k ≤ i − 2, i = 3,...,n,<br />

Man erhält eine erhebliche Senkung des Rechenaufwandes und eine Konvergenzbeschleunigung<br />

mit dem shift QR-Verfahren, das folgenden Aufbau hat:<br />

• In einem Reduktionsschritt führt man die gegebene Matrix A ∈ C n×n in eine orthogonal<br />

ähnliche obere Hessenberg-Matrix A0 über.<br />

• Für m = 0,1,...:<br />

– Bestimme einen shift-Parameter σm ∈ R.<br />

– Bestimme den orthogonalen Anteil Qm ∈ C n×n einer QR-Zerlegung Am − σmI =<br />

QmRm und berechne Am+1 := Q ∗ mAmQm.<br />

12.4 Reduktionsschritt auf Hessenberg-Form<br />

Der Reduktionsschritt auf eine orthogonal ähnliche Hessenberg-Matrix A0 erfolgt mit Hilfe<br />

von n − 2 Ähnlichkeitstransformationen mit Householder-Matrizen. Man konstruiert geeignete<br />

Householder-Matrizen P1,...,Pn−2 und transformiert A schrittweise<br />

A ↦→ A0 = P ∗ AP, P := P1 · · · Pn−2.<br />

Bei dieser abwechselnden Links- und Rechtstransformation mit Householder-Matrizen verschwinden<br />

nacheinander die Einträge unter der ersten unteren Nebendiagonalen. Bei den Rechtsmultiplikationen<br />

wird diese Struktur nicht zerstört, wie man an dem folgenden Schema <strong>für</strong> n = 5<br />

sieht. Dabei stehen • bzw. ∗ <strong>für</strong> Elemente, die im aktuellen Schritt unverändert bzw. verändert<br />

werden.<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎜<br />

A = ⎜<br />

⎝<br />

• • • • •<br />

• • • • •<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗<br />

∗ ∗ ∗<br />

• • • • •<br />

• • • • •<br />

• • • • •<br />

• • • • •<br />

• • • • •<br />

⎞<br />

⎟<br />

⎠ →·P2<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎠ →P1·<br />

⎛<br />

⎜<br />

⎝<br />

• • ∗ ∗ ∗<br />

• • ∗ ∗ ∗<br />

• ∗ ∗ ∗<br />

∗ ∗ ∗<br />

∗ ∗ ∗<br />

• • • • •<br />

* ∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

⎞<br />

⎟<br />

⎠ →P3·<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎠ →·P1<br />

⎛<br />

⎜<br />

⎝<br />

• • • • •<br />

• • • • •<br />

• • • •<br />

∗ ∗ ∗<br />

∗ ∗<br />

• ∗ ∗ ∗ ∗<br />

• ∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

∗ ∗ ∗ ∗<br />

⎞<br />

⎟<br />

⎠ →·P3<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎠ →P2·<br />

• • • ∗ ∗<br />

• • • ∗ ∗<br />

• • ∗ ∗<br />

• ∗ ∗<br />

∗ ∗<br />

Wir erinnern an folgende Eigenschaft von Householder-Matrizen, die <strong>für</strong> v ∈ C n \ {0} definiert<br />

sind durch Pv = I − 2<br />

v ∗ v vv∗ . Nachfolgend wird folgende Aussage wesentlich benutzt.<br />

⎞<br />

⎟<br />


12.4. REDUKTIONSSCHRITT AUF HESSENBERG-FORM 121<br />

Lemma 12.7. Für u ∈ Cn \ {0} sei v := 1 u1u2 (u + u2 |u1| e1) <strong>für</strong> u1 = 0 bzw. v := u<br />

u2 + e1 <strong>für</strong><br />

u1 = 0. Dann gilt<br />

Pvu = −sign(u1)u2e1, sign(u1) :=<br />

u1<br />

|u1| , u1 = 0<br />

1, u1 = 0 .<br />

Wir benutzen jetzt zur Konstruktion des Reduktionsschrittes ein Induktionsargument: Seien<br />

bereits k − 1 Householder-Matrizen P1,... ,Pk−1 bestimmt mit<br />

Pk−1 · · · P1AP1 · · · Pk−1 =<br />

Hk Bk<br />

0 ak Ck<br />

<br />

(12.10)<br />

mit einer Hessenberg-Matrix Hk ∈ C k×k , den Matrizen Bk ∈ C k×(n−k) ,Ck ∈ C (n−k)×(n−k) und<br />

dem Vektor ak ∈ C n−k . Man wählt nun Pk gemäß<br />

<br />

Ik 0<br />

Pk =<br />

0 Pk<br />

˜<br />

mit der Einheitsmatrix Ik ∈ R k×k und einer Householder-Matrix ˜ Pk, <strong>für</strong> die ˜ Pkak ein Vielfaches<br />

des ersten Einheitsvektors im C n−k ergibt. Nach Lemma 12.7 ist das gewährleistet, wenn ak = 0.<br />

Sonst setzt man ˜ Pk = In−k. Dann erhalten wir<br />

Pk · · · P1AP1 · · · Pk =<br />

=<br />

Ik 0<br />

<br />

0 ˜ Pk<br />

Hk<br />

0 ˜ Pkak<br />

Hk Bk<br />

0 ak Ck<br />

Bk ˜ Pk<br />

˜PkCk ˜ Pk<br />

<br />

.<br />

Ik 0<br />

0 ˜ Pk<br />

Dies ist gerade eine Zerlegung der Form (12.10) <strong>für</strong> k. Daher liefert der folgende Algorithmus<br />

die Transformation einer Matrix in n − 2 Schritten auf Hessenberg-Form.<br />

Initialisierung: A = (aij) ∈ C n×n .<br />

for k = 1,... ,n − 2 do<br />

n γk := j=k+1 |ajk| 2 ;<br />

if γk = 0;<br />

else<br />

end<br />

Pk = In;<br />

Reduktion auf Hessenberg-Gestalt<br />

uk := (ak+1,k + sign(ak+1,k)γk,ak+2,k,...,an,k) ∗ ;<br />

βk :=<br />

1<br />

γk(γk+|ak+1,k|)<br />

˜Pk := In−k − βkuku ∗ k ;<br />

Pk := diag (Ik, ˜ Pk);<br />

A := PkAPk;


122 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

end<br />

Ergebnis: Die Matrix A wird in n−2 Schritten mit der orthogonal ähnlichen oberen Hessenberg-<br />

Matrix P ∗ AP mit P := P1 · · · Pn−2 überschrieben.<br />

Wie beim QR-Verfahren (vgl. Kurs Numerische Mathematik I, Kap. 3) vermeidet man teure<br />

Matrix-Matrix-Multiplikationen der Hessenberg-Matrix P = I +βvv ∗ mit einer Matrix B durch<br />

geschickte Klammerung<br />

PB = B + βv(v ∗ B), BP = B + (Bv)(βv ∗ ).<br />

Die Ermittlung von ˜ PkCk ˜ Pk erfordert etwa 2(n − k) 2 wesentliche Operationen. Die Berechnung<br />

von Bk ˜ Pk benötigt etwa 2k(n − k) wesentliche Operationen. Die Komplexität des Reduktionsschritts<br />

besteht damit aus<br />

n−2 2<br />

2(n − k) + 2k(n − k) ≈<br />

k=1<br />

wesentlichen Rechenoperationen.<br />

n<br />

(2m 2 + 2mn) ≈ 2<br />

3 n3 + n 3 = 5<br />

3 n3<br />

m=1<br />

Bemerkung 12.8. Im Fall hermitescher Matrizen entsteht im Reduktionsschritt sogar eine<br />

Tridiagonalmatrix, denn eine hermitesche Hessenberg-Matrix ist tridiagonal. ✷<br />

12.5 QR-Zerlegung mit Givens-Rotationen<br />

Für die QR-Zerlegung der erhaltenen Hessenberg-Matrix benutzt man jetzt Givens-Rotationen<br />

anstelle von Householder-Matrizen. Dabei heißt eine Matrix aus Cn×n der Form<br />

⎛<br />

1<br />

⎞<br />

⎜<br />

G(j,k;c,s) = ⎜<br />

⎝<br />

. ..<br />

1<br />

c<br />

−s<br />

1<br />

. ..<br />

1<br />

s<br />

c<br />

1<br />

. ..<br />

⎟<br />

⎠<br />

Givens-Rotation, falls |c| 2 + |s| 2 = 1. In der Darstellung stehen die Einträge c,s in der j-ten<br />

Zeile und −s,c in der k-ten Zeile.<br />

Offenbar sind Givens-Rotationen unitär, denn<br />

<br />

c s c −s |c| 2 + |s| 2 0<br />

=<br />

−s c s c 0 |c| 2 + |s| 2<br />

Im wichtigsten<br />

<br />

Fall<br />

<br />

c,s ∈ R gibt es einen Winkel θ ∈ [0,2π) mit c = cos θ und s = sin θ. Die<br />

c s<br />

Matrix beschreibt eine Drehung in der Ebene R<br />

−s c<br />

2 um den Winkel θ.<br />

<br />

.<br />

1


12.5. QR-ZERLEGUNG MIT GIVENS-ROTATIONEN 123<br />

Bei einer Linksmultiplikation GA einer Matrix A ∈ C n×n bewirkt die Givens-Rotation G =<br />

G(j,k;c,s), daß die j-te bzw. k-te Zeile a ∗ j bzw. a∗ k von A durch ca∗ j +sa∗ k bzw. −sa∗ j +ca∗ k ersetzt<br />

wird. Man kann nun zu gegebenen Indizes j,k,l mit j = k und gegebener Matrix A ∈ C n×n eine<br />

Givens-Rotation G = G(j,k;c,s) finden, daß (GA)kl = 0 wird. Dies entspricht der Lösung von<br />

Eine Lösung ist c<br />

s<br />

−sajl + cakl = 0, |c| 2 + |s| 2 = 1.<br />

<br />

= giv rot(ajl,akl) :=<br />

1<br />

<br />

|ajl| 2 + |akl| 2<br />

<br />

ajl<br />

akl<br />

Zur overflow-Vermeidung verwendet man die dazu äquivalenten Formeln<br />

c = ajl/|ajl|<br />

, s =<br />

1 + |t| 2<br />

c =<br />

<br />

.<br />

t akl<br />

, t =<br />

1 + |t| 2 |ajl| , falls |ajl| ≥ |akl|,<br />

t akl/|akl| ajl<br />

, s = , t =<br />

1 + |t| 2 1 + |t| 2 |akl| , falls |ajl| < |akl|,<br />

Für eine QR-Zerlegung der Hessenberg-Matrix A (0) := A ∈ C n×n benutzen wir<br />

A (k) := G(k,k + 1;ck,sk)A (k−1) , (ck,sk) T = giv rot(A (k−1)<br />

kk ,A (k−1)<br />

k+1,k<br />

Für n = 4 verläuft dies schematisch wie folgt:<br />

⎛<br />

•<br />

⎜<br />

A = ⎜ •<br />

⎝<br />

•<br />

•<br />

•<br />

•<br />

•<br />

•<br />

⎞<br />

•<br />

• ⎟<br />

• ⎠<br />

• •<br />

→k=1<br />

⎛<br />

∗<br />

⎜<br />

⎝<br />

∗<br />

∗<br />

•<br />

∗<br />

∗<br />

•<br />

⎞<br />

∗<br />

∗ ⎟<br />

• ⎠<br />

• •<br />

→k=2<br />

⎛<br />

⎜<br />

⎝<br />

• • • •<br />

∗ ∗ ∗<br />

∗ ∗<br />

• •<br />

⎞<br />

⎟<br />

⎠ →k=3<br />

); k = 1,... ,n − 1.<br />

⎛<br />

⎜<br />

⎝<br />

• • • •<br />

• • •<br />

∗ ∗<br />

∗<br />

⎞<br />

⎟<br />

⎠ = R.<br />

Dabei kennzeichnet ∗ Elemente, die in einem Schritt verändert werden, und • die sonstigen (i.a.<br />

Fall) von Null verschiedenen Elemente.<br />

In algorithmischer Form ist folgendes auszuführen:<br />

QR-Zerlegung einer Hessenberg-Matrix mit Givens-Rotationen<br />

Initialisierung: Hessenberg-Matrix A = (ajk) ∈ C n×n ;<br />

for k = 1,... ,n − 1 do<br />

end<br />

(ck,sk) T := giv rot(akk,ak+1,k);<br />

for l = k,... ,n do<br />

<br />

akl<br />

<br />

:=<br />

end<br />

ak+1,l<br />

ck sk<br />

−sk ck<br />

akl<br />

ak+1,l<br />

Ergebnis: A wird mit der oberen Dreiecksmatrix R = G(n − 1,n;cn−1,sn−1) · · · G(1,2;c1,s1)A<br />

überschrieben.<br />

Die Anzahl von Multiplikationen <strong>für</strong> diesen Algoritmus ist etwa<br />

<br />

;<br />

n−1 <br />

4(n − k + 1) =<br />

k=1<br />

n<br />

4k ≈ 2n 2<br />

k=2


124 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

und damit um den Faktor 1<br />

3n kleiner als bei einer QR-Zerlegung mit Householder-Matrizen.<br />

Bemerkung 12.9. Im Fall einer hermiteschen Matrix entstand im Reduktionsschritt eine<br />

hermitesche Tridiagonalmatrix. Bei der Givens-Rotation kommt man dann sogar mit O(n) elementaren<br />

Operationen statt ca. O(n 2 ) aus. ✷<br />

12.6 Konvergenzbeschleunigung durch shift-Strategie<br />

Wir hatten bereits bei der inversen Iteration gesehen, daß die Konvergenz des Verfahrens erheblich<br />

mittels einer shift-Strategie beschleunigt werden kann. Man nutzt aus, daß die Eigenvektoren<br />

von A mit denen von A − σI, σ ∈ C übereinstimmen und die Eigenwerte von A − σI gerade<br />

λj −σ, j = 1,... ,n sind. Daher kann das QR-Verfahren auch auf die Matrix mit shift angewendet<br />

werden. Ferner modifiziert man den shift-Parameter eventuell in jedem Schritt. Dann gilt<br />

folgende Verallgemeinerung von Lemma 12.1. Das Resultat zeigt wieder, daß im modifizierten<br />

Algorithmus tatsächlich eine Folge von Ähnlichkeitstransformationen entsteht.<br />

Lemma 12.10. Seien A = A0 ∈ C n×n eine gegebene Matrix und σ0,σ1,... ∈ C gegebene shift-<br />

Parameter. Sind die Matrizen Am,Qm,Rm <strong>für</strong> m ∈ N0 gegeben durch<br />

Am − σmI = QmRm (QR-Zerlegung) (12.11)<br />

Am+1 = RmQm + σmI, (12.12)<br />

so gelten die Aussagen (12.1)-(12.2) aus Lemma 12.1 mit Qm := Q0 · · · Qm−1 und Rm :=<br />

Rm−1 · · · R0 sowie<br />

m<br />

(A − σkI) = Qm+1Rm+1. (12.13)<br />

k=0<br />

Beweis: Aussage (12.1) ergibt sich wegen (12.11)-(12.12) aus<br />

Am+1 = RmQm + σmI = Q ∗ m(QmRm + σmI)Qm = Q ∗ mAmQm.<br />

Aussage (12.2) folgt hieraus durch Induktion.<br />

Wir zeigen noch (12.13) durch Induktion über m. Für m = 0 ist (12.13) mit (12.11) identisch.<br />

Wenn (12.13) <strong>für</strong> m − 1 ∈ N0 gilt, so ergibt sich aus der Voraussetzung sowie (12.11) und (12.2)<br />

schließlich<br />

Qm+1Rm+1 = QmQmRmRm = Qm(Am − σmI)Rm<br />

= QmQ ∗ m AQmRm − σmQmRm<br />

= (A − σmI)QmRm =<br />

m<br />

(A − σk)I. ✷<br />

Nun wollen wir überlegen, wie man die shift-Parameter σm geeignet wählt. Nach Abschnitt 11.2<br />

folgt, daß die Basisversion des QR-Verfahrens der Wielandt-Iteration <strong>für</strong> den betragsmäßig<br />

kleinsten Eigenwert von A entspricht. Wir wollen dabei den shift-Parameter so bestimmen, daß<br />

die Wielandt-Iteration durch die wesentlich schneller konvergierende Rayleigh-Quotienten-<br />

Methode ersetzt wird. In Abschnitt 12.1 hatten wir gezeigt, daß en eine Näherung eines Ei-<br />

genvektors zum kleinsten Eigenwert λn von A ∗ m<br />

k=0<br />

ist. Der zugehörige Rayleigh-Quotient ist<br />

σm = e ∗ n Amen = (Am)nn. Man darf daher schnelle Konvergenz von (Am)nn gegen λn erwarten,<br />

wenn man σm = (Am)nn setzt.


12.6. KONVERGENZBESCHLEUNIGUNG DURCH SHIFT-STRATEGIE 125<br />

Noch günstiger ist in der Regel, wenn man den rechten unteren 2 × 2-Block von Am = (a (m)<br />

ik ),<br />

d.h.<br />

A 2×2<br />

m =<br />

<br />

a (m)<br />

n−1,n−1 a(m)<br />

n−1,n<br />

a (m)<br />

n,n−1<br />

zur Bestimmung des shift-Parameters benutzt. Man wählt σm als den Eigenwert von A2×2 m , der<br />

am nächsten bei a (m)<br />

n,n liegt. Dann konvergiert a (m)<br />

n,n in der Regel sehr schnell gegen einen Eigenwert<br />

von A und a (m)<br />

n,n−1<br />

konvergiert gegen 0, d.h.<br />

a (m)<br />

n,n<br />

⎛<br />

∗<br />

⎜<br />

Am → ⎜<br />

⎝ 0<br />

·<br />

. ..<br />

. ..<br />

· · ·<br />

. ..<br />

∗<br />

∗<br />

.<br />

.<br />

∗<br />

∗<br />

.<br />

.<br />

∗<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎟ ⎜<br />

⎟ ⎜<br />

⎟ = ⎜<br />

⎟ ⎜<br />

⎠ ⎝<br />

Bm<br />

∗<br />

.<br />

∗<br />

⎞<br />

⎟ .<br />

⎟<br />

⎠<br />

0 · · · · · · 0 λn<br />

0 · · · 0 λn<br />

Erfahrungsgemäß reichen zwei Iterationen aus, damit der Wert |a (m)<br />

n,n−1 | hinreichend klein wird.<br />

Man kann dann im weiteren Verlauf mit der kleineren Hessenberg-Matrix Bm ∈ C (n−1)×(n−1)<br />

weiter rechnen. Es findet also eine systematische Ordnungsreduktion statt. Daraus ergibt sich<br />

folgender Algorithmus.<br />

Initialisierung: Matrix A ∈ C n×n ;<br />

TOL > 0 Toleranzwert;<br />

QR-Verfahren mit shifts<br />

Reduziere A mit Householder-Transformationen auf Hessenberg-Gestalt A := U ∗ AU;<br />

for j = n,n − 1,... ,2 do<br />

end<br />

while |aj,j−1| > TOL(|ajj| + |aj−1,j−1|) do<br />

end<br />

Wähle σ als Eigenwert von<br />

aj−1,j−1 aj−1,j<br />

aj,j−1<br />

Berechne QR-Zerlegung QR = A − σI mit Givens-Rotationen;<br />

Setze A := RQ + σI;<br />

ajj<br />

<br />

,<br />

<br />

, der am nächsten zu ajj liegt;<br />

Ergebnis: A wird mit einer unitär äquivalenten oberen Dreiecksmatrix überschrieben.<br />

Bei der Implementierung sind folgende Punkte zu beachten:<br />

• Man berechnet die unitäre Matrix<br />

Q ∗ = G(n − 1,n;cn−1,sn−1) · · · G(1,2;c1,s1)<br />

aus Effizienzgründen nicht explizit. Es reicht aus, die Koeffizienten cj,sj der Givens-<br />

Rotationen zu speichern. Zur Berechnung von RQ werden Givens-Rotationen von rechts<br />

an R multipliziert. Analog zur Multiplikation von Givens-Rotationen von links realisiert<br />

man dies durch Bildung von Linearkombinationen von Spalten von R.


126 KAPITEL 12. QR-VERFAHREN FÜR ALLGEMEINE EWP<br />

• Für j < n ist die rechte untere Teilmatrix von R vom Format (n − j + 1) × (n − j + 1)<br />

bereits obere Dreiecksmatrix. Daher sind nur j−1 Givens-Rotationen <strong>für</strong> die QR-Zerlegung<br />

erforderlich.<br />

• Falls A reelle Matrix mit lediglich reellen Eigenwerten ist, kann die beschriebene Version<br />

des QR-Verfahrens bei Wahl von reellen shift-Parametern in reeller Arithmetik ausgeführt<br />

werden. Hat A Paare konjugiert-komplexer Eigenwerte, sind die shift-Parameter komplex<br />

zu wählen, um Konvergenz gegen eine obere Dreiecksmatrix zu gewährleisten. Durch einen<br />

sogenannten QR-Doppelschritt kann man jedoch auch dann die komplexe Arithmetik umgehen.<br />

Im Grenzprozeß erhält man (wie bei der reellen Jordan-Zerlegung) eine reelle Matrix<br />

mit 2 × 2-Blöcken auf der Diagonalen, deren Eigenwerte den gesuchten Paaren konjugiertkomplexer<br />

Eigenwerte von A entsprechen.


Teil <strong>II</strong>I<br />

Lineare Optimierung<br />

127


Kapitel 13<br />

Grundlagen der Optimierung<br />

In der endlich-dimensionalen (kontinuierlichen) Optimierung sucht man das Infimum einer Zielfunktion<br />

f : M → R auf einer Menge der zulässigen Punkte M ⊂ R n , d.h.<br />

Finde inf f(x). (13.1)<br />

x∈M<br />

Im Fall der Existenz sucht man einen Punkt x∗ ∈ M mit f(x∗) = infx∈M f(x). Die Menge M<br />

wird in der Regel durch Restriktionen in Gleichungs- und Ungleichungsform charakterisiert.<br />

Wir werden uns in den folgenden Kapiteln 14 und 15 vorwiegend mit linearen Optimierungsproblemen<br />

befassen. Hierbei sind sowohl die Zielfunktion als auch die Restriktionen linear. Im<br />

vorliegenden Kapitel darf die Zielfunktion noch nichtlinear sein.<br />

13.1 Definitionen. Vorbemerkungen<br />

Wir wollen zunächst die Beschreibung der Nebenbedingungen formalisieren. Seien G bzw. U<br />

disjunkte, endliche Indexmengen sowie ci : R n → R mit i ∈ G ∪ U Funktionen. Dann sei die<br />

Menge der Nebenbedingungen (Restriktionen) gegeben durch<br />

M := {x ∈ R n : ci(x) = 0, i ∈ G; ci(x) ≥ 0, i ∈ U}. (13.2)<br />

Jede Nebenbedingung kann o.B.d.A. so formuliert werden, daß auf der rechten Seite der Bedingung<br />

0 steht und bei Ungleichungsrestriktionen das ≥-Zeichen steht.<br />

Ferner kann man das Maximierungsproblem supx∈M f(x) auf ein Minimierungsproblem (12.1)<br />

umformen wegen<br />

sup f(x) = − inf<br />

x∈M x∈M [−f(x)].<br />

Im Fall M = R n , d.h. bei G∪U = ∅ nennt man (13.1) unrestringiertes Optimierungsproblem. Wir<br />

behandeln in Teil <strong>II</strong>I dieser Vorlesung lediglich (das in der Regel kompliziertere) restringierte<br />

Optimierungsproblem <strong>für</strong> affin-lineare Funktionen ci, i ∈ G ∪ U und lineare Zielfunktionen f.<br />

Nimmt eine Funktion f : M → R auf einer Menge M ∈ R n ihr Infimum auf M an, d.h. es gibt<br />

ein x ∗ ∈ M mit f(x ∗ ) = minx∈M f(x), so schreiben wir infx∈M f(x) = minx∈M f(x).<br />

Das Minimum muß nicht zwingend existieren, wie die Funktion f(x) = 1<br />

x in Verbindung mit<br />

der Menge M = [1, ∞) zeigt. Ferner kann das Infimum auch −∞ sein. Dazu betrachte man die<br />

Funktion f(x) = −x mit der Menge M = [1, ∞).<br />

Definition 13.1. Für M ⊂ R n und f : M → R heißt ein Punkt x ∈ M<br />

129


130 KAPITEL 13. GRUNDLAGEN DER OPTIMIERUNG<br />

• lokales Minimum von f in M, wenn es eine Umgebung U(x) ⊂ M mit f(x) ≤ f(y) <strong>für</strong><br />

alle y ∈ U(x) gibt,<br />

• striktes lokales Minimum von f in M, wenn sogar f(x) < f(y) <strong>für</strong> alle y ∈ U(x) \ {x} gilt,<br />

• globales Minimum von f in M, falls f(x) ≤ f(y) <strong>für</strong> alle y ∈ M.<br />

Für eine in x ∈ M differenzierbare Funktion f mit ∇f(x) = 0 heißt x stationärer Punkt von f.<br />

13.2 Optimalitätsbedingungen<br />

Wir erinnern an die Landau-Symbolik: Für normierte Räume X,Y sei U ⊂ X und x0 ∈ U. Für<br />

Funktionen f : U \ {x0} → Y und g : U \ {x0} → (0, ∞) schreibt man<br />

f(x)Y<br />

f(x) = o(g(x)), x → x0, falls lim<br />

x→x0 g(x)<br />

f(x)Y<br />

f(x) = O(g(x)), x → x0, falls lim sup<br />

x→x0 g(x)<br />

Wir wollen nun allgemeine Optimalitätsbedingungen herleiten.<br />

= 0,<br />

< ∞.<br />

Satz 13.2. (Notwendige Optimalitätsbedingungen 1. Ordnung)<br />

Seien M ⊂ R n eine offene Menge und f : M → R eine differenzierbare Funktion. Ist x ∈ M<br />

lokales Minimum von f, so gilt ∇f(x) = 0.<br />

Beweis: Sei p := −∇f(x) = 0. Wegen der Offenheit von M gibt es eine Zahl r > 0, so daß<br />

x + ǫp ∈ M <strong>für</strong> alle |ǫ| < r. Die Differenzierbarkeit von f impliziert die Taylor-Entwicklung<br />

f(x + ǫp) = f(x) + ǫp T ∇f(x) + o(ǫ) = f(x) − ǫ∇f(x) 2 2 + o(ǫ), ǫ → 0.<br />

Damit gilt f(x + ǫp) < f(x) <strong>für</strong> hinreichend kleine Werte ǫ > 0. Dies ergibt einen Widerspruch<br />

zur Voraussetzung eines Minimums im Punkt x. ✷<br />

Für eine zweimal differenzierbare Funktionen f definieren wir die Hesse-Matrix<br />

<br />

∂2 <br />

f<br />

(Hf)(x) := (x) .<br />

∂xi∂xj i,j=1,...,n<br />

Wegen der Vertauschbarkeit der Differentiationsreihenfolge ist (Hf)(x) symmetrisch.<br />

Satz 13.3. (Optimalitätsbedingungen 2. Ordnung)<br />

Seien M ⊂ R n eine offene Menge und f ∈ C 2 (M). Ferner sei x ∈ M stationärer Punkt von f.<br />

Dann gelten folgende Aussagen:<br />

(i) Hinreichende Bedingung: Ist (Hf)(x) positiv definit, d.h. y T (Hf)(x)y > 0 <strong>für</strong> alle y ∈<br />

R n \ {0}, so ist x lokales Minimum von f.<br />

(ii) Notwendige Bedingung: Ist x lokales Minimum von f, so ist (Hf)(x) positiv semi-definit,<br />

d.h. y T (Hf)(x)y ≥ 0 <strong>für</strong> alle y ∈ R n .<br />

Beweis: Für f ∈ C 2 (M) gilt die Taylor-Entwicklung<br />

f(x + h) = f(x) + h T ∇f(x) + 1<br />

2 hT (Hf)(x)h + r(h), r(h) = o(h 2 ), h → 0.


13.3. LAGRANGE-FORMALISMUS FÜR LINEARE GLEICHUNGSRESTRIKTIONEN 131<br />

Wegen ∇f(x) = 0 ist dann<br />

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

2 hT (Hf)(x)h + r(h). (13.3)<br />

Wegen der Symmetrie der Hesse-Matrix gibt es nach dem Satz über die Hauptachsentransformation<br />

(vgl. Lemma 10.7) eine orthogonale Matrix U ∈ R n×n und eine Diagonalmatrix<br />

D = diag(d1,...,dn) mit<br />

(Hf)(x) = UDU T .<br />

(i) Sei zunächst (Hf)(x) positiv definit: Mit dem j-ten Einheitsvektor ej gilt<br />

dj = e T j Dej = e T j UT UDU T Uej = (Uej) T (Hf)(x)(Uej) > 0.<br />

Dann gilt κ := min{d1,... ,dn} > 0. Mit beliebigem h ∈ R n und g := U T h ergibt die Orthogonalität<br />

von U, daß<br />

h T (Hf)(x)h = g T Dg =<br />

n<br />

i=1<br />

g 2 i di ≥ κ<br />

n<br />

i=1<br />

g 2 i = κg2 2 = κh2 2 .<br />

Wegen der letzten Ungleichung und (13.3) findet man eine Zahl ǫ > 0, so daß f(x+h)−f(x) > 0<br />

<strong>für</strong> alle h < ǫ und h = 0. Damit hat f in x ein lokales Minimum.<br />

(ii) Sei x lokales Minimum von f: Für h ∈ R n folgt aus (13.3) wegen r(ǫh) = o(ǫ 2 ) die Aussage<br />

1<br />

2 hT (Hf)(x)h = lim<br />

ǫ→0<br />

1<br />

2ǫ2(ǫh)T (Hf)(x)(ǫh)<br />

1<br />

= lim<br />

ǫ→0 ǫ2[f(x + ǫh) − f(x) − r(ǫh)]<br />

1<br />

= lim<br />

ǫ→0 ǫ2[f(x + ǫh) − f(x)].<br />

Da f in x ein lokales Minimum hat, gilt offenbar f(x + ǫh) − f(x) > 0 bei hinreichend kleinen<br />

Werten ǫ. Dann ist aber 1<br />

2 hT (Hf)(x)h ≥ 0, d.h. (Hf)(x) positiv semidefinit. ✷<br />

13.3 Lagrange-Formalismus <strong>für</strong> lineare Gleichungsrestriktionen<br />

Wir behandeln von jetzt ab Optimierungsprobleme mit (affin)-linearen Nebenbedingungen<br />

Minimiere f(x) auf M := {x ∈ R n : AGx = bG, AUx ≥ bU} (13.4)<br />

mit AG ∈ R mG×n , AU ∈ R mU ×n , bG ∈ R mG, bU ∈ R mU mit mG,mU ∈ N0. Dabei wird <strong>für</strong><br />

Vektoren x,y ∈ R k die Relation x ≤ y komponentenweise verstanden.<br />

Als Standardform der Restriktionen bezeichnet man <strong>für</strong> x ∈ R n und A ∈ R m×n , b ∈ R m <strong>für</strong><br />

m ∈ N0,n ∈ N die Darstellung:<br />

Ax = b, x ≥ 0. (13.5)<br />

Jedes Problem der Form (13.4) kann auf Standardform gebracht werden:<br />

• Man führt Schlupfvariable z ∈ R mU ein und ersetzt die Restriktionen AUx ≥ b durch<br />

AUx − z = bU, z ≥ 0.


132 KAPITEL 13. GRUNDLAGEN DER OPTIMIERUNG<br />

• Eine Vorzeichenbeschränkung der Variablen erhält man durch<br />

x + := max{x,0}, x − := max{−x,0}.<br />

Dann gilt x = x + − x − , x + ,x − ≥ 0 sowie A G/U := A G/Ux + − A G/Ux − .<br />

Man erhält dann die Restriktionen in der Form<br />

<br />

AG<br />

AU<br />

−AG<br />

−AU<br />

<br />

0<br />

−I<br />

⎛<br />

⎝<br />

⎞<br />

⎠ =<br />

x +<br />

x −<br />

z<br />

bG<br />

bU<br />

<br />

,<br />

⎛<br />

⎝<br />

x +<br />

x −<br />

z<br />

⎞<br />

⎠ ≥ 0.<br />

Lemma 13.4: Seien M0 ⊂ R n ein Untervektorraum, m0 ∈ R n sowie M := m0 + M0. Ferner<br />

seien f : R n → R differenzierbar und x∗ ein lokales Minimum von f auf M. Dann gilt<br />

∇f(x∗) ∈ M ⊥ 0 := {v ∈ Rn : v T w = 0 ∀w ∈ M0}.<br />

Beweis: Sei ∇f(x∗) ∈ M ⊥ 0 . Dann gibt es ein Element p ∈ M0 mit p T ∇f(x∗) = 0. Die skalare<br />

Funktion φ : R → M mit φ(t) := f(x∗ + tp) ist wohldefiniert mit φ ′ (0) = p T ∇f(x∗) = 0. Somit<br />

hat φ in t = 0 kein lokales Minimum im Widerspruch zur Voraussetzung über die Existenz eines<br />

lokalen Minimums von f in x∗. ✷<br />

Folgerung 13.5. Unter den Voraussetzungen von Lemma 13.4 sei<br />

M := {x ∈ R n : a T j x = bj, j = 1,... ,m}<br />

mit linear unabhängigen Vektoren a1,... ,am ∈ Rn und b1,... ,bm ∈ R. Dann existieren eindeutig<br />

Zahlen λ1,...,λm ∈ R mit<br />

m<br />

∇f(x∗) = λiai. (13.6)<br />

Beweis: Man benutzt Lemma 13.4 mit<br />

M0 := {x ∈ R n : a T j x = 0, j = 1,... ,m}, M ⊥ 0 = span{a1,... ,am}. ✷<br />

Die Zahl λj wird als Lagrange-Multiplikator zur Nebenbedingung a T j x = bj bezeichnet. Dieser<br />

Parameter ist ein Maß <strong>für</strong> die Sensitivität des Minimums gegenüber der Verletzung der<br />

zugehörigen Restriktion. Als Beispiel betrachten wir die gestörten Nebenbedingungen<br />

i=1<br />

a T 1 x = b1 + ǫ; a T j x = bj, j = 2,... ,m<br />

mit dem kleinen Parameter ǫ > 0. Für hinreichend kleines ǫ sei x∗(ǫ) eine nach ǫ differenzierbare<br />

Lösung des gestörten Optimierungsproblems. Dann gilt<br />

sowie<br />

a T j<br />

d<br />

dǫ x∗(ǫ) = δ1j<br />

d<br />

dǫ f(x∗(ǫ))|ǫ=0<br />

T d<br />

= ∇f(x∗(0))<br />

dǫ x∗|ǫ=0 =<br />

m<br />

j=1<br />

λja T j<br />

d<br />

dǫ x∗|ǫ=0 =<br />

m<br />

λjδ1j = λ1.<br />

Somit zeigt λ1 an, wie stark sich das Minimum von f ändert, wenn man b1 in der ersten Restriktion<br />

stört.<br />

j=1


13.4. KKT-BEDINGUNGEN FÜR LINEARE UNGLEICHUNGSBEDINGUNGEN 133<br />

Definition 13.6. Als Lagrange-Funktion L : R n × R m → R <strong>für</strong> das Optimierungsproblem<br />

bezeichnet man<br />

Minimiere f(x) unter den Restriktionen a T j x = bj, j = 1,... ,m<br />

L(x,λ) := f(x) −<br />

m<br />

j=1<br />

λj(a T j x − bj). (13.7)<br />

Mittels Lemma 13.4 und Folgerung 13.5 ergeben sich die Optimalitätsbedingungen erster Ordnung<br />

<strong>für</strong> die Lagrange-Funktion wie folgt.<br />

Folgerung 13.7. Unter den Voraussetzungen von Lemma 13.4 und Folgerung 13.5 existiert ein<br />

eindeutig bestimmter Vektor λ∗ ∈ R m mit<br />

d.h. (x∗,λ∗) ist stationärer Punkt von L bzw. ∇L(x∗,λ∗) = 0.<br />

∇xL(x∗,λ∗) = 0, (13.8)<br />

∇λL(x∗,λ∗) = 0, (13.9)<br />

Beweis: (13.8) ist äquivalent zu (13.6). Wegen ∂L<br />

∂λj = −(aT j x − bj) ist (13.9) äquivalent zu<br />

x∗ ∈ M. ✷.<br />

Durch Einführung der Lagrange-Multiplikatoren wird gegenüber dem ursprünglichen Optimierungsproblem<br />

einerseits die Dimension des Problems von n auf n + m reelle Variable erhöht.<br />

Andererseits entledigt man sich der Nebenbedingungen auf der (n − m)-dimensionalen Mannigfaltigkeit<br />

M durch Übergang zu einem Gleichungssystem. Man kann dann zum Beispiel direkt<br />

mit dem Newton-Verfahren arbeiten.<br />

13.4 KKT-Bedingungen <strong>für</strong> lineare Ungleichungsbedingungen<br />

Wir suchen jetzt nach Optimalitätsbedingungen, falls zusätzlich zur Situation im vorgehenden<br />

Abschnitt auch lineare Ungleichungsrestriktionen vorliegen. Wir starten mit einem Beispiel.<br />

Beispiel 13.8. Für eine differenzierbare Funktion f : R → R sowie a,b ∈ R mit a = 0 wird<br />

das skalare Problem<br />

Minimiere f(x) auf M := {x ∈ R : ax ≥ b}.<br />

betrachtet. Sei x∗ ∈ M lokales Minimum von f in M, so existiert (Begründung ?) ein Lagrange-<br />

Multiplikator s∗ ≥ 0 mit<br />

f ′ (x∗) = as∗, s∗(ax∗ − b) = 0.<br />

Im Fall ax∗ − b > 0 liegt x∗ im Inneren von M. Nach Satz 13.2 gilt f ′ (x∗) = 0. Dann sind die<br />

beiden Gleichungen mit s∗ = 0 erfüllt.<br />

Bei ax∗−b = 0 liegt x∗ auf dem Rand von M. Die Optimalitätsbedingung von x∗ impliziert dann<br />

eine Vorzeichenbeschränkung an f ′ (x∗), die durch die erste Bedingung charakterisiert wird. ✷<br />

Wir kommen nun sofort zur Verallgemeinerung dieses Resultates <strong>für</strong> Optimierungsprobleme mit<br />

linearen Nebenbedingungen<br />

Minimiere f(x) auf M := {x ∈ R n : AGx = bG, AUx ≥ bU} (13.10)<br />

mit den Bezeichnungen aus Abschnitt 13.3.


134 KAPITEL 13. GRUNDLAGEN DER OPTIMIERUNG<br />

Satz 13.9. (KKT-Bedingungen)<br />

Sei f : Rn → R differenzierbar. Ist x∗ ∈ M lokales Minimum des Optimierungsproblems (13.10),<br />

so gibt es Lagrange-Multiplikatoren λ∗ ∈ RmG und s∗ ∈ R mU<br />

+ , die die folgenden Karush-<br />

Kuhn-Tucker-Bedingungen (KKT-Bedingungen) erfüllen:<br />

∇f(x∗) = A T G λ∗ + A T U s∗<br />

(13.11)<br />

(AUx∗ − bU) T s∗ = 0. (13.12)<br />

Beweis: vgl. nächster Abschnitt. ✷<br />

Mit der Lagrange-Funktion<br />

L(x,λ,s) := f(x) − (AGx − bG) T λ − (AUx − bU) T s<br />

kann man (13.11) analog zu Folgerung 13.7 einfach notieren als<br />

∇xL(x∗,λ∗,s∗) = 0.<br />

Mit AU = (a1 · · · amU )T und bU = (b1 · · · bmU )T lauten die Ungleichungsrestriktionen in (13.10)<br />

a T i x − bi ≥ 0, i = 1,... ,mU.<br />

Für jeden zulässigen Vektor x ∈ M wird die Indexmenge U := {1,... ,mU} disjunkt zerlegt<br />

gemäß U = A(x) ∪ I(x) mit i ∈ A(x), falls a T i x − bi = 0. Ungleichungen mit Index i ∈ A(x)<br />

bzw. i ∈ I(x) = U \ A(x) heißen aktive Restriktion in x bzw. inaktive Restriktion in x.<br />

Die sogenannte Komplementaritätsbedingung (13.12) kann mit s∗ = (s1,...,smU )T notiert wer-<br />

den als <br />

i∈U<br />

(a T i x∗ − bi)si = 0.<br />

Die Lagrange-Multiplikatoren der inaktiven Ungleichungen verschwinden notwendig, da alle<br />

Summanden nichtnegativ sind. Die Umkehrung gilt auch, d.h.<br />

13.5 Farkas-Lemma<br />

(13.12) ⇐⇒ si = 0, ∀i ∈ I(x∗). (13.13)<br />

Zum Beweis der KKT-Bedingungen benötigen wir das Farkas-Lemma.<br />

Definition 13.10. Eine Teilmenge K ⊂ R n heißt Kegel, falls aus x ∈ K auch λx ∈ K <strong>für</strong> alle<br />

λ > 0 folgt.<br />

Lemma 13.11. Für a1,...,am ∈ Rm ist durch<br />

<br />

m<br />

<br />

cone {a1,... ,am} := λiai : λ1,... ,λm ≥ 0<br />

ein konvexer, abgeschlossener Kegel gegeben.<br />

i=1<br />

(13.14)<br />

Beweis: Per Definition ist K := cone {a1,... ,am} ein Kegel. Die Konvexität folgt ebenfalls<br />

aus der Definition.<br />

Zum Nachweis der Abgeschlossenheit führen wir eine Induktion über m durch. Der Induktionsanfang<br />

<strong>für</strong> m = 1 ist offenbar erfüllt. Induktionsannahme sei nun, daß jeder von weniger als m


13.5. FARKAS-LEMMA 135<br />

Vektoren erzeugte Kegel abgeschlossen ist. Sei (x (k) )k∈N eine Folge im Kegel K, die gegen einen<br />

Punkt x∗ ∈ R n konvergiert. Zu zeigen ist die Aussage x∗ ∈ K.<br />

Wegen der Definition von K in (13.14) gibt es Zahlen λ (k)<br />

i ≥ 0 mit x(k) = m i=1 λ(k)<br />

Der Unterraum V := span{a1,...,am} ist abgeschlossen. Die Folge (x (k) )k∈N liegt in V , somit<br />

ist auch x∗ ∈ V . Somit findet man Zahlen α1,... ,αm ∈ R mit x∗ = m i=1 αiai.<br />

Der Beweis wäre erledigt bei αi ≥ 0, i = 1,... ,m. Wir nehmen daher an, daß es wenigstens<br />

einen Index i ∈ {1,... ,m} mit αi < 0 gibt. Wir konstruieren nun eine Vektorfolge<br />

so daß in<br />

alle Zahlen r (k)<br />

gibt. Für<br />

ist γk ∈ [0,1], ferner ist<br />

z (k) := x (k) + γk(x∗ − x (k) ), γk ∈ [0,1],<br />

z (k) =<br />

m<br />

i=1<br />

r (k)<br />

i ai, r (k)<br />

i = λ(k)<br />

i + γk(αi − λ (k)<br />

i )<br />

i ai <strong>für</strong> k ∈ N.<br />

i nichtnegativ sind und es <strong>für</strong> jedes k ∈ N wenigstens einen Index ik mit r (k)<br />

ik<br />

γk := min<br />

r (k)<br />

i<br />

<br />

λ (k)<br />

i<br />

λ (k)<br />

i<br />

− αi<br />

Für wenigstens einen Index i = ik gilt Gleichheit.<br />

: i ∈ {1,... ,m} mit αi < 0<br />

= λ(k)<br />

i + γk(αi − λ (k)<br />

i ) ≥ 0, i = 1,... ,m.<br />

Nach Konstruktion ist z (k) ∈ K und wegen γk ∈ [0,1] gilt<br />

d.h. es folgt auch z (k) → x∗,k → ∞.<br />

z (k) − x∗2 = (1 − γk)x (k) − x∗2 → 0, k → ∞,<br />

Die Indexfolge (ik)k∈N hat wenigstens einen Häufungpunkt i∗ ∈ {1,... ,m} , d.h. man findet<br />

eine Teilfolge (ik(l))l∈N mit ik(l) = i∗ <strong>für</strong> alle l ∈ N. Dann ist r (k(l))<br />

= 0 <strong>für</strong> alle l ∈ N und daher<br />

i∗<br />

z (k(l)) ∈ K∗ := cone {ai : i = i∗}. Wegen der Induktionsvoraussetzung ergibt sich, daß x∗ als<br />

Grenzwert der Folge (zk(l) )l∈N zur Menge K∗ gehört. Wegen der Inklusion K∗ ⊂ K folgt die<br />

Abgeschlossenheit von K. ✷<br />

Lemma 13.12. (Lemma von Farkas)<br />

Bei gegebenen Vektoren a1,... ,am ∈ R n und g ∈ R n sind die folgende Aussagen äquivalent:<br />

(i) g ∈ K := cone {a1,... ,am}.<br />

(ii) Für alle d ∈ R n mit a T j d ≥ 0 <strong>für</strong> j = 1,... ,m gilt dT g ≥ 0.<br />

Beweis: ”(i) ⇒ (ii)”: Sei g = m i=1 λiai mit λi ≥ 0. Ferner sei d ∈ Rn mit dTai ≥ 0 <strong>für</strong><br />

i = 1,... ,m. Dann folgt<br />

d T m<br />

g = λid T ai ≥ 0.<br />

i=1<br />

”(ii) ⇒ (i)”: Wir führen den Beweis indirekt. Sei also (i) nicht richtig, d.h. g ∈ K . Die Funktion<br />

l(h) := h − g2 wächst <strong>für</strong> h2 → ∞ nach unendlich. Da ferner K abgeschlossen ist, gibt es<br />

ein globales Minimum g0 ∈ K von l in K. Wegen g ∈ K ist<br />

d := g0 − g = 0.<br />

<br />

.<br />

= 0


136 KAPITEL 13. GRUNDLAGEN DER OPTIMIERUNG<br />

Wegen der Kegeleigenschaft von K ist tg0 ∈ K <strong>für</strong> t ≥ 0. Somit ist 1<br />

2tg0 − g2 2 minimal <strong>für</strong><br />

t = 1 und es folgt<br />

0 = 1 d<br />

2 dt tg0 − g 2 2|t=1 = (g0 − g) T g0 = d T g0. (13.15)<br />

Für einen weiteren Vektor h ∈ K gilt wegen der Konvexität von K und der Minimalitätseigenschaft<br />

von g0, daß<br />

g0 + t(h − g0) − g 2 2 ≥ g0 − g 2 2, t ≥ 0.<br />

Dies impliziert<br />

2td T (h − g0) + t 2 h − g0 2 2 ≥ 0<br />

bzw. nach Division durch 2t und Grenzübergang <strong>für</strong> t → +0 und Beachtung von (13.15), daß<br />

Speziell <strong>für</strong> h = aj,j = 1,... ,m ist a T j<br />

0 ≤ d T (h − g0) = d T h, ∀h ∈ K.<br />

d ≥ 0 und damit erneut mit (13.15)<br />

d T g = d T (g0 − d) = d T g0 − d T d = −d 2 2 < 0.<br />

Daher kann Aussage (ii) nicht gelten. Nach dem Prinzip des indirekten Beweises folgt dann (i)<br />

aus (ii). ✷<br />

Wir können nun schließlich den Satz über die KKT-Bedingungen beweisen.<br />

Beweis von Satz 13.9. Wegen<br />

a T i x = bi ⇐⇒ a T i x − bi ≥ 0, −a T i x + bi ≥ 0<br />

können wir nachfolgend lediglich mit Ungleichungsrestriktionen arbeiten.<br />

Wir führen den Beweis indirekt. Sei dazu x∗ lokales Minimum von f in<br />

M := {x ∈ R n : a T i x ≥ bi, i = 1,... ,mU}<br />

und es gäbe kein s∗ = (si) ∈ R mU<br />

+ , das die KKT-Bedingungen erfüllt. Für alle Vektoren s∗ ∈<br />

R mU<br />

+ , die (13.12) erfüllen, kann dann (13.11) nicht gelten, d.h. ∇f(x∗) = A T U s∗. Die Aussage<br />

(13.13) impliziert dann si = 0 <strong>für</strong> i ∈ I(x∗) und daher<br />

∇f(x∗) ∈ cone {ai : i ∈ A(x∗)}.<br />

Nach dem Farkas-Lemma findet man dann einen Vektor d ∈ R n mit a T i<br />

und<br />

d ≥ 0 <strong>für</strong> alle i ∈ A(x∗)<br />

d T ∇f(x∗) < 0. (13.16)<br />

Sei φ(t) := f(x∗ + td), t ≥ 0. Wegen φ ′ (0) = d T ∇f(x∗) < 0 liegt im Nullpunkt kein Minimum<br />

von φ im Bereich [0, ∞). Wir wollen zeigen, daß es eine Zahl t0 > 0 gibt mit x∗ + td ∈ M<br />

<strong>für</strong> t ∈ [0,t0]. Dann hätten wir einen Widerspruch erzeugt zur Annahme, daß x∗ ein lokales<br />

Minimum von f in M ist,<br />

Für i ∈ A(x∗) ist<br />

a T i (x∗ + td) = a T i x∗ + ta T i d ≥ aT i x∗ = bi, ∀t ≥ 0,<br />

d.h. x∗ + td erfüllt alle in x∗ aktiven Restriktionen <strong>für</strong> alle t ≥ 0. Sei dann i ∈ I(x∗), d.h.<br />

a T i x∗ − bi > 0. Dann gibt es ein ti > 0 mit<br />

a T i (x∗ + td) − bi ≥ 0, t ∈ [0,ti].<br />

Mit t0 := min{ti : i ∈ I(x∗)} > 0 ist x∗ +td ∈ M <strong>für</strong> t ∈ [0,t0]. Der Beweis ist damit geführt. ✷


Kapitel 14<br />

Lineare Optimierung<br />

Im vorliegenden und folgenden Kapitel betrachten wir das lineare Optimierungsproblem (LOP)<br />

Minimiere f(x) := c T x auf M := {x ∈ R n : AGx = bG, AUx ≥ bU} (14.1)<br />

mit c ∈ R n , AG ∈ R mG×n , AU ∈ R mU ×n , bG ∈ R mG, bU ∈ R mU und mG,mU ∈ N0.<br />

14.1 Einführende Beispiele<br />

Beispiel 14.1. (Produktionsplanung)<br />

Es sind n verschiedene Produkte aus m verschiedenen Ausgangsstoffen herzustellen. Sollen xj<br />

Einheiten des j−ten Produktes hergestellt werden, so kann der Produktionsplan durch den Vektor<br />

x = (x1,... ,xn) T charakterisiert werden. Zur Beschreibung des Problems führen wir folgende<br />

Größen ein:<br />

cj – Nettogewinn bei Herstellung einer Einheit des j−ten Produktes<br />

aij – Einheiten des i−ten Ausgangsstoffes zur Herstellung einer Einheit<br />

des j−ten Produktes<br />

bi – Einheiten des i−ten Ausgangsstoffes als Ressource.<br />

Die Erzielung eines möglichst großen Nettogewinns wird durch die Maximierung der linearen<br />

Zielfunktion<br />

f(x) := c T n<br />

x =<br />

charakterisiert. Ein zulässiger Produktionsplan x = (x1,...,xn) T liegt vor, wenn die Vorzeichenbedingungen<br />

xj ≥ 0, i = 1,... ,n<br />

und Nebenbedingungen<br />

i=1<br />

cixi<br />

n<br />

aijxj ≤ bi, i = 1,... ,m<br />

j=1<br />

erfüllt sind. Mit der Matrix A = (aij) ergibt sich <strong>für</strong> den zulässigen Bereich<br />

M := {x ∈ R n : Ax ≤ b, x ≥ 0}.<br />

Das den gesuchten Produktionsplan beschreibende lineare Optimierungsproblem lautet dann:<br />

Bestimme x = (x1,... ,xn) T ∈ M, so daß f(x) ≥ f(z), ∀z ∈ M. ✷<br />

137


138 KAPITEL 14. LINEARE OPTIMIERUNG<br />

Wir wollen noch ein weiteres Beispiel zur Produktionsplanung besprechen, bei dem jedoch Zielfunktion<br />

und Nebenbedingungen in etwas anderer Form vorkommen.<br />

Beispiel 14.2. (Diätplan)<br />

Ein Diätplan soll aus n verschiedenen Nahrungsmitteln, die ihrerseits aus m Grundsubstanzen<br />

bestehen, zusammengestellt werden. Dabei enthält eine Einheit des j−ten Nahrungsmittels aij<br />

Einheiten der i−ten Grundsubstanz. Der Diätplan verlangt, daß von der i−ten Grundsubstanz<br />

mindestens bi Einheiten enthalten sind. Ferner koste eine Einheit des j−ten Nahrungsmittels cj<br />

Geldeinheiten.<br />

Ein Diätplan kann nun durch den Vektor x = (x1,... ,xn) T charakterisiert werden, wobei xj die<br />

Zahl der im Plan enthaltenen Einheiten des j−ten Nahrungsmittels ist. Die Kosten des Diätplanes<br />

beschreibt die lineare Funktion f(x) := c T x, die nachfolgend minimiert werden soll.<br />

Wir erhalten in diesem Fall Nebenbedingungen der Form<br />

n<br />

aijxj ≥ bi, i = 1,... ,m<br />

j=1<br />

sowie als Vorzeichenbedingungen xj ≥ 0, j = 1,... ,n. Der zulässige Bereich wird unter Benutzung<br />

der Matrix A = (aij) beschrieben durch die Menge<br />

M := {x ∈ R n : Ax ≥ b, x ≥ 0}.<br />

Das den gesuchten Diätplan charakterisierende lineare Optimierungsproblem ist dann<br />

Bestimme x = (x1,... ,xn) T ∈ M, so daß f(x) ≤ f(z), ∀z ∈ M. ✷<br />

14.2 Existenz von Lösungen<br />

Wir wenden zunächst den Satz 13.9 über die KKT-Bedingungen auf das Problem (14.1) an.<br />

Satz 14.3. Für das lineare Optimierungsproblem (14.1) sind in einem zulässigen Punkt x∗ ∈ M<br />

folgende Aussagen äquivalent:<br />

(i) Der Punkt x∗ ist globales Minimum von f in M.<br />

(ii) Es existieren die Lagrange-Multiplikatoren λ∗ ∈ R mG und s∗ ∈ R mU<br />

+ mit<br />

In diesem Fall gilt<br />

A T G λ∗ + A T U s∗ = c (14.2)<br />

(AUx∗ − bU) T s∗ = 0. (14.3)<br />

c T x∗ = b T G λ∗ + b T U s∗. (14.4)<br />

Ferner ist x ∈ M genau dann ein globales Minimum von f in M, wenn<br />

(AUx − bU) T s∗ = 0. (14.5)<br />

Beweis: ”(i) ⇒ (ii)”: Wegen ∇f(x) = c <strong>für</strong> alle x ∈ R n ergibt sich dieser Schluß gerade aus<br />

Satz 13.9 über die KKT-Bedingungen.


14.2. EXISTENZ VON LÖSUNGEN 139<br />

”(ii) ⇒ (i)”: Seien nun die Bedingungen (14.2)-(14.3) erfüllt. Wegen dieser Bedingungen sowie<br />

mit AGx∗ = bG folgt die Aussage (14.4), denn<br />

c T x∗ = (A T Gλ∗ + A T Us∗) T x∗ = b T Gλ∗ + b T Us∗.<br />

Für einen beliebigen zulässigen Punkt x ∈ M gilt AGx = bG und AUx − bU ≥ 0. Wegen s∗ ≥ 0<br />

und (14.4) erhalten wir<br />

c T x = (A T Gλ∗ + A T Us∗) T x = b T Gλ∗ + (AUx) T s∗ ≥ b T Gλ∗ + b T Us∗ = c T x∗,<br />

d.h. x∗ ist globales Minimum von f in M. Die letzte Formelzeile zeigt ferner, daß der Punkt x<br />

genau dann globales Minimum von f in M ist, wenn (14.5) gilt. ✷<br />

Im Gegensatz zu allgemeinen Optimierungsproblemen kann man <strong>für</strong> lineare Optimierungsprobleme<br />

zeigen, daß das Minimierungsproblem immer eine Lösung besitzt, sofern das Infimum von<br />

f auf M nur endlich ist. Im Beweis spielt wieder das Lemma von Farkas eine zentrale Rolle.<br />

Satz 14.4. Für das lineare Optimierungsproblem (14.1) sei infx∈M c T x ∈ R. Dann gibt es einen<br />

Punkt x∗ ∈ M mit<br />

c T x∗ = inf<br />

x∈M cT x.<br />

Beweis: Wir gehen o.B.d.A. von der Standardform M = {x ∈ R n : Ax = b, x ≥ 0} aus. Nach<br />

Voraussetzung ist f∗ := infx∈M c T x endlich. Der Beweis wird indirekt geführt.<br />

Wir nehmen an, daß kein Punkt x ≥ 0 existiert mit cTx = f∗ und Ax = b. Mit der Festsetzung<br />

<br />

f ∗<br />

g := , ãi := (ci, −a1i,...,−ami)<br />

−b<br />

T , i = 1,... ,n<br />

ist die Annahme äquivalent zu g ∈ cone{ã1,... ,ãn}. Nach dem Lemma von Farkas findet man<br />

dann einen Punkt d T = (α,λ) T ∈ R × R m mit<br />

sowie<br />

0 ≤ ã T i d = αci −<br />

0 > d T g = αf∗ − λ T b (14.6)<br />

m<br />

ajiλj, i = 1,... ,n.<br />

j=1<br />

Die letzte Bedingung kann man kurz notieren als<br />

0 ≤ αc − A T λ. (14.7)<br />

Per Voraussetzung ist infx∈M c T x = ∞, d.h. M = ∅, und es existiert wenigstens ein Punkt<br />

x ∈ M. Linksmultiplikation in (14.7) mit x T liefert mit (14.6)<br />

αx T c ≥ x T A T λ = b T λ > αf∗.<br />

Wegen der Annahme c T x > f∗ ergibt dies α > 0. Dann können wir (14.6) und (14.7) jeweils<br />

durch α divieren und erhalten<br />

f∗ < λ T b, A T λ ≤ c; λ := 1<br />

α λ.<br />

Mit einer Minimalfolge (xk) in M, d.h. mit limk→∞ c T xk = infx∈M c T x, erhalten wir nun einen<br />

Widerspruch, denn<br />

f∗ = lim<br />

k→∞ xTk c ≥ lim<br />

k→∞ xTk ATλ = b T λ > f∗.<br />

Damit ergibt sich nach dem Prinzip des indirekten Beweises die gewünschte Aussage. ✷


140 KAPITEL 14. LINEARE OPTIMIERUNG<br />

14.3 Dualität<br />

Betrachtet wird jetzt ein lineares Optimierungsproblem in Standardform<br />

mit c ∈ R n , A ∈ R m×n , b ∈ R m .<br />

Minimiere c T x auf M := {x ∈ R n : Ax = b, x ≥ 0} (14.8)<br />

Definition 14.5. Als zum (primalen) Problem (14.8) zugeordnetes duales Problem bezeichnet<br />

man die Aufgabe<br />

Maximiere b T λ auf N := {λ ∈ R m : A T λ ≤ c}. (14.9)<br />

Es gilt zunächst folgender Zusammenhang zwischen dualem und primalem Problem.<br />

Lemma 14.6. Die Lagrange-Multiplikatoren λ des primalen Problems sind die optimalen<br />

Lösungen des dualen Problems. Die Lagrange-Multiplikatoren x des dualen Problems sind die<br />

optimalen Lösungen des primalen Problems.<br />

Beweis: Wir schreiben das duale Problem (14.9) als<br />

Minimiere − b T λ auf N := {λ ∈ R m : − A T λ ≥ −c}.<br />

Nach Satz 14.3 ist λ∗ ∈ R m genau dann Lösung des dualen Problems, wenn es Lagrange-<br />

Multiplikatoren x ∈ R n gibt mit<br />

Ax = b, (14.10)<br />

(c − A T λ) T x = 0, (14.11)<br />

A T λ ≤ c, (14.12)<br />

x ≥ 0. (14.13)<br />

Hier sind (14.10)-(14.11) gerade die KKT-Bedingungen (14.2)-(14.3). Ferner sind (14.12) die<br />

Nebenbedingung und (14.3) die Vorzeichenbedingung x ∈ R n + an die Lagrange-Multipikatoren.<br />

Mittels Transformation<br />

findet man das äquivalente System<br />

s = c − A T λ (14.14)<br />

Ax = b, (14.15)<br />

s T x = 0, (14.16)<br />

s ≥ 0, (14.17)<br />

x ≥ 0. (14.18)<br />

Hierbei sind (14.14) und (14.16) die KKT-Bedingungen (14.2)-(14.3) des primalen Problems.<br />

(14.15) und (14.18) sind die Nebenbedingungen sowie (14.17) die Vorzeichenbedingung an die<br />

Lagrange-Multiplikatoren. ✷<br />

Weiterhin gilt folgendes Resultat:<br />

Lemma 14.7. Das zum dualen Problem duale Problem ist äquivalent zum primalen Problem.


14.3. DUALITÄT 141<br />

Beweis: Man transformiert das duale Problem mit den Schlupfvariablen s = c − A T λ ≥ 0 und<br />

der Zerlegung λ = λ+ − λ− mit λ+,λ− ≥ 0 auf Standardform:<br />

Minimiere<br />

⎛<br />

⎝<br />

−b<br />

b<br />

0<br />

⎞<br />

⎠<br />

T ⎛<br />

⎝<br />

λ+<br />

λ−<br />

s<br />

⎞<br />

⎠ mit (A T − A T<br />

⎛<br />

I) ⎝<br />

Per Definition ist das hierzu duale Problem gerade<br />

Maximiere c T ⎛ ⎞<br />

A<br />

⎛<br />

z mit⎝<br />

−A ⎠z ≤ ⎝<br />

I<br />

λ+<br />

λ−<br />

s<br />

−b<br />

b<br />

0<br />

⎞<br />

⎠ = c,<br />

⎞<br />

⎠ .<br />

⎛<br />

⎝<br />

λ+<br />

λ−<br />

s<br />

⎞<br />

⎠ ≥ 0.<br />

Die beiden Ungleichungen Az ≤ −b und −Az ≤ b sind äquivalent zu Az = b. Damit erhalten<br />

wir das äquivalente Problem<br />

Maximiere c T z mit Az = b, z ≤ 0.<br />

Mit z = −x erhalten wir hieraus das primale Problem (14.8). ✷<br />

Wir können nun den zentralen Satz dieses Abschnitts, den Dualitätssatz, behandeln.<br />

Satz 14.8. Für das primale Problem (14.8) und das duale Problem (14.9) sei M = ∅ oder<br />

N = ∅. Dann gilt<br />

Ferner gelten folgende Äquivalenzen:<br />

inf<br />

x∈M cTx = sup b<br />

λ∈N<br />

T λ. (14.19)<br />

(i) M = ∅ ⇐⇒ sup b<br />

λ∈N<br />

T λ = ∞, (ii) N = ∅ ⇐⇒ inf<br />

x∈M cTx = −∞,<br />

Beweis: Für x ∈ M und λ ∈ N gilt<br />

und damit b T λ ≤ c T x sowie<br />

0 ≤ x T (c − A T λ) = c T x − b T λ<br />

sup b<br />

λ∈N<br />

T λ ≤ inf<br />

x∈M cTx. (14.20)<br />

(i) Fall infx∈M c T x = −∞: Es muß N = ∅ sein, sonst entsteht ein Widerspruch zu (14.20).<br />

(ii) Fall infx∈M c T x ∈ R: Nach dem Existenzsatz 14.4 gibt es eine Lösung x∗ ∈ M mit c T x∗ =<br />

infx∈M c T x. Nach Satz 14.3 findet man die Vektoren λ∗ ∈ R m und s∗ ∈ R n + mit<br />

A T λ∗ + s∗ = c, c T x∗ = b T λ∗.<br />

Wegen A T λ∗ ≤ c ist λ∗ ∈ N. Man erhält somit (14.19).<br />

(iii) Fall infx∈M c T x = ∞: Dann ist M = ∅. Wir nehmen an, daß sup λ∈N b T λ < ∞. Wegen der<br />

Annahme M = ∅ und/oder N = ∅ gilt sup λ∈N b T λ > −∞. Nach dem Existenzsatz 14.4 findet<br />

man λ∗ ∈ N mit b T λ∗ = sup λ∈N b T λ. und nach Satz 14.3 einen Lagrange-Multiplikator x∗ ≥ 0<br />

mit −Ax∗ = −b. Damit ist x∗ ∈ M im Widerspruch zur Annahme M = ∅. ✷<br />

Anhand des Produktionsplanes aus Beispiel 14.1 kann man eine anschauliche ökonomische Interpretation<br />

des Dualitätssatzes geben.


142 KAPITEL 14. LINEARE OPTIMIERUNG<br />

Beispiel 14.9. Wir bringen das Problem des Produktionsplans<br />

auf Standardform<br />

Minimiere (−c 0)<br />

Das hierzu duale Problem ist<br />

Maximiere c T x mit Ax ≤ b, x ≥ 0 (14.21)<br />

x<br />

y<br />

bzw. mit der Transformation µ = −λ<br />

<br />

mit<br />

x<br />

y<br />

<br />

<br />

x<br />

≥ 0, (A I)<br />

y<br />

Maximiere b T λ mit A T λ ≤ −c, λ ≤ 0<br />

<br />

≥ b.<br />

Minimiere b T µ mit A T µ ≥ c, µ ≥ 0. (14.22)<br />

Wir interpretieren das Problem (14.22) ökonomisch wie folgt:<br />

Ein Konkurrent will von einem Betrieb ˜bi Einheiten des i−ten Ausgangsstoffes kaufen oder mieten.<br />

Da<strong>für</strong> bietet er µi Geldeinheiten pro Einheit. Somit wären seine Gesamtkosten ˜b T µ, die er<br />

natürlich minimieren will. Der Betrieb kann aus ökonomischen Gründen auf das Konkurrenzangebot<br />

nur eingehen, wenn <strong>für</strong> jedes Produkt j die Summe der Preise <strong>für</strong> die zur Herstellung<br />

erforderlichen Ausgangsstoffe m i=1 aijµi mindestens so groß ist wie der Reingewinn cj, der bei<br />

Eigenproduktion erzielt werden könnte. Damit erhalten wir die Nebenbedingung AT µ ≥ c. Will<br />

der Konkurrent alle Ausgangsstoffe kaufen, d.h. <strong>für</strong> ˜b = b, hat er gerade das duale Problem<br />

(14.22) zu lösen.<br />

Der Dualitätssatz hat nun folgende Bedeutung: Seien x ein zulässiger Produktionsplan und µ<br />

ein akzeptables Konkurrenzangebot, so gilt wegen (14.19)<br />

c T x ≤ b T µ.<br />

Geht der Betrieb also auf das Angebot ein, so macht er wenigstens so viel Gewinn, als wenn er<br />

selbst produzieren würde. Er muß nicht einmal einen optimalen Produktionsplan suchen.<br />

Ist x∗ ein optimaler Produktionsplan und µ∗ ein <strong>für</strong> den Konkurrenten optimales Angebot, so<br />

gilt<br />

c T x∗ = b T µ∗.<br />

Man nennt die Zahlen (µ∗)i auch Schattenpreise. Nach dem Satz 13.9 über die KKT-Bedingungen<br />

hat man die Komplementaritätsbedingungen<br />

(Ax∗ − b)µ∗ = 0, (A T µ∗ − c)x∗ = 0.<br />

Wird also die Kapazitätsschranke bi <strong>für</strong> den i−ten Ausgangsstoff nicht ausgenutzt, so wird der<br />

Konkurrent in einem optimalen Angebot nichts <strong>für</strong> diesen Ausgangsstoff bezahlen, d.h. µi = 0.<br />

Wird das j−te Produkt produziert, ist damit (x∗)j > 0, d.h. es muß bei dem optimalen Angebot<br />

die Restriktion<br />

m<br />

i=1<br />

aijµi ≥ cj<br />

mit Gleichheit erfüllt sein. ✷


Kapitel 15<br />

Simplex-Verfahren<br />

Im abschließenden Kapitel betrachten wir mit dem Simplex-Verfahren das klassische Verfahren<br />

zur numerischen Lösung des linearen Optimierungsproblems (LOP)<br />

Minimiere f(x) := c T x auf M := {x ∈ R n : AGx = bG, AUx ≥ bU} (15.1)<br />

mit c ∈ R n , AG ∈ R mG×n , AU ∈ R mU ×n , bG ∈ R mG, bU ∈ R mU und mG,mU ∈ N0.<br />

Auf die Klasse der Innere-Punkte-Methoden können wir aus Zeitgründen im Rahmen dieser<br />

Einführung leider nicht eingehen.<br />

15.1 Ecken und Basislösungen<br />

Definition 15.1. Als abgeschlossenen Halbraum bezeichnet man Teilmengen des R n der Form<br />

{x ∈ R n : a T x ≥ b}, a ∈ R n \ {0}, b ∈ R.<br />

Ein Polyeder ist die Schnittmenge endlich vieler abgeschlossener Halbräume. Ein beschränktes<br />

Polyeder heißt Polytop.<br />

Ein Punkt eines Polyeders P heißt Ecke. falls er sich nicht als Konvexkombination von zwei<br />

anderen Punkten des Polyeders darstellen läßt, d.h.<br />

x = (1 − t)y + tz, t ∈ [0,1], y,z ∈ P =⇒ x = y = z.<br />

Wir gehen von einem linearen Optimierungsproblem in Standardform aus und können damit<br />

den zulässigen Bereich<br />

M = {x ∈ R n : x ≥ 0, Ax = b} (15.2)<br />

mit A ∈ R m×n , n ≥ m und b ∈ R m als spezielles Polyeder betrachten. O.B.d.A. ist<br />

rang (A) = m, (15.3)<br />

denn sonst streicht man ggf. einige (redundante) Zeilen von A und b. Für Polyeder (15.2) mit<br />

Bedingung (15.3) gibt es eine schöne algebraische Charakterisierung von Ecken. Zuvor benötigen<br />

wir aber einige Begriffe, <strong>für</strong> die wir eine Matlab-Notation benutzen.<br />

Definition 15.2. Seien m,n,r ∈ N sowie I = {i1,... ,ir} ⊂ {1,2,... ,n} mit i1 < i2 < · · · < ir.<br />

Für einen Vektor x ∈ R n und eine Matrix A ∈ R m×n definiert man<br />

xI := (xi1 ,...,xir) T ∈ R r , A[:, I] :=<br />

143<br />

⎛<br />

⎜<br />

⎝<br />

a1,i1 · · · a1,ir<br />

.<br />

am,i1 · · · am,ir<br />

.<br />

⎞<br />

⎟<br />

⎠ ∈ R m×r .


144 KAPITEL 15. SIMPLEX-VERFAHREN<br />

Für die zulässige Menge M aus (15.2) mit Bedingung (15.3) heißt ein Punkt x ∈ M Basislösung<br />

mit Basisindizes B = {b1,... ,bm} ⊂ {1,... ,n}, falls<br />

(i) xi = 0, i ∈ B; (ii) A[:, B] regulär. (15.4)<br />

Eine Basislösung x ∈ M heißt nicht-entartet, falls xB > 0. Anderenfalls heißt x entartet.<br />

Die gesuchte algebraische Charakterisierung gibt das folgende Lemma.<br />

Lemma 15.3. Ein Punkt x ∈ M ist genau dann Ecke von M, wenn x Basislösung ist.<br />

Beweis: (i) Für die Basislösung x zur Basis B sei o.B.d.A. B = {1,... ,m}. Sei nun x =<br />

(1 − t)y + tz mit y,z ∈ M und t ∈ [0,1]. Wegen xi = 0, i = m + 1,... ,n folgt <strong>für</strong> diese Indizes<br />

auch yi = zi = 0. Dann ist Ax = Ay = Az = b und damit A[:, B]xB = A[:, B]yB = A[:, B]zB.<br />

Wegen (15.4)(ii) folgt xB = yB = zB, damit x = y = z. Nach Definition ist x dann Ecke von M.<br />

(ii) Sei nun x Ecke von M. Wir setzen I := {i : xi > 0} und J := {j : xj = 0}. Wir nehmen<br />

an, daß die Spalten der Matrix A[:, I] linear abhängig sind. Dann muß ein Vektor zI ∈ R r \ {0}<br />

mit A[:, I]zI = 0 existieren. Durch die Komplettierung zJ = 0 erhalten wir einen Vektor z ∈ R n<br />

und definieren<br />

x(δ) := x + δz, δ ∈ R. (15.5)<br />

Es gilt Ax(δ) = Ax + δAz = b. Wegen xI > 0 ist x(δ)I > 0 <strong>für</strong> hinreichend kleines |δ|. Dann<br />

findet man eine Zahl ˆ δ > 0 mit x( ˆ δ),x(−ˆ δ) ∈ M und x = 1<br />

2x(ˆ δ) + 1<br />

2x(−ˆ δ). Das ist aber ein<br />

Widerspruch zur Annahme, daß x Ecke von M ist. Daher sind die Spalten von A[: .I] linear<br />

unabhängig. Aufgrund der Annahme rang(A) = m kann man die Indexmenge I zu einer Menge<br />

B mit m Elementen ergänzen, so daß Bedingung (15.4) (ii) gilt. ✷<br />

Satz 15.4. Sei M gegeben durch (15.2)-(15.3) sowie sei c ∈ R n . Dann gelten folgende Aussagen:<br />

(i) M besitzt mindestens eine und höchstens endlich viele Basislösungen.<br />

(ii) Existiert ein globales Minimum von f(x) = cTx in M, so gibt es auch ein globales Minimum,<br />

das Ecke von M ist.<br />

<br />

n<br />

Beweis: zu (i): Es kann nur endlich viele Basislösungen in M geben, da maximal Teil-<br />

m<br />

mengen der Indexmenge {1,... ,n} existieren. Somit ist noch die Existenz mindestens einer<br />

Basislösung zu zeigen. Dazu sei x ∈ M ein Vektor, der unter allen Vektoren in M eine Minimalzahl<br />

nichtverschwindender Komponenten besitzt. Diese Zahl sei p. Ferner benutzen wir die<br />

bereits eingeführten Bezeichnungen I := {i : xi > 0} und J := {j : xj = 0}.<br />

Wir nehmen an, daß die Spalten der Matrix A[:, I] linear abhängig sind. Weiterhin benutzen<br />

wir die Vektoren z und x(δ) aus dem Beweis von Lemma 15.3. Für hinreichend kleines |δ| gilt<br />

x(δ)I > 0, sowie x(δ)J = 0 und Ax(δ) = b <strong>für</strong> alle δ ∈ R. Wegen z = 0 findet man ein betragsmäßig<br />

kleinstes ˆ δ ∈ R, so daß x( ˆ δ)I ≥ 0 gilt und wenigstens eine Komponente von x( ˆ δ)I<br />

verschwindet. Dann ist x( ˆ δ) ∈ M und x( ˆ δ) hat höchstens p −1 nichtverschwindende Komponenten.<br />

Das steht aber im Widerspruch zur Festsetzung von p. Daher sind die Spalten von A[:, I]<br />

linear unabhängig. Weiterhin kann man die Indexmenge I zu einer m-elementigen Menge B<br />

ergänzen, so daß die Matrix A[:, B] regulär ist. Dann ist x Basislösung zur Basis B.<br />

zu (ii): Sei x ∈ M globales Minimum der Zielfunktion f in M mit einer Minimalzahl p nichtverschwindender<br />

Komponenten. Wir nehmen dann an, daß die Matrix A[:, I] nicht vollen Spaltenrang<br />

hat. Definiert man nun x und x(δ) wie im Beweisteil (ii) zu Lemma 15.3, gilt x(δ) ∈ M <strong>für</strong>


15.2. ENTWICKLUNG DES SIMPLEX-VERFAHRENS 145<br />

hinreichend kleines |δ|. Ferner ist <strong>für</strong> diese Werte auch c T (x+δz) ≥ c T x, da x globales Minimum<br />

ist. Folglich muß c T z = 0 sein. Wie in Teil (i) des Beweises gibt es ein ˆ δ = 0, so daß x( ˆ δ) ∈ M<br />

und c T x( ˆ δ) = c T x gilt und daß x( ˆ δ) höchstens p − 1 nichtverschwindende Komponenten besitzt.<br />

Dies steht wieder im Widerspruch zur Festlegung von p. Die Spalten von A[:, I] sind somit linear<br />

unabhängig. Man kann I zu einer m−elementigen Indexmenge B ergänzen, so daß A[:, B] regulär<br />

ist. Somit ist x Basislösung. ✷<br />

15.2 Entwicklung des Simplex-Verfahrens<br />

Ausgangspunkt ist ein lineares Optimierungsproblem in der Standardform<br />

Minimiere f(x) := c T x auf M := {x ∈ R n : Ax = b, x ≥ 0} (15.6)<br />

mit der Bedingung rang(A) = m ≤ n. Ist ferner M = ∅ und die Zielfunktion auf M nach unten<br />

beschränkt, so muß nach den Sätzen 14.4 und 15.4 eine der (endlich vielen) Ecken des Polyeders<br />

M eine Lösung von (15.6) sein. Da die Anzahl der Ecken jedoch sehr groß sein kann, verbietet<br />

sich eine unsystematische Durchmusterung aller Ecken.<br />

Beim Simplex-Verfahren gelangt man in jedem Schritt von einer Ecke x von M zu einer benachbarten<br />

Ecke durch Austausch eines Index der entsprechenden Basis B(x). Dabei soll sich der<br />

Wert der Zielfunktion nicht vergrößern und möglichst immer verringern.<br />

Bei der Entscheidung, einen Index der aktuellen Basis B zu wählen, machen wir Gebrauch von<br />

den KKT-Bedingungen. Nach Satz 14.3 ist ein optimales Lösungstripel (x∗,λ∗,s∗) ∈ R n × R m ×<br />

R n eindeutig bestimmt durch die folgenden Bedingungen:<br />

Ax∗ = b, (15.7)<br />

x∗ ≥ 0 (15.8)<br />

A T λ∗ + s∗ = c, (15.9)<br />

s∗ ≥ 0, (15.10)<br />

x T ∗ s∗ = 0. (15.11)<br />

Sei bereits die Basis B einer beliebigen Basislösung x von M bekannt. Sei N := {1,... ,n} \ B.<br />

Dann ist x wegen (15.7) gegeben durch<br />

Wegen der Annahme x ∈ M ist auch Bedingung (15.8) erfüllt.<br />

xN = 0, xB = A[:, B] −1 b. (15.12)<br />

Wir wollen nun die Lagrange-Multiplikatoren s und λ aus den restlichen KKT-Bedingungen<br />

bestimmen. Wegen (15.11) setzen wir<br />

sB = 0.<br />

Damit folgt aus (15.9)<br />

Wegen der Regularität von A[:, B] finden wir<br />

A[:, B] T λ = cB, A[:, N] T λ + sN = cN.<br />

λ = A[:, B] −T cB, (15.13)<br />

sN = cN − A[:, N] T λ. (15.14)


146 KAPITEL 15. SIMPLEX-VERFAHREN<br />

Bis auf (15.10) sind damit alle KKT-Bedingungen erfüllt. Andererseits ist nach Satz 14.3 eine<br />

optimale Lösung ermittelt und man kann abbrechen, wenn (15.10) erfüllt ist.<br />

Im allgemeinen Fall ist sB = 0, nicht jedoch sN = 0. Man wird daher einen Index q ∈ N<br />

mit sq < 0 als neuen Index in die Basis B aufnehmen. Ferner ist zu überlegen, welcher Index<br />

hier<strong>für</strong> aus der Basis B zu entfernen ist. Man fordert <strong>für</strong> die neue Basislösung x + , daß <strong>für</strong> alle<br />

> 0 ist zugelassen. Weiterhin soll gelten<br />

Indizes j von N \ {q} weiter xj = 0 bleibt. Der Fall x + q<br />

Ax + = b = Ax, d.h.<br />

Dies ergibt<br />

Wir definieren w ∈ R n durch<br />

A[:, B]x +<br />

B + A[:,q]x+ q<br />

= A[:, B]xB.<br />

x +<br />

B = xB − A[:, B] −1 A[:,q]x + q .<br />

wB := A[:, B] −1 A[:,q]; wq := −1, w N \{q} := 0.<br />

Später wird gezeigt, daß sich f in Richtung w verringert, d.h. w ist eine Abstiegsrichtung.<br />

Man wählt jetzt<br />

x + q<br />

<br />

xi<br />

:= min<br />

wi<br />

<br />

: i ∈ B, wi > 0 .<br />

Dies bedeutet geometrisch gerade, daß man sich vom Punkt x soweit auf der durch die Richtung<br />

w bestimmten Kante bewegt, bis man zum nächsten Eckpunkt gelangt. Im Fall w ≤ 0 kann man<br />

x + q beliebig groß wählen. Es wird noch gezeigt, daß die Zielfunktion in diesem Fall nicht nach<br />

unten beschränkt ist. Der Algorithmus soll dann mit einer entsprechenden Meldung abbrechen.<br />

Wir beschreiben jetzt einen Schritt des Simplex-Verfahrens.<br />

Schritt des Simplex-Verfahrens<br />

Initialisierung: Vektor c ∈ R n der Zielfunktion c T x;<br />

Zulässigkeitsbereich M = {x ∈ R n : x ≥ 0, Ax = b};<br />

Basis B ⊂ {1,... ,n} einer Basislösung von M;<br />

B := A[:, B];<br />

N := {1,... ,n} \ B;<br />

Berechne Basislösung x ∈ R n mit xB := B −1 b und xN := 0;<br />

λ := B −T cB;<br />

sN := cN − A[:, N] T λ;<br />

if sN ≥ 0<br />

STOP: x ist Lösung des Minimierungsproblems.<br />

Bestimme ein q ∈ N mit sq = min{si : i ∈ N };<br />

Berechne wB := B −1 A[:,q];<br />

if wB ≤ 0<br />

STOP: Zielfunktion ist in M nicht nach unten beschränkt.<br />

x + = 0;<br />

Setze x + q := min{ xi<br />

wi<br />

x +<br />

B := xB − wBx + q ;<br />

B + := (B ∪ {q}) \ {p};<br />

: i ∈ B, wi > 0} und bestimme p ∈ B mit x + q = xp<br />

wp ;<br />

Ergebnis: Falls der Algorithmus nicht vorzeitig abbricht, ist x + Basislösung zur Basis B + . Es<br />

gilt c T x + ≤ c T x.


15.3. ANALYSE EINES SIMPLEX-SCHRITTS 147<br />

15.3 Analyse eines Simplex-Schritts<br />

Satz 15.5. Es wird angenommen, daß der Simplex-Schritt nicht mit einer optimalen Lösung<br />

abbricht wegen sN ≥ 0. Dann gelten folgende Aussagen:<br />

(i) Sei wB ≤ 0. Ist A[:,p] die k−te Spalte von B und fügt man die neue Spalte A[:,q] an der<br />

gleichen Stelle in die Matrix B, so ist die Matrix<br />

B+ := B + (A[:,q] − A[:,p])e T k<br />

regulär und die inverse Matrix erfüllt die update-Formel<br />

B −1<br />

+ =<br />

<br />

I − (wB − ek)e T k<br />

wp<br />

(ii) Ist wB ≤ 0, so ist x + Basislösung zur Basis B + .<br />

(iii) Falls wB ≤ 0, so gilt infx∈M c T x = −∞, anderenfalls ist<br />

Ist x nicht entartet, so gilt sogar c T x + < c T x.<br />

Beweis: zu (i): Mit v := A[:,q] − A[:,p] gilt<br />

<br />

B −1 . (15.15)<br />

c T x + ≤ c T x. (15.16)<br />

B+ = B + ve T k , B−1 v = wB − ek.<br />

Hierzu sei daran erinnert, daß A[:,p] die p−te Spalte von A, aber die k-te Spalte von B = A[:, B]<br />

ist.<br />

Aus den Nebenrechnungen<br />

<br />

I − B−1veT k<br />

1 + eT k B−1 <br />

B<br />

v<br />

−1 (B + ve T k ) =<br />

sowie<br />

ergibt sich (15.15).<br />

<br />

I − B−1 ve T k<br />

= I + B −1 ve T k<br />

= I<br />

1 + e T k B−1 v<br />

<br />

(I + B −1 ve T k )<br />

<br />

1 + −1 − eT k B−1v 1 + eT k B−1 <br />

v<br />

1 + e T k B−1 v = 1 + e T k (B−1 A[:,q] − B −1 A[:,p]) = 1 + e T k (wB − ek) = wp > 0<br />

zu (ii): Zunächst erhält man<br />

Ax + = Bx +<br />

B + A[:,q]x+ q<br />

= BxB − BwBx + q + A[:,q]x + q<br />

= b − A[:,q]x + q + A[:,q]x + q = b<br />

(15.17)<br />

Bei der Herleitung des Simplex-Schrittes im vorhergehenden Abschnit hatten wir gesehen, daß<br />

wegen w ≤ 0 <strong>für</strong> die angegebene Wahl von x + q die Aussage x+ ≥ 0 folgt. Somit ist x +<br />

B ∈ M.<br />

= 0. Wegen der Regularität<br />

Ferner ist x + i = 0 <strong>für</strong> i ∈ B+ ∪{q} und x + p = xp −wpx + q = xp −wp xp<br />

wp<br />

von B+ nach (i) ist x + dann Basislösung zur Basis B + .


148 KAPITEL 15. SIMPLEX-VERFAHREN<br />

zu (iii): Aufgrund der Voraussetzung sN ≥ 0 ist sq ≤ 0. Wir betrachten zuerst den Fall w ≤ 0,<br />

<strong>für</strong> den gilt<br />

Wegen x + q ≥ 0 und sq < 0 erhalten wir (15.16).<br />

c T x + = c T Bx +<br />

B + cqx + q<br />

= c T BxB − x + q c T BB −1 A[:,q] + cqx + q<br />

= c T BxB + x + q (cq − λ T A[:,q])<br />

= c T x + x + q sq. (15.18)<br />

Falls x nicht-entartet ist, gilt xq = xp<br />

wp > 0 und damit cT x + < c T x.<br />

Im Fall wB ≤ 0 hat man bei beliebiger Wahl von x + q<br />

> 0 und x+<br />

B := xB − wx + q sowie x+ i := 0<br />

bei i ∈ N \ {q}, daß Ax + = b wie in (15.17) sowie x + ≥ 0. Damit ist x + ∈ M. Wegen (15.18)<br />

ist somit die Zielfunktion c T x auf M nicht nach unten beschränkt. ✷<br />

15.4 Bemerkungen zur Implementierung<br />

Sei eine geeignete Basislösung zum Start des Simplex-Verfahrens bekannt, vgl. folgender Abschnitt.<br />

Man führt dann solange Simplex-Schritte aus, bis eines der Abbruchkriterien erfüllt<br />

ist. Beim neuen Simplex-Schritt wird dabei jeweils als Basis B die im vorhergehenden Schritt<br />

berechnete Basis B + verwendet.<br />

Wenn alle Basislösungen des Problems nicht entarten, so hat man in jedem Schritt eine tatsächliche<br />

Reduktion der Zielfunktion. Dann kann eine Basislösung bzw. Ecke von M nicht mehrfach<br />

”besucht” werden. Nach Satz 15.4 gibt es nur endlich viele Basislösungen von M. Da wenigstens<br />

eine Ecke davon Lösung des Minimierungsproblems ist, muß der Algorithmus nach endlich vielen<br />

Schritten abbrechen.<br />

Falls nun eine Basislösung x zur Basis B entartet, kann der Fall B + = B mit x + = x eintreten.<br />

Hier muß man am besten durch geeignete Modifikation des Verfahrens eine Reduktion der Zielfunktion<br />

erzwingen. Gelangt man jedoch zu einer bereits zuvor berechneten Basis zurück, wird<br />

man in einem Zyklus immer wieder zu dieser Basis zurückkehren. Derartige Zyklen treten in der<br />

Praxis sehr selten auf. Man findet aber in der Literatur konstruierte Beispiele.<br />

Durch Zusatzregeln, sogenannnte Anti-Zyklen-Regeln, bei der Auswahl der Indizes q und p kann<br />

man Zyklen vermeiden. Eine einfache Variante ist, daß q als kleinster Index mit sq < 0 und p<br />

gewählt wird.<br />

als kleinster Index mit x + q = xp<br />

wp<br />

Insgesamt gilt folgender Sachverhalt:<br />

Folgerung 15.6. Seien alle Ecken von M nicht-entartet. Dann bricht das Simplex-Verfahren<br />

nach endlich vielen Schritten mit einem globalen Minimum oder der Mitteilung infx∈M c T x =<br />

−∞ ab. Die gleiche Aussage gilt auch bei entarteten Ecken, wenn durch eine Anti-Zyklen-Regel<br />

bei der Auswahl der Indizes q und p gesichert wird, daß dieselbe Basis B nicht zweimal auftauchen<br />

kann.<br />

Wir schließen diesen Abschnitt mit Bemerkungen über den Aufwand des Verfahrens. Der Hauptaufwand<br />

besteht in der Berechnung von λ = B−T cB und von wB = B−1A[:,q]. Statt der Berechnung<br />

einer LU-Zerlegung von B in jedem Schritt empfiehlt es sich, einmal die Inverse von B<br />

auszuwerten und dann eine Aktualisierung mittels Formel (15.15) vorzunehmen. Mit der Klammerung<br />

B −1<br />

+ = B−1 − wB − ek<br />

(e<br />

wp<br />

T k B−1 )


15.5. BESTIMMUNG EINER BASISLÖSUNG 149<br />

wird dabei der Rechenaufwand gegenüber (15.15) mit O(m 3 ) Operationen auf O(m 2 ) wesentliche<br />

Operationen reduziert. Eine andere Variante besteht in der Berechnung einer LU-Zerlegung von<br />

B, die ständig aktualisiert wird. Diese Möglichkeit weist bessere Stabilitätseigenschaften auf.<br />

Im ungünstigsten Fall steigt der Aufwand exponentiell mit der Zahl der Unbekannten. Von Klee<br />

und Minty wurde 1972 tatsächlich ein derartiges Beispiel konstruiert. Praktisch konvergiert das<br />

Simplex-Verfahren jedoch in der Regel erheblich schneller.<br />

15.5 Bestimmung einer Basislösung<br />

Bislang blieb offen, wie man eine zulässige Basislösung zum Start des Simplex-Verfahrens erhält.<br />

Der einfachste Fall liegt vor, wenn das Ausgangsproblem die Form<br />

Minimiere c T x unter den Nebenbedingungen Ax ≤ b, x ≥ 0 (15.19)<br />

mit b ≥ 0 hat. Durch Überführung auf Standardform<br />

Minimiere<br />

c<br />

0<br />

T x<br />

s<br />

findet man sofort die Basislösung x = 0, s = b.<br />

<br />

unter den Nebenbedingungen Ax + s = b, x ≥ 0, s ≥ 0<br />

Ein wichtiges Beispiel <strong>für</strong> den angegebenen Fall hat man mit der Produktionsplanung, vgl.<br />

Beispiel 14.1. Ein anderer Fall liegt beim dualen Problem (14.9) eines allgemeinen Minimierungsproblems<br />

der Form (14.8) vor, nachdem man die Zerlegung λ = λ+ − λ− mit λ+,λ− ≥ 0<br />

wählt, falls der Kostenvektor des primalen Problems (14.12) c ≥ 0 erfüllt.<br />

Im allgemeinen Fall ermittelt man eine zulässige Basislösung mittels eines Hilfsproblems<br />

Minimiere c T x + Me T z unter den Nebenbedingungen Ax + z = b, x ≥ 0, z ≥ 0 (15.20)<br />

mit e := (1,... ,1) T ∈ R m und einer Zahl M > 0. Dabei wird benutzt, daß man bei Gleichungsrestriktionen<br />

(ggf. nach Multiplikation mit dem Faktor −1) o.B.d.A. eine nicht-negative rechte<br />

Seite annehmen kann. Es ist jedoch keine Rangbedingung an A gefordert.<br />

Satz 15.7. Vorausgesetzt wird, daß im LOP (15.6) b ≥ 0 gilt. Dann gelten <strong>für</strong> das Hilfsproblem<br />

(15.20) folgende Aussagen:<br />

(i) Das Hilfsproblem (15.20) hat die Basislösung<br />

<br />

x∗<br />

<br />

0<br />

=<br />

b<br />

zur Basis B = {n + 1,... ,n + m}.<br />

(ii) Ist<br />

x∗<br />

z∗<br />

<br />

z∗<br />

eine Lösung von (15.20) mit z∗ = 0, so ist x∗ eine Lösung von (15.2).<br />

(iii) Hat das Problem (15.6) eine Lösung, so gibt es eine Konstante M∗ > 0, so daß <strong>für</strong> M > M∗<br />

<br />

x∗<br />

gilt: Das Hilfsproblem (15.20) ist lösbar. Für jede Lösung von (15.20) ist z∗ = 0.<br />

<br />

0<br />

Beweis: zu (i): Die Basislösung ist zulässig wegen b ≥ 0. Die zur Basis gehörige Teilmatrix<br />

b<br />

ist gerade die Einheitsmatrix. Wegen x∗ = 0 liegt eine Basislösung vor.<br />

z∗


150 KAPITEL 15. SIMPLEX-VERFAHREN<br />

zu (ii): Aufgrund der Voraussetzungen ist x∗ zulässige<br />

<br />

Basislösung des LOP (15.6). Sei ˆx ein<br />

ˆx<br />

beliebiger zulässiger Vektor von (15.6). Dann ist zulässiger Punkt von (15.20). Aufgrund<br />

0<br />

<br />

x∗<br />

der Optimalität von haben wir<br />

0<br />

d.h. x∗ ist Lösung von (15.7).<br />

c T x∗ = c T x∗ + Me T z∗ ≤ c T ˆx + Me T 0 = c T ˆx,<br />

zu (iii): Die dualen Probleme sind zum LOP in Standardform (15.7):<br />

sowie zum Hilfsproblem (15.20):<br />

bzw.<br />

Maximiere b T λ auf N := {λ ∈ R m : A T λ ≤ c} (15.21)<br />

Maximiere b T λ unter der Nebenbedingung<br />

A T<br />

Im<br />

<br />

c<br />

λ ≤<br />

Me<br />

Maximiere b T λ auf NM := {λ ∈ R m : A T λ ≤ c, λi ≤ M, i = 1,... ,m}. (15.22)<br />

Eine Lösung ˜x von (15.7) existiert nach Voraussetzung. Die entsprechenden Lagrange-Multiplikatoren<br />

˜ λ sind Lösung des dualen Problems (15.21). Mit M∗ := ˜ λ∞ hat man ˜ λ ∈ NM <strong>für</strong><br />

M ≥ M∗. Wegen NM ⊂ N ergibt sich<br />

sup b<br />

λ∈NM<br />

T λ ≤ sup b<br />

λ∈N<br />

T λ = b T λ, ˜ falls M ≥ M∗.<br />

Daher ist ˜ λ auch Lösung von (15.22) <strong>für</strong> M ≥ M∗.<br />

<br />

˜x<br />

Die primale Aufgabe (15.20) hat ebenso eine Lösung mit dem Lagrange-Multiplikator<br />

˜z<br />

<br />

˜λ.<br />

x∗<br />

Nach Formel (14.5) aus Satz 14.3 ist ein zulässiger Punkt genau dann Lösung des<br />

Hilfsproblems (15.20), wenn die Komplementaritätsbedingungen<br />

<br />

c AT −<br />

Me<br />

<br />

˜λ<br />

x∗<br />

·<br />

<br />

= 0, i = 1,... ,n + m<br />

Im<br />

i<br />

z∗<br />

erfüllt sind. Wegen M > M∗ findet man aus dem unteren Block, daß z∗ = 0. ✷<br />

Bei einem konkreten Beispiel stellt man zunächst die Form mit b ≥ 0 her. Dann startet man<br />

das Simplex-Verfahren <strong>für</strong> das Hilfsproblem (15.20) mit einer beliebigen Zahl M > 0, z.B. mit<br />

M = 103 , mit dem in Satz 15.7 (i) angegebenen Startvektor.<br />

<br />

x∗<br />

• Ergibt das Verfahren eine Lösung mit z∗ = 0, so hat man nach Satz 15.7 (ii) eine<br />

Lösung x∗ des Ausgangsproblems gefunden.<br />

z∗<br />

• Anderenfalls vergrößert man die Zahl M, etwa durch Multiplikation mit dem Faktor 10,<br />

und wendet erneut das Simplex-Verfahren an. Gestartet werden kann mit der Lösung des<br />

letzten Hilfsproblems. Besitzt das Problem (15.2) eine Lösung, so erhält man<br />

<br />

mit<br />

<br />

dieser<br />

x∗<br />

Vorgehensweise nach endlich vielen Schritten eine Lösung von (15.20) mit .<br />

0<br />

Bemerkung 15.8. Man kann zeigen, daß die Zielfunktion im Hilfsproblem (15.20) genau dann<br />

nach unten unbeschränkt ist, wenn dies auch auf (15.2) zutrifft. ✷<br />

i<br />

z∗


Literaturverzeichnis<br />

[1] H. Amann: Gewöhnliche Differentialgleichungen, de Gruyter Lehrbuch 1983<br />

[2] V.I. Arnold: Gewöhnliche Differentialgleichungen, Deutscher Verlag der Wissenschaften,<br />

Berlin 1979<br />

[3] J.C. Butcher: Implicit Runge-Kutta processes, Math. Comp. 18 (1964), 50-64 .<br />

[4] P. Deuflhard, F. Bornemann: Numerische Mathematik <strong>II</strong>, de Gruyter Lehrbuch, Berlin -<br />

New York 1994<br />

[5] O. Forster: Analysis 2, Differentialrechnung im R n . Gewöhnliche Differentialgleichungen,<br />

Vieweg Braunschweig 1984<br />

[6] G. Fulford, P. Forrester, A. Jones: Modelling with Differential and Difference Equations,<br />

Austral. Math. Soc. Lect. Series 10, Cambridge. Univ. Press 1997<br />

[7] A. Greenbaum: Iterative Methods for Solving Linear Systems, SIAM 1997.<br />

[8] E. Hairer, C. Lubich: Asymptotic expansions of the global error of fixed-stepsize methods,<br />

Numer. Math. 45 (1984), 345-360<br />

[9] E. Hairer, G. Wanner: Solving Ordinary Differential Equations <strong>II</strong>. Stiff and Differential-<br />

Algebraic Problems, Springer-Verlag 1991<br />

[10] M. Hanke-Bourgeois: Grundlagen der Numerischen Mathematik und des Wissenschaftlichen<br />

Rechnens, Teubner-Verlag 2006<br />

[11] R. Kreß: Numerical Analysis, Graduate Texts in Mathematics 181, Springer 1998<br />

[12] B.N. Parlett: The symmetric eigenvalue problem, Prentice-Hall, Englewood Cliffs 1980.<br />

[13] H.R. Schwarz Numerische Mathematik, B.G. Teubner, Stuttgart 1993<br />

[14] L.F. Shampine, M.W. Reichelt: The MATLAB ODE Suite, SIAM J. Sc. Comput. 18 (1997)<br />

1, 1-22<br />

[15] C. Sparrow: The Lorenz Equations: Bifurcations, Chaos, and Strange Attractors, Springer,<br />

New York, 1982<br />

[16] J. Stoer, R. Bulirsch: Numerische Mathematik 2., Springer 1990<br />

[17] K. Strehmel, R. Weiner: Numerik gewöhnlicher Differentialgleichungen, Teubner Studienbücher<br />

Mathematik, Stuttgart 1995<br />

151


152 LITERATURVERZEICHNIS<br />

[18] W. Walther: Gewöhnliche Differentialgleichungen, Springer-Verlag, Berlin, Heidelberg, New<br />

York 1985<br />

[19] Y. Saad: Iterative Methods for Sparse Linear Systems, PWS Publ. Comp. 2003

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!