NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...
NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...
NUMERISCHE MATHEMATIK II Sommersemester 2010 - Institut für ...
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