Sie sind auf Seite 1von 159

Numerische und stochastische Grundlagen der

Informatik, WS14/15
Miriam Mehl, mehl@ipvs.uni-stuttgart.de
3. Februar 2015
Groe Teile dieses Skripts basieren auf der Mitschrift von Tim W
urtele aus
dem Wintersemester 2013/14. Dieses Dokument enth
alt die offizielle, korrigierte und um Inhlate aus dem Foliensatz im WS 13/14 erg
anzte Version.

Teil I

Numerik
1

Das Prinzip der Diskretisierung

In der Numerik haben wir es mit kontinuierlichen Problemen zu tun, aber Computer k
onnen eigentlich nur diskrete Einheiten verarbeiten:

Computer kennen keine reellen Zahlen, insbesondere keine 2, kein und


kein 1/3 sondern nur Approximationen mit Hilfe von diskret (separiert,
also nicht dicht) verteilten Zahlen.
Computer kennen keine Funktionen wie zum Beispiel die Sinusfunktion,
sondern nur Approximationen, die aus einfachen Bestandteilen (z.B. Polynomen) bestehen.
Computer kennen keine komplizierten Gebiete wie Kreise, sondern nur
Approximationen, z.B. als Menge von Pixeln.
Computer kennen keime analytischen Operationen wie Ableitungen, sondern nur Approximationen, z.B. durch Differenzenquotienten.

Die magische Welt des Ubergangs


kontinuierlich diskret heit Diskretisierung. Wir diskretisieren
reelle Zahlen mit Hilfe von Fliekommazahlen,

Gebiete (z.B. Zeitintervalle beim Losen gewohnlicher Differentialgleichungen oder r


aumliche Gebiete beim Losen partieller Differentialgleichungen)
durch die Einf
uhrung eines Gitters mit diskreten Gitterpunkten,
Funktionen durch Interpolation oder Kurvenapproximation mit Hilfe einer geeigneten Menge von Punkten und eines geeigneten Satzes von
Basisfunktionen,
1

Operatoren wie d/dx durch die Bildung von Differenzenquotienten aus


Funktionswerten an benachbarten Punkten,
Operatoren wie das Integral u
ber eine Funktion mit Hilfe von Quadraturregeln.

Diskretes Terrainmodel (rechts) mit Isolinien (links).

2
2.1

Fliekommazahlen
Motivation

Die Fliekommazahlen sind als Diskretisierung der reellen Zahlen gedacht, weil
es nicht m
oglich ist, den gesamten Korper der reellen Zahlen R in Computern o.
a. abzubilden. Dies ist dem Umstand geschuldet, dass R vollstandig, also unendlich und sogar u
berabzahlbar machtig ist, Maschinen aller Art aber
nur begrenzten Speicher haben. Die Anzahl der darstellbaren Zahlen auf einem
Computer ist daher unvermeidlich endlich, also diskret und beschrankt.
Wenn man sich die reellen Zahlen auf einem Zahlenstrahl anschaut, so ergibt
sich einfach eine Linie von bis +:
R
2.1.1

Integer-Arithmetik

Eine M
oglichkeit, um dieses Problem zu losen, ist, dass man sich auf die Darstellung und das Rechnen mit ganzen Zahlen beschrankt, wobei auch hier aufgrund
begrenzten Speichers nur eine endliche Teilmenge dargestellt werden kann.
Die ganzen Zahlen haben auf einem Zahlenstrahl immer den selben Abstand
zu Vorg
anger und Nachfolger; in Maschinen wird u
blicherweise eine Teilmenge
[N, N ] bzw. [N + 1, N ] abgebildet.
Z
Der offensichtliche Nachteil der Integer-Arithmetik sind die Schwierigkeiten
mit allen Arten von kontinuierlichen Konzepten (Ableitungen, Konvergenz, . . . ).
2.1.2

Fix-Punkt-Arithmetik

Die Fix-Punkt-Artithmetik ist der Integer-Arithmetik sehr ahnlich. Der Unterschied besteht im Wesentlichen darin, dass man das Nachkommastellen erlaubt,
wobei die Position des Kommas, also die Anzahl der Stellen vor und nach dem
Komma fix gegeben sind. Diese Zahlen haben dann wie die Integer Zahlen einen
2

konstanten Abstand zu den Nachbarn und der Zahlenraum ist beschrankt, z.B.
auf [999, 9999; 999, 9999]. Damit ist dsa Bild ganz ahnlich wie bei Integers:
Z
Eine wesentliche Beobachtung ergubt sich, wenn man sich u
berlegt, dass man
gerne mehrere Zahlen zwischen 0 und 0, 001 hatte, wohingegen die Auflosung
zwischen 998 und 999 ruhig gr
ober ausfallen d
urfte. Die Genauigkeit hangt also
von der Skalierung ab (kleine relative Fahler f
ur groe Zahlen, groe Fehler,
wenn wir mit kleine Zahlen Rechnen, z.B. wenn wir unser ganzes Problem mit
103 multiplizieren).
0

2.2

0.01

Fliekomma-Arithmetik

Das Problem der bisherigen Ansatze war vor allem der feste Abstand zwischen
zwei darstellbaren Zahlen, denn so werden entweder die Genauigkeit oder der
mit endlichem Speicher darstellbare Zahlenbereich stark beschnitten.
Die Fliekommazahlen machen sich zu Nutze, dass i.d.R. im Bereich sehr
kleiner Zahlen eine hohe Genauigkeit gew
nscht ist, wahrend im Bereich groer
Zahlen die Abst
ande zwischen zwei darstellbaren Zahlen etwas groer sein d
urfen,
wenn daf
ur gr
oere Zahlen darstellbar sind. Diese Grundlage f
uhrt auch zu einer (gerade f
ur Informatiker) wichtigen Einschrankung der Fliekommazahlen:
Werden sehr groe Zahlen nur geringf
ugig verandert, so kann es leicht passieren,
dass sich die Repr
asentation als Fliekommazahl gar nicht andert.
Die unterschiedlichen Abstande zwischen den Fliekommazahlen werden dadurch erreicht, dass die Position des Kommas variiert und dadurch eine variable
Gr
oenordnung der Zahlen erreicht wird:
Aufgebaut ist eine Fliekommazahl zunachst aus einer Integer-Komponente
bestimmter L
ange, der Mantisse, die Kommastelle legt der Exponent fest. Formal definiert sieht das dann so aus:
Def.: normalisierte t-stellige Fliekommazahlen zur Basis B


FB,t := M B E : M = 0 oder B t1 |M | < B t , M, E Z B N\{1}, t N
2.2.1

Normalisierung

Normalisiert heien die Fliekommazahlen, so wie wir sie definiert haben, weil
ihre Darstellung eindeutig ist. Das wird sichergestellt durch die Forderung, dass
B t1 |M | < B t . W
urde man dies nicht fordern, konnte die Zahl
00010 105 auch dargestellt werden als 10000 102 .

Wenn wir Fliekommazahlen insbesondere im Computer verarbeiten


(z.B. vergleichen) wollen, dann bietet eine eindeutige Darstellung Vorteile. Fliekommazahlen definieren eine diskrete Menge von Zahlen, die allerdings noch
unendlich viele Elemente enthalt.

2.2.2

Maschinenzahlen

Die Maschinenzahlen sind eine endliche Teilmenge der Fliekommazahlen, bei


denen nicht nur die Mantisse beschrankt wird, sondern auch der Exponent (in
der Definition der Fliekommazahlen gilt f
ur den Exponenten noch E Z),
dadurch wird die Zahl in einem endlichen Speicher abbildbar. Formal definiert
sind die Maschinenzahlen folgendermaen:
FB,t,, := {f FB,t : E } .
Das Quadrupel (B, t, , ) charakterisiert die Maschinenzahlen eindeutig. F
ur
die Darstellung einer konkreten Zahl m
ussen im Speicher M und E abgelegt
werden.
Im Folgenden wird der Unterschied zwischen Maschinen- und Fliekommazahlen i.d.R. an der Anzahl der Sub-Indizes zu erkennen sein.

Ubung:
Schreiben Sie die folgenden Zahlen in normalisierter Form mit der
gegebenen Basis B und der Anzahl von Ziffern t (beachte, dass z.B. 5441010 =
311020224 ):
1, 2688 1029
4001 2

B = 10, t = 6,

B = 2, t = 16,

544110 4

B = 4, t = 8.

Der absolute Abstand zwischen den Maschinenzahlen ist nicht konstant:


Betrachte zum Beispiel die Paare von Nachbarzahlen
9998 100 und 9999 100 Abstand 1
sowie

1000 107 und 1001 107 Abstand 107

im Fall B = 10 und t = 4.

Wenn die Absolutwerte der Zahlen groer werden, wachst auch die Gitterweite des diskreten Gitters aus Fliekommazahlen wir erhalten eine
logarithmische Skalierung.
Das ist sinnvoll: Eine Million Euro machen in der Staatsverschuldung keinen groen Unterschied, beim eigenen Einkommen machen aber bereits
100 Euro einen betr
achtlichen Unterschied.
Insgesamt vergr
oert der Gebrauch von Fliekommazahlen den Bereich
der darstellbaren Zahlen im Vergleich zu Fixpunkt-Darstellungen.
2.2.3

Darstellbarer Zahlenbereich der Maschinenzahlen

Dadurch, dass bei den Maschinenzahlen sowohl Mantisse als auch Exponent
beschr
ankt sind, k
onnen Maschinenzahlen nur einen endlichen Zahlenbereich
abbilden, dessen Grenzen k
onnen wir wie folgt berechnen (es wird jeweils die
positive Richtung berechnet, die negativen Zahlen sind ja nur die Spiegelung an
der Null):
kleinste positive Zahl:
4

:= B t1 B = B t1+ .
gr
ote positive Zahl:
:= (B t 1)B .

Dass diese beiden Werte stimmen, ist schnell ersichtlich; im Fall der kleinsten
positiven Zahl wird die kleinstmogliche positive Mantisse mit der Basis hoch
des kleinstm
oglichen Exponenten multipliziert somit kann es keine kleinere
positive Zahl in FB,t,, geben. F
ur die grote positive Zahl gilt dasselbe mit
den jeweils gr
oten erlaubten Werten.
2.2.4

Genauigkeit/Aufl
osung

Wenn wir die Genauigkeit von Maschinen- oder Fliekommazahlen anschauen,


dann sagt uns der relative Abstand zwischen zwei aufeinanderfolgenden Zahlen deutlich mehr, als der absolute Abstand, denn der wird ja immer groer,
je gr
oer die Zahlen werden, die dargestellt werden sollen. Darum betrachten
wir vor allem den relativen Abstand von zwei aufeinanderfolgenden Fliekommazahlen:
BE
1
(|M | + 1)B E |M | B E
=
=
E
|M | B
|M | B E
|M |

Bemerkenswert ist dabei, dass das Ergebnis nicht mehr vom Exponenten abhangt.
Das heit insbesondere, dass diese Herleitung sowohl f
ur Fliekomma-, als auch
f
ur Maschinenzahlen gilt.
Wenn wir nun eine ganze Menge von Fliekommazahlen, z.B. F10,10 betrachten, dann interessiert uns weniger der Abstand von zwei bestimmten Zahlen, sondern vielmehr der gr
otm
ogliche relative Abstand, so wissen wir wie schlimm
es h
ochstens wird. Aus der Formel f
ur den relativen Abstand konnen wir uns
jetzt den maximalen relativen Abstand herleiten; also nach oben abschatzen:
1
1
t1 =: %
|M |
B
Das gilt, weil B t1 die kleinste erlaubte Mantisse ist.

(Das Zeichen % ist u


brigens ein

kleines Rho)

2.2.5

IEEE Standard

Ber
uhmtestes und wichtigstes Beispiel ist das Fliekommaformat, das von IEEE
(Institute of Electrical and Electronics Engineers, I triple E) in der US-Norm
ANSI/IEEE-Std-754-1985 definiert wurde. Es lasstt sich auf ein Patent von
Knrad Zuse aus dem Jahr 1936(!) zurckf
uhren:
level

single precision

2 24

double precision

2 53

149

extended precision

1074

104 223 2126

=2
128

971 252 21022

=2
1024

2 64 16445 16320 263 216382 =2


16384

Enfache Genauigkeit (single precision) entspricht somit 6 bis 7 Dezimalstellen, doppelte Genauigkeit (doeble precision) ungefahr 14 Dezimalstellen. Genau
diese Definitionen verbergen sich hinter der Nomenklatur standadisierter Programmiersprachen, z.B. FLOAT oder DOUBLE in C.
2.2.6

Ausnahmebehandlung

Beim Verarbeiten von Maschinenzahlen kann es dazu kommen, dass Ergebnisse


sich nicht mehr sinnvoll darstellen lassen, im wesentlichen konnen drei Falle von
Ausnahmen auftreten:
Not-a-number (NaN) das Ergebnis ist keine Zahl und somit auch
nicht als Maschinenzahl darstellbar, klassisches Beispiel ist hier 10 o.a..
exponent overflow das Ergebnis ist (betragsmaig) groer als die
gr
ote darstellbare Zahl:
|f | > (B t 1) B .
exponent underflow das Ergebnis ist (betragsmaig) kleiner als die
kleinste darstellbare Zahl:
|f | < B t1+ .
Je nach Implementierung werden diese Ausnahmen gemeldet (signaling) oder
nicht (quiet). Besonders die letzten beiden Falle sind quiet besonders gefahrlich,
weil ein Ergebnis, dass gr
oer als (B t 1) B ist, in der Regel auf (B t 1) B
abgerundet wird im Speicher steht also eine g
ultige Zahl. Dasselbe gilt entsprechend f
ur den exponent underflow.
2.2.7

Runden, Nachbarn

Da mit den Fliekommazahlen nur eine Teilmenge der reellen Zahlen abgebildet werden kann, kann es vorkommen, dass das Ergebnis einer Operation nicht
genau eine Fliekommazahl ist, sondern zwischen zweien liegt. Dann muss das
Ergebnis gerundet werden, daf
ur werden wir zunachst den rechten und linken
Nachbarn einer Zahl x R einf
uhren:
Jede Zahl x R hat genau einen linken (fl (x)) und einen rechten (fr (x)) Nachbarn in FB,t , die folgendermaen definiert sind
fl (x)

:=

fr (x)

:=

max{f FB,t : f x},


min{f FB,t : f x}.

Man kann diese beiden auch explizit angeben, wenn x in der Form x = (Mx +
x ) B Ex vorliegt (dabei gilt [0, 1)):
fl (x) = Mx B Ex

Beim rechten Nachbarn muss der Fall = 0, also dass x genau einer Fliekommazahl entspricht, ber
ucksichtigt werden:
(
(Mx + 1) B Ex falls > 0
.
fr (x) =
M x B Ex
sonst
6

2.2.8

Anforderungen an Rundungsverfahren

Ein Rundungsverfahren muss folgende Eigenschaften erf


ullen:
(1) Surjektivit
at: f F x R : rd(x) = f
(2) Idempotenz: x R : rd(rd(x)) = rd(x)

(3) Monotonie: x, y R : x y rd(x) rd(y)

H
alt man sich an diese Regeln, sind immernoch verschiedene Arten von Runden
m
oglich:
2.2.9

Wichtigste Rundungsverfahren

Abrunden (gerichtet): rd (x) := fl (x), dabei ist das im Subskript


ein Minuszeichen;
Aufrunden (gerichtet): rd+ (x) := fr (x);
(
rd (x) falls x 0
Abschneiden (gerichtet): rd0 (x) :=
;
rd+ (x) sonst
(
r (x)
(Normaler Mittelwert)
fl (x) falls x fl (x)+f
2
.
korrektes Runden: rd (x) :=
fr (x) sonst
Die in der Praxis am h
aufigsten genutzte Rundungsform ist das korrekte Runden
in Kombination mit einer regel f
ur den Fall, dass eine Zahl genau zwischen zwei
Maschinenzahlen liegt. Es l
asst sich leicht zeigen, dass alle diese Rundungsarten
surjektiv, idempotent und monoton sind.
2.2.10

Rundungsfehler

Rundungsfehler betrachten wir auch wieder vorzugsweise relativ, daf


ur definieren wir zun
achst den
absoluten Rundungsfehler rd(x) x,
um daraus den f
ur uns wichtigeren
relativen Rundungsfehler herzuleiten: = rd(x)x
, x 6= 0.
x
Vorsicht mit der Bedingung x 6= 0: Das bedeutet, dass das exakte x ungleich
Null sein muss. Wenn x 6= 0 ist, aber rd(x) = 0, dann gilt die Formel dennoch
dann ist der Fehler sogar extrem gro: Wir verlieren alle Information, die in
der Zahl steckte!
Die obige Formel kann umgeformt werden zu rd(x) = x (1 + ), diese Form
der Darstellung (also exaktes Ergebnis mal 1 + irgendwas) werden wir noch ofter
brauchen, hier ist sie vor allem dazu da, dass man sie mal gesehen hat. F
ur die
relativen Fehler gilt beim gerichteten Runden || < %, weil im Extremfall fast
ein kompletter Zahlenzwischenraum beim Runden u
bersprungen wird. Beim
korrekten Runden gilt dagegen || < %2 . Dies gilt nat
urlich nur f
ur reelle Zahlen,
die zwischen der kleinste nund der groten Maschinzahl liegen (siehe Bemerkung
oben f
ur ein x mit rd(x) = 0).
Da die gesamte Idee der Maschinzahlen darauf ausgerichtet ist, reelle Zahlen mit m
oglichst groer relativer Genauigkeit darstellen zu konnen, spielt die
Analyse von Rundungsfehlern in numerischen Algorithmen eine groe Rolle.
7

2.3

Fehler beim Rechnen mit Maschinenzahlen

Motivation/historisches Beispiel Am 25.02.1991, im zweiten Golfkrieg,


traf eine irakische Scud-Rakete einen amerikanischen St
utzpunkt, obwohl die
Raketenabwehr (Patriotsystem) richtig aufgebaut und in Betrieb war weil
die Abfangrakete die anfliegende verfehlte. Grund daf
ur war ein aufsummierter Rundungsfehler, denn das Patriotsystem zahlte die Zeit in Zehntelsekunden
in einem 24-Bit-Register. Zehntelsekunden sind in Binardarstellung aber sehr
ung
unstig, denn
0.110 = 0.00011002 ,
Das wird auf besagte 24 Stellen gerundet, dabei entsteht pro Zahlschritt ein
Fehler von etwa 9.5 108 Sekunden.
Das System war zu diesem Zeitpunkt schon ca. 100h gelaufen, also war ein
Fehler von
10 60 60 9.5 108 0.34

Sekunden aufgelaufen die Scud-Raketen fliegen mit etwa 6.000km/h, also ging
die Patriot-Abfangrakete gut 570m daneben.
Was k
onnen wir daraus lernen? Zum Einen, dass Zahlen, die dezimal sehr
gut darstellbar sind, in bin
arer Darstellung sehr schlecht darstellbar sein konnen.
Zum Anderen, dass wir beim Arbeiten mit Fliekommazahlen immer im Kopf
behalten m
ussen, dass es eben keine exakte Rechnung ist.
Notation Da Rechenoperationen in Fliekomma-Arithmetik fast immer approximativ ausgef
uhrt werden, f
uhren wir eine Notation daf
ur ein, so dass wir
das Ergebnis vom exakten Ergebnis unterscheiden konnen. Dabei wird f
ur die
approximative Funktion einfach ein Punkt u
ber das Zeichen der exakten Ope
ration gesetzt, aus wird also :
ab R, aber in der Regel ab
/ F (exaktes Ergebnmis der arithmetischen
Operation .

a b F (tatschlich berechnetes Ergebnis der arithmetischen Operation .


Nat
urlich muss f
ur das richtige Rechnen mit approximativen Operationen
immer der Kontext bekannt sein (wie viele g
ultige Stellen, welche Basis).
Ein kurzes Beispiel, der Kontext ist hier F10,4 : Die Zahlen 1234 und 0, 1452
sollen addiert werden:
1234 + 0, 1452 = 1234, 1452 dagegen 1234 u 0, 1452 = 1234.
Auch hier interessiert uns wieder nur der relative Fehler (a, b) einer Operation . Diesen definieren wir wie folgt:
(a, b) :=

(a b)
(ab)
, a b 6= 0
ab

Daraus ergeben sich verschiedene Stufen von Fliekommaarithmetiken:

2.3.1

Ideale Arithmetik

F
ur die ideale Arithmetik ist gefordert, dass das Ergebnis der approximativen
Operation gleich dem gerundeten Ergebnis der exakten Operation ist:
= rd(a b)
a, b F : ab
Dabei ist besonders auf das F zu achten: W
urde hier R stehen, ware die
Bedingung u.U. nicht erf
ullbar. Das stellt aber keine wirkliche Einschrankung
dar, weil unsere Fliekommaoperationen sowieso nur auf F definiert sind.
Die ideale (
ubrigens nennt man das mathematisch exakte Rechnen exakte
Arithmetik) Arithmetik wird vom IEEE-Standard in allen drei Genauigkeits
stufen (single, double, extended) f
ur die Basisoperationen , +, , , / gefordert.
Die Genauigkeit, sprich der relative Fehler, hangt dabei vom verwendeten
Rundungsverfahren und der Auflosung der verwendeten Fliekommazahlen ab:
Mit einem gerichteten Rundungsverfahren erreicht man in idealer Arithmetik
| (a, b)| %, mit korrektem Runden dagegen | (a, b)| %2 .
Maschinengenauigkeit Im diesem Zusammenhang soll auch die Maschinengenauigkeit eingef
uhrt werden. Sie beschreibt den schlimmstmoglichen relativen Fehler, wenn mit idealer Arithmetik gerechnet wird:
(
% f
ur gerichtetes Runden
:= %
.
f
ur korrektes Runden
2
2.3.2

Starke und schwache Hypothese

Da die ideale Arithmetik f


ur komplexe Operationen wie hohere Wurzeln nicht
mehr eingehalten werden kann und auch f
ur die Basisoperationen nicht in jedem
Computer realisiert sind, wurden weitere Qualitatslevel f
ur Fliekommaarithmetik eingef
uhrt, die schwchere Forderungen stellen.
Starke Hypothese Die starke Hypothese fordert, dass der relative Fehler
einer Operation in der Gr
oenordnung der Maschinengenauigkeit liegt. Formal
sieht das so aus:
= (a b)(1 + (a, b)) mit | (a, b)| f
a, b F : ab
ur ein O(%).
Zu beachten ist, dass diese Definition nicht scharf ist, denn O(%) bedeutet ja
nur, dass linear mit % zusammenhangen muss, mit dieser Definition wre also
auch ein (a, b) = 10100 % erlaubt was nat
urlich Blodsinn f
ur die allermeisten
Anwendungen ist. In der Praxis wird daher O(%) so interpretiert, dass der
Fehler h
ochstens ein kleines Vielfaches der Maschingenauigkeit sein darf.
Schwache Hypothese Die schwache Hypothese fordert, dass das approximative Ergebnis dem genauen Ergebnis mit (leicht) veranderten Eingabewerten
entspricht, auch hier ist formale Definition nicht scharf und man m
usste f
ur
die reale Anwendung noch eine Obergrenze f
ur den Faktor, der sich in O(%)
versteckt, festlegen.
= (a(1 + a ) (b(1 + b )) mit |a |, |b | f
a, b F : ab
ur ein O(%).
9

Der Vorteil der schwachen Hypothese ist, dass sie die realen Umstande abbildet,
denn meistens sind die Eingabedaten eben im Bereich der Maschinengenauigkeit
ungenau mit einem sinnvollen Vorfaktor ware dann auch das Ergebnis in dieser
Gr
oenordnung. Die schwache Hypothese muss daher f
ur jeden Computer erf
ullt
sein.

2.4

Eigenschaften von Fliekommaarithmetik

Fliekommaoperationen haben nicht dieselben Eigenschaften als ihre exakten Gegenst


ucke. Wir untersuchen dies am Beispiel der Fliekommaaddition

+:
Die Fliekommaaddition ist nicht assoziativ!

Abh
angig von der Ausf
uhrungsreihenfolge konnen unterschiedliche Ergebnisse erzielt werden.
Um dies zu demonstrieren, addieren wir die Zahlen 220 , 24 , 27 , 23 und 220 .
Das exakte Ergebnis ist 136. Je nach Klammerung der Summanden erhalten wir
f
ur die Rechnung mit 8 Bin
arziffern unterschiedliche Ergebnisse:
20

20 ) +
3) +
24 ) 2
27
(((220 2
(220 +
(24 +
(23 +
27 )))
+

(220 +
24 )) +
(23 +
27 )
(2 +
3 )) +
((220 +
24 ) 2
27
(220 +
20

.
=
.
=
.
=
.
=

136
0
120
128

Bedenken Sie die Konsequenzen, z.B. f


ur massiv paralleles Rechnen!
2.4.1

A-priori Fehleranalyse

Numerische Algorithmen sind gegeben durch eine Abfolge von arithmetischen


Operationen mit fest vorgegebener Reihenfolge. Durch die Fliekomma-Arithmetik
treten in einem Algorithmus viele Fehler auf. Die wichtigsten Ziele bei der Entwicklung eines Algorithmus sind daher:
kleiner Diskreisierungsfehler (moglichst wenig und genaue Diskretisierung),
Effizienz (minimale Laufzeit),

kleine Rundungsfehler (moglicht geringer Einfluss von (akkumulierten)


Rundungsfehlern).
Das letzte dieser Ziele erfordert eine a-priori Fehleranalyse, bei der man
sich die Frage strllt, welche Fehlergrenzen man f
ur den Gesamtfehler einhalten
kann, wenn eine bestimmte Qualitat der einzelnen arithmetischen Operationen
vorgegeben ist.
Um Algorithmen, die mit Fliekommaarithmetik arbeiten, beurteilen zu
k
onnen, lernen wir hier zwei grundlegende Methoden kennen, sie zu analysieren.
In beiden F
allen wird ein einfacher Beispielalgorithmus betrachtet, der nur zwei
Operationen ben
otigt.

10

Vorw
artsfehleranalyse Gesucht ist ein Faktor , um den das Ergebnis relativ vom exakten Ergebnis abweicht:
= (a b M c) (1 + ), || ?
Mc
ab
Das, was wir als obere Schranke f
ur finden (denn die obige Zeile muss nat
urlich
f
ur alle a, b, c F gelten), ist das Ergebnis der Analyse. Diese Sichtweise ist
vorteilhaft, da sie direkt zum relativen Fehler f
uhrt, aber oft wegen komplexer
Fehlerkorrelationen nur schwer anwendbar.
Ru
artsfehleranalyse Hier suchen wir nach einer oberen Schranke f
ur die
ckw
Ver
anderung der Eingabedaten, um mit veranderten Eingabedaten und exakter
Rechnung dasselbe Ergebnis zu erhalten wie mit den richtigen Eingabedaten
und approximativer Rechnung:
= (a(1 + a )) (b(1 + b )) M (c(1 + c )), |a |, |b |, |c | ?
Mc
ab
Die R
uckw
artsfehleranalyse lasst sich wieder dadurch motivieren, dass man
ein Ergebnis f
ur akzeptabel h
alt, wenn es bei leicht veranderten Eingabedaten
(die wir aufgrund der Diskretisierug der Eingaben sowieso haben) als Ergbnis
einer exakten Rechnung erzielt worden ware.
Zusammenhang mit starker/schwacher Hypothese Wenn die Operationen, die der Algorithmus benutzt, nur die schwache Hypothese erfllen, dann
ist nur die R
uckw
artsfehleranalyse moglich, wenn die starke Hypothese erfllt
ist (oder die Forderung der idealen Arithmetik), dann sind beide Analyseverfahren m
oglich, denn die Aussage der Vorwrtsfehleranalyse kann in die der
R
uckw
artsfehleranalyse umgewandelt werden. Hier zwei Beispiele:
a u b = (a + b)(1 + ) = a(1 + ) + b(1 + ),

ab = (ab)(1 + ) = a 1 + b 1 + .

Dabei ist der zweite Term gerade das Ergebnis der Vorwartfehlersanalyse
und der dritte entspricht der R
uckwartsfehleranalyse.
Beispiel:P
Das Horner-Schema Ziel: Finde den Wert y := p(x) des Polynoms
n
i
p(x) :=
ur gegebenes x.
i=0 ai x f
Algorithmus: Horner-Schema
y := (. . . (((an x + an1 )x + an2 )x + an3 ) . . . + a1 )x + a0
oder
y := a[n];
for i:=n-1 downto 0 do y:=y*x+a[i] od;
F
ur jeden Schritt haben wir bei Annahme der starken Hypothese
y := (
y x (1 + i ) + ai ) (1 + i )
mit i und i beschr
ankt durch .
11

Umformungen liefern
y =

n
X

a
i xi

i=0

mit
a
i

:=
=

ai (1 + i ) (1 + i1 ) . . . (1 + 0 )

i
i1
X
X

ai 1 +
i +
i + O 2 ,
j=0

n := 0 .

j=0

Das bedeutet: Der berechnetew Wert y kann interpretiert werden als exakter
Wert des Polynoms mit geringf
ugig geanderten Koeffizienten.

Kondition und Stabilit


at

Kondition und Stabilit


at sind Eigenschaften, die uns helfen, ein Problem (Kondition) oder einen Algorithmus (Stabilitat) bez
uglich der zu erwartenden Qualitat
der L
osung einzusch
atzen. Beide Begriffe sind in nur qualitativ definiert:
Kondition ist eine Eigenschaft der Problemstellung. Die Frage, die
man mit Hilfe der Kondition beantworten mochte, ist: Wie stark wirkt
sich ein kleiner Fehler in der Eingabe auf das ausgegebene Ergebnis aus?
Eingabefehler

exakte Rechnung

Fehler in Ausgabe?

Bei der Betrachtung der Kondition geht man von exakter Arithmetik in
allen Rechenschritten der Problemlosung aus.
Stabilit
at ist eine Eigenschaft des Algorithmus. Man nimmt hier an,
dass die Eingabe exakt ist, aber die Rechnung fehlerbehaftet (FliekommaArithmetik, Rundungsfehler). Die Stabiltat eines Algorithmus gibt uns
einen Hinweis auf Gr
oe des Fehlers im Ergebnis unter disen Annahmen.
exakte Eingabe

Fliekommaarithmetik

Fehler in Ausgabe?

Beispiele f
ur Problemstellungen, bei denen wir die Kondition und die Stabilt
at algorithmischer L
osungsvarianten untersuchen konnen (und dies teilweise
im Laufe der Vorlesung auch tun werden):
L
osen eines linearen Gleichungssystems Ax = b: Die Eingabedaten sind
A Rnn und b Rn , das Ergebnis ist x Rn .

Berechnen der Nullstellen eines Polynoms p(x) = a0 + a1 x + a2 x2 + . . . +


an xn vom Grad n mit reellen Koeffizienten: Die Eingabedaten sind die Polynomkoeffizienten a0 , a1 , . . . , an , das Ergebnis sind die n (evtl. komplexen
Wurzeln.
Berechne die Eigenwerte einer Matrix A: Eingabedaten sind die Eintrage
der Matrix a Rnn , Ergebnis sind alle (komplexen) mit Ax = x f
ur
einen Eigenvektor x, der nicht verschwindet.
12

3.1

Kondition

Gute oder schlechte Kondition sind Begriffe, die rein qualitativ definiert sind:
Bei einer hohen Sensitivit
at des Ergebnisses gegen
uber Fehlern in den Eingabedaten spricht man von schlechter Kondition, bei geringer Sensitivitat von
guter Kondition:
Illustration schlechter Kondition:
kleine St
orung

groe Auswirkung

=
http://www.martinmissfeldt.de

icp.ge.ch

Illustration guter Kondition:


geringe Auswirkung

kleine St
orung

=
http://www.martinmissfeldt.de

zeitzuleben.de

Die Betrachtung von Fehlern in den Eingabedaten macht durchaus Sinn, da


diese sehr h
aufig entweder nur ungenau gegeben sind (Messfehler, vorangegangene Berechnungen) und daher Fehler sogar bei Verwendung exakter Arithmetik
eher die Regel als die Ausnahme bilden. Ein paar Regeln sollte man sich f
ur den
Umgang mit gut oder schlecht konditionierten Problemen merken:
Gut konditionierte Probleme:

Kleine Fehler x in der Eingabe verursachen kleine Fehler y im Ergebnis.


St
orungen in den Eingabedaten sind insofern unkritisch.
Hier lohnt es sich also, in die Entwicklung eines guten (stabilen) Algorithmus zu investieren.

Schlecht konditionierte Probleme:

Sogar kleine Eingabefehler x f


uhren zu groen Fehlern y im Ergebnis.
Die L
osung reagiert also extrem empfindlich auf Storungen der Eigabedaten.
Da sich diese aber nicht vermeiden lassen (siehe oben), haben hier sogar
exzellente Algorithmen Probleme, gute Ergebnisse zu erzielen.

13

Auch bei der Kondition definieren wir uns absolute und relative Kondition
einer Operation :
a (a b)

:=

r (a b)

:=

|(a + a) (b + b) a b|
|a| + |b|
|(a + a) (b + b) a b|


|b|
|a b| |a|
+
|a|
|b|

(absolute Kondition)
(relative Kondition)

3.1.1

Kondition von Basisoperationen

Die Basisoperationen +, , , /, sind besonders haufig im Einsatz, deshalb wollen wir uns hier ihre Kondition anschauen:
Addition. Wir bestimmen die (relative) Kondition f
ur a + b mit a, b 0 oder
a, b 0:
(a + a) + (b + b) (a + b)
a+b

=
=

(a + b) + (a + b)
a + b
1=
a+b
a+b
|a + b|

 1.
|b|
|a + b| |a|
|a| + |b|

Es ist erkennbar, dass + f


ur die meisten Falle mit gleichen Vorzeichen von
a und b gut konditioniert ist (der relative Fehler liegt in der Groenordnung
des relativen Eingabefehlers, u
blicherweise der Maschinengenauigkeit). Dies gilt
aber nicht f
ur a b. Dann sind wir aber eigentlich wieder bei der Subtraktion.
Wir k
onnen also festhalten, dass + gut konditioniert ist, wenn a und b dasselbe
Vorzeichen haben.
Subtraktion. Wir berechnen die relative Kondition f
ur ab mit a, b 0 oder
a, b 0:
(a + a) (b + b) (a b)
ab

a b
ab
|a b|

|a b| |a|
|a| +

= =
=

|b|
|b|

 f
ur a b.

Hier sehen wir das Problem, das wir schon bei der Addition angesprochen
hatten, noch deutlicher: Wenn a b ist, dann wird die Kondition sehr schlecht
daraus folgt, dass die Subtraktionen, vor allem von ahnlich groen Zahlen
m
oglichst fr
uh im Algorithmus durchgef
uhrt werden sollten, denn dann ist der
Eingabefehler i.d.R. noch recht klein.
Den Effekt des Genauigkeitsverlustes bei der Subtraktion von solchen ahnlich
groen Zahlen nennt man Ausloschung. Was dabei genau ausgeloscht wird, soll
an folgendem Beispiel (F10,4 ) kurz erlautert werden (es soll 1234538 1233416
berechnet werden):
1234 538
1233 416
1 122
14

Die Zahlen in der ersten Spalte sind die, mit denen die Fliekommaarithmetik
rechnet, in der zweiten Spalte sehen wir die Stellen, die beim Runden abgeschnitten wurden. Wie man sieht, ist das Fliekommaergebnis genau 1 103
normalisiert also 1000 100 . Obwohl nach der Subtraktion wieder Platz f
ur die
Information da w
are, dass 1122 100 korrekt ware, bleibt dieser ungenutzt, weil
die Information schon weg, also ausgeloscht, ist. Ein Fall, in dem sich solche
Fehler sehr stark auswirken, ist die Berechnung von e20 mit Hilfe die Taylorentwicklung

X
xi
.
ex =
i!
i=0
bis zum 100. Taylorglied. Dazu schreiben wir uns folgendes Programm, zum
Beispiel in Maple:
x := -20; n := 100; y := 1.0; s := 1.0;
Digits := 7;
for i from 1 to n do
y := y*x/i;
s := s+y; od;
s;
Wir erhalten, wenn wir wie im angegeben Programm mit 7 g
ultigen Dezimalziffern rechnen, als Ergebnis 7, 014115 was nat
urlich komplett falsch ist. Auch
mit 14 g
ultigen Dezimalstellen ist das Ergebnis noch um zwei Groenordnungen
falsch, n
amlich ca. 9, 253 107 , korrekt wird es erst bei 21 g
ultigen Stellen
( 2.061 109 ).
Grund f
ur dieses ung
unstige Verhalten ist, dass wir bei der Berechnung der
Taylorsumme immer jeweils einen neuen Term zur bisherigen Summe dazu addieren, der das umgekehrte Vorzeichen der bisherigen Summe hat. So sammeln
wir jede Menge Ausl
oschungsfehler auf, die irgendwann zu einem so groen Zwoschenergebnis f
uhren, das weitere Terme gar keine Einfluss auf das Ergebnis
mehr haben. Dies l
asst sich wunderbar ablesen, wenn man die Zwischenergebnisse tabelliert:
n
1
2
3
...
7
...
31
32
...
42
43
...
62
63
64
65

S(n)
19.0
181.0
1152.333
...
186231.6
...
1.011906 106
620347
...
1005.751
450.185
...
7.014119
7.014114
7.014115
7.014115
15

Multiplikation. Relative Kondition f


ur a b:
(a + a) (b + b) (a b)
ab
r

=
.
=

a b + b a + a b . a b
=
+
a
b
a b a b
+
a
b
1.
|b|
|a|
+
|a|
|b|

.
= bezeichnet dabei eine lineare Naherung, bei der wir Terme, die mindestens
quadratisch in den St
orungen a und b sind, vernachlassigen, da diese im Vergleich zu den anderen Termen sehr klein sind.
Die Multiplikation ist also sehr gut konditioniert.
Division. Relative Kondition f
ur a/b:
(a + a)/(b + b) (a/b)
a/b
r

=
=



a b
(a + a)b
a b + b a
1

=
,
1=
+

b
a(b + b)
a
b
ab 1 + a
1 + b
a


a b
1
1
+


.
a
b 1 + b |a| + |b|
|1 + b
a|
a
|a|
|b|

Die Division ist also sehr gut konditioniert, solange nicht gerade b a. Daf
ur
muss b sehr viel gr
oer sein als a.
Wurzel.

Relative Kondition f
ur a:

p
a + a a
. a

,
=
1 + a/a 1 =
2a
a
|a|
1
.
r =
= .
|a|
2
2|a| |a|

Die Quadratwurzel ist also sehr gut konditioniert.


3.1.2

Formale Berechnung der Kondition

Die Problemstellung sei die Berechnung von f (x) f


ur gegebenes x, dabei kann
f vektorwertig und x ebenfalls ein Vektor sein. Dann ist die absolute Kondition
dieses Problems beschrieben durch
a,f (x)

f (x + x) f (x)
f 0 (x).
x

Die absolute Kondition kann also durch die Ableitung an der Stelle x angegeben
werden.
Falls die Funktion f zusammengesetzt ist, gilt die Kettenregel, also erhalten
wir f
ur f (x) = r(q(x)):
f 0 (x) = r0 (q(x)) q 0 (x).
Somit bedeutet a,f (x) in Worten etwa: Der Eingabefehler wird mit a,f (x)
multipliziert als Ausgabefehler auftauchen.

16

Auerdem k
onnen wir auch wieder eine relative Kondition angeben:
r,f (x) =

f 0 (x)
.
f (x)

Feststellungen:
f (x) h
angt nicht von der Zerlegung ab,
ABER: f (x) = r(q(x)) in Fliekommaarithmetik bedeutet, dass zuerst q
berechnet wird, dann das Ergebnis gerundet und dann mit dem gerundeten Ergebnis als Eingabe r berechnet wird.
Dies zeigt, dass der Begriff der Kondition zur Entwicklung eimes Algorithmus, also einer Zerlegung der Aufgabestellung in Teilschritte, nicht
geeignet ist.
Betrachte als Beispiel die Funktion
f mit Kondition a,f (x) = f 0 (x) = 1010
und die Zelegung (wie oben) in
r

mit Kondition

a,r(x) = r0 (x) = 1010 und

mit Kondition

a,q(x) = q 0 (x) = 1020

Der Rundungsfehler im ersten Schritt (Berechnung von q(x)) ist in der


Gr
oenordnung 1014 . Im zweiten Schritt (Berechung von r(q(x)) wird
dieser mit der Kondition von r multipliziert, so dass der Fehler am Ende
die Gr
oenordnung 104 hat, also nur noch vier g
ultige Ziffern u
brig sind!
Und das, obwohl f sehr gut konditioniert ist!
kleiner Effekt +
Rundungsfehler

kleine
St
orung

riesige Auswirkung

gut konditioniert

schlecht konditioniert

http://www.martinmissfeldt.de

icp.ge.ch

icp.ge.ch

Die Kondition h
angt von den Eingabedaten ab, das soll kurz an einem
Beispiel gezeigt werden.
Es soll der Schnittpunkt von zwei Geraden bestimmt werden, die gestrichelte Gerade ist die, die durch den Eingabefehler x entsteht, ist der
Fehler in der Ausgabe:

gut konditioniert, cond = 1

schlecht konditioniert
17

3.2

Stabilit
at

Bei der Untersuchung der Stabilitat gehen wir von exakten Eingabewerten aus.
Trotzdem treten w
ahrend der Ausf
uhrung eines Algorithmus in jedem Schritt
Rechenfehler und damit auch Fehler im Endergebnis auf. Anders als bei der
Betrahctung der Kondition konnen wir hier nicht u
ber das Verhaltnis zwischen
Ein- und Ausgabefeler nachdenken, da es ja nur den Ausgabefehler gibt. F
ur die
Definition des Begriffes Stabilitat u
berklegen wir und daher stattdessen, wann
wir ein Ergebnis als akzeptabel betrachten:
Akzeptabilit
at: Eine N
ahrung y for y = f (x) bezeichnen wir als akzeptabel, wenn y das exakte Ergebnis zu leicht modifizierten Eingabedaten ist:
y = f (
x) mit |
x x| < (O()).
x:

Die Menge aller x


mit |
x x| <  bezeichnen wir auch als -Umgebung von
U (x) = {
x : |
x x| < }.

In der Literatur finden sich daneben diverse schwachere Formulierungen von


Akzeptabilit
at. Der Beweis der Akzeptabilitat eines Ergebnisses funktioniert wie
bei der R
uckw
artsfehleranalyse beschrieben. Vergleich dazu auch dsa Beispiel
des Horner-Schemas, f
ur das wir mit der R
uckwartsfehleranalyse eben diese
Akzeptabilit
at bewiesen haben, allerdings ohne diesen Begriff schon zu kennen.
Basieren auf dem Begriff der Akzeotabilitat konnen wir nun auch den Begriff
der Stabilit
at definieren:
Stabilit
at: Ein numerischer Algorithmus heit (numerisch) stabil, wenn f
ur
alle Eingabedaten innerhalb einer zulassigen -Umgebung der exakten Eingabe
x unter dem Einfluss von Rundungs- und Approximationsfehlern ein akzeptables
Ergebnis erzielt wird.
calculate numerically

[x ; x + ]

[f(x) ; f(x) + ]

[x ; x + ]
backward exact solution

Bemerkung 1: Ein stabiler Algorithmus kann durchaus groe Fehler in


der Ausgabe erzeugen, denn bei schlecht konditionierten Problemen kann ein
akpeptables Ergebnis durchaus sehr weit vom exakten Ergebnis entfernt liegen!
Bemerkung 2: Die arithmetischen Basisoperationen sind sowohl unter der
schwachen als auch der starken Hypothese offensichtlich stabil.
Bemerkung 3: Die Hintereinanderausf
uhrung von stabilen Algorithmen
f
uhrt nicht zwangsl
aufig wieder zu einem stabilen Algoeothmus. Andernfalls
w
are nach Bemerkung 2 jeder Algorithmus stabil...
Beispiel fu
r einen instabilen Algorithmus. Ein einfaches Beispiel soll das
Ph
anomen der Stabilit
at bzw. Instabilitat verdeutlichen. Die Wurzel der quadratischen Gleichung
x2 + 2px + q = 0

18

soll f
ur p = 500 und q = 1 berechnet werden. Die wohlbekannte Formel
p
x := p2 + q p
liefert

250001 500 = 0.00099999900 . . .

Wenn wir auf 5 Ziffern genau rechnen, ist das Ergebniss jedoch Null. Die Null ist
aber nur f
ur q = 0 das richtige Ergebnis und q = 0 liegt von q = 1 deutlich weiter
als die Maschinengenauigkeit entfernt. Das Ergebnis ist daher nicht akzeptabel
und der Algorithmus instabil (Beachte: f
ur p = q = 1 hatten wir keine Stabilit
atsprobleme gehabt, die Stabilitat hangt also auch von den Eingabedaten
ab.).
Abhilfe in Form eines stabilen Algorithmus schafft die modifizierte Formel
q
,
x := p
2
p +q+p
die auf einen stabilen Algorithmus f
ur unsere Eingabewerte f
ur p und q f
uhrt.

Interpolation von Funktionen

Ein sehr h
aufiges Grundproblem dre Numerik ist die Approximation von Funktionen. Dies m
ochte man in der Regel so bewerkstelligen, dass
(1) die Approximation leicht zu bestimmen, auszuwerten, zu differenzieren,
integrieren, . . . ist,
(2) der Fehler innerhalb einer vorgebenen Toleranz liegt.
Beispiel 1. Komplizierte Funktionen wie die Exponentialfunktion oder die
trogonmetrischen Funktionen (Sinus / Kosinus / . . . ) werden im Computer approximiert mit Hilfe sehr schnell konvergierender Reihen. In der Regel sind ist
die direkte Verwendung der Taylorreihen nicht geignet (hatten wir ja f
ur e20
bereits gesehen). Die Konstruktion geeigneterer Reihenentwicklungen ist Aufgabe der Approximationstheorie. Ein Beispiel ist die Approximation des Sinus
mit Hilfe von Tschebyshev Polynomen:
f (x) := sin(x)

n
X
k=0

ak Tk (x),

wobei die Tschebyshev Polynome Ti definiert sind als


T0 (x) = 1
T1 (x) = x
Tk+1 (x) = 2x Tk (x) Tk1 (x)
und die Koeffizienten berechnet werden aus
Z
Z
1 1 f (x)
2 1 f (x)Tk (x)

a0 =
dx,
ak =
dx,
1 1 x2
1
1 x2
19

k = 1, 2, . . .

In Tabellenform sehen die Polynome f


ur unterschiedliche n so aus:
n
n
n
n
n
n

=
=
=
=
=
=

0:
1, 2
3, 4
5, 6
7, 8
9:

:
:
:
:

0
0.592306858x
2.569980700x 2.667666686x3
3.091392515x 4.753313948x3 + 1.668517810x5
3.139276852x 5.136388641x3 + 2.434667195x5 0.4377996486x7
3.141527662x 5.166399408x3 + 2.5427059x5 0.5818513224x7 + 0.6402296612x9

Zum Vergleich die Taylorentwicklung:


f (x) x

5 x5
7 x7
9 x9
3 x3
+

+
...
6
120
5040 362880

Mit den Tschebyshev Polynomen erhalten wir folgendes Konvergenzverhalten...

..., f
ur die Taylorreihe dagegen nur

Beispiel 2. Sowohl f
ur computergest
utztes Design (CAD) als auch in der
Computergraphik ist man an einfach und intuitiv kontrollierbaren Funktions20

(Oberfl
achen-)approximationen interesiert, deren Form durch sogenannte Kontrollpunkte definiert wird. Ein sehr bekanntes Beispiel sind die B
ezierkurven
bzw. B
ezierfl
achen. Die Kurven sind definert als
X(t) :=

n
X
i=0

bi Bin (t) ,

bi Rd ,

Bin (t) :=

 
n
(1 t)ni ti ,
i

i = 0, ..., n ,
mit den Kontrollpunkten bi und den Bernsteinpolynomen Bin (t).

paultondeur.com

Die Aufgabe der Interpolation unterscheidet sich insofern von diesen Beispielen, als hier gefordert ist, dass die Funktionsapproximation p(x) an bestimmten Stellen (St
utzstellen) genau die Werte der zu approximierenden Funktion
f (x) (St
utzwerte) annimmt. An allen anderen Stellen liefert die Interpolationsfunktion nur N
aherungen f
ur die tatsachlichen Funktionswerte:
p(xi )

p(x)

f (xi ) f
ur xi {x0 , x1 , x2 , . . . , xn },
f (x) f
ur alle anderen x.

ccs.neu.edu
Das ist Approximation! Das ist Interpolation!
Intuitiv nutzen wir sehe haufig st
uckweise lineare Interpolation: Wenn ein
Programm mit L
ange n der Eingabedaten zwei Minuten lauft, drei Minuten bei
Eingabedaten der L
ange 2n, wie lange lauft dann das Programm mit Eingabedaten der L
ange 1, 5n?
Das ist Approximation!

21


Aus Gr
unden der Ubersichtlichkeit
beschranken wir uns im Folgenden auf
eindimensionale Interpolation, also skalarwertige Funktionen mit einer eindimensionalen unabh
angigen Variablen x:
f : R R, x 7 f (x).
Prinzipiell k
onnen aber alle vorgestellten Methoden auch auf 2D oder 3D erweitert werden.

4.1
4.1.1

Polynominterpolation
Grundbegriffe

Bevor wir die Methoden der Polynominterpolation einf


uhren, stellen wir hier
die wichtigsten Begriffe zusammen:
Eingabedaten. Als Eigabedaten f
ur ein Programm, das eine Polynominterpolation durchf
uhrt, brauchen wir:
(1) Stu
tzstellen xi , i = 0, 1, 2, . . . , n
Oft nehmen wir dabei implizit an, dass
x0 < x1 < x2 < . . . < xn .
Dann k
onnen wir auch die Abstande hi = xi+1 xi (Maschenweite) zwischen benachbarten St
utzpunkten angeben. Falls hi = h f
ur alle i =
0, 1, . . . , n 1 gleich ist, spricht man von
aquidistanten St
utzstellen.
Selbst wenn die St
utzpunkte nicht sortiert sind, nehmen wir im Folgenden
aber zumindest immer an, dass xi 6= xj f
ur i 6= j.

(2) Stu
tzwerte yi , i = 0, 1, 2, . . . , n oder f (xi ), i = 0, 1, 2, . . . , n.

(3) Stu
tzpunkte. Die Paare (xi , yi ) beziehungsweise (xi , f (xi )), i = 0, 1, 2, . . . , n
bezeichnet man auch als St
utzpunkte.
Ausgabedaten. Die Ausgabe unseres Interpolationsprogrammes ist ein Polynom p(x) mit
p(xi ) = f (xi ), i = 0, 1, 2, . . . , n und minimalem Grad.
Unser Suchraum ist also Pn , der Raum aller Polynome vom Grad n. Pn ist
ein Vektorraum mit dim(Pn ) = n + 1.Die Standardbasis f
ur Pn besteht aus den
Monomen
{1, x, x2 , x3 , ..., xn }.
In dieser Basis k
onnen wir schreiben

p(x) =

n
X

ai xi .

i=0

Bez
uglich dieser Basis w
are eine mogliche Ausgabe unseres Interpolationsprogrammes entweder der Wert p(x) an einer gegeben Stelle x oder die Menge
22

{a0 , a1 , . . . , an } der Koeffizienten. Wir werden allerdings im Folgenden sehen,


dass die Monombasis nicht die optimale Wahl zur Bestimmung des Polynoms
ist. Ein Polynom siebten Grades zu acht St
utzpunkten sieht dann beispielsweise
so aus:

Quelle: wikipedia

Ubung:
Wie lautet das Gleichungssystem, das man zur Bestimmung der
ai , i = 0, 1, 2, . . . , n l
osen m
usste?
Bemerkung: Polynominterpolation ist nicht die einzige Methode der Interpolation. Auch wir werden spater noch weitere Moglichkeiten kennenlernen.
F
ur den Moment behaupten wir einfach, dass das Ppolynom p vom Grad
n zu den n + 1 St
utzpunkten (xi , yi ), i = 0, 1, 2, . . . , n immer existiert und
eindeutig ist. Sp
ater werden wir das auch noch beweisen.
Fehler. Weil das Polynom nur interpoliert, ist klar, dass es einen Fehler geben
muss. Auch die Formel f
ur diesen Fehler werden wir spater beweisen, geben sie
hier aber schonmal an:
Sei f die zu interpolierende Funktion, dann ist der Fehler wie folgt berechenbar (unter der Annahme, dass x0 x xn )
f (x) p(x) =

n
f (n+1) () Y
(x xi ) f
ur ein [x0 , xn ],
(n + 1)! i=0

wobei f (n+1) die (n + 1)te Ableitung von f bezeichnet.


Wir wollen festhalten, dass der Fehler im Allgemeinen kleiner wird, wenn die
St
utzstellen mehr werden oder besser verteilt werden aquidistante St
utzstellen
sind bei der Interpolation mit Polynomen keine gute Idee: Hier kann man den
Fehler absch
atzen als
|f (x) p(x)|

max[a,b] |Dn+1 f ()| n+1


h
= O(hn+1 ),
n+1

beobachtet jedoch auerdem, dass der Term


n
Y
i=0

recht klein ist f


ur x

xn +x0
,
2

(x xi )

also in der Mitte des Interpolationsintervalls,

recht gro wird f


ur x in der NAhe
von x0 oder xn , also am Rand des
Interpolationsintervalls.
23

Dies l
asst sich durch Plotten des Produktes einfach beobachten. Auch am folgenden Beispiel sieht man das Anwachsen des Fehlers in Richtung Rand des
Interpolationsintervalls:

Interpolationspolynom 10ten Grades (gr


un) zur sogenannten Runge-Funktion
(rot) mit
aquidistanten St
utzstellen (Quelle: maplesoft.com)
Besser ist es, mehr St
utzstellen an den Randern des Intervalls [x0 ; xn ] zu
haben:

Interpolationspolynom 10ten Grades (blau) zur sogenannten Runge-Funktion


(rot) mit nicht-
aquidistanten St
utzstellen (Quelle: maplesoft.com)
Im folgenden betrachten wir verschiedene Moglichkeiten, p(x) zu bestimmen.

24

4.1.2

StandardBasisInterpolation

Zun
achst liefern wir die Antwort zu obiger Ubungsfrage
nach dem Gleichungssystem, das f
ur die Polynomkoeffizienten in Monombasisdarstellung zu losen
w
are:
Wegen der Interpolationsbedingungen muss gelten:
p(xi ) =

n
X
k=0

ak xki = yi k {0, ..., n}

Dadurch erhalten wir ein GLS, das die Vandermonde-Matrix V enthalt:


y0
a0
1 x0 x20 xn0
1 x1 x21 xn1 a1 y1

..
..
..
.. .. = ..
.
.
.
. . .
1

xn

x2n
{z

xnn

an

yn

Wenn wir das gel


ost bekommen, haben wir die Koeffizienten ai und konnen das
Interpolationspolynom dann an der Stelle x auswerten, indem wir
p(x) =

n
X

ai xi

i=0

berechnen.
4.1.3

LagrangeInterpolation

Die Lagrange-Interpolation bietet im Gegensatz zu obigem brute force Ansatz


eine sehr elegante M
oglichkeit, das Polynom direkt anzugeben ohne ein Gleichungssystem l
osen zu m
ussen.
Idee: Nutze eine Basis Lk , k = 0, 1, 2, . . . , n mit Lk Pn des Polynomraums
mit sehr sch
onen Eigenschaften:

1 for i = k
Lk (xi ) = ik =
0 otherwise.
Jedes Lk ist also genau an der St
utzstelle xk eins, an allen anderen St
utzstellen
null. Damit k
onnen wir direkt das Interpolationspolynom angeben:
p(x) =

n
X

yk Lk (x).

k=0

Ein kurzer Test mit einem xi zeigt, dass die Interpolationsbedingungen erf
ullt
sind:
n
X
p(xi ) =
yk Lk (xi ) = yi Li (xi ) = yi .
| {z }
k=0

k6=i=0

Aus der Bedingung Lk (xi ) = 0 f


ur alle xi mit i 6= k folgt, dass Lk den Faktor
Y
x xi
i6=k

25

enthalten muss. Aus der zus


atzlichen Bedingung Lk (xk ) = 1 folgt direkt, dass
wir dieses Produkt mit seinem Wert f
ur x = xk normalisieren m
ussen, also
Lk (x) =

Y x xi
.
xk xi

i6=k

Lagrangebasis und Interpolationspolynom zu sechs St


utzpunkten
Rechenschema Das Rechenschema f
ur die Lagrangepolynome sieht vor, dass
zuerst das Lagrangepolynom zum Grad n = 0 berechnet wird, daraus dann die
Lagrangepolynome zum Grad 1, daraus die zum Grad 2 usw..
Grad 0
Grad 1
Grad 2

L0 (x) = 1
1
xxx
0 x1
xx1
L0 (x) = x0 x1
2
xxx
0 x2
2
1
L0 (x) = xxx
xxx
0 x1
0 x2

0
L1 (x) = xxx
1 x0
xx2
x1 x2
0
2
L1 (x) = xxx
xxx
1 x0
1 x2

L2 (x) =

Es wird dabei u
utzstellen aufsteigend
brigens nicht vorausgesetzt, dass die St
oder sonst wie sortiert sind, sie m
ussen nur paarweise verschieden sein.

26

Pseudocode In Pseudocode implementiert sieht der Algorithmus zur Auswertung von p an der Stelle x so aus:
Algorithm 1: Lagrangeinterpolation
Input: St
utzpunkte (xi , yi ), Auswertungsstelle x
Output: Wert von p an der Stelle x
1
2
3
4
5
6
7
8
9

for i=0 to n do
L[i] := 1;
for j=0 to n do
if i 6= j then
L[i] := L[i]*((x-x[j])/(x[i]-x[j]));
end
end
p := p + y[i]*L[i];
end

Eigenschaften der Lagrangeinterpolation:


x
andern: alles neu berechnen, O(n2 )

andere St
utzstellen (xi ): alles neu berechnen, O(n2 )
Pn
andere St
utzwerte (yi ): Lk bleiben gleich, nur k=0 yk Lk (x) muss einmal
neu berechnet werden, also O(n)

zus
atzlicher St
utzpunkt ((xn+1 , yn+1 )): Ln+1 berechnen und an jedes Lk
einen Faktor anh
angen, auerdem Summe neu bilden, also (ein groes)
O(n)

4.1.4

Aitken-Neville-Interpolation

Anstelle einer geschlossenen Form f


ur das polynom p(x) wie sie mit Hilfe der
Lagrange-Polynome sehr einfach angegeben werden kann, interessiert man sich
h
aufig nur f
ur eine schnelle Auswertung von p(x) f
ur mehrere Auswertpunkte
x. Interessanterweise ist dies moglich, ohne vorher das Polynom explizit zu berechnen. Der zugeh
orige Algorithmus ist das Aitken-Neville-Verfahren.
Idee: Starte mit Interpolationspolynomen niedrigen Grades, dann kombiniere diese zu Polynomen h
oheren Grades. Startpunkt dieser Rekursion sind die
konstanten Polynome durch die St
utzpunkte. Dies sind einfach konstante Funktionen zu den St
utzwerte f (xi ), i = 0, 1, 2, . . . , n, die genau an einem st
utzpunkt
xi die Interpolationsbedingungen erf
ullen. Darauf aufbauen berechnet man lineare Polynome, die f an zwei benachbarten Punkten interpolieren, dann die
quadratischen Polynome zu drei benachbarten St
utzstellen usw.:

27

y2

y1

Grad 0
Grad 1
Grad 2

y0
x0

x1

x2

In der ersten Stufe (Grad 0) sind die Interpolationen einfach nur Konstanten mit den yi als Werten, in der zweiten Stufe sind es Geraden, es werden
immer zwei benachbarte St
utzstellen verbunden usw.. Der Schritt von Konstanten zu linearen Funktionen ist dabei noch sehr einfach, wir brauchen aber
eine allgemeine Form, um das Verfahren f
ur beliebige Polynome anwenden zu
k
onnen. Daf
ur leiten wir uns eine entsprechende Rekursionsformel her:
Zun
achst f
uhren wir die Bezeichnung pi,k f
ur das Polynom k-ten Grades ein,
das f an den St
utzstellen xi , xi+1 , . . . , xi+k interpoliert.
Nun nehmen wir an, dass die Polynome pi,k1 (x) und pi+1,k1 (x) (beide vom
Grad k 1) bereits bekannt sind. Daraus soll jetzt das Polynom pi,k berechnet
werden. Es ergibt sich folgende Formel:
a)

a)

z }| {
z }| {
x xi+k
x xi
pi,k1 (x) +
pi+1,k1 (x)
pi,k (x) =
xi xi+k
xi+k xi
| {z }
| {z }
b)

b)

Die Idee dabei ist, dass pi,k1 (x) die St


utzpunkte xi bis xi+k1 interpoliert und
pi+1,k1 (x) die St
utzpunkte von xi+1 bis xi+k , also sind schon mal alle notigen
St
utzpunkte ber
ucksichtigt. Jetzt m
ussen wir noch beachten, dass pi,k1 die
St
utzstelle xi+k nicht interpoliert, also muss ein Vorfaktor her, der in diesem Fall
Null wird. Analoges gilt f
ur pi+1,k1 , das an der St
utzstelle xi nicht interpoliert.
Die entsprechenden Faktoren werden in obiger Formel mit a) bezeichnet.
Auerdem muss die Summe beider Vorfaktoren in allen St
utzstellen von xi
bis xi+k gleich 1 sein, daf
ur sorgen die mit b) gekennzeichneten Terme.

28

Rechenschema.
aus:

Die Schema zur Berechnung der pi,k sieht folgendermaen

p0,0
p1,0

pn,0 pn+1,0
. .
. .
p0,1
p1,1

pn1,1 pn,1
. .
. .
p0,2
p1,2 pn2,2 pn1,2
..
.

..

..

p0,n
p1,n
.

p0,n+1

Dabei stehen in der ersten Zeile die yi , in der zweiten Zeile die linearen Polynome usw.. Die rote Diagonale zeigt, dass sehr leicht nachtraglich eine weitere
St
utzstelle hinzugef
ugt werden kann, ohne dass alles neu berechnet werden muss.
Pseudocode In Pseudocode ausgedr
uckt sieht das dann so aus:
Algorithm 2: Aitken-Neville (nicht optimiert)
Input: y0 , ..., yn und x0 , ..., xn
Output: Matrix mit den pi,k
1
2
3
4
5
6
7
8

for i = 0 to n do
p[i,0] := y[i];
end
for k = 1 to n do
for i = 0 to n-k do
p[i,k] :=[(x[i+k]-x)p[i,k-1]+(x-x[i])p[i+1,k-1]]/(x[i+k]-x[i]);
end
end

Dabei wird allerdings eine Menge Zeug gespeichert, das nicht mehr gebraucht
wird. F
urs Rechnen reicht uns die jeweils letzte Zeile und vom Ergebnis der
Rechnung brauchen wir auch nur die Diagonale, falls spater noch ein St
utzpunkt
dazu kommt. Dabei kommt uns zu Gute, dass wir, sobald p0,1 berechnet ist, p0,0
nie mehr brauchen, wir k
onnen also das Ergebnis der Berechnung von p0,1 an
den Platz schreiben, an dem vorher p0,0 stand. Dadurch brauchen wir nur einen
Vektor der Gr
oe n als Datenstruktur.

29

Pseudocode In Pseudocode sieht das dann so aus:


Algorithm 3: Aitken-Neville (optimiert)
Input: y0 , ..., yn und x0 , ..., xn
Output: Vektor mit den pi
1
2
3
4
5
6
7
8

for i = 0 to n do
p[i] := y[i];
end
for k = 1 to n do
for i = 0 to n-k do
p[i] :=[(x[i+k]-x)p[i]+(x-x[i])p[i+1]]/(x[i+k]-x[i]);
end
end

Eigenschaften des optimierten Aitken-Neville:


x
andern: alles neu berechnen, O(n2 ) (falls wir nicht mit einem Programm rechnen, das p(x) als Funktionen darstellen kann, also z.B. einem
Computeralgebra-Tool wie Maple),
andere St
utzstellen (xi ): alles neu berechnen, O(n2 )
andere St
utzwerte (yi ): alles neu berechnen, O(n2 )

zus
atzlicher St
utzpunkt ((xn+1 , yn+1 )): in jeder Zeile eine Operation, O(n)
4.1.5

NewtonInterpolation

Idee: Nicht wie bei Aitken-Neville den Wert an einer Stelle x ausrechnen,
sondern die Koeffizienten des Interpolationspolynoms, denn damit ware es viel
einfacher, den Wert an mehreren Stellen zu berechnen.
Daf
ur starten wir mit der Rekursionsformel von Aitken-Neville und formen
sie um:
xi+k x
x xi
pi,k (x) =
pi,k1 (x)
pi+1,k1 (x) = ?.
xi+k xi
xi+k xi
Dabei suchen wir den Leitkoeffizienten von pi,k und transormieren daher weiter
?=

xi+k
xi
pi+1,k1 (x) pi,k1 (x)
pi,k1 (x)
pi+1,k1 (x) +
x
xi+k xi
xi+k xi
xi+k xi
| {z }
| {z }
|
{z
}
const
const
a)
|
{z
}
Pk1

Aus a) wissen wir, dass sich der Leitkoeffizient von pi,k aus denen von pi+1,k1
minus pi,k1 durch xi+k xi berechnen. F
ur den Leitkoeffizienten f
uhren wir
eine Notation ein:
[xi , ..., xi+k ]f ist der Leitkoeffizient von pi,k (x), genannt dividierte Differenz.
Damit k
onnen wir eine Rekursionsformel f
ur Leitkoeffizienten angeben:
[xi , ..., xi+k ]f =

[xi+1 , ..., xi+k ]f [xi , ..., xi+k1 ]f


xi+k xi
30

Jetzt haben wir aber nur den Leitkoeffizienten, die anderen Koeffizienten erhalten wir rekursiv mittels
p0,n (x)

xn
x0
p1,n1 (x) p0,n1 (x)
p0,n1 (x)
p1,n1 (x) +
x
xn x0
xn x0
xn x0
p0,n1 (x) p1,n1 (x)
p0,n1 (x) + (x x0 )
xn x0
|
{z
}
0 f
ur alle x {x1 , . . . , xn1
Koeffizient zu xn1 : [x0 , . . . , xn ]f

p0,n1 (x) + [x0 , ..., xn ]f

n1
Y
i=0

W dh.

(x xi )

[x0 ]f + [x0 , x1 ]f (x x0 ) + + [x0 , ..., xn ]f

n1
Y
i=0

(x xi ).

Rechenschema Damit k
onnen wir bereits ein Rechenschema zur NewtonInterpolation angeben:
[x1 ]f

[x0 ]f
..

[x1 ]f
&

&
[x0 , x1 ]f
..
.
&

[xn ]f

[xn1 , xn ]f
..
.

[x0 , ..., xn ]f

[x1 , x0 , ..., xn ]f

Pseudocode Auch hier sind die Informationen, die uns interessieren, auf
der Diagonale zu finden. Es wird hier gleich ein speicheroptimierter Algorithmus
angegeben:
Algorithm 4: Newton-Interpolation
Input: n St
utzpunkte (x[i],y[i])
Output: Polynom p, das die St
utzpunkte interpoliert
1 p := y[0];
2 f := 1;
3
4
5
6
7
8
9
10
11
12

for i = 0 to n do
a[i] := y[i];
end
for k = 1 to n do
for i = n downto k do
a[i] := (a[i]-a[i-1])/(x[i]-x[i-k]);
end
f := f(x-x[k-1]);
p := p + a[k]f;
end

31

Eigenschaften der Newton-Interpolation:


x
andern: Nur noch die k-Schleife im Algorithmus, O(n)
andere St
utzstellen (xi ): alles neu berechnen, O(n2 )
andere St
utzwerte (yi ): alles neu berechnen, O(n2 )

zus
atzlicher St
utzpunkt ((xn+1 , yn+1 )): links am Rechenschema anf
ugen,
O(n)
4.1.6

Baryzentrische Interpolation

Die baryzentrische Interpolation zielt darauf ab, die Interpolation billiger zu


machen und nutzt dabei die folende einfache Beobachtung aus, die wir bereits
bei linearer Interpolation beobachten und meist intuitiv nutzen:
Die Gewichte, die wir f
ur die Berechung eines linear interpolierten Wertes an einer Stelle zwischen St
utzpunkten auf die entsprechenden St
utzwerte
multiplizieren m
ussen, h
angen nur von der relativen Position unseres Evaluationspunktes x zwischen den St
utzpunkten ab, insbesondere aber nicht von den
St
utzwerten:
1/2

1/2

1/3

2/3

Die entsprechenden Gewichte werden in zwei Schritten berechnet:


(1) Die Berechnung der Abstande zwischen den st
utzstellen xi wird ein einziges Mal unabh
angig von der Auswertungsstelle x durchgef
uhrt.
(2) Die relative Position von x wird f
ur jedes x neu mit Hilfe der Terme xxi ,
die durch die Abst
ande hi geteilt werden, bestimmt.
Dieses Vorgehen erm
oglicht es, aus der Lagrange-Interpolation, die aufgrund
der Rechenkosten als ineffizient im Falle des Hinzuf
ugens einer weiteren St
utzstelle
oder der Auswertung an einer weiteren Stelle x gilt, eine effizienteres Verfahren
abzuleiten.
Wir starten mit Lagrange
p(x) =

n
X
k=0

yk

Y x xi
xk xi
i6=k
|
{z
}
Lk

und definieren uns zus


atzlich
n (x) :=

n
Y
i=0

und

k :=

Y
i6=k

32

(x xi )

1
xk xi

Nun k
onnen wir p(x) schreiben als
p(x) =

n
X
k=0

k
yk
x xk

n (x)

Wir wissen, dass unser p auch die konstante Eins-Funktion interpolieren kann,
dabei sind logischerweise alle yi = 1, folglich konnen wir schreiben
!
n
X
k
n (x)
1=
1
x xk
k=0

Das k
onnen wir nach n (x) auflosen:
1

n (x) = Pn

k
k=0 xxk

und in die Gleichung f


ur p(x) einsetzen:
Pn

k=0
p(x) = Pn

k
yk xx
k

k
k=0 xxk

Der Gewinn bei der Sache ist jetzt, dass die k unabhangig von x sind, d.h. wir
m
ussen sie nur einmal berechnen (Aufwand O(n2 )) und konnen sie dann f
ur alle
x benutzen.
Wie wir sehen werden, bedeutet das eine deutliche Aufwandsersparnis, wenn
man das x ver
andert. Die Auswertung des Polynoms bei bekannten Werten k
ist mit Kosten verbunden, die nur linear statt quadratisch mit dem Polynomgrad n wachsen.

Pseudocode f
ur due Berechnung der k
Algorithm 5: Baryzentrische Interpol. Berechnung der k
Input: x[0],...,x[n]
Output: w[0],...,w[n]
1
2
3
4
5
6
7
8

for k = 0 to n do
w[k] := 1;
for i = 0 to n do
if i 6= k then
w[k] := w[k]/(x[k]-x[i]);
end
end
end

Jetzt fehlt noch die eigentliche Auswertung des Polynoms, dazu nehmen wir
das Inverse von n (x) zu Hilfe, weil das im Pseudocode leichter verstandlich ist:
1
n (x) =

n
X
k=0

33

k
x xk

dann ist
p(x) =

n
X
k=0

k
yk
x xk

/1
n (x)

Das ist deshalb sch


oner, weil wir das 1
onnen und
n (x) nebenher berechnen k
ganz am Schluss noch p durch 1
(x)
teilen.
n
Pseudocode f
ur Auswertung:
Algorithm 6: Baryzentrische Interpol. Auswertung in x
Input: w[0],...,w[n], x[0],...,x[n], y[0],...,y[n], x
Output: Wert des Polynoms p an der Stelle x
1
2
3
4
5
6
7
8

Phi inv := 0;
p := 0;
for k = 0 to n do
weight := w[k] / (x-x[k]);
Phi inv := Phi inv + weight;
p := p + weighty[k];
end
p := p / Phi inv;

Eigenschaften der Baryzentrischen Interpolation:


x
andern: nur der zweite Algorithmus muss neu ausgef
uhrt werden, O(n)
andere St
utzstellen (xi ): alles neu berechnen, O(n2 )

andere St
utzwerte (yi ): nur der zweite Algorithmus muss neu ausgef
uhrt
werden, O(n)
zus
atzlicher St
utzpunkt ((xn+1 , yn+1 )): n+1 muss komplett berechnet
werden, bei den alten i muss je ein Faktor erganzt werden, O(n)

Stabilit
at. Die baryzentrische Interpolation ist ein sehr gutes Beispiel, bei de
mes sich lohnt, die Stabilit
at etwas genauer zu betrachten:
Auf den ersten Blick scheint der Algorithmus den Nachteil zu haben, dass
die Berechung von
k
x xk

f
ur ein x xj sehr ungenau wird (Ausloschung im Nenner). Zusatzlich ware
k
ote, also dominierende Gewicht in den Sumxxk in diesem Fall wohl das gr
men.
Aber auf den zweiten Blick zeigt sich, dass wir letztlich
Pn
j
k
xxj
k=0 yk xxk
= lim yj j = yj
lim p(x) = lim Pn
k
xxj

xxj

k=0 xxk

xxj

xxj

erhalten. Das heit, die Interpolationseigenschaft ist immernoch gegeben, sogar


k
wenn die Berechung von xx
sehr fehlerbehaftet ist.
k
34

Mit
ahnlichen u
berlegunge nsieht man, dass der Algorithmus auch in Bezug
auf Fehler bei der Berechung der k stabil ist und dass wir x xk einfach durch
die kleinste Maschinenzahl = B t1 B ersetzen konnen, falls x so nah an xk
liegt, dass das gerundete Ergebis der Subtraktion null wird.
4.1.7

Beweis fu
r die Fehlerformel

Wir wollen im Folgenden die Fehlerformel (Lagrange-Restglied) beweisen. Wir


nehmen daf
ur die Repr
asentation des Polynoms aus der NewtonInterpolation.
Das Interpolationpolynom zu den St
utzstellen (x0 , f (x0 )), (x1 , f (x1 )), . . . (xn , f (xn ))
liest sich in dieser Form
p(x) = [x0 ]f + [x0 , x1 ]f (x x0 ) + + [x0 , x1 , ..., xn ]f

n1
Y
i=0

(x xi ).

Somit gilt i {0, 1, ..., n 1} : f (xi ) = p(xi ).


enn wir nun den Fehler f (x) p(x) des Polynoms an einerS Stelle x bestimmen
wollen, k
onnen wir dazu ein weiteres Polynom bestimmen, dass f auch noch an
dieser Stelle x interpoliert:
f (x) = p(x) + [x0 , x1 , ..., xn , x]f

n
Y
i=0

(x xi )

Qn
Der Term [x0 ,Q
x1 , ..., xn , x]f i=0 (x xi ) ist also gerade der Fehler f (x) p(x).
n
Das Produkt i=0 (x xi ) kennen wir bereits unter dem Namen n (x).
Wir definieren uns nun ein neues Polynom vom Grad n + 2 folgendermaen:
(t) = f (t) p(t)

f (x) p(x)
n (t)
n (x)

Qn
Dabei muss n (t) als i=0 (t xi ) verstanden werden. Dieses (t) hat n + 2
Nullstellen, n
amlich x0 , ..., xn , x. Also gibt es nach dem Mittelwertsatz ein
[min{x0 , ..., xn , x}, max{x0 , ..., xn , x}], so dass
(n+1) () = f (n+1) () p(n+1) () (n + 1)!
| {z }
=0

f (x) p(x)
=0
n (x)

Das k
onnen wir jetzt nach f (x) p(x) auflosen und bekommen die gesuchte
Fehlerformel
f (x) p(x) =
4.1.8

n
f (n+1) ()
f (n+1) () Y
(x xi ) 
n (x) =
(n + 1)!
(n + 1)! i=0

Existenz und Eindeutigkeit des Interpolationspolynoms

Wir wollen zeigen: Es gibt genau ein p Pn mit p(xi ) = yi , i = 0, ..., n mit
paarweise verschiedenen xi .
Beweis: W
ahle die Monomdarstellung
p(x) =

n
X
i=0

35

ai xi ,

dann kann p durch das L


osen eines LGLS ermittelt werden:

y0
a0
1 x0 xn0
1 x1 xn1 a1 y1

..
.. .. = .. 1 V ~a = ~y
.
. . .
yn
an
1 xn xnn

Dieses LGLS ist genau dann eindeutig losbar (d.h. es gibt genau ein p
Pn ...), wenn |V | =
6 0. Wir m
ussen also nur noch zeigen, dass |V | =
6 0 ist. Das
machen wir per Induktion u
ber n:


Induktionsanfang (mit n = 1) Es ist 11
Voraussetzung paarweise verschieden sind.

x0
x1

= x1 x0 6= 0, weil die xi nach

Induktionsannahme |V | =
6 0 f
ur V Mnn , also f
ur n Werte xi bzw. yi .
Induktionsschritt Die Idee f
ur den Induktionsschritt ist, dass die Determinante mittels Laplace-Entwicklung nach der ersten Zeile der Vandermondematrix berechnet wird. Daf
ur sollten nat
urlich moglichst viele Eintrage in dieser
Zeile gleich Null sein, damit das Entwickeln einfacher wird, wir werden hier sogar alle bis auf den ersten auf Null bringen, das hat den Vorteil, dass dann nur
ein Produkt zu betrachten ist. Wir beginnen also mit



1
x0

xn0
xn+1
0


n+1
n
1
x1

x1
x1


..
..

.
.


n+1
n
1
xn
xn

xn


1 xn+1 xn
xn+1
n+1
n+1
und versuchen, alle Eintr
age in der ersten Zeile bis auf den ersten auf Null
zu bringen. Dazu subtrahieren wir die vorletzte Spalte mal x0 von der letzten
Spalte (das
andert nichts an der Determinante), dabei entsteht


1

x0

xn0
0


n
n
1

x

x
x
(x

x
)
1
1
0
1
1


..

..
.

.


n
1
xn

xn
xn (xn x0 )

1 xn+1 xn
xnn+1 (xn+1 x0 )
n+1
Das machen wir weiter f
ur alle Spalten auer der ersten (da gibts ja auch keine
vorhergehende...) und erhalten


1

0

0


n
1
x1 x0

x1 (x1 x0 )

..

..
.

.


1 xn+1 x0 xn (xn+1 x0 )
n+1
1V

ist die Vandermondematrix

36

Jetzt entwickeln wir nach der ersten Zeile und klammern dann die Faktoren
(xi x0 ) in den Zeilen aus


x1 x0

xn1 (x1 x0 )



..
..


.
.


xn+1 x0 xn (xn+1 x0 )
n+1


1
x1

xn1

1
x2

xn2

= (x1 x0 ) (xn+1 x0 ) .
..
..
.

1 xn+1 xn
n+1

Dass die ausgeklammerten Terme nie Null werden, folgt wieder daraus, dass
die xi paarweise verschieden sind. Die u
brige Determinante ist wegen unserer
Induktionsannahme, dass die Behauptung (|V | 6= 0) f
ur n Werte stimmt, auch
ungleich Null, damit ist |V | =
6 0 und somit die Behauptung, dass das Interpolationspolynom immer existiert und eindeutig ist, bewiesen. 
4.1.9

Kondition der Polynominterpolation

Um die Kondition der Polynominterpolation zu untersuchen, betrachten wir als


Eingabe die St
utzstellen xi , i?0, . . . , n, die St
utzwerte yi , i = 0, ..., n und
ein x R (Auswertungsstelle), als
Ausgabe den Wert y = p(x).
Kondition bezu
uglich x lasst sich einfach be glich x. Die Kondition bez
stimmen aus p0 (x) (absolute Kondition). Dieser Wert ist zumindest nicht unbeschr
ankt f
ur x [a, b], wenn also die Auswertungsstelle innerhalb der St
utzstellen
liegt2 .
Kondition bezu
glich yi . Hier argumentieren wir mit der Lagrangeinterpolation (wir haben ja bereits gezeigt, dass das Interpolationspolynom eindeutig
ist). Aus
n
X
yi Li (x)
y = p(x) =
i=0

erh
alt man direkt
Li (x) =

p
,
yi

d.h. die Frage ist, wie gro Li (x) werden kann. Das wird hier nicht allgemein,
sondern nur an einem Beispiel gezeigt, um ein Gef
uhl daf
ur zu bekommen, wie
gro die Werte von Li werden konnen:
Es sei n = 40, xi = i, wir betrachten y20 , fragen uns also, mit welchem Faktor
ein Fehler in y20 in das Ergebnis eingeht. Daf
ur m
ussen wir uns das zugehorige
L20 anschauen und seinen Betrag eingrenzen:
2 Vorsicht: Beschr
ankt bedeutet nur, dass es eine reelle Schranke gibt der Fehler kann
trotzdem riesig sein, aber eben nicht unendlich gro

37

|L20 (x)| =
=




Y
Y |x xi |

x xi

=


i6=20 x20 xi i6=20 |20 xi |
19
40
x 1x Y ix Y ix

20
19 i=2 20 i i=21 i 20
19
40
x x2 Y i 1 Y i 1

380 i=2 20 i i=21 i 20

x x2 18!
39!

380
18! 19! 20!
1.8 108 (x x2 )

Wenn wir das an der Stelle x = 0, 5 auswerten, bekommen wir


|L20 (0, 5)| 4, 5 107 .
. Das bedeutet, dass ein Fehler in y20 mit einem Faktor der Groenordnung 107
in das Ergebnis eingeht das ist eine unterirdisch schlechte Kondition.

Lagrange-Polynom L20 (x) in [0, 40]

Lagrange-Polynom L20 (x) in [0, 1]


Leider ist dies ein grunds
atzlich und nicht nur f
ur dieses Beispiel g
ultiges
Resultat: F
ur groe n (7 oder 8 oder groer), ist die reine Polynominterpolation
38

extrem schlecht konditioniert und daher im Wesentlichen nutzlos. Wir versuche


ndaher im Folgenden, f
ur F
alle mit viele St
utzstellen gutartigere Interpolationsm
oglichkeiten zu finden.

4.2

SplineInterpolation

Nachdem wir gerade gesehen haben, dass die Polynominterpolation bez


uglich
der yi katastrophal konditioniert ist, stellt sich nat
urlich die Frage, ob das nicht

besser geht. Das Problem bei den Polynomen war, dass kleine Anderungen
irgendwo in den St
utzstellen dazu f
uhrten, dass das Polynom zu den Randern des
Intervalls hin sehr stark ver
andert wurde.
Die eigentliche Ursache dieses Problems erkennen wir, wenn wir uns vergegenw
artigen, dass
(1) die Anzahl der Datenpunkte (n + 1) direkt den Grad des Polynoms (n)
bestimmt,
(2) die schlechte Kondition f
ur hohen Polynomgrad n auftritt.
Die Idee der SplineInterpolation ist nun, die Anzahl der Datenpunkte vom
Polynomgrad zu entkoppeln, konkret heit das:
Idee: Verwende st
uckweise Polynome und verbinde die Polynomst
ucke so,
dass an den St
utzstellen neben den Interpolationsbedingungen auch noch Glattheitsbedingungen3 erf
ullt sind.
Diese Idee ist nicht nur rein theoretisch, sondern
lasst sich auch mit einer sehr anschaulichen Anwendung verkn
upfen: Schiffsbauer verwenden elastische halzerne Planken, die an Befestigungspunkten
fixiert werden. Die Form, die die Planke dadurch annimmt, minimiert die Energie und entspricht einem
st
uckweise kubischen Polynom mit Stetigkeit der ersten beiden Ableitungen an den Befestigungspunkten.
wikipedia

Um st
uckweise Polynome zu definieren, m
ussen die St
utzstellen (logischerweise) geordnet vorliegen, d.h.
a = x0 < x1 < < xn = b
sind die (paarweise verschiedenen) St
utzstellen, die hier auch Knoten genannt
werden.
Definition: Wir definieren, dass ein Spline s der Ordnung m (m N)
zu den Knoten x0 , ..., xn folgende Eigenschaften haben muss:
3 also z.B. stetig das w
aren dann nur die Interpolationsbedingungen oder z.B. einfach
stetig differenzierbar das w
urde bedeuten, dass die ersten Ableitungen u
bereinstimmen
m
ussen

39

s(x) := pi (x) f
ur x [xi , xi+1 ], pi Pm1 , i {0, ..., n1}, d.h. s besteht
aus st
uckweisen Polynomen vom Grad m 1,

s C m2 ([a, b]), d.h. s muss (m 2)mal stetig differenzierbar sein.

Um eine etwas bessere Vorstellung von Splines zu bekommen, schauen wir


uns Splines erster, zweiter, dritter und vierter Ordnung an einem Beispiel an:

y3

y1

y2
y4
y0

x0

x1

x2

x3

x4

Zu sehen sind
der Spline erster Ordnung (rot), also eine st
uckweise konstante, an den
Knoten aber nichtmal stetige Funktion)4 ,
der Spline zweiter Ordnung (schwarz), eine st
uckweise lineare und an den
Knoten stetige Funktion,
der Spline dritter Ordnung (gr
un), eine st
uckweise quadratische und an
den Knoten einmal stetig differenzierbare Funktion und
der Spline vierter Ordnung, auch genannt kubischer Spline (blau), eine
st
uckweise kubische und an den Knoten zweimal stetig differenzierbare
Funktion.
4 Dabei

wurde der Spline erster Ordnung nach rechts begonnen, es w


are auch nach links
gegangen; der Spline zweiter Ordnung l
asst keine Freiheitsgrade; der Spline dritter Ordnung
hat die linke Randbedingung s0 (x1 ) = 0; der kubische Spline hat nat
urliche Randbedingungen
s00 (x1 ) = s00 (x5 ) = 0.

40

4.2.1

Existenz und Eindeutigkeit von s fu


r gegebenes m und xi , yi

Um die Existenz und Eindeutigkeit eines Splines s f


ur gegebene Ordnung m
und St
utzpunkte (xi , yi ) i {0, ..., n} zu zeigen, u
berlegen wir uns zunachst,
wie viele Unbekannte in s stecken wenn wir genau so viele linear unabhangige
Gleichungen aus den gegebenen Groen bilden konnen (und das entstehende
Gleichungssystem nicht singular ist), dann ist s existent und eindeutig. Wir
u
berlegen uns dazu Folgendes:
Jedes pi Pm1 hat m unbekannte Koeffizienten.

s besteht aus n solchen pi .

Also gibt es n m Unbekannte.

Wir wissen, dass s (m 2)mal stetig differenzierbar sein muss, das gibt
uns pro innerer Stelle (m 1) Gleichungen, insgesamt (m 1)(n 1),
bleiben also (n + m 1) Freiheitsgrade.

Bemerkung: Der Vektorraum aller Splines der Ordnung m zu den St


utzstellen
x0 , x1 , . . . , xn hat also die Dimension n + m 1.

Wir haben zus


atzlich (n + 1) Interpolationsbedingungen(s(xi ) = yi i
{0, ..., n}), bleiben also noch (m 2) Unbekannte, die wir aus den bisher
gegebenen Gr
oen nicht bestimmen konnen.

Damit (wenn wir mal annehmen, dass wir wissen, dass das Gleichungssystem
nicht singul
ar ist) ist klar, dass es f
ur m 2 immer ein s gibt, das unsere
Bedingungen erf
ullt, aber auch, dass dieses f
ur m > 2 nicht eindeutig ist.
Bevor wir uns speziell den kubischen Splines zuwenden, wollen wir anhand
einiger Bilder ein Gef
uhl daf
ur entwickeln, dass Splines sich gutartiger verhalten
als globale Interpolationspolynome (Quelle: euclid.colorado.edu):

Interpolationspolynom vierter Ordnung f


ur 5 St
utzpunkte

41

linearer Spline (m = 2)

Interpolationspolynom vierter Ordnung f


ur 5 St
utzpunkte

quadratischer Spline (m = 3)

Interpolationspolynom vierter Ordnung f


ur 5 St
utzpunkte

quadratischer Spline (m = 3)

Interpolationspolynom vierter Ordnung f


ur 5 St
utzpunkte

quadratischer Spline (m = 3)

42

Interpolationspolynom vierter Ordnung f


ur 5 St
utzpunkte

nat
urlicher kubischer Spline (m =
4, verschwindende zweite Ableitung
an den Endpunkten)

kubischer Spline (m = 4, verschwindende erste Ableitung an den Endpunkten)


Haptanwendungsgebiete von Splines sind die Interpolation wie wir sie hier
behandeln und Computer Aided Graphical Desgin (GACD), wobei ein
Spline so konstruiert wird, dass er eine durch Kontrollpunkte definierte Form
annimmt (Freiformkurven und -oberflachen). Ein Teil der Kontrollpunkte dient
dabei als Interpolationspunkte, ein weiterer Teil nur zum Vorgeben von Ableitung an Endpunkten.
Interpolationspolynom vierter Ordnung f
ur 5 St
utzpunkte

4.2.2

Kubische Splines

Wir schauen uns vor allem kubische Splines (m = 4) an, weil die am Haufigsten
benutzt werden und relativ einfach zu konstruieren sind. Zur Wiederholung:
Wir haben einfache sortierte St
utzstellen a = x0 < x1 < ... < xn = b.

s besteht st
uckweise aus kubischen Polynomen pi P3 i {0, ..., n 1},
die jeweils auf dem Intervall [xi , xi+1 ] definiert sind.
s ist global zweimal stetig differenzierbar: s C 2 ([a, b]).
43

Ziel ist die Erf


ullung der Interpolationsbedingungen: s(xi ) = yi i
{0, ..., n}.
Es bleiben zwei unbestimmte Freiheitsgrade u
brig.

Berechnung kubischer Splines. Wir zeigen im Folgenden, dass wir die Berechung eines kubischen Splines zu einer beliebigen Anzahl von St
utzstellen auf
eine tridiagonales lineares Gleichungssystem f
ur die ersten Ableitungen an den
St
utzstellen zur
uckf
uhren k
onnen.
Dazu verwenden wir als Ausgangspunkt die Darstellung der Polynomst
ucke
pi in der Monombasis:
pi (x) = ai t3i + bi t2i + ci ti + di mit ti :=

x xi
(normiertes x)
xi+1 xi

Der Ubersichtlichkeit
halber schreiben wir aber nur pi (x) = at3 + bt2 + ct + d.
Als erstes bestimmen wir uns die Koeffizienten a, b, c, d in Abhangigkeit von
0
yi , yi+1 , yi0 , yi+1
, wobei yi0 = s0 (xi ) ist. Wenn uns das gelingt, bleiben statt a, b, c
und d f
ur jedes Intervall nur noch die Ableitungen als Unbekannte u
brig.
Aus der Interpolationsbedingung f
ur xi und xi+1 und der Vorgabe der ersten
Ableitungen an diesen Stellen erhalten wir die vier Gleichungen
= yi
= (xi+1 xi )yi0
= yi+1
0
= (xi+1 xi )yi+1

d
c
a+b+c+d
3a + 2b + c

(aus pi (xi ) = yi )
(aus5 p0i (xi ) = yi0 )
(aus pi (xi+1 ) = yi+1 )
0
(aus p0i (xi+1 ) = yi+1
)

Wenn wir das aufl


osen, bekommen wir folgendes GLS (mit hi := xi+1 xi ):
a

b =
c =
d =

0
2(yi+1 yi ) + hi yi0 + hi yi+1

0
3(yi+1 yi ) 2hi yi0 hi yi+1

hi yi0
yi

Damit k
onnen wir pi (x) direkt angeben, allerdings in Abhangigkeit von den
0
unbekannten Werten yi0 , yi+1
.
0
pi (x) = (1 3t2 + 2t3 )yi + (3t2 2t3 )yi+1 + (t 2t2 + t3 )hi yi0 + (t3 t2 )hi yi+1
.

Jetzt kommen wir zum zweiten Schritt, der Bestimmung der yi0 . Dazu u
brelegen
wir uns, welche Bedingungen noch nicht genutzt wurden: Die Interpolationsbedingungen und die Stetigkeit der ersten Ableitung haben wir bereits in die Berechung von a, b, c und d f
ur jedes Intervall eingebaut. Noch nicht sichergestellt
ist die Stetigkeit der zweiten Ableitung. Genau diese Forderung erlaubt es uns,
ein Gleichungssystem f
ur die Werte yi0 , i = 1, . . . , n 1 zu erstellen. F
ur jeden
dieser inneren Punkte muss gelten
p00i (xi ) = p00i1 (xi ).
5 Vorsicht

beim Ableiten von p: das t h


angt von x ab, muss also auch abgeleitet werden.

44

Da wir unsere pi im ersten Schritt bereits bestimmt haben, konnen wir sie auch
zweimal ableiten und erhalten
p00i (x) = (12t 6)

0
yi+1
yi+1
yi0
yi
+
(6

12t)
+
(6t

4)
+
(6t

2)
h2i
h2i
hi
hi

Speziell an der Stelle xi ergibt sich also f


ur alle i {1, ..., n 1} folgende
Bedingung6 :
p00i (xi ) =

0
0
2yi1
6yi
6yi 6yi+1 4yi0 2yi+1
6yi1
4yi0
+

=
+
= p00i1 (xi )
h2i
h2i
hi
hi
h2i1 h2i1 hi1 hi1

0
0
Diese Bedingung k
onnen wir jetzt nach yi0 und yi1
, yi+1
auflosen und erhalten




yi yi1
1 0
2
2
1 0
yi+1 yi
+
,
yi1 +
+
yi0 + yi+1
=3
hi1
hi1
hi
hi
h2i
h2i1

also ein tridiagonales Gleichungssystem der Dimension (n 1) (n + 1):

1
h0

0
..
.

2
h0

+ h21
..
.
..
.

mit rhsi = 3

1
h1

..

0
..

..

..

yi yi1
h2i1

.
.

hn2

..
.
..
.
2
2
+
hn2
hn1

yi+1 yi
h2i

0
..
.
0

1
hn1

y00
..
.
..
.
yn0

rhs1
..
.
..
.
rhsn1

(eine erste Motivation, sich in den weiteren

Kapiteln mit der L


osung linearer Gleichungssysteme zu beschaftigen).
0
Wie vorhin angesprochen, konnen wir damit aber nur y10 , y20 , ..., yn1
bestim0
0
men, uns fehlen also noch y0 und yn . Hier kommen die sogenannten Randbedingungen ins Spiel. Wir unterscheiden zwischen drei Moglichkeiten:
Nat
urliche Randbedingungen: s00 (x0 ) = s00 (xn ) = 0 (Vorsicht: Es sind die
zweiten Ableitungen, nicht die ersten!),
periodische Randbedingungen: y00 = yn0 und s00 (x0 ) = s00 (xn ),
y00 und yn0 einfach vorgeben, z.B. als Null.

F
ur nat
urliche Randbedingungen erhalten wir so das
chungssystem

2
1
0

0
h0
h0
0
2
2
1
1
0

0
y

h0 h0 + h1 h1

.0
.
.
.
.
.
0
..
..
..
..
.. ..

.
.
..
..
..
..
.

.
.
.
.
0 ..
.

2
1
1
2

0
yn0
0
hn2
hn2 + hn1
hn1
1
2
0

0
hn1
hn1
6 Erinnerung:

An der Stelle xi ist ti = 0 und ti1 = 1

45

quadratische Glei

0
3 y1hy
2
0
rhs1
..
.
..
.
rhsn1
n1
3 ynhy
2
n1

Aufwand f
ur die Interpolation mit kubischen Splines: Die Berechnung der pi
h
angt linear mit der Anzahl der St
utzstellen zusammen wir hatten ja eine
explizite Formel mit von n unabghaniger Anzahl an Operationen f
ur jedes pi
dieser Teil ist also O(n). Dann bleibt noch das LGLS f
ur die yi0 . F
ur ein volles
LGLS w
are der Aufwand O(n3 ), hier liegt aber ein spezielles LGLS vor, namlich
0
0
ein tridiagonales, weil jedes yi0 nur von seinen Nachbarn yi1
und yi+1
abhangt.
Das l
asst sich deutlich einfach losen, namlich in O(n),. Der Gesamtaufwand f
ur
das Bestimmen von s und das Auswerten an einer Stelle x ist also O(n).
Fehlerordnung Bei kubischen Splines ist die Fehlerordnung O(h4 ), was im
Vergleich zu den Polynomen nicht besser ist. (Die hatten O(hn+1 ), fur ein kubisches

Polynom also auch O(h4 )), aber: Die Kondition der SplineInterpolation ist viel besser
(was wir hier nicht beweisen werden man kann es sich aber vorstellen, wenn man
sich klar macht, was das Problem bei den Polynomen war: Wenn irgendwo im Intervall
ein St
utzwert ein bisschen ge
andert wurde, ist das Polynom zum Rand des Intervalls
hin stark ver
andern worden das kann bei den Splines nicht passieren, weil sie an
den St
utzstellen gelenkiger sind und das abfangen k
onnen. Ein Polynom ist an den
St
utzstellen unendlich oft stetig differenzierbar, dadurch ist es kein bisschen gelenkig.
Das bedeutet u
oherer Ordnung schlechter konditioniert sind.)
brigens, dass Splines h

Ein weiterer wesentlicher Unterschied zur globalen Polynominterpolation ist,


dass die Ordnung und damit auch die Approximationsordnung eines Splines
nicht mit der Anzahl der St
utzstellen wachst.

4.3

Trigonometrische Interpolation

Wenn wir periodische Funktionen interpolieren wollen, versagt die Polynominterpolation, sobald wir verlangen, dass auch Auswertungen auerhalb des Bereichs der St
utzstellen m
oglich sein sollen. Dies gilt sowohl f
ur die globale Polynominterpolation als auch f
ur die Spline-Interpolation. Um dies zu sehen, muss
man sich nur bewusst machen, dass
lim |p(x)| =

f
ur jedes Polynom p. Wenn wir also eine Funktion
7

f : R C, f (t + 1) = f (t)

interpolieren wollen , liegt es nahe, dies mit Hilfe von periodischen Funktionen
zu tun, eben z.B. den trigonometrischen Funktionen.
Idee: Nutze sin/cos mit verschiedenen Frequenzen als Basis (statt der Monome,
die wir bei den Polynomen verwendet hatten). Daf
ur erinnern wir uns zunachst
mal an folgende Formel:
e2it = cos(2t) + i sin(2t)

(1)

Diese komplexe Exponentialfunktion ist wie unser f in t mit der Periode 1


periodisch. Wir suchen daher eine interpolierende Funktion
p(t) =

n1
X

ck z(t)k mit z(t) = e2it .

k=0
7 Was

zwischen f (t) und f (t+1) passiert, ist dabei v


ollig egal wichtig ist, dass die Funktion
periodisch ist. Insbesondere geht aus dieser Bedingung NICHT hervor, dass f konstant ist.

46

Offensichtlich erf
ullt das p schonmal die Periodizitat in t. Das sieht man, wenn
man die (1) einsetzt:
p(t) =

n1
X
k=0

ck (cos(2kt) + i sin(2kt))

Man erh
alt also eine Repr
asentation unserer Funktion im Frequenzraum, wobei
ein ck dem Gewicht entspricht, mit dem die Frequenz k in p eingeht.
Als Beispiele betrachten wir die in den folgenden Graphen dargestelle Funktion:

Die Funktion l
asst sich darstellen als Linearkombination von drei Frequenzanteilen (Moden) (K = 1, 3, 6):

p(t) = 4 sin(2t) + 2 sin(6t) sin(12t) = Im 4e2it + 2e6it e12it .
F
ur allgemeine Funktionen werden wir in der Regel keine exakte Darstellung
bekommen (dazu br
auchten wir eine unendlich lange Summe, also n = ). Wir
berechnen also wieder Approximationen mit den n Koeffizienten c0 , . . . , cn1 .
Dazu brauchen wir n Interpolationsbedingungen.
Im Gegensatz zur Polynominterpolation, bei der eine nicht-aquidistante Wahl
der St
utzstellen sogar vorteilhaft sein konnte, hilft uns bei der trigonometrischen
Interpolation die
aquidistante St
utzstellenwahl. Auerdem sollen die St
utzstellen
genau eine Periodendauer von f abdecken, die St
utzstellen sind also
tj =

z3

Die Werte zj = z(tj ) liegen also


aqudistant auf dem Einheitskreis in der komplexen Ebene, sind also die n-ten Einheitswurzeln. Das veranschaulicht die Grafik links
f
ur n = 10. Unsere Interpolationsbedingungen sind wie gewohnt

iR
z
i2

z4

z1

z5

z0
1

1
z6

z9
z7

i
z8

j
j {0, ..., n 1}.
n

p(tj ) = vj

mit den St
utzwerten vj = f (tj ). Was wir
nun brauchen, ist ein Algorithmus, der uns
47

aus den vi die ck berechnet, damit wir unsere Funktion p nutzen k


onnen. Den gibt es auch, genannt wird er diskrete
FourierTransformation (DFT), das Ganze geht auch in die andere Richtung,
also aus den ck wieder vi s berechnen, das nennt sich dann inverse diskrete
FourierTransformation (IDFT).
Diskrete FourierTransformation. Zuerst wollen wir uns die DFT anschauen, also die Berechnung der ci aus den vj . Daf
ur f
uhren wir ein n ein
mit folgender Definition
n := e

zj = nj

2i
n

Damit k
onnen wir dann schreiben (und das ist dann schon die IDFT)
vj = p(tj ) =

n1
X

ck zjk =

k=0

n1
X

ck njk .

k=0

Wir transformieren diese Gleichung, indem wir zunachst vj mit n jl = njl


f
ur ein i {0, . . . , n 1} multiplizieren:
vj n jl =

n1
X

ck n(kl)j .

k=0

Anschlieend summieren wir u


ber alle j = 0, . . . , n 1:
n1
X

vj njl

j=0
n1
X

n1
X

n(kl)j

n1
X

n1
X

n(kl)j , wobei

j=0

k=0

(kl)jn
1n

1n

(kl)j

vj n jl

fallsk = l,

j=0

ck

=0

sonst

= ncl ,

j=0

cl

n1
1X
vj n jl .
n j=0

Damit haben wir die Formel f


ur die DFT (vj ci ) gefunden. In Matrixnotation k
onnen wir also f
ur die Vektoren c = (c0 , . . . , cn1 )T und v =
(v0 , . . . , vn1 )T mit der Matrix

M = njk 0j,kn1
schreiben:
M c
inverse diskrete Fourier-Transformation (IDFT) und
1
c =
M v diskrete Fourier-Transformation (DFT).
n
Der Aufwand f
ur die DFT und die IDFT anhand obiger Formeln ist offensichtlich O(n2 ) (O(n) Operationen f
ur jeden der n zu berechnenden Werte).
Allerdings gibt es eine sehr ber
uhmte, raffinierte Art der Auswertung der DFT
und IDFT Formeln, die mit O(n log n) Operationen auskommt und die wir im
Folgenden herleiten werden.
v

48

Schnelle Fourier-Transformation (Fast Fourier Transform FFT).


Wir stellen zun
achst fest, dass wir nur die IDFT brauchen, um die DFT zu
berechnen:
1
~
~c = DFT(~v ) = IDFT(v).
n
Wir k
onnen also der IDFT als Eingabedaten die konjugiert komplexen vj als
Eingabe u
bergeben, die Ergebnisse dann nochmals konjugieren und durch n
teilen und erhalten so die ck .
Daher stellen wir uns jetzt die Frage, ob wir die Berechnung der IDFT
beschleunigen k
onnen, wenn wir speziellen Eigenschaften der Summen beziehungsweise der Summanden ausnutzen. Um dies zu sehen, betrachten wir die
Summenformeln f
ur vj und vm+j mit m = n/2 nebeneinander und trennen die
Summe jeweils in den Teil mit ungeraden und den mit geraden k auf:
vj

n1
X

ck njk =

k=0

m1
X

n1
X

n/21

ck e

2ijk
n

n/21

c2k e

2ij2k
n

k=0

k=0

c2k e2ijk/m +nj

m1
X

k=0

X
k=0

c2k+1 e|

2ij(2k+1)
n

{z

2ij2k
e n

}
j
n

c2k+1 e2ijk/m

k=0

{z
=: Aj

{z
=: Bj

= Aj + nj Bj ,
vm+j

m1
X

c2k e2i(m+j)k/m + nm+j

k=0

m1
X
k=0

m1
X

c2k+1 e2i(m+j)k/m

k=0

c2k e2ijk/m nj

m1
X

c2k+1 e2ijk/m

k=0

= Aj nj Bj .
Dabei haben wir benutzt, dass
nm+j = e2(n/2+j)/n = e2j+ = e2j = nj .
Fassen wir nochmal kurz zusammen, so haben wir
vj = Aj + nj Bj und vm+j = Aj nj Bj mit
Aj =

m1
X

k
c2k m
und Bj =

k=0

m1
X

(2)

k
c2k+1 m
.

k=0

Aj und Bj sind also wiederum inverse Fourier-Transformierte der halben L


ange zu den Vektoren (c0 , c2 , . . . , c2m ) beziehungsweise (c1 , c3 , . . . , c2m+1 ).
Wenn wir jetzt annehmen, dass unser n eine 2er Potenz ist, dann konnen wir
diese Zerlegung rekursiv benutzen, bei jedem Zerlegen halbiert sich der Aufwand (weil wir A, B und j nur einmal berechnen m
ussen, sie aber zwei mal
nutzen k
onnen) f
ur ein einzelnes vj . Der Kombinationsschrit (2) wird auch als
Schmetterlingsschema (butterfly scheme) bezeichnet.

49

Wir starten also mit inverersen FourierTransformierten der Lange 1, kombinieren diese zu Transformierten der Lange 2, diese wiederum zu transformierten der L
ange 4 usw. Die Kosten jedes Kombinationsschrittes sind linear in n
(wir berechnen n Werte), daher ist der Gesamtaufwand O(n log n).
Dieser Algorithmus l
asst sich leicht in rekursiver Form als Pseudocode aufschreiben:
funct IDFT(c[0],...,c[n-1],n);
if (n=1) then do v[0]:=c[0] od;
else do
m:=n/2;
z1:=IDFT(c[0],c[2],...,c[n-2],m);
z2:=IDFT(c[1],c[3],...,c[n-1],m);
omega:=exp(2*pi*i/n);
omega_hoch_j := 1;
for j:=0 to m-1 do
v[j]:=z1[j]+omega_hoch_j*z2[j];
v[m+j]:=z1[j]-omega_hoch_j*z2[j];
omega_hoch_j := omega_hoch_j*omega;
od;
od;
return(v[0],...,v[n-1]);
Um eine bessere Laufzeit zu erreichen (Pipelining, Vektorisierbarkeit,. . . ),
sind allerdings zus
atzlich iterative, also schleifenbasierte Varianten entwickelt
worden. Diese bauen auf der Beobachtung auf, dass der FFT Algorithmus auf
nat
urliche Weise in zwei Bestandteile zerfallt: Eine Sortierphase (Sortieren der
ck nach geraden und ungeraden k) und eine Kombinationsphase (Schmetterlingsschema). Das k
onnen wir f
ur n = 8 beispielhaft darstellen:

50

Dabei steht die Schmetterlingsoperation f


ur

Aus obigem Schema f


ur n = 8 konnen wir nochmal bildlich sehr einfach die
Komplexit
at O(n log n) ablesen.

51

Als Pseudocode ergibt sich


funct IDFT_it(c[0],...,c[n-1],n);
l = log(n);
laenge = n/2;
// Sortierphase
for level = 1 to l do
start = 0;
for abschnitt = 1 to level do
for i = 0 to laenge-1 do
c_tmp[start+i] := c[start+2i];
c_tmp[start+laenge+i] := c[start+2i+1];
end
start += laenge;
end
for i = 0 to n-1 do
c[i] := c_tmp[i];
end
laenge := laenge/2;
end
for i = 0 to n-1 do
v[i] := c[i];
end
// Kombinationsphase
laenge = 2;
for level = l to 1 do
omega_l = exp(2*pi*i/(laenge-1));
offset = 2(level-1);
start = 0;
for abschnitt = 1 to level do
omega_l_hoch_j := omega_l;
for i = 0 to laenge/2-1 do
tmp := v[start+i] + omega_l*v[start+i+offset];
v[start+i+offset] := v[sstart+i] - omega_l*v[start+i+offset];
v[start+i] := tmp;
omega_l_hoch_j := omega_l_hoch_j*omega_l;
end
start += laenge;
end
end
return(v[0],...,v[n-1]);
Reellwertige Variante. Die bisher vorgestellte (I)DFT funktioniert nur, wenn
die zu interpolierende Funktion in die komplexen Zahlen abbildet dass das in
der Realit
at nicht immer der Fall ist, ist klar. Deshalb soll hier noch kurz eine reellwertige Variante vorgestellt werden, die sogenannte KosinusTransformation.
Dabei sind die St
utzwerte (bisher vj ) jetzt Fj und die Frequenzgewichte (bisher
52

ck ) sind nun fj . Die inverse diskrete KosinusTransformation hat dann folgende


Formel:


n1
X
2
Fk =
k(2j + 1)
fj cos
n
j=0
Und die normale:
2
fj =
n

n1

F0 X
+
Fk cos
2
k=1

2
k(2j + 1)
n

!

Anwendung finden sowohl (I)DFT als auch (inverse) KosinusTransformation


in der Signalfilterung und damit eng zusammenhangend in der Datenkompression (z.B. JPEG, MP3).
Anwendungen. Anwendung findet die diskrete Fourier-Transformation unter
anderem in der Bildverarbeitung. Ein Graustufenbild entspricht beispielsweise
einer Matrix aus Graustufenwerten. Jeder Matrixeintrag gi,j entspricht dem
Graustufenwert des Pixels in Zeile i und Spalte j des Bildes. Die JPEG Methode nutzt die spezielle Frequenzverteilung nat
urlicher Bilder um sie mit
hoher Kompressionsrate zu speichern, wobei es sich um eine verlustbehaftete
Kompression handelt. Der Kompressionsalgorithmus lasst sich folgendermaen
skizzieren:
Farbbilder werden in das YUV Farbmodell konvertiert (Y: Intensitat, U:
Farbton, V: S
attigung).
Das Bild wird in Bl
ocke mit 8 8 Pixeln unterteilt. In jedem dieser Blocke
wird eine schnelle Kosinustransformation durchgef
uhrt.
Die resultierenden Frequenzwerte werden quantisiert, das heit nur eine vorgegebene Anzahl diskreter Werte werden akzeptiert, Zwischenwerte
werden gerundet. Dieser Schritt ist hauptverantwortlich f
ur die Kompressionsverluste.
Schlielich werden die quantisierten Daten nochmals komprimiert.

Quadratur

Nachdem wir uns im letzten Kapitel mit der Interpolation von Funktionen
besch
aftigt haben, geht es in diesem Kapitel um die numerische Berechnung
von Integralen:
Z
I(f ) :=
f (x)dx.

Wir nennen also das exakte Integral u


ber eine Funktion f u
ber eine aus dem
Kontext bekannte Untermenge Rd immer I(f ).
Die erste numerische Quadratur wurde u
brigens bereits von Archimedes im
dritten Jahrhundert vor Christus (also bevor Kenntnisse aus der Analysis bei
der Berechnung helfen konnten) durchgef
uhrt:

53

~
~

In diesem Kapitel betrachten wir Methoden zur approximativen Integration,


die wir als Quadratur bezeichnen f
ur allgemeinere Integrale und unter Nutzung
effizienterer, genauerer, . . . Techniken.
Der Einfachheit halber beschranken wir uns im Folgenden auf univariate
Quadratur, also den Fall d = 1 und damit Intervalle = [a; b]. Eine richtig
groe Herausforderung sind nat
urlich hoherdimensionale multivariate Integrale.
Speziell sehr hoch dimensionale Anwendungen mit d = O(100) (Statistik, Finanzmathematik, Quantenphysik) erfirdern ausgefeilte numerische Methoden.
F
ur moderates d lassen sich aber die hier vorgestellten Methoden auf einfache
weise verallgemeinern.
Numerische Integration, also Quadratur, sollte nur dann verwendet werden,
wenn alle anderen M
oglichkeiten wie die analytische Integration mit Hilfe von
z.B. Substitution, die partielle, also st
uckweise Integration zwischen Unstetigkeitsstellen usw. versagen. Die meisten Quadraturmethoden erfordern (wie auch
schon unsere Interpolationsmethoden) gewisse Voraussetzungen an die Glattheit
der zu integrierenden Funktion f .
Fast alle Quadraturregeln (Vorschriften zur numerischen Integration) konnen als gewichtete Summe von Funktionswerten (Samples) geschrieben
werden:
I(f ) Q(f ) :=

n
X

gi f (xi ) =:

i=0

n
X

gi yi .

i=0

Die numerische Approximation des Integrals I(f ) bezeichnen wir dabei mit
Q(f ). Wir gehen im Folgenden immer davon aus, dass die xi paarweise verschieden und geordnet sind, auerdem sollen sie im Intervall [a, b] liegen, also:
a x0 < x1 < < xn b

Aus der Formel oben geht bereits hervor, dass wir eigentlich auf der Suche nach
Gewichten gi f
ur die Funktionswerte an den Stellen xi und evtl. nach geeigneten
xi sind.
Eine Quadraturregel sollte folgende Eigenschaften haben:
Geringer Rechenaufwand: Beachte, dass jede Auswertung von f teuer
sein kann. Es k
onnte beispielsweise jedes Mal eine (partielle) Differentialgleichung gel
ost werden m
ussen. Daher kommt es hier besonders darauf
an, die Anzahl der St
utzstellen xi so gering wie moglich zu halten.
Genaues Ergebnis: Hier betrachten wir wieder die Fehlerordnung und
den Fehlerterm.
Gute Kondition. Um die Kondition der Quadratur zu untersuchen, betrachten wir kleine Fehler yi mit |yi | in den Eingabedaten. Damit
k
onnen wir den Fehler im Ergebnis der Quadratur wie folgt abschatzen:


n
n
n
X
X
X


|Q(f ) | =
yi gi
|yi ||gi |
|gi |.


i=0

i=0

54

i=0

Die Kondition der Auswertung der Quadraturregel ist also umso besser,
je kleiner die Summe der Absolutwerte der Quadraturgewichte ist. Diese
Aussage gibt uns noch keine brauchbaren Hinweise darauf, wie man solche guten Quadraturgewichte bestimmt. Wir konnen jedoch noch etwas
mehr u
ber die Eigenschaften der Gewichte herleiten, wenn wir fordern,
dass zumindest eine konstante Funktion exakt intergriert wird. Das bedeutet
n
X
gi = b a.
i=0

Wenn wir annehmen, dass f


ur alle i = 0, . . . , n gi 0 gilt, dann ist die
absolute Kondition also durch die Intervalllange nach oben bschrankt und
somit
recht gut. Ohne diese Annahme konnen wir keine obere Grenze f
ur
P
|gi |, also auch nicht f
ur die Kondition angeben. Meistens (je nach Wahl
der St
utzstellen xi , i = 0, . . . , n) ist gi 0 f
ur die Quadratur auf Basis der
Lagrangepolynome ab Grad 57 nicht mehr erf
ullt.

5.1

Einfache Quadraturregeln

Eine erste Idee ist, eine Approximation f f


ur f zu finden, so dass f leicht zu
Rb

integrieren ist, also Q(f ) = a f (x)dx. Mit dem Interpolieren kennen wir uns
seit dem letzten Kapitel ja aus, also versuchen wir es hier einfach mal mit dem
Interpolationspolynom, das ist einfach zu integrieren8 :
Q(f ) =

n
bX

f (xi )Li (x)dx =

a i=0

n
X

Z b
f (xi )
Li (x)dx.
a
i=0
|
{z
}
gi

Somit haben wir als Quadraturgewichte die Integrale u


ber die Lagrangepolynome
Z b
gi =
Li (x)dx,
a

die sich unab


angig von den Funktionswerten f (xi ) vorberechnen lassen. Dazu
muss lediglich die Wahl der St
utzstellen xi , . . . , xn bereits getroffen und bekannt
sein.
Q
xxi
8
Li (x) sind die bekannten LagrangePolynome: Li (x) =

55

i6=k xk xi

5.1.1

Newton-Cotes Quadratur

Wendet man das oben beschriebene Verfahren (statt f integrieren wir das Interpolationspolynom) mit
aquidistanten St
utzstellen in unserem Integrationsintervall [a;b] der L
ange H = ba an, so erhalten wir die sogenannten Newton-Cotes
Quadraturregeln. Sie sind wie folgt definiert (pn ist das Interpolationspolynom
nten Grades zu f mit
aquidistanten St
utzstellen xi = a + H ni ):
QN C(n) := I(pn ).
Wir wollen hier die bekanntesten dieser Quadraturregeln mit Ihren Fehlertermen
nennen: Die einfachste Regel ist die Rechtecksregel mit nur einer St
utzstelle,
die wir aus Symmetriegr
unden in die Mitte des Intervals legen:
! 

Z b
a+b
QR (f ) :=
1dx f
2
a


a+b
= (b a)f
2
1111111111111
0000000000000
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1

F
ur den Fehler l
asst sich folgende Darstellung zeigen:
RR (f ) := QR (f ) I(f ) = H 3

f 00 ()
, f
ur ein (a, b),
24

falls f in ]a; b[ zweimal stetig differenzierbar ist.


Im Gegensatz zur Rechtecksregel arbeitet die Trapezregel bereits mit zwei
St
utzstellen und einem linearen Interpolationspolynom:
!
!
Z b
Z b
bx
ax
QT (f ) :=
dx f (a) +
dx f (b)
a ba
a ab
=

(b a)

f (a) + f (b)
.
2

1111111111111
0000000000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111

Hier lautet die Fehlerformel:


RT (f ) = H 3

f 00 ()
, (a, b)
12
56

f
ur eine zweimal stetig differenzierbare Funktion f .
Wir stellen fest: Die Trapezregel ist schlechter als die Rechteckregel, obwohl
sie doppelt so viele Funktionsauswertungen braucht, wir betrachten sie trotzdem, weil sie sp
ater bei den zusammengesetzten Regeln, bei denen ahnlich dem
Vorgehen von Archimedes mehrere Teilintegrale (SStreifen) zum Gesamtintegral zusammengesetzt werden, Vorteile mit sich bringt.
Aus dem quadratischen Interpolationspolynom an den St
utzstellen a, b+a
2
und b erhalten wir schlielich die Keplerregel:
!
Z b
b x (b + a)/2 x
dx f (a) +
QF (f ) :=
a b a (b + a)/2 a
! 

Z b
bx
ax
a+b
dx f
+
2
a b (b + a)/2 a (b + a)/2
!
Z b
a x (b + a)/2 x
dx f (b)
a a b (b + a)/2 b




a+b
1
f (a) + 4 f
+ f (b)
= (b a)
6
2
1111111111111
0000000000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111

mit folgender Fehlerformel f


ur viermal stetig differenzierbare Funktionen f :
RF (f ) = H 5

f (4) ()
, (a, b).
2880

Die Fehlerformeln f
ur die Rechtecks- und die Keplerregel mogen auf den ersten Blick u
uberlegung ware hier,
berraschend scheinen. Eine erste Plausibiltats
dass ein Polynom n-ten Grades zu n + 1 St
utzstellen innerhalb desIntervalls
n+1 
[a; b] zu einem Interpolationsfehler f
uhrt, der von der Ordnung O H
n
ist. Zus
atzlich m
ussen wir diesen Funktionsapproximationsfehler noch u
ber das
Interval [a; b] integrieren, um den Fehler in der Integralapproximation
zu er


H n+1
halten. Somit w
urden wir einen Integrationsfehler der Ordnung O H n

erwarten. Bei der Rechtecksregel (n = 0) ist aber ein Fehler O(H 3 ) und nicht
O(HH 0+1 ) = O(H 2 ) angegeben. Die Fehlerordnung bei der Trapezregel stimmt
daf
ur wieder (O(HH 1+1 ) = O(H 3 )), bei der Keplerregel ist sie wieder um eins
zu hoch (O(H 5 ) statt O(HH 2+1 ) = O(H 4 ). Woran liegt das?
Dazu stellen wir uns vor, wir wollen eine lineare Funktion integrieren. Aufgrund der Symmetrie um den St
utzpunkt in der Mitte unseres Intervals erhalten
wir mit der Rechtsecksregel den exakten Integralwert, obwohl die Funktionsapproximation nicht sehr genau ist. Man sieht das leicht an folgender Skizze, in
der man in der ersten H
alfte des Intervalls das Integral um die Flache des roten
Dreiecks u
atzt, in der zweiten Halfte um die Flache des gr
unen Dreiecks
bersch
57

untersch
atzt, wobei das rote und das gr
une Dreieck ganz offensichtlich denselben
Fl
acheninhalt haben:

1111111111111
0000000000000
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1

1111111111111
0000000000000
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1

Mit
ahnlichen Argumenten lasst sich f
ur die Keplerregel zeigen, dass sie nicht
nur quadratische, sondern auch kubische Polynome exakt integriert. Daher ist
der Fehler also beim Integrieren u
ber ein Interpolationspolynom geraden Grades
bei
aquidistanter, also symmetrischer St
utzstellenverteilung eine Ordnung hoher
als zun
achst vermutet: In der Taylorentwicklung des Integranden f wird ein
zus
atzlicher Term zwar nicht exakt approximiert, aber aus Symmetriegr
unden
exakt integriert.
Kondition der Newton-Cotes Quadratur. Leider treten bei der NewtonCotes Quadratur f
ur n = 8 und f
ur alle n 10 negative Quadraturgewichte auf.

Nach unseren obigen Uberlegungen


zur Kondition von Quadraturregeln bedeutet das, dass diese Regeln praktisch wenig hilfreich, da schlecht konditioniert,
sind. Das bedeutet jedoch nicht, dass Polynome hoheren Grades u
berhaupt nicht
f
ur die Quadratur geeignet sind, man muss sich allerdings von der Idee der
aquidistanten St
utzstellen l
osen, wie wir im nachsten Abschnitt am Beispiel der

Clenshaw-Curtis Regeln sehen:


ClenshawCurtisQuadratur Bei der ClenshawCurtisQuadratur wird
auch die Polynominterpolation mittels Lagrangepolynomen verwendet, aber die
Kondition wird verbessert, indem die St
utzstellen zum Rand des Intervalls hin
dichter beieinander liegen, es wird also noch immer
Z b
n
X
Q(f ) =
f (xi )
Li (x)dx
a

i=0

verwendet. Die St
utzstellen sind jetzt aber folgendermaen gewahlt (das Bild
unten visualisiert das f
ur n = 5):
xni =

a+b
2

a
x0

x2
x1

x4
x3

x5

 
a+b ba
+
cos
i
n
2
n
Wir sehen im Bild, dass die St
utzstellen
als Projektionen von gleichmaig auf einem Kreisbogen des Radius ba
2 und mit

Mittelpunkt bei a+b
,
0
auf
die
x-Achse
2
gesetzt werden. So nimmt die Dichte der
St
utzpunkte nach auen hin zu. F
ur diese
spezielle Wahl der St
utzstellen lasst sich
zeigen, dass die Quadraturgewichte immer alle positiv sind. Daher haben die
58

entsprechenden Quadraturregel auch fu


r hohen Polynomgrad n eine gute Kondition. Dennoch spielen Sie in der Praxis verglichen mit den sogenannten
Summenregeln oder zusammengesetzten Quadraturregeln, die wir im Folgenden
vorstellen, nur eine untergeordnete Rolle.

5.2

Zusammengesetzte Quadraturregeln / Summenregeln

Hier werden wir die vorhin angesprochenen zusammengesetzten Quadraturregeln betrachten, die das Integrationsintervall [a, b] in Teilintervalle
ba
n
zerlegen und diese getrennt integrieren. Jedes dieser Teilintervalle hat bei
dieser (
aquidistanten) Wahl der St
utzstellen die Lange
[xi ; xi+1 ] i = 0, . . . , n 1 mit xi = a + i

h=
5.2.1

ba
.
n

Trapezsumme

Bei den einfachen Quadraturregeln hatten wir gesehen, dass die Trapezregel mit
mehr Funktionsauswertungen einen groeren Fehler liefert als die Rechteckregel. Der Grund, warum wir sie f
ur zusammengesetzte Quadratur doch wieder
benutzen wollen, liegt darin, dass die Trapezregel immer an den Randern des
(Teil)Intervalls auswertet und wir uns so Arbeit sparen konnen, weil eine Auswertung zweimal benutzt werden kann:
00
11
000
111
00
11
00
11
000
111
00
11
111
000
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
00011
111
00
000
111
000
111
00
11
00
000
111
00
11
00011
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
11
00
11
000
111
00
11
000
111
000
111
00
00
11
000
111
00
11
00011
111
00011
111
00
11
00
000
111
00
11
000
111
00011
111
00

In jedem der Teilintervalle [xi ; xi+1 ], i = 0, . . . , n 1 wird die Trapezregel


angewandt, dies liefert die Integralapproximation

QT S (f )

1
1
1
1
1
1

:= h
2 f (a) + 2 f (x1 ) + 2 f (x1 ) + 2 f (x2 ) + + 2 f (xn1 ) + 2 f (b)
|
{z
} |
{z
}
1. Teilintervall
2. Teilintervall


1
1
= h
f (a) + f (x1 ) + . . . + f (xn1 ) + f (b) .
2
2

Den Fehler der Trapezsumme konnen wir auch berechnen (H = b a, h =


QT S (f ) I(f ) = h2 H

f 00 ()
, (a, b), f C 2 ([a, b]).
12
59

ba
n ):

Dies folgt unmittelbar aus der Fehlerformel f


ur die Trapezregel durch Summation u
ber die Fehlerterme alle Teilintervalle und dem Mittelwertsatz.
Was k
onnen wir mit diesen Informationen u
ber die Qualitat der Trapezsumme aussagen?
(1) Zun
achst mal k
onnen wir erkennen, dass die Integration auch mit der Summe nur f
ur lineare Funktionen exakt ist (das sieht man am Vorkommen
der zweiten Ableitung im Fehlerterm).
(2) Die Genauigkeitordnung scheint um eins gesunken zu sein (von H 3 auf
h2 ). Das liegt an der Summation u
ber n = h1 Teilintervalle. Beachte dabei,
dass wir erst in der Summenform die Moglichkeiten haben, die Genauigkeit
durch reduzieren von h zu erhohen, das H der globalen Trapezregel war
als L
ange des Intervalls fest vorgegeben.
(3) Die Trapezregel l
asst sich sehr leicht implementieren.
(4) Alle Gewichte sind positiv:
g0 = gn =

h
, gi = h f
ur alle i = 1, . . . , n 1.
2

Damit ist die Trapezsumme eine gut konditionierte Quadraturregel.


5.2.2

SimpsonSumme

Bei der SimpsonSumme verwenden wir die Keplerregel u


ber zwei Teilintervalle
hinweg:
11111
00000
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
00000
11111
00000
11111
10
0
1
111111
0
1
0
1
0
00000
11111

QSS (f )

h
f (a) + 4 f (x1 ) + f (x2 ) + + f (xn2 ) + 4 f (xn1 ) + f (b)
{z
}
3 |

h
(f (a) + 4f (x1 ) + 2f (x2 ) + . . . + 2f (xn2 ) + 4f (xn1 ) + f (b)) .
3

Teilintervall 1 und 2

Der Fehler ist hier:


QSS (f ) I(f ) = h4 H

f (4) ()
, (a, b), f C 4 ([a, b])
180

F
ur die SimpsonSumme haben wir ungefahr doppelt so viel Arbeit bei gleichem
n, aber die SimpsonSumme konvergiert schneller, f
ur groe n, also kleine h, ist
60

der Aufwand im Verh


altnis zum Fehler bei der SimpsonSumme kleiner. Wie
bei der Trapezregel sind auch hier alle Gewichte positiv und die Regel daher
gut konditioniert.

Aufgabe: Uberlegen
Sie, f
ur welche aus den Newton-Cotes Formel abgeleitete Summenregeln die gute Kondition gegeben ist.

5.3

Bessere Quadraturregeln

Um noch bessere Quadraturregeln zu finden, suchen wir Methoden, die es uns


erlaubt, die Ordnung unserer Verfahren noch zu erhohen, d.h. genauere Ergebnisse, ohne mehr St
utzstellen zu brauchen. Dazu verfolgen wir zwei Strategien:
die Kombination genauerer Regeln auf der Basis einfacher Regeln (Rombergquadratur / Extrapolation) und die optimierte Wahl der St
utzstellen (GaussQuadratur).
5.3.1

Rombergquadratur / Extrapolation

Um zu sehen, dass es grunds


atzlich moglich ist, eine Quadraturregel hoherer
Ordnung aus einer mit geringerer Ordnung zu gewinnen, schauen wir uns die
SimpsonSumme mit n = 1 (also die Keplerregel) an. Wir wissen, dass die
Keplerregel die Fehlerordnung h4 hat, wahrend die Trapezsumme nur die Fehlerordnung h2 hat. Wir werden jetzt die Keplerregel auf die Kombination von
zwei Trapezsummen zur
uckf
uhren:




a+b
H
f (a) + 4 f
+ f (b)
QF (f ) =
6
2






4 H f (a)
a+b
f (b)
1
f (a) f (b)
=
+f
+
H
+
.
3 2
2
2
2
3
2
2
Wir k
onnen also durch geschickte Kombination von Werten einer Approximation niedrigerer Ordnung eine Approximation hoherer Ordnung gewinnen.
Dazu brauchen wir die Formel der Regel hohrere Ordnung nichtmal zu wissen,
wir berechnen lediglich




H f (a)
a+b
f (b)
QT,1 (f ) =
+f
+
und
2
2
2
2


f (a) f (b)
QT,0 (f ) = H
+
2
2
und setzten die beiden Werte zusammen zu
QF (f ) =

1
4
QT,1 (f ) + QT,0 (f ),
3
3

bilden also ein gewichtetes Mittel aus Werten der Trapezsummen. Die Frage
dabei ist nur, wie wir an die Gewichte 43 und 13 kommen.
Dazu nutzen wir ein Prinzip, das in der Numerik sehr haufig verwendet
wird, um aus Verfahren niedriger Ordnung solche hoher Ordnung zu erzeugen.
Als Ausgangspunkt wird dabei jeweils eine Reihenentwicklung des Fehlers der
Ausgangsmethode (also der mit niedriger Ordnung) verwendet. In unserem Fall
ist das die EulerMaclaurinSummenformel, die eine Reihenentwicklung
61

f
ur QT S (Trapezsumme) im Falle ausreichend oft stetig diferenzierbarer Integranden f liefert:
QT S (f, h) = I(f ) + 1 h2 + 2 h4 + + m1 h2m2 + m (h)h2m .

Die Trapezsummenformel liefert uns also das exakte Integral plus den Fehler,
dargestellt als Entwicklung in h2 . Der Restterm m (h) ist dabei f
ur alle h nach
oben beschr
ankt. Letzteres ist wichtig und der Clou bei der Sache, ohne diese
Zusatzaussage k
onnen wir eine solche Reihenentwicklung immer finden. Es ist
auerdem wichtig zu bemerken, dass alle anderen i nicht von h abhangen, das
werden wir uns n
amlich gleich zu nutze machen.
Die Idee ist, dass wir QT S (f, h1 ) und QT S (f, h2 ) f
ur zwei unterschiedliche
Schrittweiten h1 und h2 geschickt kombinieren, so dass der Fehlerterm niedrigster Ordnung wegf
allt. Es ist klar, dass wir dazu etwas u
ber h1 und h2 wissen
m
ussen, n
amlich, in welchem Verhaltnis sie zueinander stehen, wir nehmen hier
h1 = h, h2 = h2 :
QT S (f, h1 ) = QT S (f, h) = I(f ) + 1 h2 + 2 h4 +
h2
h4
h
+ 2
+
QT S (f, h2 ) = QT S (f, ) = I(f ) + 1
2
4
16



h
1
3h4
h4
1
4QT S (f, ) QT S (f, h)
=
3I(f ) 2
+ = I(f ) 2
+
3
2
3
4
4
Allgemeiner ergibt sich f
ur die Trapezsummen T (hi ) := QT S (f, hi ) zu den
Schrittweiten h1 , h2 , h3 , . . .:
T (h1 )

T (h2 )

T (h3 )

I(f ) + 1 h21 + ... + m1 h2m2


+ m (h1 ) h2m
1
1

I(f ) + 1 h22 + ... + m1 h2m2


+ m (h2 ) h2m
2
2

I(f ) + 1 h23 + ... + m1 h2m2


+ m (h3 ) h2m
3
3

... =

...

Beachte, dass die linken Seiten jeweils bekannt sind bzw. mit einem geeigneten
Programm berechnet werden konnen, wahrend I(f ) und die Werte der Koeffizienten i nicht bekannt sind. Wir kombinieren nun paarweise die Zeilen obiger
Gleichung zu besseren Approximationen des Integrals I(f ):
T1 (h1 )

...

h22
h21
T
(h
)
+
T (h2 )
1
h21 h22
h21 h22


h21
h22 4
4
= I(f ) + 2
h
+
h
+ ...
h21 h22 1 h21 h22 2
= ...

Auf diese Reihenentwicklungen konnen wir denselben Trick nochmal anwenden und erhalten so eine viel hohere Fehlerordnung, z.B. so:
h2
h4
h6
QT S (f, h)
QT S (f, h2 )
QT S (f, h4 )

QSS (f, h)
QSS (f,

Q6 (f, h)

h
2)

62

Es ist klar, dass dieses Schema mit mehr Eintragen in der ersten Spalte
beliebig vergr
oert werden kann und damit auch zu hoherer Ordnung f
uhrt.
Dieses Dreieckschema erinnert vielleicht den ein oder anderen verdachtig an
die algorithmischen Schemata zur Berechung von Interpolationspolynomen und
tats
achlich l
asst sich das skizzierte Vorgehen auch als Auswertung eines Interpolationspolynoms deuten (Idee von Romberg):
Auf der Basis der Euler-Maclaurin Summenformel konnen wir auf nat
urliche
Weise
(1) T als Funktion von h2 interpretieren,
(2) diese Funktion mit Hilfe eines Interpolationspolynoms p(x) vom Grad m
1 zu den St
utzpunkten (h2i , T (hi )), i = 1, ..., m approximieren,
(3) p(0) als neue Approximation f
ur I(f ) = T (h 0) verwenden.

Da der Auswertpunkt h = 0 in diesem Fall sogar auerhalb unseres durch die hi


definierten Interpolationsbereiches liegt, sprechen wir dabei von Extrapolation.
Die algorithmische Umsetzung nutzt das Schema von Aitken-Neville, das wir
als gut geeignet befunden hatten, um den Wert eines Interpolationspolynoms
an eine einzigen Stelle, in unserem Fall h = 0 auszuwerten. Daraus ergibt sich
der folgende Algorithmus (Romberg Quadratur):
for i:=1 to m do
chose n[i]; h[i]:=(b-a)/n[i];
T[i]:=trapezoidal sum of step width h[i]
for k:=i-1 downto 1 do
T[k]:=T[k+1]+(T[k+1]-T[k])/(h[k]**2/h[i]**2-1)
od;
od;
p(0):=T[1];
Aufgabe: Verifizieren Sie diesen Algorithmus mit Hilfe des bekannten AitkenNeville-Schemas.
Genauigkeit. Der Reiz der Quadratur durch Extrapolation liegt in der deutlich h
oheren Approximationsg
ute im Vergleich zur Trapezsumme. F
ur den Fehler der Romberg-Quadratur kann man zeigen, dass


|p(0) I(f )| = O h21 h22 ... h2m ,
falls f 2m-mal stetig differenzierbar ist. Ein Rechenbeispiel f
ur verschiedene
Werte von m soll die Bedeutung des Adjektivs deutlich in diesem Zusammenhang veranschaulichen:

63

h
QTS (f ; h)
error

h1
0
2

h2
1.571
0.429

h3
1.896
0.104

h4
1.974
2.6 102

h5
1.993
7 103

h6
1.998
2 103

Zum Vergleich: Die Romberg-Quadratur f


ur h6 liefert den Fehler = 2 109 (um
6
einen Faktor 10 kleiner als der Fehler der Trapezsumme f
ur h6 !).

Wahl der hi . Warum haben wir im obigen Rechenbeispiel hi = 2i statt


hi = 1i gew
ahlt? Um diese Frage zu beantworten, erinnern wir uns an unsere

Uberlegungen zur Genauigkeit der Polynominterpolation abhangig von der Wahl


der St
utzstelen!
Voraussetzungen/Grenzen. Der Preis der hoheren Approximationsgenauigkeit der Romberg-Quadratur sind die gestiegenen Anforderungen an die differenzierbarkeit des Integranden f . Wir d
urfen dieses Verfahren daher nur f
ur
sehr glatte f anwenden. Falls f Unstetigkeiten / Knicke etc. hat, d
urfen wir
die Romberg-Quaratur daher nicht anwenden. Auch dies ist wieder eine typische
Situation f
ur numerische Probleme: Der Frage der Effizienz oder Genauigkeit
einer Methode steht immer die Frage nach der Groe des Anwendungsbereichs
gegen
uber.
5.3.2

GaussQuadratur

Die Idee der GaussQuadratur ist, dass wieder die Formel


Q(f ) =

n
X

gi f (xi )

i=0

benutzt wird. Aber diesmal wahlen wir nicht nur die gi passend, sondern suchen uns auch die xi geeignet aus. Dass dsa hilfreich sein kann, haben wir
bereits bei der Clenshaw-Curtis-Quadratur gesehen, wo wir durch bessere Wahl
64

der xi positive Quadraturgewichte und damit gute Kondition auch f


ur groe n
erreicht haben. Bei der Gauss-Quadratur ist das Ziel noch etwas ehrgeiziger:
Wir wollen eine Kombination aus St
utzstellen xi und Gewichten gi , i = 0, . . . , n
finden, mit der Polynome m
oglichst hoher Ordnung exakt integriert werden.
Ohne Einschr
ankung der Allgemeinheit betrachten wir dabei nur Integrale u
ber
das Intervall [1; 1]9 :
Z 1
I(f ) =
f (x)dx.
1

Bisher hatten wir mit NewtonCotes bzw. ClenshawCurtis die Moglichkeit,


Polynome von Grad n (n ungerade) bzw. (n+1) (n gerade) exakt zu integrieren.
Die GaussQuadratur schafft dagegen 2n + 1, mehr kann auch nicht gehen, weil
wir nur 2n + 2 Freiheitsgrade haben, namlich gi und xi jeweils f
ur i {0, ..., n},
die durch die 2n + 2 Exaktheitsbedingungen f
ur
Z 1
xi dx, i = 0, . . . , 2n + 1
1

bestimmt werden.
Wir kennen auch schon eine Interpolationmethode dieser Art f
ur n = 0: Die
Rechtecksregel


a+b
= I(p0 ) ,
QR (f ) := H f
2
1111111111111
0000000000000
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1
0000000000000
1111111111111
0
1

integriert Polynome bis zum Grad 2 0 + 1 genau.


Schauen wir uns die Exaktheitsbedingungen und unsere Freiheitsgrade gi
und xi , i = 0, . . . , n an, so erkennen wir, dass die Halfte der Arbeit bereits
erledigt ist: Die Exaktheitsbedingungen f
ur Polynome vom Grad n erf
ullen
wir, indem wir als Gewichte wie bei Newton-Cotes und Clenshaw-Curtis
Z 1
gi =
Li (x)dx
1

w
ahlen. Tats
achlich ist das auch die einzige mogliche Wahl f
ur die Gewichte, da
wegen der Exaktheizsforderungen gilt
Z

Lj (x)dx =

n
X

gi Lj (xi ) = gj .

i=1

Es gibt dazu genau einen Satz an St


utzstellen xi , i = 0, . . . , n, der mit
diesen Gewichten die Exaktheitsbedingungen auc f
ur Polynome vom Grad m
9 Das

ist keine wirkliche Einschr


ankung, denn wir k
Rb
Ro1nnen eine Funktion f durch Variablensubstitution immer so umformen, dass
f (y)dy =
f (x)dx.
1

65

{n + 1, . . . , 2n + 1} erf
ullt, n
amlich die paarweise verschiedenen St
utzstellen der
sogenannten Legendre-Polynome

m!
Dm (x2 1)m
(2m)!

Pm (x) :=

f
ur m = n + 1. Diese liegen,
ahnlich wie die St
utzstellen bei Clenshaw-Curtis
am Rand dichter als in der Mitte des Intervalls wie die folgende Grafik f
ur die
Legendre-Polynome vom Grad 0 bis 6 zeigt:
1
0.5

0.2

0.8 0.6 0.4 0.2

0.4

0.6

0.8

P0 (x)
P1 (x)
P2 (x)
P3 (x)
P4 (x)
P5 (x)
P6 (x)

0.5
1
Wir k
onnen hier nur kurz skizzieren, wie man darauf kommt, ausgerechnet
diese xi zu w
ahlen:
Die LegendrePolynome sind orthogonal zueinander, d.h.10
Z 1
Pi (x) Pj (x)dx = i,j i, j N.
1

(Wir beweisen das nicht, sondern verweisen auf die Literatur.)


Alle Produkte Pj (x) Pn+1 (x) f
ur j = 0, . . . , n sind Elemente von P2n+1 .
Die St
utzstellen m
ussen also
n
X
i=1

gi Pj (xi )Pn+1 (xi ) = 0 f


ur alle j = 0, . . . , n 1

erf
ullen (Das Integral ist jeweils null wegen der Orthogonalitat der LegendrePolynome).
Diese Gleichungen werden von den Nullstellen des LegendrePolynoms
Pn+1 erf
ullt.
{P0 , P1 , . . . , Pn , P0 Pn+1 , P1 Pn+1 , . . . , Pn Pn+1 } ist eine Basis des P2n+1 ,

10

i,j

ist das KroneckerDelta

66

denn
n
X

i Pi +

n
X

0,

i Pi

0,

0 = 1 = . . . = n = 0 = 1 = . . . = n

0,

i=0
n
X

i=0

i Pi Pn+1

i Pi = 0 und

i=0

n
X
i=0

da die konstante Funktion und Pn+1 und die P0 , . . . , Pn linear unabhangig


sind (was wir hier nicht beweisen).
Damit haben wir zumindest eine plausible Erklasrung gefunden, warum wir ausgerechnet die Nullstellen des Legendre-Polynoms vom Grad n+1 als St
utzstellen
verwenden. Ein echter Beweis ist das jedoch noch nicht, dazu fehlen uns noch
einige Komponenten, die wir u
bersprungen haben:
(1) Es fehlt der Beweis, dass Pn n paarweise verschiedene Nullstellen hat.
(2) Wir haben nicht gezeigt, dass die Exaktheitsbedingungen f
ur die Integration von Pj (x) Pn+1 (x) nur mit Hilfe der Nullstellen von Pn+1 als
St
utzstellen erf
ullt werden.
(3) Wir haben nicht die lineare Unabhangigkeit von P0 , . . . , Pn gezeigt (die
der konstanten Funtion und Pn+1 ist trivial.
Kondition. Neben der Exaktheit bis zum Grad 2n+1 hat die Gauss-Quadratur
eine weitere sch
one Eigenschaft: Alle Gewichte sind positiv. Dies folgt unmittelbar aus der Tatsache, dass die Quadratur auch f
ur die Quadrate unserer
Lagrange-Polynome Li , i = 0, . . . , n exakt ist:
0<

L2i (x)dx =

n
X

gj L2i (xj ) = gi for all i = 1, . . . , n.

j=1

Gew
ohnliche Differentialgleichungen

Eine gew
ohnliche Differentialgleichung bzw. ein System von gewohnlichen Diferentialgleichungen bestehen aus Gleichungen, die eine unbekannte Funktion
sowie deren Ableitung(en) bez
uglich einer unabhangigen Variablen enthalten.
Sie kommen sehr h
aufig bei der Modellierung zeitabhangiger Phanomene vor.
Wir betrachten dazu zu Beginn dieses Abschnitts ein paar (einfache) Beispiele:
Populationsdynamik. Zum Wachstum / Schrumpfen von Population unterschiedlicher Art (Pflanzen, Tiere, Bakterien, Bevolkerung, . . . ) gibt es viele
verschiedene Modelle. Wir beginnen mit einem simplen Beispielmodell, bei dem

wir die aktuelle Anderungsrate


der Population in Abhangigkeit vom aktuellen
Bestand gegeben haben, dabei sei p(t) der Bestand zum Zeitpunkt t und damit

p(t)

die Anderungsrate
zum Zeitpunkt t. Das zugehorige Modell (Modell von
Malthus) lautet
p(t)
= p(t).
67

Dieses Modell ist so einfach, dass wir


direkt eine analytische L
osung angeben
k
onnen, wenn wir zus
atzlich die Anfangsbedingung

2,5

p 1,5

p(0) = p0

gegeben haben:

0,5

p(t) = p(0)et .
Wir erhalten also exponentielles Wachstum f
ur > 0 beziehungsweise exponentielles Schrumpfen f
ur < 0. Dieses Modell vereinfacht aber sehr stark,
die Population w
urde damit endlos wachsen, deshalb wollen wir gleich ein etwas
realistischeres Modell angeben, das sogenannte logistisches Modell:
0

p(t)
p(t)
= 1



p(t)
1
p(t).

p
2

Hier ist die analytische Losung weniger offensichtlich, obwohl sie durchaus
existiert. Im Bild oben sehen wir Losungen f
ur unterschiedliche Anfangswerte
und Parameter < 0, = 2 und = 4.
Beispiel: Das Austerben der TODO: passenger pigeon in Nordamerika kann mit disem Modell beschrieben werden. Zu Beginn des neunzehnten Jahrhunderts
wurde die Population in Nordamerika auf vier Milliarden Tiere gesch
atzt. Durch die Taubenjagd wurde diese
Zahl in den 1880er Jahren bis unterhalb einer kritischen
Schranke reduziert. Die letzte Taube starb im September 1914.
Betrachten wir nicht nur eine Spezies, sondern zwei oder mehr, so konnen
diese in unterschiedlichem Verhaltnis zueinander stehen, z.B. in einer RauberBeute-Beziehung, die das folgende Modell abbildet:
p(t)

q(t)

p(t)( q(t)),

q(t)( p(t)).

Aus den Gleichungen k


onnen wir schon erkennen, wer der Rauber und wer die
Beute ist: F
ur p ist es offensichtlich schlecht, wenn es viel q gibt und f
ur q ist
es gut, wenn viel p da ist folglich ist q der Rauber und p die Beute. Hier
sind analytische L
osungen noch unschoner zu bekommen, die Numerik liefert
da schneller Ergebnisse.

68

Radioaktiver Zerfall. Ein andres Beispiel f


ur eine Wachstumsdifferentialgleichungen ist der radioaktive Zerfall:
x(t)

= x(t), > 0,

wobei x(t) die Menge der radioaktiven Materials zum Zeitpunkt t angibt.
Chemische Reaktionen. Auch chemische Reaktionen lassen sich durch gewohliche
Differentialgleichungen modellieren. Betrachten wir zum Beispiel chemische Reaktionen der beiden Substanzen A und B, dann wissen wir, dass ein gewisser
Prozentsatz von A pro (kleinem) Zeitintervall in B u
uhrt. Wir erhalten
bergef
damit adas Gleichungssystem

A(t)
=

B(t)
=

kA(t),

kA(t) with k > 0

mit einer geeigneten Reaktionskonstanten k. Auf ahnliche Weise konnen wir


gr
oere Systeme mit beliebiger Anzahl an Substanzen aufstellen.
Pendelschwingung. Im technischen Bereich konnen wir viele Dinge, zum
Beispiel die Bewegung eines Pendel mit Hilfe gewohnlicher Differentialgleichungen modellieren.

Die Gleichung lautet hier

= sin(),
L
wobei g die Gravitationskonstante ist
und L die L
ange des Pendels.

6.1

Klassifizierung gew
ohnlicher Differentialgleichungen

Alle oben betrachteten Beispiele sind explizite gewohliche Differentialgleichungen, die im Allgemeinen die Form


y (n) (t) = F y (n1) (t), y (n2) (t), ..., y 0 (t), y(t), t
besitzen mit einer beliebigen Funktion F : Rmn+1 Rm und der unbekannten
Funktion y : R Rm .
Im Fall m = 1 haben wir nur eine gewohliche Differentialgleichung, im Fall
m > 1 ein System von gew
ohnlichen Differentialgleichungen. Dre allgemeine oben genannte Fall beschreibt ein System gewohnlicher Differentialgleichungen nter Ordnung.
Wir k
onnen ein Differentialgleichungssystem hoherer Ordnung (n > 1) immer transformieren in ein Differentialgleichungssystem erster Ordnung. Wir definieren dazu
yi (t) := y (i) (t).
69

Damit bekommen wir das DGLS :


y n1 (t)
y n2 (t)
y 0 (t)

= F (
yn1 (t), ..., y0 (t), t)
= yn1 (t)
..
.
= y1 (t).

Das k
onnen wir dann auch schreiben als
~y (t) = F~ (~y (t), t).
Ist F linear, so sprechen wir von einem linearen Systen von gew
ohnlichen
Gleichungen. Lineare DGL lassen sich beschreiben durch eine Gleichung der
Form
y(t)
= Ay(t)
wobei A eine reelle Matrix Rmm ist. Die analytische Losung dieses System
ist
y(t) = eAt y0 ,
wenn y0 die Anfangwerte zum Zeitpunkt 0 enthalt (Die Definition der Exponentialfunktion mit einer Matrix als Argument schlage man bei Bedarf in der
Literatur nach).
Nachdem wir nun wissen, dass wir jedes System gewohnlicher Differentialgleichungen in ein System erster Ordnung u
uhren konnen, beschranken wir
berf
uns im Folgenden auf Systeme der Form
y(t)
= F (y(t), t) f
ur t [0; T ].

Ohne weitere Angaben hat dieses System nohc unendlich viele Losungen, da
das Gleichungssystem nur Angaben u
ber die Steigung dre Komponenten von y
zu jedem Zeitpunkt t macht. Wir brauchen daher eine weitere Bedingung, die
sogenannte Anfangsbedingung:
y(0) = y0 f
ur ein y0 Rm .

Damit hat unser Gleichungssystem unter bestimmten Voraussetzungen an F


und Fy eine eindeutige L
osung.
In der folgenden Beschreibung von Verfahren zur numerischen Losung gewohnlicher
Differentialgleichungen gehen wir davon aus, dass die DGL in der Form
y(t)
= f (y(t), t), y(0) = y 0
f
ur die unkbekannte Funktion y : R, R vorliegt.
Unser Ansatz ist nun, dass wir bei y 0 starten und dann schrittweise in die
Zukunft (t > 0) rechnen. Daf
ur haben wir logischerweise nur endlich viel Speicherplatz und Zeit, wir wollen also folgendes berechnen:
y k y(tk ), k = 1, 2, ..., 0 = t0 < t1 < t2 <

Die y k sind also Ann


aherungen f
ur y an zu diskreten Zeitpunkten tk . Daf
ur
nutzen wir unsere Erkenntnisse aus der Quadratur, indem wir y(t) passend
umformen:
Z tk
Z tk
y k y(tk ) = y(tk1 ) +
y(
)d = y(tk1 ) +
f (y( ), )d
tk1

tk1

|
70

{z

Quadratur?

6.2

EulerVerfahren

Die EulerVerfahren sind einfache EinSchrittVerfahren, d.h. zur Berechnung


von y k wird nur der Wert von y k1 gebraucht und keine weiteren. Wir erhalten die beiden Varianten des Eulerverfahrens, wenn wir zur Approximation des
Integrals in obiger Formel jeweils eine Rechtecksflache nutzen, jeweils mit Rechtsecksbreite dtk := tk tk1 , in einem Fall mit Rechtseckshohe f (y(tk ), tk ), im
andere mit Rechtecksh
ohe f (y(tk1 ), tk1 ):
Z tk
f (y( ), )d f (y(tk1 ), tk1 ) oder
tk1
tk

f (y( ), )d

tk1

k1

1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
k
k1
0000000000
1111111111
y y
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111

f(y(t),t)

1111111111
0000000000
0000000000
1111111111
k
k1
0000000000
1111111111
y y
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111

f (y(tk ), tk ) oder

expliziter Euler

k1

f(y(t),t)

impliziter Euler

Damit sind das explizite und das implizite EulerVerfahren wie folgt definiert:
y k = y k1 + dtk f (y k1 , tk1 ) explizit
y k = y k1 + dtk f (y k , tk )

implizit

W
ahrend das explizite Eulerverfahren eine direkte Rechenvorschrift f
ur y k
k1
vorgibt, wenn y
bereits bekannt ist, erfordert das implizite Eulerverfahren
das L
osen einer (m
oglicherweise nichtlinearen) Gleichung. Ein Schritt des impliziten Eulerverfahrens ist also wesentlich teurer als ein Schritt der expliziten Variante. An dieser Stelle stellt sich die Frage, wozu das implizite EulerVerfahren
gut ist. Wir werden im Folgenden sehen, dass das implizite Verfahren f
ur eine gewisse Klasse von gew
ohnlichen Differentialgleichungen den Nachteil der hoheren
Kosten pro Zeitschritt dadurch ausgleiche kann, dass groere Zeitschritte erlaubt
sind.
Dazu vergleichen wir die beiden Methoden im Hinblick auf Kinsistenz, Genauigkeit, und Stabilit
at, Begriffe, die im Folgenden definiert werden:
Zun
achst definieren wir die Begriffe Konvergenz und Konsistenz wie folgt:
Definition Konvergenz: Diskretisieren wir ein Intervall [0; T ] aquidistant mit
t0 = 0, t1 = dt, t2 = 2dt, . . . , tN = T , so heit eine Methode zur Berechung von
N
aherungen y k f
ur die Werte y(tk ) der Losung einer gewohnlichen Differentialgleichung
y = f (y(t), t), y(0) = y0
genau dann konvergent, wenn
lim max k y k y(tk ) k = 0.
k
| {z }
=: ek

dt0

71

Die Methode heit dar


uber hinaus konvergent mit Ordnung q genau dann, wenn
max ky k y(tk )k = O (dtq ) .
k

Definition Konsistenz: Diskretisieren wir ein Intervall [0; T ] aquidistant mit


t0 = 0, t1 = dt, t2 = 2dt, . . . , tN = T , so heit eine Methode zur Berechung von
N
aherungen

y k = G y km , y km+1 , . . . , y k
f
ur die Werte y(tk ) der L
osung einer gewohnlichen Differentialgleichung
y = f (y(t), t), y(0) = y0
genau dann konsistent mit Ordnung q, wenn
y(tk ) G(y(tkm ), y(tkm+1 ), . . . , y(tk1 ), y(tk ))
= O (dtq ) for all k.
dt
Diese Notation deutet schon an, dass es Methoden gibt, die weitere bereits
berechnete approximative Werte von y (auer y k1 zur Berechnung von y l heranziehen. Solche Methoden werden wir spater noch kennen lernen. Wahrend
die Konvergenz eine globale Eigenschaft auf dem gesamten Intervall [0; T ] ist,
beschreibt die Konsistenz eine lokale Approximationseigenschaft f
ur einen einzelnen Zeitschritt, die trotz der komplizierter klingenden Definition in der Regel
einfacher zu zeigen ist. F
ur den expliziten Euler konnen wir beispielsweise mit
Hilfe von Taylorentwicklungen recht einfach die Konsistent erster Ordnung zeigen:
y(tk ) y(tk1 ) dt f (y(tk1 ), tk1 )
=
dt

2
y(tk1 ) + dt y(t
k1 ) + dt2 y(tk1 ) + O dt3 y(tk1 ) dt y(t
k1 )
=
dt

dt
y(tk1 ) + O dt2 .
2
Der Fehler ist also linear in dt, das explizite EulerVerfahren ist also ein
Verfahren erster Ordnung, dasselbe gilt auch f
ur das implizite EulerVerfahren:
y(tk ) y(tk1 ) dt f (y(tk ), tk )
=
dt

2
k)
y(tk ) y(tk ) + dt y(t
k ) dt2 y(tk ) O dt3 dt y(t
=
dt

dt
y(tk ) + O dt2 .
2
Um den Zusammenhang zwischen Konsistenz und Konvergenz besser zu verstehen, erinnern wir uns daran, wie wir die Euler Verfahren hergeleitet haben,
n
amlich u
ber eine Integralapproxaimation u
ber das Intervall [tk1 ; tk ]. Damit
ist klar, dass der globale Fehler der Eulerverfahren akkumuliert wird aus den
Fehlern der einzelnen Zeitschritte. Es ist daher nicht ganz trivial, dass aus Konsistenz der Ordnung q auch Konvergenz der Ordnung q folgt.
72

Konvergenz ist recht schwer und unschon zu zeigen. Gl


ucklicherweise gilt f
ur
die EinSchrittVerfahren, also Verfahren die zur Berechnung von y k nur y k1
verwenden, dass die Konsistenzordnung gleich der Konvergenzordnung ist:

Satz (Aquivalenz
von Konsistenz und Konvergenz fu
r Einschrittverfahren): Diskretisieren wir ein Intervall [0; T ] aquidistant mit t0 = 0, t1 = dt,
t2 = 2dt, . . . , tN = T , so ist ein Verfahren zur Berechnung von Approximationen

y k = y k1 + dt Q y k1 , tk1 , y k , tk
f
ur die Werte y(tk ) der L
osung einer gewohnlichen Differentialgleichung
y(t)
= f (y(t), t),

y(0) = y0

mit in y Lipschitz-stetigem f genau dann konvergent mit Ordnung q, wenn es


konsistet mit Ordnung q ist.

6.2.1

Stabilit
at der EulerVerfahren

Wie bereits angesprochen, rechtfertigt sich der hohere Rechenaufwand des impliziten Eulerverfahrens dadurch, dass es auch f
ur groe Zeitschritte noch sinnvolle Ergebnisse liefert. Diese Eigenschaft wird bei der Stabilitatsbetrachtung
untersucht.
Stabilit
at bedeutet dabei nur, dass der Fehler nicht beliebig gro wird und
dass das Ergebnis der numerischen Berechnung sich f
ur t qualitativ ahnlich
verh
alt wie die exakte L
osung das hat erst mal nichts mit Genauigkeit zu tun.
Wir schauen uns die Stabilitat der beiden EulerVerfahren an einer sehr
einfachen BeispielDGL an, n
amlich:
y = y, > 0, exakte Losung: y(t) = y0 et .
Die exakte L
osung ist also eine fallende Exponentialfunktion mit
lim y(t) = 0.

Das explizite Verfahren (dt = tk tk1 ) liefert im Vergleich dazu ein u


berraschendes Ergebnis:
y k = y k1 dty k1 = (1 dt)k1 = (1 dt)2 y k2 = = (1 dt)k y0

Daraus erkennen wir schon, dass offensichtlich das dt Arger


machen kann. Wie
viel, das zeigt die folgende Abbildung:

73

exakt
dt < 1
1 < dt < 2
dt = 2

2
1
5

10

15

20

25

30

1
2

Wie man sieht, ist das explizite EulerVerfahren f


ur diese Gleichung stabil, so
lange die Stabilit
atsbedingung dt < 2 bzw. dt < 2 eingehalten wird.
F
ur das implizite EulerVerfahren gehen wir ahnlich vor:
y k = y k1 dty k
yk =

y k1
= yk
1 + dt

y k1
y k2
=
= = (1 + dt)k y0
1 + dt
(1 + dt)2

Dass diese Gleichung f


ur k gegen Null geht unabhangig davon, wie wir
dt w
ahlen, ist klar. Somit ist das implizite EulerVerfahren f
ur beliebig groe
Zeitschritte stabil. Wir definieren etwas praziser und allgemeiner den Begriff der
A-Stabilit
at:
Definition: Ein konvergentes numerisches Zeitschrittverfahren

y k = G y km , y km+1 , . . . , y k
zur Approximation der Werte y(tk ) der Losung einer gewohnlichen Differentialgleichung
y(t)
= f (y(t), t), y(0) = y0
heit absolut stabil oder A-stabil genau dann, wenn sich die numerische Losung
f
ur t stabil verh
alt, wenn dies auch f
ur die exakte analytische Losung der
Fall ist.
Wenden wir uns wieder unserem Modellproblem zu, diesmal mit einem C
in der komplexen Ebene, so beobachten wir folgende Eigenschaften der analytischen L
osung und des expliziten Eulerverfahrens:
Re() > 0
Re() < 0

lim y(t) = (instabil) und lim y k = ,

lim y(t) = 0 (stabil) und

lim y k = 0 falls |1 + dt| < 1 aber



lim y k = falls |1 + dt| < 1.

74


Ahnliche
Betrachtungen konnen wir f
ur das implizite Eulerverfahren anstellen und erhalten:
Re() > 0

lim y(t) = (instabil) und lim y k = falls |1 dt| < 1 aber

lim y = 0 falls |1 dt| > 1,


k

Re() < 0

lim y(t) = 0 (stabil) und

lim y k = 0.

Diese Ergebnisse erhalten wir aus der folgenden kurzen Betrachtung eines
impliziten Eulerschrittes:
k

1
y0
y k = y k1 + dty k y k =
1 dt

Wenn in der Klammer eine Zahl steht, die betragsmaig kleiner/gleich Eins ist,
dann konvergiert y k f
ur k nicht mehr gegen Unendlich. Also gilt hier f
ur
den impliziten Euler eine Stabilitatsbedingung: dt < 2 .
Wenn wir auf dieser Basis die Regionen in der komplexen Ebene markieren,
in denen das explizite bzw. das implizite Eulerverfahren eine stabile Losung
(Grenzwert f
ur t nicht unendlich) liefern, so erhalten wir folgende Bilder:

stabil

stabil
instabil

instabil

Stabilit
atsbereich expliziter Euler

Stabilitatsbereich impliziter Euler

Somit k
onnen wir zusammenfassen: Das explizite Eulerverfahren ist f
ur groe
Zeitschritte instabil, das implizite Eulerverfahren ist f
ur groe Zeitschritt zu
stabil, um die analytische Instabilitat von Gleichungen mir Re() > 0 korrekt
erfassen zu k
onnen.
Wir nennen das implizite EulerVerfahren daher Astabil und das explizite EulerVerfahren bedingt Astabil. Differentialgleichungen, deren exakte
L
osung sich f
ur t stabil verhalt nennen wir steife Differentialgleichungen.
6.2.2

Ein paar Uberlegungen


zu Stabilit
at und Genauigkeit

Wir haben oben gesehen, dass Stabilitat zwar eine wichtige Voraussetzung f
ur
Genauigkeit ist, wenn die analytische Losung ebenfalls stabil ist. F
ur analytische L
osungen mit unendlich groem Grenzwert f
ur t gilt dies allerdings
75

offensichtlich nicht. Auerdem sagt die Stabilitat nichts dar


uber aus, wie gro
der Fehler ungef
ahr ist. Wir brauchen daher eine zusatzliche Methode, um den
Fehler sch
atzen zu k
onnen. Ein solchen erhalten wir z.B. indem wir dieselbe Methode zweimal ausf
uhren, einmal mit Zeitschritt dt und einmal mit Zeitschritt
dt/2. Ziehen wir diese beiden Losungen voneinander ab, so erhalten wir

ydt (t) ydt/2 (t) = y(t) + c1 dt + O dt2 y(t)
 2 !
dt
dt
+O
c1
2
2
=

c1


dt
+ O dt2 ,
2

also einen Fehlersch


atzer. Wie alle Fehlerschatzer ist auch dieser nicht hunderprozentig verl
asslich, da sich f
ur ganz spezielle Konfigurationen auch mal zufallig
dasselbe Ergebnis f
ur dt und dt/2 ergeben kann, obwohl der Fehler im Vergleich
zur analytischen L
osung nicht null ist.
Aufgabe: Konstruieren Sie ein Beispiel f
ur diese Aussage.

6.3

Verfahren h
oherer Ordnung

Im letzten Abschnitt haben wir die Eigenschaften der Eulerverfahren im Detail


untersucht (Konsistenz, Konvergenz, Stabilitat). Eine Verbesserungsmoglichkeit
ist nicht erw
ahnt worden, f
allt aber sofort ins Auge: Die Konsistenz- und Konvergenzordnung beider Verfahren ist nur eins. Wenn wir also unseren Zeitschritt
halbieren, so halbiert sich in etwa auch der Fehler.Hatten wir dagegen eine Methode der Ordnung q mit q > 1, w
urde der Fehler mit kleiner werdendem dt
deutlich schneller reduziert: q = 2 w
urde bei Halbierung von dt bereits eine Fehlerreduktion um den Faktor vier liefer, q = 3 w
urde dem Fehlerreduktionsfaktor
8 entsprechen, . . . .
H
ohere Approximationsordnung konnen wir grunds
R tk atzlich auf zwei Wegen
erreichen. Beide basieren auf der Idee, das Integral tk1
f (y( ), )d u
ber die
Rechte Seite unserer Differentialgleichung
y(t)
= f (y(t), t),

y(0) = y0

besser zu approximieren, um daraus


y k y k1 +

tk

f (y( ), )d

tk1

zu erhalten.
Der erste Ansatz f
uhrt auf die sogenannten Runge-Kutta-Verfahren, die wir
im n
achsten Abschnitt vorstellen.
6.3.1

Runge-Kutta-Verfahren

Die Idee der Runge-Kutta-Verfahren ist es, zusatzliche Auswertungen der rechten Seite f zwischen tk1 und tk zu verwenden. In allgemeiner Schreibweise

76

bedeutet das
y k = y k1 + dt

s
X

bj f (j , tk1 + cj dt) .

j=1

{z
tk1 f (y(t), t)dt

R tk

(3)

Die Parameter bj , cj und j werden im Idealfall so bestimmt, dass die maximale Ordnung des resultierenden Zeitschrittverfahrens erreicht wird, die mit
einer gegeben Anzahl s von Auswertungspunkten f
ur f moglich ist. Konnten
wir y(tk1 + cj dt) statt j schreiben, ware dieses Problem aquivalent zur
Auswahl optimaler Quadraturpunkte und Gewichte f
ur die Integration (siehe
Gauss-Quadratur). Wir k
onnen die Werte y(tk1 + cj dt) jedoch nicht exakt
berechnen, sondern nutzen auch hier wieder entsprechende Approximationen
j = y k1 + dt

s
X
i=1

aj,i f (i , tk1 + ci dt) .

{z
R tk1 +cj dt
tk1

f (y(t), t)dt

(4)

ButcherTableaus. Um ein solches RungeKuttaVerfahren in kompakter


Schreibweise anzugeben, gibt es die sogenannten ButcherTableaus, die die Parameter a11 ass , c1 cs und b1 bs in Tabellenform bereitstellen:
c1
c2
..
.

a11
a21
..
.

a12
a22
..
.

a1s
a2s
..
.

cs

as1
b1

as2
b2

ass
bs

Aufgabe: Bestimmen Sie die Bedingungen an die Parameter a11 ass , c1 cs


und b1 bs , die erf
ullt sein m
ussen, damit zumindest Differentialgleichungen
mit konstanter rechter Seite f exakt (d.h. y k = y(tk )) gelost werden.
Auch unsere beiden Eulerverfahren konnen wir als Runge-Kutta-Verfahren
der Stufe 1 (also s = 1) interpretieren. Die explizite Eulermethode nutzt nur
eine Auswertung von f zu Zeitpunkt tk1 , also ist c1 = 0. Der zugehorige y-Wert
ist y k1 , was direkt auf a1,1 = 0 f
uhrt. Wir erhalten das Tableau
0

0
1

Das implizite Eulerverfahren nutzt nur die Auswertung von f zum Zeitpunkt
tk , also ist c1 = 1. Der entsprechende y-Wert ist y k = y k1 + dt 1 f (y k , tk ),
was auf a1,1 = 1 f
uhrt. F
ur das implizite EulerVerfahren ist das Tableau daher
1

1
1

77

Aufgabe: Bestimmen Sie das Butcher-Tableau f


ur die Methode
yk
y k+1/2

= y k1 + dt f (y k+1/2 , tk1 +
= y k1 +

dt
),
2

dt
f (y k1 , tk1 ).
2

Aus diesen Formeln k


onnen wir die Werte f
ur das ButcherTableau ablesen:
Die Summe in der Gleichung f
ur y k besteht nur aus einem Summanden,
allerdings kommt in der Formel f
ur y k+1/2 ein zweiter Auswertpunkt f
ur f dazu (zum Zeitpunkt tk1 . Schreiben wir das Verfahren also in Standard-RungeKutta-Schreibweise, so erhalten wir:


dt
y k = y k1 + dt 0 f (1 , tk1 ) + f (2 , tk1 + ) ,
2


dt
1 = y k1 + dt 0 f (1 , tk1 ) + 0 f (2 , tk1 + ) ,
2


dt
1
f (y k1 , tk1 ) + 0 f (2 , tk1 + ) .
2 = y k1 + dt
2
2
Damit haben wir alles, was brauchen, um ein ButcherTableau f
ur das Verfahren aufzustellen:
0
1
2

0
1
2

0
0
1

Man nennt dieses Verfahren die Mittelpunktregel, ein gutes Beispiel f


ur
ein explizites Runge-Kutta-Verfahren. Wie beim expliziten Euler m
ussen wir
kein Gleichungssystem l
osem, um y k aus y k1 zu berechnen.
Implizite und explizite Runge-Kutta-Verfahren. F
ur ein allgemeines
Runge-Kutta-Verfahren gilt dies jedoch nicht: Die Gleichungen (3) und (4)
bilden ein nichtlineares Gleichungssystem f
ur die unbekannten Werte j , j =
1, . . . , s und y k sobald die Eintrage im Butcher-Tableau bekannt sind.
Starten wir jedoch mit
1 = y k1 ,
k
onnen wir als n
achstes
2
3

= y k1 + dt a2,1 f (1 , tk1 ),

= y k1 + dt (a3,1 f (1 , tk1 ) + a3,2 f (2 , tk1 + c2 dt)) ,


..
.
s1
X
= y k1 + dt
as,i f (i , tk1 + ci dt)
i=1

berechnen. Wir erhalten also ein explizites Verfahren, wenn f


ur jedes j nur
bereits berechnete Werte i , i < j verwendet werden.
Es ist damit klar, dass das ButcherTableau zu einem expliziten Runge
KuttaVerfahren folgende Form haben muss:
78

c1
c2
..
.

0
a21
..
.

0
0
..
.

cs

as1
b1

b2

0
ass1

0
0
0
0
bs

Aufgabe: Geben Sie das Verfahren an, das zum Butcher-Tableau


0
1

0
1
1/2

0
0
1/2

geh
ort.
Aus dem gegebenen Tableau erhalten wir die Gleichungen:


1
1
k
k1
y =y
+ dt
f (1 , tk1 ) + f (2 , tk )
2
2
1 = y k1
2 = y k1 + dt f (1 , tk1 ).

Dies ist ein explizites Verfahren zweiter Ordnung, das sogenannte Verfahren
von Heun.
Runge-Kutta-Verfahren unterschiedlicher Ordnung. F
ur die Konvergenz
und Konsistenzordnung von RungeKuttaVerfahren gibt es Bedingungen, die
mittels Taylorentwicklung von f bestimmt werden konnen. Wir geben hier nur

das Ergebnis dieser Uberlegungen


an:
Ps
Ps
1. Ordnung: cj = i=1 aji f
ur 1 j s UND j=1 bj = 1
Ps
2. Ordnung: Bedingungen f
ur 1. Ordnung plus j=1 bj cj = 21
Ps
3. Ordnung: Bedingungen f
ur 2. Ordnung plus j=1 bj c2j = 13 UND
Ps
Ps
1
j=1 (bj
k=1 aj,k ck ) = 6
Runge-Kutta-Verfahren erster Ordnung: F
ur eine Methode erster Ordnung reicht s = 1 aus. Es gibt f
ur s = 1 sogar unendlich viele Moglichkeiten,
ein Runge-Kutta-Verfahren zu erzeugen: F
ur Konsistenz erster Ordnung haben
wir die Bedingungen
b1 = 1 und a1,1 = c1 .
Also gibt es zu jedem c1 [0; 1] ein einstufiges (s = 1) Runge-Kutta-Verfahren
der Ordnung 1 mit zugeh
origem Butcher-Tableau
c1

c1
1

und der entsprechenden Zeitschrittformel


f1
yk

= f (y k1 + c1 dt f1 , tk1 + c1 dt),

= y k1 + dt f1 .

79

Das explizite Eulerverfahren ist jedoch das einzige einstufige explizite Verfahren, da wir f
ur ein explizites Verfahren c1 = 0 brauchen. Es lassen sich nat
urlich
auch s-stufige Verfahren der Ordnung 1 f
ur s > 1 konstruieren, was aber wenig
Sinn macht, da der Aufwand gegen
uber einstufigen Vrfahren hoher ist und die
Genauigkeit nicht besser wird.
Runge-Kutta-Verfahren zweiter Ordnung: Mit einem einstufigen Verfahren k
onnen wir umgekehrt aber sogar die Bedingungen f
ur ein Verfahren
zweiter Ordnung erf
ullen: Wahle dazu c1 = 12 , was auf die implizite Mittelpunktregel f
uhrt. Es gibt jedoch kein einstufiges explizites Verfahren, das
Ordnung 2 genau ist. Beachte, dass die explizite Mittelpunktregel ein zweistufiges Verfahren ist, da sie zwei Auswertungen von f benotigt. Die Ordnung ist

jedoch wie bei der impliziten Mittelpunktregel 2, da 0 0 + 21 1 = 12 (Uberpr


ufen
Sie selbst die Bedingungen f
ur Ordnung 1).
Abgesehen von disen beiden Methoden gibt es unendlich viele zweistufige Runge-Kutta-Verfahren zweiter Ordnung: Wir haben acht unbekannte Parameter c1 , c2 , b1 , b2 , a1,1 , a1,2 , a2,1 ind a2,2 und nur drei Bedingungen. Daher
erw
ahnen wir hier nur noch, dass auch die Methode von Heun, die wir oben
kennen gelernt haben, zu diesen Verfahren zahlt. Beachte, dss sich die Methode
von Heun als Analogon zur Trapezregel f
ur die Quadratur interpretieren lasst.
In beiden F
allen werden Auswertungen von f am Anfang und am Ende des
Integrationsintervalls verwendet:
f1

= f (y k1 , tk1 ),

f2

= f (y k1 + dt f1 , tk1 + dt),
dt
(f1 + f2 )
= y k1 +
2

yk

Die entsprechende implizite Methode lautet


f1

f2

yk

f (y k1 , tk1 )


dt
f y k1 + (f1 + f2 ), tk1 + dt ,
2
dt
y k1 + (f1 + f2 )
2

und besitzt das Butcher-Tableau


0
1

0
1
2
1
2

0
1
2
1
2

Diese Methode ist ebenfalls zweiter Ordnung genau und heit Crank-NicolsonVerfahren.
Runge-Kutta-Verfahren vierter Ordnung. Ein weiteres sehr haufig verwendetes Runge-Kutta-Verfahren, oft auch schlicht als das Runge-Kutta-Verfahren
(RK4 bezeichnet ist das explizite Verfahren vierter Ordnung, das durch das
Tableau

80

0
1/2
1/2
1

0
1/2
0
0
1/6

0
0
1/2
0
1/3

0
0
0
1
1/3

0
0
0
0
1/6

gegeben ist nd dessen Zeitschrittvorschrift lautet:



f1 = f y k1 , tk1 ,

1
f2 = f y k1 + dt f1 , tk1 +
2

1
f3 = f y k1 + dt f2 , tk1 +
2
f4

yk


dt
,
2

dt
,
2

f y k1 + dt f3 , tk1 + dt ,
dt
(f1 + 2 f2 + 2 f3 + f4 ) .
y k1 +
6

Aufgabe: K
onnen Sie eine Verbindung zwischen dem oben genannten RungeKutta-Verfahren vierter Ordnung und einer uns bekannten Quadraturregel sehen? Falls ja, wie lautet diese Quadraturregel?
Runge-Kutta-Verfahren h
oherer Ordnung: Bedingungen f
ur noch hohere
Ordnung lassen sich aus l
angeren Taylorentwicklungen herleiten. Dabei stellt
sich heraus, dass implizite Runge-Kutta-Verfahren maximal Ordnung 2s erreichen k
onnen, explizite Verfahren hochstens Ordnung s. Allerdings ziegen die
sogenannten Butcher-Barrieren, dass f
ur groes s (s 5 in der Regel kein
explizites Verfahren der Ordnung s mehr gefunden werden kann.
Algorithmen fu
r Runge-Kutta-Verfahren. Um einen Zeitschritt eines RungeKutta-Verfahrens auszuf
uhren gibt es zwei grundlegende Arten von Algorithmen: Die erste Variante nutzt die Formeln wie Sie in den obigen Abschnitten
notiert wurden, berechnet also erst die Werte j , j = 1, . . . , s und dann y k .
Die zweite Variante nutzt die Tatsache, dass die Werte j selbst eigentlich nicht
ben
otigt werden, sondern nur die zugehorigen Auswertungen
fj = f (j , tk1 + cj dt)
der rechten Seite f . Diese Werte werden daher direkt statt der j berechnet:

81

Algorithmus 1:
Zu den gegebenen Koeffizienten cj , bj , aj,i , i, j = 1, . . . , s mit
s
X

bj = 1, and

j=1

n
X

aj,i = cj ,

i=1

berechne j , j = 1, . . . , s aus dem Gleichungssystem


=

y k1 + dt

s
X
i=1

a1,i f (i , tk1 + ci dt),

..
.
=

y k1 + dt

s
X
i=1

as,i f (i , tk1 + ci dt).

Berechne y k im zweiten Schritt aus


y =y
k

k1

+ dt

s
X
j=1

bj f (j , tk1 + cj dt).

Algorithmus 2:
F
ur gegebene Koeffizienten
=
s cj , bj , aj,i , i, jX
n 1, . . . , s mit
X
bj = 1, and
aj,i = cj ,
j=1

i=1

berechne fj , j = 1, . . . , s aus dem Gleichungssystem


f1

f (y k1 + dt

s
X
i=1

a1,i fi , tk1 + c1 dt),

..
.
fs

f (y k1 + dt

s
X
i=1

as,i fi , tk1 + cs dt).

Berechne y k im zweiten Schritt als


y k = y k1 + dt

s
X
j=1

bj fj .

Aufgabe: In der Praxis wird in der Regel Algorithmus 2 verwendet. Finden Sie
daf
ur einen guten Grund (Tipp: Der Grund ist nicht, dass die Formeln k
urzer
aussehen.).
82

6.3.2

Mehrschrittverfahren

Ein alternativer Ansatz, um hohere Approximationsordnung zu erhalten ist die


Verwendung von weiteren f -Auswertungen, diesmal aber nicht innerhalb des
Intervalls [tk1 ; tk ], sondern aus der weiteren Vergangenheit:
yk
yk

=
=

m
X

ar y kr + dt

m
X

r=1

r=1

m
X

m
X

ar y kr + dt

r=1

br f (y kr , tkr ) oder
br f (y kr , tkr ).

r=0

Man spricht wegen der Verwendung mehrerer zur


uckliegender Zeitschritte von
Mehrschrittverfahren (erste Zeile: explizite Mehrschrittverfahren; zweite Zeile:
implizite Mehrschrittverfahren).
Wir wollen hier kurz ein paar der gebrauchlichen Methoden aus dieser Klasse
nennen:
Adams Methoden. Adams-Methoden basieren auf der Idee, das Integral
u
ber die rechte Seite f durch ein Integral u
ber ein Interpolationspolynom von f
zu den St
utzstellen tkm , tkm+1 , . . . , tk1 , bzw. im impliziten Fall auch noch
tk zu approximieren:
Z tk
k
k1
y
= y
+
pk ( )d
= y

k1

tk1
m
X

f (y

kr

, tkr )

tk

m
Y

tk1

l = 1, l 6= r
(l = 0, l 6= r)
{z
=: br

r=1
(r = 0)
|

tkl
d
tkr tkl
}

Die impliziten Varianten heien Adams-Bashforth-Methoden, die expliziten Adams-Moulton-Methoden, wir erhalten z.B. die Adams-BashforthMethoden f
ur
m=1:

yk

m=2:

yk

m=3:

yk

= y k1 + dt f (y k1 , tk1 ) (explicit Euler),


Z tk
y k2
= y k1 + f (y k1 , tk1 )

dt
tk1
!
Z tk
k1

y
f (y k2 , tk2 )
dt
tk1


3
1
= y k1 + dt
f (y k1 , tk1 ) f (y k2 , tk2 ) ,
2
2
= y k1 +

23
16
dt
f (y k1 , tk1 ) f (y k2 , tk2 )+
12
12

5
f (y k3 , tk3 ) .
12
83

. . . und die Adamas-Moulton Methoden f


ur
m=0:

yk

m=1:

yk

m=2:

yk

= y k1 + dt f (y k , tk ) (implicit Euler),
Z tk
tk1
= y k1 + f (y k , tk )
d
dt
tk1
!
Z tk
tk
k1
f (y
, tk1 )
dt
tk1


1
1
= y k1 + dt
f (y k , tk ) + f (y k1 , tk1 ) ,
2
2
= y k1 +


5
8
1
k
k1
k2
dt
f (y , tk ) + f (y
, tk1 ) f (y
, tk2 ) .
12
12
12

Backward Differentiation Methoden. Backward Differentiation (BDF)


Methoden interpolieren nicht f , sondern die Losung y an den St
utzstellen tkm , . . . , tk :
qk (t) =

m
X

y kr

r=0

Y
l=0,l6=r

t tkl
.
tkr tkl

Der unbekannte Wert y k wird aus der Bedingung berechnet, dsa qk zum Zeitpunkt tk die gew
ohnliche Differentialgleichung erf
ullt:
qk (tk ) = f (y k , tk ).
Berechnen wir die Ableitunge der Interpolationspolynoms qk , so erhalten wir
qk (tk ) =

m
X

r y kr = f (y k , tk ),

r=0

also ein nicht-lineares Gleichungssystem f


ur jeden Zeitschritt.

84

Wir zeigen die Herleitung f


ur BDF Methoden mit m = 1 und m = 2:
m=1:

F
ur m = 1 interpoliert q y zu den Zeitpunkten tk1 und tk :
q(tk1 ) = y k1 und q(tk ) = y k
tk t
t tk1
q(t) = y k1
+ yk
.
dt
dt
Berechung der Ableitung von q ergibt
y k y k1
q(t)
=
, q(t
k ) = f (y k , tk )
dt
y k y k1

= f (y k , tk ).
dt
Die BDF Methode zu m = 1
ist also die implizit Eulermethode.

m=2:

F
ur m = 2 interpoliert q y zu den Zeitpunkten tk2 , tk1 und tk :
q(tk2 ) = y k2 , q(tk1 ) = y k1 , and q(tk ) = y k ,
(t tk1 )(t tk )
q(t) = y k2
+
(tk2 tk1 )(tk2 tk )
(t tk2 )(t tk )
(t tk2 )(t tk1 )
y k1
+ yk
(tk1 tk2 )(tk1 tk )
(tk tk2 )(tk tk1 )
t2 (tk1 + tk )t + tk1 tk
= y k2

2dt2
t2 (tk2 + tk )t + tk2 tk
y k1
+
dt2
t2 (tk2 + tk2 )t + tk2 tk1
.
yk
2dt2
Berechnung der Ableitung von q ergibt
2t tk1 tk
2t tk2 tk
q(t)
= y k2
y k1
+
2dt2
dt2
2t tk2 tk1
,
yk
2dt2
q(t
k ) = f (y k , tk )
2tk tk1 tk
f (y k , tk ) = y k2

2dt2
2tk tk2 tk1
2tk tk2 tk
+ yk
,
y k1
2
dt
2dt2

Die ersten Zeitschritte eines Mehrschrittverfahrens. Bei allen Mehrschrittverfahren begegnet uns in den erstewn Zeitschritten das Problem, dass
wir noch nicht gen
ugend Werte aud der Vergangenheit gesammelt haben. Wir
starten daher in der Regel
mit einer Einschrittmethode zur Berechnung von y 1 ,
einer Zweischrittmethode zur Berechnung von y 2 ,
...,

und kommen schlielich f


ur y m bei der m-Schrittmethode an.
85

Idealerweise haben dabei die Einschritt-/Zweischritt-/. . . -methoden dieselbe


Konvergenzordnung wie das gewahlte Mehrschrittverfahren.
Konsistenz von Mehrschrittverfahren. Die Konsistenzeigenschaften der
Adams Methoden ergeben sich direkt aus der Approximationsg
ute des verwendeten Interpolationspolynoms: die expliziten Adams-Bashforth-Methoden haben
Konsistenzordnung m, also einen Fehler von O(dtm ), die impliziten AdamasMoulton-Methoden Konsistenzordnung m + 1, also einen Fehler von O(dtm+1 ).
m-Schritt BDF-Methoden sind konsistent mit Ordnung m.
Konvergenz von Mehrschrittverfahren. F
ur Mehrschrittverfahren gilt un
ser Theorem zur Aquivalenz
von Konsistenz und Konvergenz nicht mehr. Um
Konvergenz zu erhalten, muss unser Verfahren zusatzliche eine Stabilitatsbedingung
(Achtung: hier wird eine weitere Art von Stabilitat neben der A-Stabilitat eingef
uhrt!) erf
ullen:
Ein Mehrschrittverfahren
yk =

m
X

k y kr + h

r=1

m
X

k f (y kr , tkr )

r=0

ist genau dann stabil, wenn f


ur alle Wurzeln x des Polynoms
p(x) = xm +

m
X

r xmr

r=1

gilt:
(|x | < 1) oder (|x | = 1 und x ist einfache Nullstelle von p) .

Somit sind alle Adams-Methoden stabil, aber nicht alle BDF-Methoden. Im


Fall dieses Typs von Instabilitat hilft auch nicht die Reduktion des Zeitschritts.
Die Instabilit
at tritt f
ur jede Zeitschrittweite auf.
6.3.3

A-Stabilit
at von Verfahren h
oherer Ordnung

Wir haben uns die A-Stabilitat der Verfahren hoherer Ordnung nicht im Detail angeschaut. Grunds
atzlich gilt ahnliches wie f
ur die Eulerverfahren: die
expliziten Varianten neigen st
arker zu Instabilitaten und f
uhren immer zu einer
Zeitschrittweitenbegrenzung f
ur eine steife Differentialgleichung
y = y mit > 0.

Die impliziten Varianten haben oft keine oder, wenn doch, eine deutlich hohere
Zeitschrittweitengrenze.

L
oser f
ur lineare Gleichungssysteme

Das L
osen von linearen Gleichungssystemen(LGS) ist ein haufiges Problem, viele Probleme lassen sich auf das Losen eines LGS zur
uckf
uhren, so zum Beispiel die numerische L
osung von Systemen linearer gewohnlicher Differentialgleichungen, die wir im letzten Kapitel kennen gelernt haben, oder die Interpolation mit (kubischen) Splines (lineares Gleichungssystem f
ur die Ableitungen
86

yi0 . Grunds
atzlich haben wir verschiedene Moglichkeiten, um ein solches System
zu l
osen. Wir schauen uns diese zunachst an einem einfachen Beispiel an:
Unser Gleichungssystem bestimmt den Schnitt von drei Ebenen im dreidimensionalen Raum:

3x + 2y
2x 2y
4x + 2y

z
+ 4z
4z

=
1
= 2
=
0

wikipedia

Cramersche Regel: Die Cramersche Regel wird in der Schulmathematik


oft zur L
osung von 2 2 oder 3 3 Gleichungssystemen verwendet (sie
auch https://de.wikipedia.org/wiki/Cramersche Regel. Wir wenden
die Cramersche Regel auf unser Beispiel an:

3
2
1

2 2 4
4 2 4
=




2 4

= 3 2 4





2 2

4

4 2

4 4

2
2

3(8 8) 2(8 + 16) (4 8) = 12,


1

2
0

3

2
4

3

2
4

2
1


2
2
4

1

2
2
4
=
12

2
4
2

4
0

1
1


2
2
4
3

0
0
4
=
12

4 2

4 4

4 2

4 0

2
2

12

= 1,

4 2

4 4

12

2
0

= 2,

2
1


2
2 2
3

2
2
0
=
12

2
2
2

0
4
12

2 2

0 4

2
2

= 2.

F
ur gr
oere Gleichungssysteme ist der Rechenaufwand jedoch viel zu hoch
(O(n!)!).
Inverse Matrix berechnen: Wenn die Matrix A invertierbar ist, dann
kann ein LGS der Form A~x = ~b gelost werden durch ~x = A1~b. Wenden
wir diese Idee auf unser Beispiel an, so m
ussen wir A1 berechnen aus

3
2 1
a11 a12 a13
1 0 0
2 2 4 a21 a22 a23 = 0 1 0 .
4 2 4
a31 a32 a33
0 0 1
87

Die L
osung bekommen wir dann aus

x
1
y = A1 2 .
z
0
Das Berechnen der inversen Matrix ist also aufwandiger als das urspr
ungliche
LGS, weil f
ur das Invertieren n LGS gleicher Groe gelost werden m
ussen:
A~x = ~ei mit dem i-ten Einheitsvektor ~ei , i = 1, 2, . . . , n.
GaussElimination: Das Gausssche Eliminationsverfahren beruht auf
der Idee, durch geeignete Addition oder Subtraktion von Zeilen des Systems Unbekannte zu eliminieren, so dass eine Zeile mit nur einer Unbekannten ensteht. Das wird am Beispiel klarer:
3x + 2y
2x 2y
4x + 2y

z
+ 4z
4z

=
1
= 2
=
0

(1) Wir reduzieren die zweite und dritte Zeile zu einem System mit zwei
Unbekannten, indem wir Informationen der ersten Zeile nutzen:
Subtrahiere 2x(erste Zeile) von 3x(zweite Zeile)
3x +
0
4x +

2y
10y
2y

=
=
=

z
14z
4z

1
8 .
0

Addiere 2x(erste Zeile) zu 1.5x(dritte Zeile):

3x
0
0

2y
10y
7y

z
+ 14z

8z

=
=
=

1
8 .
2

(2) Reduziere die dritte Zeile zu einer Gleichung mit nur einer Unbekannten, indem man 7x(zweite Zeile) zu 10x(dritte Zeile) addiert:

3x +
0
0

2y
10y
0

z
14z
18z

=
=
=

1
8 .
36

(3) L
ose r
uckw
arts (von unten nach oben), berechne dazu zunachst z aus
der dritten Zeile:
36
= 2.
z=
18
(4) Setzte das Ergebnis f
ur z indie zweite Zeile ein und berechne y:
y=

1
(8 + 14 2) = 2.
10

(5) Setzte die Werte f


ur z und y in die erste Zele ein und berechne x:
x=

1
(1 + 2 2 2) = 1.
3
88

Dieses Verfahren hat (nur) den Aufwand O(n3 ) (werden wir spater noch
zeigen) und ist daher das erste brauchbare Verfahren. Im u
bernachsten Abschnitt werden wir uns den Algorithmus f
ur beliebige nn-Matrizen naher
anschauen. Daf
ur schaffen wir im folgenden Abschnitt zunachst ein paar
begriffliche Voraussetzungen und bestimmen die Kondition des Losens eines linearen Gleichungssystems.

7.1

Begriffe und Kondition

Die hier angesprochenen Voraussetzungen gelten ohne weitere Nennung, wenn


nicht ausdr
ucklich anders angegeben, im ganzen Kapitel.
Ein allgemeines n n lineares Gleichungssystem ist gegeben als
A~x = ~b,
wobei

A = (aij )i,j=1,..,n

b = (bi )i=1,...,n

a11
..
= .

a1n
.. Rnn ,
.

an1 ann


b1
x1


= ... , x = (xi )i=1,...,n = ... Rn .
bn

xn

A und b sind gegeben, x ist zu berechnen. Wir gehen dabei immer davon
aus, dass die Matrix A invertierbar ist, d.h. dass det(A) 6= 0 ist.
Hinsichtlich der Systemmatrix A unterscheiden wir verschiedene Klassen von
Systemen, f
ur die sich die im Folgenden vorgestellten Loser jeweils besser oder
schlechter eignen:
Volle Matrizen besitzen ein Anzahl von nicht-null Eintragen ai,j 6= 0, die
in derselben Gr
oenordnung liegt wie die Gesamtzahl n2 der Matrixeintrage.
Du
nnbesetzte Matrizen sind dagegen Matrizen, bei denen die verschwindenden Eintr
age dominieren. Typischerweise hat man O(n) oder O(n log(n))
nicht-null Eintr
age. Solche Matrizen haben of eine klar definierte Besetztheitsstruktur, zum Beispiel gibt es Diagonalmatrizen (ai,j = 0 f
ur i 6= j),
Tridiagonalmatrizen (ai,j = 0 f
ur |i j| > 1) oder Bandmatrizen (ai,j = 0 f
ur
|i j| > c oder . . .

diagonal

2c

tridiagonal

blockdiagonal

Bandmatrix (Bandbreite 2c)


89

...

Auch die L
oser f
ur lineare Gleichungssysteme lassen sich in Klassen einteilen: Zun
achst werden wir nur direkte L
osungsverfahren betrachten, das sind
solche, die nach einer festen Anzahl von Schritten mit exakter Arithmetik ein
exaktes Ergebnis liefern. Sie sind als Abgrenzung zu den iterativen Verfahren
zu sehen, die eine Folge von Approximationen der exakten Losung berechnen,
die idealerweise gegen das exakte Ergebnis konvergiert, es aber im Allgemeinen
erst nach unendlich vielen Schritten erreichen.
Zwei Ans
atze, die zun
achst naheliegend erscheinen, werden jedoch in der
Numerik als Totsu
nden betrachtet:
x := A1 b, das heit die explizite Berechnung der Inversen von A,
die Benutzung der Cramerschen Regel.

Vektornormen. Um die Kondition des Losens eines linearen Gleichungssystems bestimmen zu k


onnen und um die Konvergenz von iterativen Losungsverfahren
zu untersuchen, brauchen das Konzept der Norm f
ur Vektoren und Matrizen.
Eine Vektornorm ist eine Funktion
k.k : Rn R
mit den folgenden Eigenschaften:
(1) Positivit
at: kxk > 0 x 6= 0;

(2) Homogenit
at: kxk = || kxk for arbitrary R;
(3) Dreiecksungleichung: kx + yk kxk + kyk.
F
ur uns sind folgende Normen relevant:
Pn
Manhattannorm: kxk1 :=
i=1 |xi |
pPn
2
Euklidische Norm: kxk2 :=
i=1 |xi |

(the common vector length)

Maximumsnorm: kxk := max1in |xi |

Das Konzept der Vektornorm lasst sich auf Matrixnormen erweitern. Eine
Matrixnorm wird definiert oder vielmehr durch eine entsprechende Vektornorm
induziert durch
kAk := max kAxk .
kxk=1

Zus
atzlich zu den drei Eigenschaften der Vektornorm ist die Matrixnorm
(1) submultiplikativ: kABk kAk kBk und

(2) konsistent: kAxk kAk kxk.

90

als

Uber
die Matrixnorm ist auch die Konditionszahl einer Matrix definiert
(A) :=

maxkxk=1 kAxk
.
minkxk=1 kAxk

(A) gibt an, wie stark der Einheitskreis (alle Punkte x mit kxk = 1 durch
die durch A gegebene lineare Abbildung verformt wird. F
ur die Einheitsmatrix
erhalten wir trivialerweise (I) = 1. F
ur nicht-singulare Matrizen konnen wir
die Kondition auch angeben als
(A) = kAk kA1 k .
Kondition des L
osens von linearen Gleichungssystemen. Nun konnen
wir die Kondition des L
osens eines linearen Gleichungssystems bestimmen. Nach
Definition der Kondition m
ussen wir dazu den Fehler der Losung bestimmen,
wenn wir mit exakter Arithmetik und veranderten Eingaben berechnen:
(A + A)(x + x) = b + b.
Dabei sind A, b gegeben und x ist gesucht. A sollte dabei klein genug sein,
so dass A + A immernoch nicht-singular ist.
Wir l
osen nach x auf, uns interessiert dabei vor allem die Norm von x:
(A + A)(x + x)

= b + b,

(A + A)x = b + b Ax Ax = b Ax,
x =

kxk

(A + A)1 (b Ax),

k(A + A)1 k(kbk + kAkkxk).

Noch interessanter ist nat


urlich der relative Fehler:


||b||
||A||
||x||
||(A + A)1 ||||A||
+
||x||
||x||||A||
||A||
2(A),

falls

kbk kAk
,
.
kbk kAk

Das bedeutet, dass f


ur (A)  1 die Kondition schlecht wird, was den Begriff Konditionszahl erkl
art und offensichtlich macht, dass die Kondition von A
abh
angt. Die Frage nach der guten oder schlechten Kondition des Losens eines linearen Gleichungssystems lasst sich also nicht allgemein, sondern nur im
Einzelfall beantworten.
Verbessern l
asst sich die Kondition, indem man einen geeigneten Vorfaktor
auf beiden Seiten einf
uhrt, so dass sich A andert:
M Ax = M b

7.2

Direkte L
oser

Direkte L
oser tun genau das, was wir im obigen Beispiel getan haben: sie berechnen mit endlich vielen Rechenoperationen die (bis auf Rundungsfehler) exakte
L
osung des Gleichungssystems.
91

7.2.1

GaussElimination

Die klassische direkte L


osungsmethode f
ur lineare Gleichungssysteme ist GaussElimination, die nat
urliche Verallgemeinerung des obigen 3 3 Beispiels. Der
Algorithmus setzt sich aus folgenden Hauptkomponenten zusammen:
(1) Eliminiere x1 aus Zeile 2 bis n durch Addieren oder Subtrahieren eines
geeigneten Vielfachen der ersten Zeile:

.. ..
.. .
. .
.
0
(2) Behandle das resultierende System von n 1 Gleichungen mit n 1 Unbekannten analog usw. bis die letzte Zeile zu einer Gleichung f
ur die letzte
Unbekannte xn wird, das daher direkt berechnet werden kann.

.. . .
.
..
.
. ..
.
0

(3) Anschlieend wird xn in die Gleichung f


ur xn1 eingesetzt, so dass xn1
direkt berechnet werden kann.
(4) Fahre genauso fort mit xn2 , xn3 , . . ., bis zuletzt auch x1 durch Verwendung der Werte von x2 , . . . , xn berechnet ist.
Zusamenfassend stellen wir fest, dass wir das System
Ax = b in ein System Rx = b
transformiert haben, das dieselbe Losung wie das urspr
ungliche System hat, bei
dem die Systemmatrix R aber praktischerweise eine obere Dreiecksmatrix ist:

..
0 ...
.

R=
.
. .
..
..
. ..
0
Dieses neue Gleichungssystem lasst sich sehr einfach losen, indem nacheinander xn , xn1 , . . . , x1 unter Verwendung der bisher berechneten Werte bestimmt
werdem.
Wir schauen uns die einzelnen Schritte bildlich an der Matrix an, um den
Pseudocode f
ur diesen Algorithmus herzuleiten:

92

Der Eliminationsalgorithmus:
Schleife
uber Spalten k

r1,1

.
..

.
.
.

r1,2

r1,k

r1,k+1

r1,n

r2,2

r2,k

r2,k+1

r2,n

..

..
.

..
.
ak,k+1

ak,n

ak+1,k+1

ak+1,n

ak,k
ak+1,k

..
.

..
.

an,k

an,n

b1

b
2
.
.
.

bk

bk+1
.
.

bn

for j from k to n r[k,j] := a[k,j]

..
.

r1,1
0
..
.

r1,2
r2,2

0
..
.

r1,1
0
..
.

r1,2
r2,2

..
.
0

r1,k+1
r2,k+1

rk,k

rk,k+1

ak+1,k
..
.

ak+1,k+1

an,k

..
.

r1,k
r2,k

r1,k
r2,k
rk,k
ak+1,k
..
.
an,k

r1,n
r2,n
..
.

rk,n

ak+1,n
..
.

an,n

r1,n
r2,n
..
.

rk,k+1

rk,n

ak+1,k+1

ak+1,n

r1,k+1
r2,k+1

..
.

93

an,n

b1

b
2
.
.
.

bk

bk+1
.
.

bn

b1

b
2
.
.
.

bk

bk+1
.
.

bn

ak+1,k
r
k,k

r1,1
0
..
.

r1,2
r2,2

..
.

..
.
0

r1,1
0
..
.

for

from

k+1

to

r1,2
r2,2

0
0
..
.

r1,1
0
..
.

r1,2
r2,2

r1,n
r2,n
..
.

rk,k+1

rk,n

ak+1,k+1

ak+1,n

r1,k+1
r2,k+1

rk,k
ak+1,k
..
.
an,k

..
.
0
0

..
.

r1,k
r2,k
rk,k
0

an,n

..
.
0

..
.

an,k
r1,k
r2,k

rk,k+1
ak+1,k+1

rk,n
ak+1,n
..
.

an,n

r1,k+1
r2,k+1

rk,k

rk,k+1

ak+1,k+1

b1

b
2
.
.
.

bk

bk+1
.
.

bn

r1,n
r2,n
..
.

l[k + 1, k]

b1

b2

..
.

bk

bk+1

.
..

bn

l[j, k]

rk,n
ak+1,n

an,n

r1,n
r2,n
..
.

..
.

..
.

r1,k+1
r2,k+1

..
.

r1,k
r2,k

1
b
2
.
.
.

bk

bk+1
.
.

bn

for k from 1 to n

r1,1
0
..
.
0
0
..
.

r1,2
r2,2

..
.

0
0

r1,k
r2,k

r1,k+1
r2,k+1

r1,n
r2,n
..
.

rk,k
0
..
.

rk,k+1
rk+1,k+1
..
.

rk,n
rk+1,n
..
.

94

rn,n

b1
b2
..
.

bk

bk+1

.
..
bn

Der Lo
sungsalgorithmus fu
r das obere Dreieckssystem:

r1,1
0
..
.

r1,2
r2,2

..
.

r1,k
r2,k

r1,k+1
r2,k+1

r1,n
r2,n
..
.

0
0
..
.

0
0

rk,k
0
..
.

rk,k+1
rk+1,k+1
..
.

rk,n
rk+1,n
..
.

rn,n

r1,1
0
..
.

r1,2
r2,2

..
.

r1,i
r2,i

r1,i+1
r2,i+1

r1,n
r2,n
..
.

ri,i

ri,n

0
..
.

0
..
.

b1

b2

..
.

bk

bk+1

.
..

bn

xn = bn /rn,n .

ri,i+1
ri+1,i+1
..
.

for i from n to 1 xi =

ri,i

bi

0
Pn

j=i+1

ri+1,n
..
.
rn,n

b1

b
2
.
.
.

bk

bk+1
.
.

bn


xj ri,j .

Der Pseudocode:
for k from 1 to n do
// Schleife Spalten
for j from k to n do r[k,j]:=a[k,j] od; // Werte in Zeile k von R
for i from k+1 to n do
// Zeilen i unter Zeile k
l[i,k]:=a[i,k]/r[k,k];
// Faktor zur Elim. von a[i,k]
for j from k+1 to n do
a[i,j]:=a[i,j]-l[i,k]*r[k,j];
// neune Eintr
age Zeile i
od;
b[i]:=b[i]-l[i,k]*b[k];
// Update rechte Seite
od;
od;
for i from n downto 1 do
// r
uckw
arts L
oserschleife
x[i]:=b[i];
for j from i+1 to n do
x[i]:=x[i]-r[i,j]*x[j];
od;
x[i]:=x[i]/r[i,i];
od;
Dabei ist der Aufwand f
ur die obere Schleife (Zeilen 1-12) O(n3 ), f
ur die
2
untere Schleife O(n ). Insgesamt erhalten wir f
ur den GaussAlgorithmus also
den Aufwand O(n3 ), im Gegensatz zur Cramerschen Regel (O(n!)) und dem
Finden der Inversen (O(n4 )).
95

7.2.2

LUZerlegung

Der Algorithmus der Gauss-Elimination hat in der oben angegebenen Form


den Nachteil, dass wir die Elimination jees Mal neu durchf
uhren m
ussen, wenn
sich die rechte Seite
andert (die Matrix A aber gleich bleibt). Das liegt daran,
dass wir w
ahrend der Elimination auch die rechte Seite umgeformt haben. Die
LU -Zerlegung basiert auf demselben Prinzip wie die Gauss-Elimination, speichert allerdings die Transformationen direkt ab, so dass diese Information durch
Transformation weiterer rechter Seiten genutzt werden kann.
Um das Prinzip der LU -Zerlegung zu verstehen, brauchen wir zwei einfache
Beobachtungen aus der linearen Algebra:
(1)

0
..
.
..
.
..
.

1
..
.

..
.
..
.
..
.

li,j

..

..

..

.
0

0
1

..

..

0
..
.
..
.
..
.

f
ur eine Matrix B bewirkt die Subtraktion des li,j -fachen der j-ten Zeile
zur i-ten Zeile der Matrix B (Pr
ufen Sie dies anhand der Formeln f
ur die
Matrixmultiplikation nach).
(2)

0
..
.
..
.
..
.

1
..
.

li,j

..
.
..
.
..
.

..
..

.
..

..

..

1
0
..
.
..
.
..
.
..
.
0

.
0

1
..
.

0
1

0
..
.
..
.
..
.

1
..
.

0
..
.
..
.
..
.

..
.
..
.
..
.

li,j

lj,k

96

li,k

..

..

..

..

..

..

..
.
..
.
..
.

..

..

..

..
..

.
0

0
..
.
..
.
..
.
..
.

0
1

..

..

0
..
.
..
.
..
.

0
1

und

0
..
.
..
.
..
.

1
..
.

..
.
..
.
..
.

li,j

..
..

.
..

..

1
0
..
.
..
.
..
.
..
.
0

..

.
0

0
1

0
..
.
..
.
..
.

1
..
.

0
..
.
..
.
..
.

..
.
..
.
..
.

1
..
.

lk,j

..

..

..

..

..

li,j

lk,j

..

0
..
.
..
.
..
.
..
.

..

..

..

..

.
0

0
1

..

.
0

..

..

..
.
..
.
..
.

etc.
Mit der Bezeichnung

Li,j

:=

0
..
.
..
.
..
.

1
..
.

..
.
..
.
..
.

li,j

..

..

..

..

..

0
..
.
..
.
..
.

0
1

k
onnen wir daher die Gauss-Elimination auch schreiben als
Ax = b wird transformiert zu

n
n
Y
Y

Li,j A x =

j=1 i=j+1

|
wenn li,j =

ai,j
aj,j

n
n
Y
Y

Li,j b,

j=1 i=j+1

{z
=R

{z
= b

0
..
.

..
.

..

1
ln,n1

gew
ahlt wird.

=
oder mit L

n
n
Y
Y
j=1 i=j+1

1 Rx =
L

Li,j

l2,1
=
.
..
ln,1

b.

97

0
..
.
:

0
1

0
..
.
..
.
..
.

0
1

Es l
asst sich auerdem leicht zeigen,

1 = l2,1
L := L
.
..
ln,1

dass
0
..
.

..
.

..

1
ln,n1

0
..
.

0
1

(mache die Subtraktionen durch entsprechende Additionen r


uckgangig).
Damit haben wir Ax = b verwendelt zerlegt in

b1
x1
r1,1 r1,n
1
0

.. .. ..
..
..
..

l2,1 . . .
.
.
.
.
. = . .

0
. .
.
.
.
.
.
.
..
..
.. .. ..
..
..
1
0 ..
bn
xn
0

0 rn,n
ln,1 ln,n1 1

Im Pseudocode f
ur den GaussAlgorithmus, der oben angegeben ist, finden
sich bereits die entsprechenden Matrizen L und R. Damit erhalten wir einen
neuen Algorithmus:
(1) Zerlege A in L und R
(2) L
ose zuerst Ly = b, was sehr einfach ist, weil L eine untere Dreiecksmatrix
ist, wir k
onnen also einfach von oben nach unten losen
(3) L
ose dann Rx = y, was wieder sehr einfach ist, weil R eine obere Dreiecksmatrix ist, wir k
onnen also einfach von unten nach oben losen

Dabei ist wieder das Zerlegen die Hauptarbeit mit 32 n3 + O(n2 ), die anderen
beiden Schritte sind mit O(n2 ) Operationen machbar.
In der Literatur ist dieser Algorithmus als LUZerlegung11 bekannt und
geht zeilenweise vor im Gegensatz zu unserem bisherigen Algorithmus, der
spaltenweise vorgeht. Deshalb schauen wir uns diesen Algorithmus nochmal in
seiner zeilenweisen Variante an. Wir wechseln dabei die Bezeichnung von R in
U:
A = LU
wobei wir wissen, dass

ak,i =

X
jk,i

lk,j uj,i

Daraus k
onnen wir uns Formeln f
ur die Eintrage von L und U ableiten:
Falls k > i, wir also unterhalb der Diagonalen von A sind, gilt:
ak,i =

i1
X
j=1

(lk,j uj,i ) + lk,i ui,i

Das l
osen wir nach lk,i auf und erhalten

i1
X
1
lk,i =
ak,i
lk,j uj,i
ui,i
j=1
11 L

f
ur lower triangular matrix und U f
ur upper triangular matrix

98

Jetzt m
ussen wir uns fragen, ob wir diese Formel u
berhaupt benutzen konnen,
also ob wir alle ben
otigten Werte kennen. Die ak,i kennen wir auf jeden Fall, bei
den Eintr
agen aus U gehen wir f
ur den Moment einfach mal davon aus, dass wir
sie kennen, ob das auch stimmt, wird gleich untersucht. Es bleiben also noch die
Eintr
age aus L wir brauchen zur Berechnung von lk,i alle L Eintrage der kten
Zeile, die VOR dem aktuell berechneten Element stehen. Das ist kein Problem,
wenn wir einfach von links nach rechts rechnen.
Falls k i ist, gilt:
ak,i =

k1
X

(lk,j uj,i ) + lk,k uk,i

j=1

Das l
osen wir nach uk,i auf:

uk,i =

1
ak,i
lk,j uj,i
lk,k
j=1
k1
X

Auch hier schauen wir uns an, was wir schon wissen: Die AEintrage sind klar,
wir wissen auerdem, dass lk,k = 1 ist. Die lk,j sind kein Problem, wenn wir
Zeilenweise vorgehen (wir nur die lk,j aus den Zeilen oberhalb der aktuellen
brauchen) und die uj,i haben wir auch schon, wenn wir von links nach rechts
vorgehen.
Jetzt k
onnen wir nochmal einen Blick auf die Berechnung der LEintrage werfen:
Wir brauchen alle U Eintr
age, die in der selben Spalte wie das lk,i liegen und
zwar von Zeile 1 bis Zeile k wenn wir also zuerst ua,b , dann la,b von links oben
nach rechts unten berechnen, haben wir immer alles, was wir brauchen.
Genau das ist im folgenden Pseudocode umgesetzt, es ist deshalb zu beachten, dass die erste innere Schleife erst ab dem zweiten Durchlauf der aueren
Schleife u
berhaupt betreten wird:

for k from 1 to n do
for i from 1 to k-1 do
l[k,i]:=a[k,i];
for j from 1 to i-1 do l[k,i]:=l[k,i]-l[k,j]*u[j,i] od;
l[k,i]:=l[k,i]/u[i,i]
od;
for i from k to n do
u[k,i]:=a[k,i];
for j from 1 to k-1 do u[k,i]:=u[k,i]-l[k,j]*u[j,i] od
od
od;
for k from 1 to n do
y[k]:=b[k];
for j from 1 to k-1 do y[k]:=y[k]-l[k,j]*y[j] od
od;
for k from n downto 1 do
x[k]:=y[k];
99

for j from k+1 to n do x[k]:=x[k]-u[k,j]*x[j] od;


x[k]:=x[k]/u[k,k];
od;
7.2.3

CholeskyZerlegung

Wenn A eine symmetrische positiv definite Matrix ist, dann kann man sich nochmal Arbeit sparen, indem man nicht L und U , sondern nur eine Matrix berechnet. Daf
ur betrachten wir zunachst folgende Umformung der LU Zerlegung:
mit D := diag(u11 , u22 , ..., unn ), U
:= U/D
A=LU =LDU

D ist also eine Diagonalmatrix, die die Diagonaleintrage von U enthalt und U
ist U , nur dass jede Zeile durch ihr Diagonalelement geteilt wurde, d.h. die erste
Zeile wurde durch u11 geteilt, die zweite Zeile durch u22 usw..
Wenn nun A eine symmetrische Matrix ist, dann gilt A = AT und somit
=U
T DT LT = AT
A = LDU
Dabei ist DT = D, weil D eine Diagonalmatrix ist. Wir wissen aus dem Algorithmus f
ur die LUZerlegung, dass diese Eindeutig ist, hier sehen wir nun, dass
T untere Dreiecksmatrizen und DLT bzw. DU
obere Dreiecksmatrizen
L bzw. U
sind. Daraus folgt, dass
T = L
U
Also gilt f
ur symmetrische Matrizen A das folgende:
p
p
p

T = LD
DL
T mit D
:= diag( d11 , d22 , ..., dnn )
A = LDLT = (LD)(L
D)
als L
und konnen damit schreiben
Wir bezeichnen nun LD
L
T
A=L
Damit haben wir einen Ansatz, mit dem wir nur noch eine Matrix berechnen
ist vom Aufwand her einfacher. Jetzt
m
ussen, denn das Transponieren von L
machen wir fast dasselbe wie bei der normalen LUZerlegung:
X
ij L
kj
aik =
L
ji,k

erhalten. Weil A
wird so umgeformt, dass wir Formeln f
ur die Eintrage von L
symmetrisch ist, brauchen wir nur das untere (oder obere, das ist egal) Dreieck
von A betrachten, d.h. nur die aik , bei denen i k ist.
Wir starten mit i = k:
v
u
k1
k
X
X
u
2
2kj = L
kk = takk
L
akk =
L
kj

j=1

j=1

Wir u
berlegen wieder kurz, ob das wirklich nutzbar ist: Die AEintrage sind
brauchen wir die Eintrage in der selben Zeile VOR dem aktuell
bekannt, aus L
berechneten das klappt, weil wir spaltenweise vorgehen.

100

Es fehlt noch i > k:


aik =

k1
X
j=1

ij L
kj + L
ik L
kk = L
ik = 1 aik
L
kk
L


k1
X

ij L
kj
L

j=1

Auch hier wieder eine kurze Uberlegung:


Wir brauchen das Diagonalelement
der kten Zeile, das haben wir, wie oben angesprochen, wenn wir spaltenweise
vorgehen. Auerdem brauchen wir alle Eintrage der aktuellen Zeile, die VOR
dem aktuell berechneten stehen auch das haben wir, wenn wir spaltenweise
vorgehen. In Pseudocode sieht das dann so aus:

for k from 1 to n do
l[k,k]:=a[k,k];
for j from 1 to k-1 do l[k,k]:=l[k,k]-l[k,j]2 od;
l[k,k]:=(l[k,k])0.5;
for i from k+1 to n do
l[i,k]:=a[i,k];
for j from 1 to k-1 do l[i,k]:=l[i,k]-l[i,j]*l[k,j] od;
l[i,k]:=l[i,k]/l[k,k]
od
od;
7.2.4

Pivot-Suche

bbei allen drei Algorithmen Gauss-Elimination, LU -Zerlegung und CheleskyZerlegung kann ein Problem auftreten: Wenn auf der Diagonale von U oder
eine Null vorkommt, klappt das Dividieren nicht mehr, das sieht man am
L
folgenden Beispiel:

1 1 0
1 1 0
1 1 2 0 0 2
0 1 1
0 1 1
An diesem Beispiel ist aber auch sichtbar, wie das Problem gelost werden kann:
Man tauscht Zeilen. Algorithmisch bedeutet das, dass eine Zeile unter der aktuellen gesucht wird, die einen moglichst groen Eintrag 6= 0 in der aktuellen
Spalte hat und dann die gefundene Zeile mit der aktuellen getauscht wird.
Wenn mit Fliekommaarithemtik gerechnet wird, ist es sogar sinnvoll, solche Tauschoperationen schon durchzuf
uhren, wenn eine kleine Zahl auf der
Diagonalen vorkommt was klein bedeutet, hangt dabei vom System ab.

7.3

Iterative L
osungsverfahren f
ur LGS

Nachdem wir direkte L


osungsverfahren betrachtet und kennen gelernt haben,
stellt sich die Frage, wozu wir uns u
berhaupt noch iterative Verfahren anschauen, wo die doch im Gegensatz zu direkten keine exakte Losung garantieren
k
onnen, sondern h
ochstens Konvergenz.
Dass sie dennoch wichtig sind, liegt darin begr
undet, dass alle in den vorigen
Abschnitten vorgestellten Eliminationsverfahren f
ur d
unn besetzte Matrizen,
wie sie in physikalischen Simulationen oft vorkommen, unverhaltnismaig hohe
101

Kosten erzeugen. Zudem sind die auftretenden Matrizen oft sehr gro. Daher
ist die Laufzeit von direkten Verfahren mit O(n3 ) schlicht zu hoch.
Als Beispiel betrachten wir folgende Matrix (* bezeichnet einen von null
verschiedenen Eintrag):



0 0

..
.
. 0 . . . . . . ..

. . .

.. ... 0
.. ..
0
0
Nach der Elimination der ersten
muster:

.. ..
. .

. .
.. ..
0

Spalte erhalten wir folgendes Besetztheits

..
.
..
.

Damit haben wir alle Nullen vernichtet und alle Vorteile der D
unbesetztheit
verloren. Aus diesem Grund nutzen wir in solchen Fallen lieber iterative Verfahren. Diese starten mit einer Anfangsschatzung x(0) f
ur die Losung unseres
Gleichungssystems Ax = b und erzeugen auf dieser Basis eine Folge
x(i) , i = 1, 2, . . .

von weiteren Approximationen, die sich mit wachsendem i im Idealfall der


tats
achlichen L
osung n
ahern. In diesem Fall sprechen wir von Konvergenz. Im
Fall von d
unnbesetzten Matrizen A Rnn ist eine Iteration, also der Schritt
von x(i) zu x(i+1) mit Kosten von O(n) verbunden, wenn die Matrix nur O(n)
nicht-null Eintr
age hat. Die Effizienz iterativer Verfahren wird daher an der Anzahl der Iterationen gemessen, die notig sind, um eine vorgegebene Genauigkeit
zu erreichen.
Die wohl
altesten iterativen Verfahren zum Losen groer linearer Gleichungssysteme sind die sogenannten Relaxationsverfahren:
die Richardson-Iteration,

die Jacobi-Iteration,

die Gauss-Seidel-Iteration,

eine Variante davon ist die SOR-Iteration (successive overrelaxiation).


Grundlagen Jedes iterative Verfahren zur Losung von LGS startet mit einem
Startsch
atzer x(0) , berechnet daraus einen neuen Wert x(1) , daraus x(2) usw.,
so dass die x(i) gegen x mit Ax = b konvergieren.
Eine ideale Iteration w
are moglich, wenn wir x(i) und e(i) = x x(i) kennen.
Dann ist der ideale n
achste Iterationsschritt naheliegenderweise: x(i+1) = x(i) +
(i)
e . Nur kennen wir in der Realitat das e(i) nat
urlich nicht.
102

Da der Fehler nicht bekannt ist, nutzen die iterativen Verfahren eine Groe,
die mit dem Fehler zusammenhangt, aber im Genensatz zu diesem sehr leicht
berechenbar ist, das Residuum


r(i) := b Ax(i) = Ax Ax(i) = A x x(i) = Ae(i) ,
wobei x(i) die aktuelle Approximation f
ur die exakte Losung x nach Iteration
i und e(i) den entsprechenden Fehler bezeichnen. Aus dieser Definition folgt
insbesondere, dass wir r(i) auch ohne Kenntnis von e(i) berechnen konnen.
7.3.1

Richardson, Jacobi und GaussSeidelIteration

RichardsonIteration Die RichardsonIteration benutzt das Residuum unmittelbar als Ersatz f


ur den Fehler, also als Richtung, in der wir die bessere
n
achste Iterierte suchen:
x(i+1) = x(i) + r(i)
Es stellt sich allerdings heraus, dass das im Allgemeinen nicht besonders gut
funktioniert, wie an folgendem Beispiel zu sehen ist:


 
2 1
6
A=
, b=
1 3
8

W
ahlen wir dann x(0) = 00 , so erhalten wir weiter:
i
x(i)

0

1

0.0
0.0

6.0
8.0

2 

3

8.0
14.0

4 

Die richtige L
osung ist aber x =

2
2

5 

66.0
108.0

28.0
44.0

180.0
290.0

6 

464.0
752.0

7 

1222.0
1976.0

JacobiIteration Die JacobiIteration nimmt nicht den ganzen Vektor x(i)


bzw. r(i) , sondern geht komponentenweise vor und skaliert das Residuum mit
den inversen Diagonaleintr
agen 1/ak,k , was deutlich sinnvoller aussieht:
(i+1)

xk
(i+1)

Dieses neue xk

(i)

= xk +

1 (i)
r .
akk k

sorgt daf
ur, dass die Gleichung
n
X

ak,j xk = b

j=1

in der k-ten Zeile des gegebenen Gleichungssystems erf


ullt ist, wenn in Kompo(i+1)
nente k der neue Wert xk
und in allen anderen Komponenten die alten Werte
(i)
xj angenommen werden. Wollen wir f
ur dsa Jacobi-Verfahren ein Programm
schreiben, m
ussen wir also zunachst die Residuumswerte auf der Basis der alten
Werte zur Iteration i berechnen und diese dann anwenden, um alle Komponnten
von x zu verbessern:
for i = 0,1,...
for k = 1,...,n:

yk :=

1
akk

103

(i)

rk

(i+1)

xk

for k = 1,...,n:

(i)

:= xk + yk

Schematisch l
asst sich die Jacobi-Iteration unter Ber
ucksichtigung der Speicherung der Werte von x also folgendermaen darstellen:
Schritt 1:

a11
a21
..
.

a12
a22

..
.

a1n
a2n
..
.

an1

an2

ann

x1
x2
..
.

b1
b2
..
.

lose auf nach x1

x
1

lose auf nach x2

x
1
x
2

bn

xn

Schritt 2:

a11
a21
..
.

a12
a22

..
.

a1n
a2n
..
.

an1

an2

ann

x1
x2
..
.

b1
b2
..
.

bn

xn

..
.
Schritt n:

a11
a21
..
.

a12
a22

..
.

a1n
a2n
..
.

an1

an2

ann

x1
x2
..
.

xn

b1
b2
..
.

bn

lose auf nach xn

x
1
x
2
..
.

x
n

Nach der Iteration kopieren wir die Werte in der Hilfsdatenstruktur ~x


nach ~x.
F
ur das Beispiel von oben ergibt sich hier bereits nach 7 Schritten (mit
Fliekommaarithmetik) ein gutes Ergebnis:
i

(i)

0

0.0
0.0

1

3.0
2.67

2

1.67
1.67

3

2.17
2.11

4

5

1.94
1.94

2.03
2.02

6

1.99
1.99

7

2.0
2.0

8

2.0
2.0

Auch mit anderen Startwerten funktioniert die JacobiIteration sehr gut, aber
es geht noch besser:
GaussSeidelIteration Die GaussSeidelIteration sieht ganz ahnlich wie
(i+1)
(i+1)
, . . . , xk1 werden
die JacobiIteration aus, aber neu berechnete Werte x1
(i)

sofort, insbesondere zur Berechnung von rk verwendet. Dadurch enthalt r(i)


bereits mehr neue aktuelle Information als dies bei der Jacobi-Iteration der Fall
war:
for i = 0,1,...
for k = 1,...,n:
Pn
Pk1
(i)
(i+1)
(i)
rk := bk j=1 akj xj
j=k akj xj
(i+1)

xk

(i)

:= xk +

1 (i)
akk rk

104

Oder in der schematischen Darstellung mit Angaben zur Speicherung der


Werte:
Schritt 1:

a11 a12
a21 a22

..
.
an1

an2

Schritt 2:

a11 a12
a21 a22

..
.
an1

an2

..
.

a1n
a2n
..
.

ann

..
.

a1n
a2n
..
.

ann

..
.

a1n
a2n
..
.

ann

x1
x2
..
.

x1
x2
..
.

lose auf nach x1

bn

xn

b1
b2
..
.

b1
b2
..
.

lose auf nach x2

bn

xn

..
.
Schritt n:

a11 a12
a21 a22

..
.
an1

an2

x1
x2
..
.

xn

b1
b2
..
.

bn

lose auf nach xn

Dabei ist zu beachten, dass keine zusatzliche Hilfsdatenstruktur benotigt


wird!
Successive OverRelaxiation (SOR) Wer die GaussSeidelIteration ausprogrammiert und an Beispiel testet, wird entdecken, dass dabei oft zu wenig
zum x(i) addiert wird. Das versucht die SOR auszugleichen, indem ein Faktor
1 < < 2 eingef
uhrt wird, den man abhangig von A wahlt:
for i = 0,1,...
for k = 1,...,n:
(i)

rk

:= bk

(i+1)

xk

Pk1

(i)

j=1

:= xk +

(i+1)

akj xj

(i)
akk rk

Pn

j=k

(i)

akj xj

Bemerkung: Im Falle der Jacobi-Iteration hilft dagegen oft eine Unterrelaxation mit 0 < < 1, um die Konvergenz zu verbessern.
Wir haben bisher noch keine Konvergenz betrachtet, wissen aber dennoch
das ein oder andere u
ber die verschiedenen iterativen Verfahren:
Die RichardsonIteration konvergiert in vielen Fallen nicht (siehe unser
einfaches Beispiel).
105

Die JacobiIteration ist ausgezeichnet parallelisierbar, es ist kein Problem,


jede Komponente in einem eigenen Prozess zu berechnen und sie erst am
Ende eines Iterationsschrittes zusammenzuf
uhren.
Die GaussSeidelIteration und SOR konnen inplace, also ohne zusatzlichen
Speicherbedarf arbeiten, sind daf
ur kaum parallelisierbar, da es auf die
Reihenfolge der Aktualisierungen der Komponenten von x ankommt.
Konvergenz Wir bemerken zunachst, dass alle bisher vorgestellten Verfahren
nach demselben Schema arbeiten, sie zerlegen A in
A = M + (A M ),
wobei M einfach zu invertieren sein soll. Dann arbeiten die Verfahren wie folgt:

= x(i+1)

M x(i+1) + (A M )x(i) = b


= x(i) + M 1 b Ax(i) = x(i) + M 1 r(i)

Die Matrizen f
ur die Verfahren sind:
Richardson: M = I,

Jacobi: M = D mit D = diag(a11 , ..., ann ),

GaussSeidel: M = D + L mit D wie bei Jacobi und L das untere Dreieck


von A,
SOR: M =

1
D

+ L.

F
ur Richardson und Jacobi ist das ziemlich offensichtlich, f
ur Gauss-Seidel bzw.
SOR haben wir

n
k1
X
X
(i)
(i+1)
(i)
(i+1)
akj xj /akk
xk
:= xk + bk
akj xj

j=1

(i+1)

:= x

(i)

1
DA

b LA x

j=k

(i+1)

(DA + UA )x(i)

1
1
DA x(i+1) =
DA x(i) + b LA x(i+1) (DA + UA )x(i)





1
1
(i+1)

DA + LA x
+ (1 )DA + UA x(i) = b

M x(i+1) + (A M )x(i) = b ,
Damit ergibt sich f
ur die Konvergenz:
x(i+1) = x(i) + M 1 (b Ax(i) )
| {z }
e(i+1) = x x(i+1) = x x(i) M 1 Ae(i) = (I M 1 A)e(i)

Also ergibt sich

lim ||e(i) || = lim ||(I M 1 A)i e(0) || lim i ||e(0) ||

106

wobei der Spektralradius12 von I M 1 A ist. Wir haben also Konvergenz,


wenn < 1 ist.
F
ur bestimmte Matrixklassen sind auf dieser Basis Konvergenzanalysen durchgef
uhrt worden. Wir sollten hie zumindest ein paar der wichtigsten Ergebnisse
erw
ahnen:
F
ur die Konvergenz des SOR-Verfahrens brauchen wir notwendig 0 < <
2.
Wenn A symmetrisch positiv definit ist, konvergiert sowohl das GaussSeidel-Verfahren als auch das SOR-Verfahren (f
ur 0 < < 2).
Wenn A und 2D A symmetrisch positiv definit sind, konvergiert dsa
Jacobi-Verfahren.
P
Wenn A strikt diagonaldominant ist (das heit |ai,i | > j6=i |ai,j | f
ur alle
i), konvergiert sowohl das Jacobi- als auch das Gauss-Seidel-Verfahren.

analytisch
In manchen F
allen kann der ideale Uberrelaxationsfaktor
berechnet werden (aus der Bedingung, dass der Spektralradius minimal
und damit die Fehlerreduktion pro Iteration maximal sein soll).
Gauss-Seidel ist nicht immer besser als Jacobi, auch wenn das f
ur unser Beispiel so zu sein scheint. Es gibt Beispielesysteme, f
ur die Jacobi konvergiert,
Gauss-Seidel aber nicht. In vielen Fallen, wie zum Beispiel beim Losen diskretisierter W
aremeltungsgleichungen, konvergiert Gauss-Seidel allerdings etwa
doppelt so schnell wie Jacobi.
In der Praxis sind die oben aufgelisteten Konvergenzergebnisse oft nicht ausreichend, um die Eignung eines Verfahrens zum Losen eines Gleichungssystems
zu beurteilen. Wenn wir zwar Konvergenz, also || < 1 haben, || aber sehr
nah an der 1 liegt, wird die Anzahl der Iterationen zu gro, um die Methode
tats
achlich effizient anwenden zu konnen. So tritt beim Losen von partiellen
Differentialgleichungen f
ur alle bisher genannten Verfahren oft das Problem auf,
dass die Anzahl der ben
otigten Iterationen mit der Zahl der verwendeten Datenpunkte (also n) steigt. In dem Fall haben wir also insgesamt auf jeden Fall
einen Aufwand, der gr
oer als O(n) und somit nicht optimal ist. Hier helfen
sogenannte Mehrgitterverfahren ( Grundlagen des Wissenschaftlichen Rechnens).
7.3.2

Steepest Descent und CGVerfahren (konjugierte Gradienten)

Die Idee bei CGVerfahren bzw. Steepest Descent ist, dass man Ax = b durch
Minimierung einer Funktion lost. Daf
ur muss allerdings gelten, dass A sowohl
symmetrisch als auch positiv definit ist:
A = AT and xT Ax > 0 x 6= 0.
Wir betrachten nun die Funktion
f (x) =
12 Der

1 T
x Ax bT x
2

Spektralradius einer Matrix ist der Betrag des betragsm


aig gr
oten Eigenwerts.

107

und suchen Minima dieser Funktion mittels der notwendigen Bedingung:


0 = f 0 (x) =

1 T
1
a

A x + Ax b = Ax b
2
2

a:

Das gilt, weil AT = A.


Wenn nun Ax b = 0 ist, dann ist x gerade die Losung f
ur Ax = b. Das w
urde
erst mal f
ur jedes Extremum gelten, aber wenn wir zusatzlich noch die zweite
Ableitung anschauen, sehen wir, dass es sich um ein Minimum handelt:
f 00 (x) = (Ax b)0 = A mit A positiv definit.

f (x, y)

Wie so ein f aussehen kann, zeigt folgendes Beispiel, bei dem der Schnittpunkt der Geraden 2x = 0 und y = 0 ermittelt werden soll. Das ist als Gleichungssystem:

   
1
2 0
x
0
Ax = b =
=
, also: f (x, y) = x2 + y 2
0 1
y
0
2

10
0
2

0
2

2
y

Unsere Funktion f definiert also eine Hyperebene z = f (x) in Rn+1 mit


n-dimensionalen Ellipsoiden als Isolinien:

Daran erkennen wir ganz anschaulich (zumindest f


ur n = 2), dass f genau
ein Minimum besitzt.
Steepest Descent Was gewinnen wir nun durch diese Umformulierung unseres linearen Gleichungssystems in ein Minimierungsproblem? Zunachst mal
er
offnet die neue Darstellung uns die Moglichkeit, eine ganz neure Klasse von
Methoden Minimierungs- oder Optimierungsmethoden anzuwenden.
108

Zum Minimieren von f gibt es verschiedene Varianten, die erste, die wir hier
kennen lernen, nennt sich Steepest Descent und der Name ist Programm: Wir
suchen immer den steilsten Abfall der Funktion und gehen in diese Richtung,
bis wir ein Minimum (bez
uglich dieser Richtung) finden, dort suchen wir wieder
den steilsten Abfall und so weiter. Also kurz:
(1) Suche Richtung des steilsten Abfalls, das ist gerade der negative Gradient
bzw. das Residuum, also


f 0 x(i) = res(i) = b Ax(i) .

Es w
are nat
urlich noch besser, in Richtung des Fehlers
e(i) = x x(i)
zu suche, aber diesen kennen wir ja nicht.
(2) Bestimme das Minimum in dieser Richtung: Wir gehen von x(i) aus in
Richtung res(i) , das k
onnen wir schreiben als (ohne die storenden (i)):
f (x + res)
Um das Minimum in dieser Richtung zu finden, m
ussen wir das Ganze
nach ableiten und Null setzen, also
df (x + res)
d

f 0 (x + res)T res

(b A x A res)T res
| {z }

resT res resT A res


resT res
resT A res

res

(3) Gehe bis zu diesem Minimum: Wir bestimmen jetzt das neue x mit Hilfe
der gerade gefundenen Groen
x(i+1) = x(i) + (i) res(i)
109

Als Pseudocode k
onnen wir also schreiben

for i=1,2,...
r := b - Ax;
alpha := (rT r)/(rT A r);
x := x + alpha*r;
Oder umgestellt, so dass pro Iteration nur ein teures Matrix-Vektor-Produkt
mit A gebildet werden muss:

r = b - Ax;
for i=1,2,...
y := Ar;
alpha := (rT r)/(rT y);
x := x + alpha r;
r := r - alpha*y;
Die Iterationen k
onnen im zweidimensionalen Fall dann so aussehen (Werte
von Aufgabe 10.1):
6

.5

7.5 7

1
x

(2)
8x
.5
9

7.
5
7

6 6. 5

x(3)

x(0)
8

6.
5
6

7. 7
8.
5
5

x(1)

.4
9

8.5

5
10

(1)
x(0) x
x(3)
x
x(2)

3
2

0
x

Achtung: A muss wie zu Beginn erwahnt nicht nur symmetrisch, sondern auch positiv definit sein, sonst funktioniert das Verfahren nicht, das zeigt
das folgende Beispiel:
Es soll der Schnittpunkt zwischen den Geraden y = 2x + 1 und y = x + 3
ermittelt werden:

   
y2
2 1
x
1
A=
=
f (x, y) = x2 +
+ xy x 3y.
1 1
y
3
2
y

Graph von f
110

Isolinien von f

In diesem Fall hat die Funktion f kein Minimum, das der Losung des linearen Systems entspricht, sondern einen Sattelpunkt, der in die eine Richtung ein
Minimum, in die andere ein Maximum ist. Der steilste Abstieg bzw. Modifikationen davon ist daher offensichtlich kein zielf
uhrendes Vorgehen.
Auf den Bildern der Iterationschritte bemerken wir, dass die Richtungen,
in die gegangen wird, immer rechtwinklig zueinander sind. Wenn wir nach
dem Schritt in eine Richtung also keinen Fehler in dieser Reichtung mehr u
brig
h
atten, w
aren wir f
ur x Rn in n Schritten fertig, da uns die orthogonalen
Richtungen ausgehen w
urden. Leider scheint dies nicht der Fall zu sein, die
Suchrichtungen wiederholen sich. Das versuchen wir nun mit dem CGVerfahren
besser zu machen.
CGVerfahren Wie bereits angesprochen, wollen wir mit dem CGVerfahren
erreichen, dass wir nie zweimal in dieselbe Richtung gehen m
ussen, sondern
nur genau einen Schritt pro Dimension machen m
ussen, um genau ans Ziel
zu kommen. Wir erreichen dies, indem wir die Suchrichtungen gegen
uber der
Steepest Descent Methode modifizieren. Daf
ur brauchen wir zusatzlich zu den
bereits eingef
uhrten Gr
oen noch eine Bezeichnung f
ur die Suchrichtung, also
die Richtung, in der wir gehen: d(j) ist die Richtung, in die wir im jten Schritt
gehen, wir haben also
x(i+1) := x(i) + i d(i) .
1. Versuch: Wir gehen mal davon aus, dass wir die Suchrichtungen dj
schon kennen und nur noch die j ermitteln m
ussen. Dann konnte ein erster
Ansatz zur Vermeidung wiederholter Schritte in dieselbe Richtung so aussehen,
dass wir verlangen, dass der verbleibende Fehler orthogonal zu allen bisherigen
Suchrichtungen ist:


d(j)

T

e(i+1) = 13 0

j = 1, ..., i.

Da wir weitere Verbesserungen nur noch in Richtung des verbleibenden Fehler


e(i+1) suchen m
ussen, sollte also auch die nachste Suchrichtung d(i+1) wie e(i+1)
im Raum liegen, der orthogonal zu d(j) , j = 1, . . . , i ist:


d(j)

T

d(i+1) = 0 j = 1, ..., i.

Die Suchrichtungen w
aren also wieder zueinander orthogonal. Damit wachst
die Dimension des von den Suchrichtungen aufgespannten Raums pro Iteration um eins, was gleichzeitig bedeutet, dass die Dimension des Raums, in dem
der verbleibende Fehler liegen kann, wegen der Orthogonalitatsedingung um
eins abnimmt. Nach sp
atestens n Iterationen hatten wir also die exakte Losung
gefunden.
Wir versuchen nun zun
achst, eine geeignete Schrittweite f
ur gegebene Such13 e(i+1)

ist kein Einheitsvektor, sondern der Fehler x x(i+1) .

111

richtung zu bestimmen:
0
i

d(i)

T


 T 
e(i) i d(i)
e(i+1) = d(i)

d(i)

T

e(i)

d(i)

T

d(i)

Das Problem mit diesem Ansatz ist, dass in der Formel f


ur i der Fehler
e(i) vorkommt den kennen wir aber nicht, denn um den Fehler zu ermitteln,
m
ussten wir das korrekte Ergebnis bereits kennen. Wir kommen so also nicht
weiter, selbst dann nicht, wenn uns jemand die Suchrichtungen zur Verf
ugung
stellen w
urde.
2. Versuch: Die Situation, dass wir den unbekannten Fehler e(i) durch
eine bekannte Gr
oe ersetzen m
ussen, kennen wir schon von der Herleitung der
Relaxationsverfahren. Wir ersetzten auch hier wieder e(i) durch das Residuum
r(i) := b Ax(i) und erhalten damit die Forderung


d(j)

T


T
r(i+1) = d(j) Ae(i+1) = 0 j = 1, ..., i.

Wieder muss die n


achste Suchrichtung im selben Raum liegen wie e(i+1) ,
also

T
d(j) Ad(i+1) = 0 j = 1, ..., i.

Wegen der Definitheit von A nimmt auch bei diesem Ansatz die Dimension
des von den Suchrichtungen aufgespannten Raums pro Iteration um eins zu, die
des verbleibenden Fehlerraums um eins ab.
F
ur die Schrittweite in Suchrichtung d(i) erhalten wir
0

 T 

r(i+1) = d(i)
r(i) i Ad(i)
T
d(i) r(i)
.
T
d(i) A d(i)

d(i)

T

Definition: Wir nennen Vektoren x, y Rn Aorthogonal oder konjugiert


zueinander genau dann, wenn es eine symmetrisch positiv definite Matrix A
Rnn gibt, so dass xT Ay = 0 ist.
Obige Formel f
ur die Schrittweite i funktioniert, es stellt sich allerdings die
Frage, wo wir mit diesem i eigentlich landen, also an welche Stelle auf der
Funktion wir mit xi + i di kommen:
Hier stellt sich heraus, dass i genau die Schrittweite ist, die wir machen
m
ussen, um zum eindimensionalen Minimum in Richtung di zu kommen:

d  (i)
f x + i d(i)
di



T
b A x(i) + i d(i)
d(i)

T
 T
r(i) d(i) i d(i) A d(i) = 0.
| {z }
14

112

Das k
onnen wir nach i auflosen und bekommen wie beim Steepest Descent:
T
T
r(i) d(i)
d(i) r(i)
i =
=
.
T
T
d(i) A d(i)
d(i) A d(i)

Allerdings m
ussen wir die Suchrichtungen anders als beim Steepest Descent
w
ahlen, da wie oben hergeleitet


d(i+1)

T

Ad(j) = 0 f
ur alle i = 1, 2, . . . und i = 1, 2, . . . , i

gelten muss.
Ein ganz einfacher Ansatz, um dies zu erreichen, ware, mit Einheitsvektoren
zu starten und die dann Aorthogonal zueinander zu machen. Das funktioniert
zwar, z.B. mit dem GramSchmidtVerfahren, der Aufwand daf
ur ist aber so
hoch wie eine L
osung von Ax = b mittels GaussElimination. Das ware also
sinnlos.
Deshalb versuchen wir es auch hier wieder mit dem Residuum, denn die
Residuen erf
ullen eine n
utzliche Eigenschaften ganz von alleine:
W
ahlen wir
d(i) = r(i) d(i1)
als Ausgangspunkt f
ur die Konstruktion der nachsten Suchrichtung d(i) , so haben wir bereits

T
d(j) Ar(i) = 0 f
ur alle j = 1, . . . , i 2,
da wir annehmen, dass wir bisher alles richtig gemacht haben, wir also insbesondere daf
ur gesorgt haben, dass


T
T
d(j) Ae(i) = d(j) r(i) = 0 f
ur alle j = 1, . . . , i 1,
f
ur j = 1, . . . , i 2 also auch

T 

 T
0 =
d(j)
r(i+1) r(i) = dj) Ad(i)

T 


T
= d(j) A r(i) i1 d(i1) = d(j) Ar(i1) .
Wir m
ussen also nur noch daf
ur sorgen, dass wir r(i) so zu d(i) modifizieren,
dass
(1) d(i) zu d(j) , j = 1, . . . , i 2 A-orthogonal bleibt und

(2) zus
atzlich A-orthogonal zu d(i1) wird.

d(i) = r(i) d(i1) garantiert automatisch die Erhaltung der A-Orthogonalitat


zu d(j) , j = 1, . . . , i 2 wegen unser Annahmen u
ber die Korrejtheit der bisherigen Schritte. F
ur erhalten wir die Bedingung
 T

T
d(i) Ad(i1) = r(i) d(i1) Ad(i1) = 0
14 Unter anderem an dieser Stelle muss gelten, dass A symmetrisch ist, sonst m
usste hier
b AT xi stehen statt b Axi und wir k
onnten nicht einfach ein ri draus machen.

113

und daher
i =

r(i)

T

Ad(i1)
.
T
d(i1) Ad(i1)

Die bisherigen Erkenntnisse konnen wir zusammenfassen:


(1) Finde Suchrichtung (d(0) = r(0) ):
d(i) = r(i) i d(i1) mit i :=


r(i) )T A d(i1)
T
d(i1) A d(i1)

(2) Suche das Minimum in Richtung d(i) :


T
d(i) r(i)
i =
.
T
d(i) A d(i)
(3) Gehe in Richtung d(i) bis zum Minimum:
x(i+1) = x(i) + i d(i) .
Mit diesem Verfahren sind wir also f
ur ein Gleichungssystem mit A Rnn und
n
x, b mathbbR nach n Schritten fertig, das heit haben das exakte Ergebnis
berechnet. Allerdings liefert das Verfahren auch schon nach weniger Schritten
gute Ergebnisse, in groen Simulationen kann n auch durchaus so gro werden,
dass man sich keine n Schritte leisten kann.
Oder als Pseudocode (in der Variante mit nur einer Matrix-Vektor-Multiplikation):
r := b - Ax;
d := r;
y := Ad;
for i=1,2,...
alpha := (dT r)/(dT d);
x := x + alpha * d;
r := r - alpha * y;
beta := (rT y)/(dT y);
d := r - beta * d;
y := Ad;
Konvergenz. Das Steepest Descent-Verfahren und das CG-Verfahren konvergieren f
ur symmetrisch positiv definite Matrizen A mit
( 1
f
ur Steepest Descent,
+1
i

ke(i + 1)kA ke kA mit =


1
f
ur CG,
+1
wobei k kA die sogenannte Energienorm bezeichnet, die definiert ist als kxkA =

xT Ax und = kAkkA1 k die Kondition der Systemmatrix A ist.


Wir erhalten somit (da 1) immer < 1, also Konvergenz. Allerdings
wird der Fehler umso langsamer reduziert je groer die Kondition von A ist. Das
114

CG-Verfahren konvergiert schneller, da hier die Wurzel statt selbst auftaucht,


die f
ur > 1 kleiner als ist.
Schlecht konditionierte Gleichungssysteme lassen sich mit dem CG-Verfahren
trotzdem nur sehjr schwer, das heit mit sehr groer Iterationszahl losen. Abhilfe
schafft hier eine Idee, die wir nur kurz erwahnen, zu der es aber jede Menge
verschiedene effiziente Realisierungen gibt: Statt Ax = b zu losen, losen wir das
modifizierte Gleichungssystem
M Ax = M b
mit einer geeigneten invertierbaren Matrix M . Man nennt dieses Vorgehen Vorkonditionierung. Damit das gut funktioniert, muss
(1) Die Kondition von M A gut sein (ideal ware aus dieser Sicht M = A1 ),
(2) M leicht zu berechnen sein (ideal ware aus dieser Sich M = I).
Die Kunst der Vorkonditionierung besteht also darin, ein M zu finden, dass
gleichzeitig leicht zu berechnen ist und moglichst nah an A1 liegt.

Nichtlineare Gleichungssysteme

Wir hatten bisher Gleichungssysteme der Form Ax = b gelost, dabei ist A eine
Matrix und definiert somit eine lineare Abbildung also liegt es nahe, sich auch
nichtlineare Gleichungssysteme anzuschauen, die haben dann die Form
f (x) = 0 mit f : Rn Rn und f C 2 .
Wir suchen also die Nullstelle einer zweimal stetig differenzierbaren Funktion.
Auf der rechten Seite steht deshalb = 0, weil wir die rechte Seite (bisher das b)
in f mit rein packen k
onnen. F
ur unsere linearen Gleichungssysteme ware also
f (x) = Ax b.
Nichtlineare Gleichungssystemre lassen sich im Gegensatz zu den linearen
auch bei beliebig groer vef
ugbarer Rechenleistung nicht analytisch, also exakt l
osen. Wir sind daher wieder auf iterative approximative Losungsverfahren
ansgewiesen, die mit einer Startschatzung beginnen und diese immer weiter verbessern. Dabei soll wie bei den LGS gelten, dass die Schatzungen gegen das
exakte Ergebnis konvergieren:
lim xn = x mit f (x) = 0.

Bei LGS hatten wir ausschlielich lineare Konvergenz, d.h.


||x(i+1) x|| c ||x(i) x||
f
ur iterative L
oser f
ur nichtlineare Gleichungssysteme bekommen wir eine allgemeinere Form:
||x(i+1) x|| c ||x(i) x|| ,

wobei die Konvergenzordnung. F


ur = 1 sprechen wir von linearer Konvergenz. Wir werden Verfahren bis = 2 kennen lernen (quadratische Konvergenz).
115

Ein weitere Unterschied zur Konvergenz von linearen Losern besteht darin,
dass es f
ur nichtlineare Gleichungen Loser gibt, die nur lokal konvergieren,
das heit als Bedingung f
ur dier Konvergenz gegen die richtige Losung eine
Startsch
atzung x(0) erfordern, die bereits nah genugan der tatsachlichen Losung
x liegt. Es gibt jedoch auch Losungsverfahren, die global, also f
ur jede beliebig
dummeSStartsch
atzung konvergieren.

Aufgabe: Uberlegen
Sie, warum alle iterativen Losungsverfahren f
ur lineare
Gleichungssysteme, die wir kennen gelernt haben, global konvergieren.
Annahmen: Neben den oben eingef
uhrten Bedingungen f
ur f , vor allem der
zweimal stetigen Differenzierbarkeit, gehen wir im Folgenden immer davon aus,
dass wir f an jeder Stelle auswerten konnen und ggf. auch, dass wir f 0 (x) f
ur
jedes x Rn berechnen k
onnen.
Auerdem werden wir auer beim NewtonVerfahren nur den Fall n = 1
betrachten.

8.1

Bisektion

Bei der Bisektion brauchen wir erst mal Startwerte f (c(0) ) und f (d(0) ) mit
verschiedenen Vorzeichen, dann ist schon mal klar (weil wir gefordert hatten,
dass f stetig ist), dass eine Nullstelle zwischen c(0) und d(0) liegen muss.
In jedem Iterationsschritt werten wir f in der Mitte zwischen c(i) und d(i) ,
(i)
(i)
aus und setzen die Mitte und die Grenze, deren f -Wert
also bei e(i) := c +d
2
ein anderes Vorzeichen hat, als neue Grenzen:
c(i+1) := c(i) und d(i+1) := e(i) , falls f (c(i) ) f (e(i) ) < 0,

c(i+1) := e(i) und d(i+1) := d(i) , falls f (e(i) ) f (d(i) ) < 0.

Das Verfahren wird im folgenden Bild nochmal klarer (die Mitte ist durch t(i)
markiert, das Intervall auf das die Losung jeweils eingegrenzt ist, mit Ii ):
I3
I2
I1
I0
c(0)

t(0) t(2) t(1)

d(0)

Vorsicht: Die t(i) geben nicht die aktuelle Schatzung an, sondern eine der Grenzen des Intervalls, in dem die Losung liegen muss. Das hat auf der anderen Seite
den Vorteil, dass sich der Fehler ganz einfach durch die Intervalll
ange

 abschatzen
l
asst, da wir ja wissen, dass die gesuchte Nullstelle x in c(i) ; d(i) liegen muss.
Wir brechen unsere Iterationen daher bei gegebener Genauigkeitsschranke  ab,
wenn
d(i) c(i) < .


Konvergenz: Da sich die L
ange des Intervalls c(i) ; d(i) in jeder Iteration halbiert, erhalten wir trivialerweise globale lineare Konvergenz mit Konvergenzfaktor 12 :
116

|d(i+1) x|
|x c(i) |

|d(i+1) c(i+1) | =

1 (i)
|d c(i) |.
2

Regula Falsi. Die Regula Falsi ist eine Variante der Bisektion (konvergiert
allerdings oft noch langsamer). Dabei wird die Nullstelle der Sekante genutzt,
die durch c(i) und d(i) geht:

c(0)

e(1)

e(0)

d(0)

In Formeln:
c(i+1) = c(i) , d(i+1) = e(i) falls f (c(i) ) f (d(i) ) < 0,

c(i+1) = e(i) , d(i+1) = d(i) falls f (c(i) ) f (d(i) ) 0.

8.2

Sekantenmethode

Die Sekantenmethode sieht ganz ahnlich aus wie die Regula Falsi, aber sie unterscheidet sich darin, dass die Startwerte beliebig sind, d.h. sie m
ussen insbesondere keine unterschiedlichen Vorzeichen haben, auerdem nutzt die Sekantenmethode einen Wert immer genau zwei Mal, wahrend bei der Regula Falsi
ein Wert
ofter genutzt werden kann.
Genauer ausgedr
uckt bildet diese Methode die Sekante s durch die beiden
zu den letzten beiden Iterationen gehorigen Punkte




x(i1 ); f (x(i1) ) und x(i) ; f (x(i) ) .
Von dieser wird die Nullstelle bestimmt, was die nachste Iterierte x(i+1) liefert:
f (x(i) ) f (x(i1) )
(x x(i) ),
x(i) x(i1)
f (x(i) ) f (x(i1) )
0 = s(x(i+1) ) = f (x(i) ) +
(x(i+1) x(i) ),
x(i) x(i1)
x(i) x(i1)
x(i+1) = x(i) f (x(i) )
.
f (x(i) ) f (x(i1) )
s(x)

= f (x(i) ) +

Konvergenz: Dieses Verfahren konvergiert nur lokal. Lokale Konvergenz bedeutet, dass der Startwert nahe genug15 an der tatsachlichen Nullstelle liegen
muss. Ist das nicht der Fall, so kann es z.B. sein, dass lokal konvergente Verfahren bei ung
unstigen Funktionen bzw. Startwerten divergieren oder Zyklen
bilden. Vorteil des Sekantenverfahrens gegen
uber der Bisektion ist die hohere
Konvergenzordnung:
15 Was

||x(i+1) x || c ||x(i) x || mit 1.618


nahe genug ist, h
angt nat
urlich von f ab.

117

x(0)

x(1)

x(3)

x(2)

Aufgabe: Zeichnen Sie ein Beispiel, f


ur das die Sekantenmethode nicht konvergiert.

8.3

NewtonVerfahren in einer Variablen

Das NewtonVerfahren beginnt mit nur einer Nullstellenschatzung x(0) und


nutzt statt der Sekante wie oben die Tangente t der jeweils aktuellen Approximation. Deren Nullstelle ergibt die jeweils die nachste Iterierte. Wir erhalten
f
ur t folgende Formel:



 

t(x) = f x(i) + f 0 x(i) x x(i) .
x(i+1) ergibt sich damit aus
t(x(i+1) ) = 0 x(i+1) = x(i)

f (x(i) )
.
f 0 (x(i) )

Konvergenz: Auch das NewtonVerfahren konvergiert nur lokal, allerdings mit


noch besser Ordnung, n
amlich mit = 2, also quadratisch.

x(0)

x(2)x(3)

x(1)

Ein Beispiel f
ur so einen Zyklus, also einen nicht-konvergenten Fall beim
NewtonVerfahren zeigt das folgende Bild:

118

Oszilation des Newton-Verfahrens zwischen 0 und 1 f


ur die Funktion
x3 2x + 2 (en.wikipedia.org).
Bemerkung: Vergleicht man das Newton-Verrfahren mit dem Sekanten-Verfahren,
so scheint das Newton-Verfahren zunachst aufgrund seiner besseren Konvergenzordnung deutlich u
berlegen zu sein. Allerdings ist ein Schritt des NewtonVerfahrens deutlich teurer als ein Schritt des Seklantenverfahrens, da zusatzlich
zur Auswertung der Funktion f an jeder Iterierten x(i) auch noch die Ableitung f 0 (x(i) ) bestimmt werden muss. Je nachdem, wie teuer f 0 ist und ob es
u
ugbar ist, ist die Sekantenmethode daher durchaus
berhaupt analytisch verf
konkurrenzf
ahig.

8.4

NewtonVerfahren in mehreren Variablen

In mehreren Dimensionen, also f


ur ein
F : Rn R mit n > 1
funktioniert das Newton-Verfahren im Wesentlichen gleich:





 

t x(i+1)
= F x(i) + F 0 x(i) x(i+1) x(i) mit


Fk (i)
0 (i)
(x )
(Jacobi-Matrix)
F (x ) =
xj
k,j=1,...,n

1


x(i+1) = x(i) F 0 (x(i) )
F x(i) .
Das Problem dabei ist, dass die Bestimmung der JacobiMatrix (F 0 ) in jedem Schritt sehr teuer ist sie hat O(n2 ) Eintrage und invertieren m
ussen wir
sie auch noch, das kostet f
ur eine exakte Losung O(n3 ).
Algorithmisch sieht das dann so aus:
(1) berechne F 0 (x(i) )
(2) l
ose F 0 (x(i) ) 4x = F (x(i) )

(3) aktualisiere x(i) = x(i) + 4x

(4) werte F (x(i) ) aus

Dabei will man (1) und (2) moglichst g


unstig haben, daf
ur gibt es folgende
Ans
atze:
Newtonchord Hier rechnen wir F 0 nur an einer einzigen Stelle aus, namlich
am Startwert x(0) , das setzt allerdings voraus, dass x(0) sehr nah an der exakten
L
osung ist, sonst kommt Mist raus.
Shamanskii Hier nutzen wir F 0 (x(i) ) nicht nur f
ur einen Schritt, sondern f
ur
mehrere der Vorteil ist ein verringerter Aufwand, aber wir m
ussen mit unserem
Startwert nicht mehr ganz so gut raten.

119

Broyden Das BroydenVerfahren versucht ebenfalls, F 0 (x(i) ) zu approximieren, funktioniert im Gegensatz zu den obigen Varianten aber selbst dann, wenn
wir F 0 gar nicht kennen. In dem Fall starten wir zum Beispiel mit der Anfangssch
atzung
F 0 = I =: B0
und verbessern diese in jeder Iteration (Annaherung f
ur F 0 (x(i) ) wird hier als
Bi bezeichnet):
F 0 (x(i) ) Bi = Bi1 +

F (x(i) ) sT
, s := x(i) x(i1) .
sT s

s ist also das letzte Update f


ur x. Es gibt auerdem eine Formel, mit der direkt
die Matrix Bi1 (denn die interessiert uns ja eigentlich) berechnet werden kann:



(i)
)
1
sT
Bi1
Fs(x
T s
1
Bi1
.
Bi1 = 1
F (x(i) )
1
T
1 + s Bi1 sT s
Neben dem Broyden-Verfahren gibt es zahlreiche weitere Methoden, die unbekannte Jacobi-Matrix F 0 zu schatzen. Die resultierenden Newton-Verfahren
werden als quasi-Newton Verfahren bezeichnet.
Inexaktes NewtonVerfahren Das Gleichungssystem aus (2) nicht exakt,
sondern nur approximativ mit Hilfe einer der iterativen Methoden f
ur lineare
Gleichungssysteme gel
ost.

120

Teil II

Stochastik
9

Motivation und Grundlagen

Stochastische Fragestellungen spielen in der Realitat sehr haufig eine wichtige


Rolle. Obwohl sichere Vorhersagen in solchen Fallen naturgema nicht moglich
sind, hilft uns die Stoachstik weiter, zumindest Aussagen u
ber zu Wahrscheinlichkeiten, Erwartungswerte, Streubreite der Ergebnisee, . . . zu treffen, beispielsweise f
ur folgende Fragen:
Wie hoch ist die Wahrscheinlichkeit, die Klausur zu bestehen,
wenn ich nicht hingehe?

wenn ich hingehe, aber nichts hinschreibe?

wenn ich hingehe, vorher aber nichts lerne?

wenn ich hingehe und alles perfekt vorbereitet und gelernt habe?

wenn ich hingehe und zufallig ausgewahlte Inhalte aus dem Skrtipt hinschreibe?
wenn ich hingehe und die Aufgaben vorher kenne?
wenn ich hingehe und die Losungen vorher kenne?

wenn ich hingehe und Losungen auswendig kenne?

9.1
9.1.1

Begriffe und Beispiele


Wahrscheinlichkeitstheorie

Die Wahrscheinlichkeitstheorie ist ein Teilgebiet der Mathematik und stellt Methoden zur Verf
ugung, um zufallige Ereignisse formal zu untersuchen. Eine typische Fragestllung lautet: Wenn wir annehmen, dass die Welt auf bestimmte
Art beschaffen ist, was k
onnen wir dann u
ber den Ausgang eines Zufallsexperiments vorhersagen? Zum Beispiel: Wenn die Wahrscheinlichkeit aller Ergebnisse
(1, 2, 3, 4, 5, 6) beim W
urfel gleich hoch ist, wie gro ist dann die Wahrscheinlichkeit, mindestens eine 3 zu w
urfeln?
9.1.2

Mathematische Statistik

Die mathematische Startistik ist trotz ihres Namens nicht ganz so eng mit der
Mathematik verbunden. Deskriptive Statistik beschaftigt sich mit der Darstellung groer Datenmengen, induktive Statistik dagegen mit der Frage, welche
Schlussfolgerungen wir aus gemessenen Daten f
ur die zugrundeliegenden Eigenschaften der entsprechenden Variablen ziehen konnen. Eine typische statistische
Fragestellung: Kann man aus vorhandenen Messergebnissen auf die Existenz der
Higgs Bosons schlieen oder nicht? Wie hoch ist die Wahrwcheinlichkeit, dass
unsere Schliussfolgerung falsch ist?
121

9.1.3

Stochastik

Der Begriff der Stochastik wird teilweise als Synonym f


ur Wahrscheinlichkeits
theorie, teilweise als Uberbegriff
f
ur Whrscheinlichkeitstheorie und Statistik verwendet.
9.1.4

Beispiele

Wir wollen hier einf


uhrend ein paar Bespiele f
ur stochastische Phanomene nennen:
(1) Jeder kennt folgende simple Beispiel: Werfen einer M
unze, W
urfeln, Lotto,
Black-Jack, . . .
(2) Oft wird der Zufall bewusst erzeugt, zum Beispiel bei der bewusst zufalligen
Auswahl eines Elements aus einer Menge, zum Beispiel der Suchrichtung
eines Minimierungsverfahrens, um das Steckenbleiben in lokalen Minima
zu verhindern. In gewisser Weise ist das das zugrunde liegende Prinzip der
Evolution.
(3) Oft haben wir es nicht mit Zufall im eigentlichen Sinn zu tun, sonern mikt
Unsicherheiten. Das ist der Fall, wenn wir es mit einem deterministischen
Prozess zu tun haben, aber nicht alle Daten genau kenne. Prominentestes
Beispiel hierf
ur ist die Wettervorhersage.
(4) Laufzeitanalyse von Computerprogrammen: Je nach aktuellem (zuufalligen)
Zustand des Systems erhaklten wir in der Regel abweichende Werte. Je
nach Zweck verwenden wir daven den besten Fall (f
ur Werbezwecke), den
schlechtesten Fall (f
ur die Analyse von Bottlenecks) oder den Mittelwert
(der praktische Ansatz).
(5) Ein weiteres Bespiel ist die Verf
ugbarkeit von Servern oder Netzwerken.

9.2

Wahrscheinlichkeitsr
aume

F
ur den formalen Umgang mit Zufall definieren wir einige Begriffe, die wir
immer wieder brauchen werden:
9.2.1

Zufallssituation

Eine Zufallssituation ist ein theoretisches Konstrukt, das im Wesentlichen dadurch charakterisiert ist, dass ein Zufallsexperiment mit folgenden Eigenschaften
geplant ist:
Das Ergebnis ist unbekannt,

das Ergebnis ist nicht vorhersagbar,

es ist beliebig oft unter identischen Bedingungen wiederholbar.

122

9.2.2

Zufallsexperiment

Ein Zufallsexperiment ist die konkrete Umsetzung einer Zufallssituation, charakterisiert durch die Menge aller 16 moglichen Ergebnisse. Zum Beispiel ware
bei einem einmaligen W
urfeln mit einem sechsseitigen W
urfel
= {1, 2, 3, 4, 5, 6},

beim Werfen einer M


unze

= {Kopf, Zahl},

bei der Messung der Uptime eines Supercomputers


= { R : 0},

bei der Frage nach der korrekten Funktionweise eines aus n Komponenten
bestehenden technischen Gerats
= {(1 , 2 , . . . , n ) : i {intakt, defekt}, i = 1, 2, . . . , n}.
9.2.3

Ereignisse

Ein Ereignis ist eine Untermenge von , das heit eine Menge moglicher Ergebnissen eines Zufallsexperiments, beim W
urfeln ware das zum Beispiel gerade
Zahl mit der zugeh
origen Untermenge {2, 4, 6}.
F
ur solcher Ereignisse A konnen unter anderem folgende Spezialfalle
auftreten:
A = , das unm
ogliche Ereignis,

A = , das sichere Ereignis,

A = ist ein Elementarereignis,

A, B mit A B = sind zwei sich ausschlieende Ereignisse.


9.2.4

Wahrscheinlichkeiten

Besch
aftigen wir uns mit zufalligen Ereignissen, so interssieren wir uns in der
Regel f
ur die Wahrscheinlichkeit des Eintretens eines Ereignisses A . Diese
ist gegeben durch eine Abbildung
p : A [0, 1] mit p() = 0 und p() = 1.

Dabei ist A eine Algebra aller Ereignisse, also eine Untermege der Potenzmenge
P() von mit folgenden Eigenschaften:
[
A, B A A B A und
Ai = .
Ai

Die Kolomogorov-Axiome. Eine Wahrscheinlichkeitsasbbildung p muss folgenden Anforderungen gen


ugen (KolmogorowAxiome):
16 Wirklich

alle es darf kein Ergebnis geben, das nicht in liegt.

123

Positivit
at: p(A) 0 A A
Normalit
at: p() = 1

Additivit
at: Wenn in disjunkte Ereignisse zerlegt wird, konnen die Wahrscheinlichkeiten einfach addiert werden:
!

[
X
Ai Aj = , i 6= j = p
Ai =
p(Ai )
i=1

i=1

Dass hier bis vereinigt bzw. summiert wird, kommt daher, dass unendlich gro
sein darf wenn nur endlich gro ist, dann funktioniert die Formel trotzdem, weil
dann nur die ersten N der Ai nichtleer sind alle weiteren Ai sind dann leer und
andern wegen p() = 0 nichts am Wahrheitswert der Formel.

Aus der Additivit


at folgt sofort, dass f
ur das Gegenereignis A = \ A gilt:
p(A) = 1 p(A).

9.2.5

Wahrscheinlichkeitsr
aume

Mit den oben eingef


uhrten Begriffen konnen wir nun einen Wahrscheinlichkeitsraum definieren: Ein Wahrscheinlichkeitsraum ist das Tripel (, A, p) aus Ergebnisraum , Ereignisalgebra A und Wahrscheinlichkeitsabbildung p.

9.3
9.3.1

LaplaceExperimente und Kombinatorik


LaplaceExperimente

Ein Klasse von Beispielen f


ur Wahrscheinlichkeitsraume sind die Laplace
Experimente. Im Falle eines LaplaceExperiments sind alle Elementarereignisse genau gleich wahrscheinlich und es gibt nur endlich viele davon (wie zum
Beispiel) bei einem fairen W
urfel), das heit wir konnen folgendes festhalten17 :

{1 , 2 , ..., N }
1
p(i ) =
N
M
A = {i1 , i2 , ..., iM } p(A) =
N
Beispiel 1: zweimaliges Wu
rfeln. Wir wollen uns als erstes Beispiel anschauen, was beim W
urfeln mit 2 W
urfeln moglich ist. Uns interessiert zunachst, wie
gro die Wahrscheinlichkeit daf
ur ist, dass die Summe aus beiden W
urfen 2
bzw. 7 ist. Daf
ur betrachten wir folgende Tabelle, die jeweils die Summe der
Augenzahl f
ur jede m
ogliche Kombination von Augenzahlen der beiden W
urfe
angibt:
1./2. Wurf
1
2
3
4
5
6

1
2
3
4
5
6
7

2
3
4
5
6
7
8

3
4
5
6
7
8
9

4
5
6
7
8
9
10

5
6
7
8
9
10
11

6
7
8
9
10
11
12

17 Ab hier werde ich mir die Mengenklammern sparen, wenn klar ist, worum es geht, also
z.B. p(i ) statt wie es eigentlich korrekt w
are p({i })

124

Es ist (bei einem fairen W


urfel) klar, dass jedes Element der Tabelle genau
1
ist. Damit haben wir implizit auch schon
gleich wahrscheinlich p() = 36
definiert:
= {(1, 1), (1, 2), ..., (1, 6), (2, 1), ..., (6, 6)}.
Wir k
onnen nun durch einfaches Zahlen die Wahrscheinlichkeit der Ereignisse
Summe gleich zwei und Summe gleich sieben bestimmen:
p(

= 7)

= p({(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)}) =

p(

= 2)

= p({(1, 1)}) =

1
.
36

6
1
= ,
36
6

Wenn wir jetzt annehmen, dass wir das Ergebnis des ersten Wurfs bereits kennen, erhalten wir ein anderes Bild:
P
= 7) = 16 , dagegen
PWar das Ergebnis des ersten Wurfs 6, dann ist p(
p( = 2) = 0, das k
onnen wir auch aus der Tabelle ablesen, indem wir nur die
letzte Zeile betrachten.
P
War das Ergebnis
Wurfs dagegen 1, dann ist p( = 7) = 16 unP des ersten
1
ver
andert, aber p( = 2) = 6 .
Beispiel 2: Das Ziegenproblem. Das zweite Beispiel ist ein wenig komplexer,
beruht aber auf denselben Ideen: Sie nehmen an einer Fernsehshow teil, bei der
Sie eine von drei geschlossenen T
uren auswahlen m
ussen. Hinter einer der T
uren
steht als Preis ein Sportwagen. Hinter den anderen beiden T
uren wartet je eine
Ziege.
Sie zeigen nun auf eine der T
uren. Der allwissende Moderator offnet jedoch
eine der anderen beiden T
uren mit den Worten Ich zeige Ihnen etwas.SSie sehen
eine meckernde Ziege. Der Moderator fragt Sie nun, ob Sie bei Ihrer Wahl der
T
ur bleiben oder auf die andere noch geschlossene T
ur wechseln wollen. Was
tun Sie?
Um herauszufinden, ob unsere Chance auf den Sportwagen steigt, wenn wir
unsere Auswahl
andern, malen wir wieder eine Tabelle mit allen Moglichkeiten:
erste Wahl
(je 13
Wahrscheinlichkeit)
Auto
Ziege 1
Ziege 2

Moderator
offnet

(mit
Wahrscheinlichkeit
1)
Ziege 1 oder
Ziege 2
Ziege 2
Ziege 1

bei Wechsel

ohne Wechsel

Ziege

Auto

Auto
Auto

Ziege
Ziege

Wir gewinnen also mit Wahrscheinlichkeit 23 den Sportwagen, wenn wir unsere Wahl
andern, da dies zwei von drei gleich wahrscheinlichen Moglichkeiten

entspricht, w
ahrend dem Fall ohne Anderung
der Wahl nur eine dieser drei
M
oglichkeiten entspricht. Mehr Details zu diesem Beispiel gibt es auf Wikipedia (Ziegenproblem).

125

9.3.2

Kombinatorik

F
ur LaplaceExperimente k
onnen wir wie in den Beispielen gezeigt Wahrscheinlichkeiten durch einfaches Abzahlen bestimmen. Da das Abzahlen aber nicht
immer sop einfach ist wire in den beiden Beispielen, ist die Kombinatorik oft
ein sehr hilfreiches Hilfsmittel. Das bekannteste Beispieklproblem aus der Kombinatorik: W
ahle k n Elemente aus einer Menge mit insgesamt n Elementen.
Wie viele M
oglichkeiten gibt es?
Um diese Frage beantworten zu konnen, m
ussen wir vier Falle unterscheiden:
(1) W
ahle k aus n mit Wiederholung und unter Beachtung der Reihenfolge, dann gibt es
nk
M
oglichkeiten, da wir f
ur jedes Element wieder n Moglichkeiten haben.
Beispiel: W
ahle eine 6stellige Zahl im 10er System.
k elements

n possibilities

(2) W
ahle k aus n ohne Wiederholung und unter Beachtung der Reihenfolge:
Beispiel:

www.shutterstock.com

F
unf Personen kaufen in einem Schuhladen je ein paar Schuhe (wir nehmen
mal an, dass allen dieselbe Groe passt).
Der Laden bietet 100 Paar verschiedene Schuhe an Jedes Paar ist nur einmal
verf
ugbar. Auf wieviele verschiedene Arten konnen die f
unft Kunden jeweils ein
paar Schuhe auswahlen?
100 99 98 97 96 =

100!
.
95!

Im allgemeinen Fall gibt es entsprechend


nk
M
oglichkeiten, wobei nk die fallende Faktorielle ist, die wie folgt definiert
ist:
k1
Y
n!
(n i) =
.
nk :=
(n

k)!
i=0
k elements
n

n-2
n-k+1
possibilities

126

(3) W
ahle k aus n ohne Wiederholung und ohne die Reihenfolge zu
beachten.
Beispiel:
Wir nehmen un an, dass nur Frau
Meier im oben genannten Schuhladen einkauft. Wieviele verschiedene
Moglichkeiten hat Frau Meier, aus
den 100 verf
ugbaren Paaren f
unf auszuwahlen?
www.shutterstock.com

100 99 98 97 96
.
54321

Im allgemeinen Fall gibt es also

 
n
n!
:=
(n k)!k!
k

M
oglichkeiten, da von den Moglichkeiten aus Fall 2) jeweils k! durch den
Wegfall der Beachtung der Reihenfolge als gleich betrachtet werden.

Weiteres Beispiel: Lottoziehung (ohne Superzahl o.a.) 49
6 = 13.983.816.
(4) W
ahle k aus n mit Wiederholung und ohne die Reihenfolge zu
beachten.
Beispiel:
Ein Maler mischt Farben aus den drei Grundfarben
blau, gelb und rot. Dazu ben
utzt er 10 Portionen Farbe. Wie viele verschiedene Farben kann er so herstellen?
localpainters.ca

Die Anzahl der M


oglichkeiten konnen wir uns veranschaulichen, wenn wir
die Farbmischung in einem Feld kodieren. Das tun wir, indem wir zuerst
f
ur jeden blauen Anteil eine 1 schreiben, dann eine 0 als Trennzeichen,
dann f
ur jeden roten Anteil eine 1 und nach einer weiteren 0 f
ur alle
gelben Anteile je eine 1, das sieht dann z.B. so aus:
1 1 0 1 1 1 1 1 0 1 1 1
| {z } |
{z
} | {z }
blau

rot

gelb

Was wir darin verschieben konnen, sind die Nullen, also die Trennstellen zwischen den Anteilen. Davon gibt es 2 (im allgemeinen Fall n 1).
127

Zus
atzlich brauchen wir im Feld noch Platz f
ur die k Elemente, die wir
w
ahlen wollen. Das Feld hat also die Lange k + (n 1), in diesem Feld
k
onnen wir die Trennstellen wahlen, wie wir wollen ohne Wiederholung
und ohne Beachtung der Reihenfolge, daf
ur kennen wir mit dem Binominalkoeffizienten schon eine Formel, der Rest ist Einsetzen. Der Maler hat
kann also
 
12
10
verschiedene Farben mischen.
Im allgemeinen Fall gibt es entsprechend
ten.

9.4
9.4.1

k+n1
n1

k+n1
k

Moglichkei-

Rechnen mit Wahrscheinlichkeiten


Bedingte Wahrscheinlichkeiten

Ein Beispiel f
ur bedingte Wahrscheinlichkeiten haben wir beim zweimaligen
W
urfeln kennen gelernt, jetzt wollen wir die bedingte Wahrscheinlichkeit noch
formal definieren:
p(A B)
p(A|B) :=
, p(B) > 0
p(B)
Man sagt A unter der Bedingung B, also die Wahrscheinlichkeit, dass A eintritt, wenn B bereits eingetreten ist. Im Gegensatz dazu wird die normale
unbedingte Wahrscheinlichkeit auch als totale Wahrscheinlichkeit bezeichnet.
Jetzt k
onnen wir nochmal einen kurzen Blick auf das W
urfelbeispiel werfen,
bei dem wir davon ausgegangen sind, dass der erste Wurf eine 6 war, dann sind
mit der Notation aus der Definition:
A = {(1, 1)}, B = {(6, 1), (6, 2), ..., (6, 6)} p(A|B) =

p()
1
6

=0

Damit bekommen wir noch folgende Rechenregeln dazu:

9.4.2

p(A|A)

p(A|B)

p(A B|C)

1 p(A|B)

p(A|C) + p(B|C) p(A B|C)

Stochastische Unabh
angigkeit

Zwei Eregnisse A, B A heien stoachstisch unabhangig, falls


p(A B) = p(A) p(B).
In diesem Fall gilt offensichtlich
p(A|B) = P (A) und p(B|A) = p(B).
Die Ereignisse haben also in diesem Sinne keinen Einfluss aufeinander.
128

Ein gutes Beispiel daf


ur haben wir oben schon kurz erwahnt: Wir betrachten
ein technisches Ger
at, das aus zwei Teilen T1 und T2 besteht, die unabhangig
voneinander ausfallen k
onnen. Wir wissen, dass Teil Ti mit der Wahrscheinlichkeit p(Ai ) = pi funktioniert. Wir wollen daraus die Wahrscheinlichkeit berechnen, dass das gesamte Gerat funktioniert. Wir m
ussen dabei zwei Falle
unterscheiden:
Bei serieller Schaltung der beiden Teile m
ussen beide korrekt funkitionieren, wir erhalten also
p(A1 A2 ) = p(A1 ) p(A2 ) = p1 p2 .
Bei paralleler Schaltung der beiden Teile (Redundanz) muss mindestens
eines korrekt funktionieren. Wir erhalten also
p(A1 A2 )

= 1 p(A1 A2 ) 1 p(A1 A2 ) = 1 p(A1 ) p(A2 )


= 1 (1 p1 )(1 p2 ).

Untersuchen wir die stochastische Unabhangigkeit von mehr als zwei Ereignissen, f
uhrt das auf den zusatzlichen Begriff der totalen stochastischen
Unabh
angigkeit:
Totale stochastische Unabh
angigkeit. Ereignisse Ai , i I heien total stochastisch unabh
angig, wenn f
ur alle Indexmengen J I gilt
!
\
Y
p
Ai =
p(Ai ).
iJ

iJ

Um zu zeigen, dass totale stochastische Unabhangigkeit nicht dassselbe ist


wie paar weise stochastische Unabhangigkeit, betrachten wir nochmal das Beispiel des zweimaligen W
urfelns und folgende Ereignisse:
Eregnis A: gerade Zahl beim ersten Wurf, p(A) = 21 ,

Ereignis B: gerade Zahl beim zweiten Wurf, p(B) = 12 ,


Ereignis C: Summe 7, p(C) = 16 .

Aus der Tabelle k


onnen wir durch abzahlen bestimmen:
p(A B)

p(B C)

P (A C)

9
1
= A und B sind voneinander unabhangig,
36
4
3
1
=
B und C sind voneinander unabhangig,
36
12
3
1
=
A und C sind voneinander unabhangig.
36
12

Die Eregnisse A, B, und C sind also paarweise stochastisch unabhangig, aber


p(A B C) = 0 6= p(A B) p(C).

Also sind die Ereignisse A, B und C nicht total stochastisch unabhangig.


Das Beispiel zeigt, dass die totale stochastische Unabhangigkeit ein starkerer
Begrif ist als die paarweise Unabhangigkeit.
129

Neben den oben schon eingef


uhrten Kolmogorov-Axiomen und den simplen
daraus abgeleiteten Regeln f
ur totale und bedingte Wahrscheinlichkeiten gibt es
einige wichtige (ebenfalls) abgeleitete Satze, die den Umgang mit Wahrscheinlichkeiten und das Rechnen mit diesen erleichtern18
9.4.3

Die Siebformel von Poincar


e und Sylvester.

Auch f
ur die Wahrscheinlichkeit der Vereinigung mehrerer Mengen gibt es eine
Formel, die sogenannte
Siebformel. F
ur gegebene Ereignisse Ai A mit i = 1, 2, . . . , n gilt
!
!
n
n
[
\
X
X
k+1
p
Ai =
p
Ai .
(1)
i=1

k=1

I {1, 2, . . . , n}
|I| = k

iI

Die Herkunft und G


ultigkeit dieser Formel lasst sich am Beispiel einfach
verstehen. Dazu betrachten wir wieder das Beispiel des zweimaligen W
urfelns
mit der Ergebnismenge
= {(i, j) : i, j {1, 2, 3, 4, 5, 6}}
und die Ereignisse gerade Summe (A1 ), beim ersten Wurf eine 6 (A2 ) und
beim zweiten Wurf mindestens eine 5 (A3 ), also
A1

A2

A3

{(1, 1), (1, 3), (1, 5), (2, 2), (2, 4), (2, 6), (3, 1), (3, 3), (3, 5), (4, 2),
(4, 4), (4, 6), (5, 1), (5, 3), (5, 5), (6, 2), (6, 4), (6, 6)},
{(6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)},

{(1, 5), (1, 6), (2, 5), (2, 6), (3, 5), (3, 6), (4, 5), (4, 6), (5, 5), (5, 6),
(6, 5), (6, 6)}.

Die Wahrscheinlichkeit f
ur A1 A2 A3 erhalten wir, indem wir die Anzahl der
Elementarereignisse in A1 , A2 und A3 aufaddieren (entspricht
36(p(A1 ) + p(A2 ) + p(A3 ))),
dann die zuviel gez
ahlten Elemente wieder heraussieben, indem wir die Anzahl
der Elemente abziehen, die in A1 A2 , A1 A3 oder A2 A3 enthalten sind
(entspricht
36(p(A1 A2 ) + p(A1 A3 ) + p(A2 A3 )),

und schlielich die dabei doppelt abgezogenen, also die in allen drei Mengen
(A1 A2 A3 ) enthaltenen Elemente wieder addieren (entspricht
36p(A1 A2 A3 ))
und das Ergebnis durch die Machtigkeit von , also 36 teilen.
18 Nat
urlich l
asst sich im Prinzip alles aus den Kolmogorov-Axiomen und der Definition der
bedingten Wahrscheinlichkeit ableiten.

130

Wegen
A1 A2

{(6, 2), (6, 4), (6, 6)},

A2 A3

= {(6, 5), (6, 6)},

= {(1, 5), (2, 6), (3, 5), (4, 6), (5, 5), (6, 6)},

A1 A3

A1 A2 A3

{(6, 6)}

haben wir somit


p(A1 A2 A3 ) =

1
13
(18 + 6 + 12 3 6 2 + 1) =
.
36
18

Formal beweisen l
asst sich die Siebformel aus der einfachen Regel
p(A1 A2 ) = p(A1 ) + p(A2 \ (A1 A2 )) = p(A1 ) + p(A2 ) p(A1 A2 ),
die sich direkt aus dem Additivitatsaxiom ergibt und dem Fall n = 1 entspricht
und dem Induktionsschritt
!
!
!
n
n1
[
[
p
Ai
= p
Ai An
i=1

i=1

n1
[

!
Ai

i=1

n1
X

+ p(An ) p

n1
[
i=1

p(An ) +

k=1

9.4.4

I {1, 2, . . . , n 1}
|I| = k
!

Ai

+ p(An )

iI

(Ai An )
n1
X

(1)

(1)

k+1

I {1, 2, . . . , n 1}
|I| = k
X

k+1

k=1

n
X

!
An

Ai

i=1

k=1

n1
X

(1)k+1

k=1

n1
[

I {1, 2, . . . , n 1}
|I| = k

(1)k+1

X
I {1, 2, . . . , n}
|I| = k

Ai

iI

!
\

iI

Ai

!
An

!
Ai

iI

Der Multiplikationssatz

Aus der Definition der bedingten Wahrscheinlichkeit erhalten wir unmittelbar


die Multiplikationsregel
p(B|A)p(A) = p(A B) = p(A|B)p(B).
131

Als Anwendungsbeispiel stellen wir uns vor, dass 70% eines Studentenjahrgangs die Klausur in Informatik mit der Note 3 oder besser bestehen. Unter
diesen Studenten haben 25% die Note 1 oder 2. Wie gro ist die Wahrscheinlichkeit, dass ein beliebiger Student die Klausur mit der Note 1 oder 2 besteht?
Um diese Frage zu beantworten, betrachten wir als Experiment einen beliebigen Studenten, den wir zur Klausur schicken und definieren uns zunachst
die beiden Ereignisse, die wir brauchen:
Ereignis A: Der Student besteht die Klausur mit der Note 1 oder 2.

Ereignis B: Der Student besteht die Klausur mit Note 3 oder besser, also
mit Note 1, 2 oder 3.
A B, also erhalten wir
p(A) = p(A B) = p(A|B)p(B) = 0.25 0.7 = 0.175.
Wenden wir die Multiplikationsregel auf mehr als zwei Teilmengen rekursiv
an, so erhalten wir den
Multipilikationssatz.
F
ur gegebene Ereignisse Ai A mit i = 1, 2, . . . , n und
Tn
p ( i=1 Ai ) > 0 gilt
n1 !
!
n
\
\

p
Ai = p(A1 )p(A2 |A1 )p(A3 |A1 A2 ) p An
Ai .

i=1

i=1

Dieser Satz l
asst sich ganz leicht durch Induktion mit Hilfe der Multiplikationsregel beweisen:
n=2:
n1n:

Multiplikationsregel
!
!
!
n
n1
\
\
\
p
Ai = p
Ai
An =
i=1

n1
\
i=1

i=1

!
Ai

n1 !
\

p An
Ai =

i=1


!
n1
\
(p(A1 )p(A2 |A1 )p(A3 |A1 A2 ) ) p An
Ai . 

i=1

Der Multiplikationssatz sieht nicht sehr n


utzlich aus, aber es lohnt sich, kurz
dar
uber nachzudenken, was die zugehorige Gleichung bedeutet.
Beispiel: Das Geburtstagsexperiment. Das Geburtstagsexperiment ist ein
recht bekanntes Zufallsexperiment mit einem auf den ersten Blick verwirrenden
Ergebnis. Gefragt ist die Wahrscheinlichkeit, dass unter m Personen mindestens
zwei am selben Tag Geburtstag haben. Dabei nehmen wir (stark vereinfachend!)
an, dass jeder Tag gleich wahrscheinlich ist (LaplaceExperiment) und dass ein
Jahr exakt 365 Tage hat.

132

Ein Elementarereignis ist dann ein mTupel, in dem die Geburtstage der
einzelnen Personen stehen, man kann sich das vorstellen wie eine mstellige
Zahl, bei der jede Stelle 365 Werte annehmen kann, es ist also19 || = 365m .
Wir k
onnen nun berechnen, mit welcher Wahrscheinlichkeit mindestens zwei
Personen am selben Tag Geburtstag haben, indem wir das Gegenereignis (A)
betrachten. Dabei k
onnen wir A semantisch so interpretieren, dass jeder an
einem anderen Tag Geburtstag hat, wir wahlen also m Geburtstage ohne Wiederholung (sonst h
atten zwei Personen am selben Tag) und unter Beachtung
der Reihenfolge (weil die Personen unterscheidbar sind), folglich nutzen wir die
365!
.
Formel mit der fallenden Faktoriellen von oben und erhalten |A| = (365m)!
Dann ist die Wahrscheinlichkeit, dass zwei Personen am selben Tag Geburtstag haben
365!
p(A) = 1 p(A) = 1
(365 m)! 365m
Bevor wir uns die Ergebnisse anschauen, formen wir die rechte Seite der Gleichung noch etwas um:
= 1

365
365
p(A1 )

364
365
p(A2 |A1 )

Das ist gerade der Multiplikationssatz.


Jetzt die versprochenen Ergebnisse:
1
0.8
0.6
0.4
0.2

365m+1
365
p(Am | m
i=1 Ai )

p(A)

5 10 15 20 25 30 35 40 45 50

Das Ergebnis erstaunt, weil die meisten Menschen intuitiv nicht davon ausgehen,
dass es nur 23 Personen braucht, um eine Wahrscheinlichkeit von 50% zu erreichen. Deshalb wird dieses Experiment manchmal auch Geburtstagsparadoxon
genannt.
9.4.5

Die totale Wahrscheinlichkeit

Wenn wir nur bedingte Wahrscheinlichkeiten kennen, konnen wir, wie wir oben
am Beispiel mit der Informatikklausur gesehen haben, trotzdem die totale Wahrscheinlichkeit von Ereignissen berechnen:
F
ur eine disjunkte Zerlegung Bi , i = 1, 2, von , also
i Bi = und Bi Bj = f
ur alle i 6= j
und ein beliebiges Ereignis A A ergibt sich die totale Wahrscheinlicht von A
aus

X
X
p(A) =
p(A|Bi ) p(Bi ) =
p(A Bi ).
i=1

i=1

19 Prof. Mehl schreibt f


ur die M
achtigkeit einer Menge #, ich werde aber bei der ||
Schreibweise bleiben.

133

F
ur endliche Partitionierungen lasst sich auch dieser Satz wieder ganz einfach
mittels Induktion und der Definition der bedingten Wahrscheinlichkeit beweisen.
Wir betrachten hier ein weiteres Beispiel, entnommen aus der Pannenstatistik des ADAC. Demnach sind
in 50% der F
alle Probleme mit der Z
undung (Ereignis I),

in 30% der F
alle Probleme mit der Benzinzufuhr (Ereignis F ),

in 20% der F
alle anfdere Gr
unde

verantwortlich f
ur eine Ausfall des Motors.
Direkt vor Ort k
onnen behoben werden:
50% der Probleme mit der Z
undung,

30% der Probleme mit der Benzinzufuhr,


5% der sonstigen Probleme.

Wir stellen uns dazu zwei Fragen:


(1) In wieviel Prozent der F
alle mit Motorausfall konnen die Probleme direkt
vor Ort behoben werde?
(2) Wie hoch ist jeweils die Wahrscheinlichkeit f
ur jeden der drei Problemtypen, falls das Problem direkt vor Ort behoben werden kann?
Um die Fragen zu beantworten, geben wir zunachst mal noch dem Fall einen
Namen, in dem ein Problem direkt vor Ort behoben werden kann: Wir bezeichnen ihn als das Ereignis R. Damit konnen wir formal zusammenfassen, was wir
wissen:
p(I)

0.5,

p(F ) = 0.3,

p(R | I)

0.5,

p(R | F ) = 0.3,

p(O) = 0.2,
p(R | O) = 0.05.

Bestimmen wollen wir die Wahrscheinlichkeiten p(R), p(I|R), p(F |R) und
p(O|R). Dazu nutzen wir die Formel f
ur die totale Wahrscheinlichkeit und erhalten
p(R)

=
=

p(R | I) p(I) + p(R | F ) p(F ) + p(R | O) p(O)

0.25 + 0.09 + 0.01 = 0.35.

Die weiteren drei gesuchten Wahrscheinlichkeiten ergeben sich fast direkt


aus der Definition der bedingten Wahrscheinlichkeit:
p(I | R)

p(F | R)

p(O | R)

p(R | I) p(I)
0.5 0.5
25
5
p(I R)
=
=
=
= ,
p(R)
p(R)
0.35
35
7
p(F R)
p(R | F ) p(F )
0.3 0.3
9
=
=
=
,
p(R)
p(R)
0.35
35
p(O R)
p(R | O) p(O)
0.2 0.05
1
=
=
=
.
p(R)
p(R)
0.35
35

Als weiteres Beispiel stellen wir uns die Ubertragung


von Bits u
ber einen
Datenkanal vor. Dazu betrachten wir 5 verschiedene Ereignisse:
134

S0 (Senden einer Null) und S1 (Senden einer Eins),

R0 (Empfangen einer Null) und R1 (Empfangen einer Eins),

ERR (Ubertragungsfehler,
also entweder Senden einer Null und Empfangen einer Eins oder umgekehrt).
Wir nehmen an, dass wir wissen, dass
p(S0 ) = 0.3 und p(S1 ) = 0.7 und

p(R1 |S0 ) = 0.3) sowie p(R0 |S1 ) = 0.1.

Welche weiteren Wahrscheinlichkeiten lassen sich mit Hilfe dieses Wissen


berechnen?
Zun
achst k
onnen wir unter Verwendung der Definition der bedingten Wahrscheinlichkeit die totale Wahrscheinlichkeit eines Fehlers berechnen:
p(ERR)

=
=
=

p(R1 S0 ) + p(R0 S1 )

p(R1 | S0 ) p(S0 ) + p(R0 | S1 ) p(S1 )

0.3 0.3 + 0.1 0.7 = 0.16 .

Auerdem l
asst sich die Wahrscheinlichkeit f
ur den Empfang einer Eins aus
der Formel fp
ur die totale Wahrscheinlichkeit bestimmen:
p(R1 )

p(R1 | S0 ) p(S0 ) + p(R1 | S1 ) p(S1 )

0.3 0.3 + (1 p(R0 | S1 )) p(S1 )

0.09 + 0.9 0.7 = 0.72 .

Die Definition der bedingten Wahrscheinlichkeit und die Formel f


ur die totale
Wahrscheinlichkeit zusammen liefern
p(S0 | R0 )

=
=
=

p(S0 R0 )
p(R0 )
p(R0 | S0 ) p(S0 )
p(R0 | S0 ) p(S0 ) + p(R0 | S1 ) p(S1 )
0.7 0.3
= 0.75 .
0.7 0.3 + 0.1 0.7

Es wurde also nur in drei von vier Fallen, in denen eine Null empfangen wird,
auch tats
achlich eine Null gesendet.
Nat
urlich k
onnten wir ganz ahnlich auch p(R0 ) und p(R1 |S1 ) berechnen.
9.4.6

Der Satz von Bayes

In obigen Beispielen haben wir schon gesehen, dass wir aus bedingten Wahrscheinlichkeiten auch die umgekehrt bedingten Wahrscheinlichkeiten berechnen k
onnen. Die allgemeine Form dieser Beobachtung ist im Satz von Bayes
festgehalten:

135

Satz von Bayes. Gegeben sei eine disjunkte Partitionierung Bi , i = 1, 2, . . .


von und ein Ereignis A A. Dann konnen wir aus einem bekannten p(A|Bj )
die Wahrscheinlichkeit p(Bj |A) berechnen als:
a

p(Bj |A) =

p(Bj A)
p(A|Bj ) p(Bj )
b p(A|Bj ) p(Bj )
c
.
=
= P
p(A)
p(A)
i=0 p(A|Bi ) p(Bi )

a:

Aus der Definition der bedingten Wahrscheinlichkeit


Mit dem Multiplikationssatz (ist also doch f
ur etwas n
utzlich)
c : Formel f

ur die totale Wahrscheinlichkeit
Bis jetzt haben wir schon einiges gerechnet, um Aussagen u
ber den Ausgang von Zufallsexperimenten zu treffen. Allerdings haben wir nur Ergebnisse
f
ur Wahrscheinlichkeiten bekommen. Dinge wie im Mittel zu erwartende Ergebnisse oder Streubreite der Ergebnisse konnten wir noch nicht berechnen, was
vor allem daran liegt, dass unsere Ergebnisse noch alles Mogliche sein konnen
und wir damit nicht rechnen konnen. Was ware zum Beispiel der Mittelwert
aus Kopf und Zahl beim M
unzwurf. Abhilfe schafft da die Einf
uhrung von
Zufallsvariablen, die wir im folgenden Abschnitt besprechen und die unseren
Ergebnissen Zahlenwerte zuordnen:
b:

10

Zufallsvariablen

Zufallsvariablen tun im Prinzip nichts anderes, als dass sie Ereignissen Zahlen
zuordnen. Dementsprechend sind sie auch definiert: Als eine Abbildung von eine
X : R.
Wenn wir diese Zufallsvariablen benutzen, sollte immer klar sein, dass X eine
Abbildung ist und kein bestimmter Wert.
Definition von Ereignissen u
ber Zufallsvariablen Wir konnen nun auch
Ereignisse mit Hilfe von Zufallsvariablen definieren, zum Beispiel folgendermaen:
X = x bedeutet { |X() = x}

X x bedeutet { |X(i ) x}

X [a, b] bedeutet { |X() [a, b]}

10.1

Diskrete Zufallsvariablen

Diskrete Zufallsvariablen sind Abbildungen einer Ereignismenge in eine diskrete Bildmenge, formal ausgedr
uckt:
X : {x1 , x2 , ...}, wobei xi R.
10.1.1

Diskrete Dichtefunktion

Die Dichtefunktion einer Zufallsvariable gibt Auskunft u


ber die Wahrscheinlichkeiten. F
ur diskrete Zufallsvariablen besteht sie im Wesentlichen aus den
136

Wahrscheinlichkeiten der Ereignisse X = xi f


ur alle xi , i = 1, 2, . . . dre diskreten Bildmenge:
f : R [0, 1] mit f (x) = p(X = x)

Als Beispiel dient wieder das W


urfeln mit zwei sechsseitigen W
urfeln. Die Dichtefunktion f
ur die Varaible X, die die Summe der gew
urfelten Augenzahlen
angibt, also
X : {(i, j); 1 i, j 6; i, j N} R, (i, j) 7 i + j
sieht folgendermaen aus:
6
36

f (x)

5
36
4
36
3
36
2
36
1
36

x
2

10.1.2

10

12

14

Verteilungsfunktion

Die Verteilungsfunktion ist dagegen eine kumulative Groe und gibt an, wie
hoch die Wahrscheinlichkeit ist, dass X einen Wert kleiner als x annimmt:
F : R [0, 1] mit F (x) = p(X x)
Auch hier wieder das Beispiel mit den zwei W
urfeln:

137

F (x)

0.8
0.6
0.4
0.2
x
2

10

12

14

Die Verteilungsfunktion bleibt f


ur x 12 immer bei 1.
Eigenschaften Aus der Definition der Verteilungsfunktion folgen einige Eigenschaften, die hier kurz wiedergegeben werden:
Beschr
anktheit: limx F (x) = 0 und limx F (x) = 1
Monotonie: x < y F (x) F (y)

Stetigkeit von rechts: limy&x F (y) = F (x), das kommt daher, dass wie in
der Abbildung angedeutet die linke Seite jedes Intervalls eine scharfe
Kante ist und die rechte eine offene (in Intervallschreibweise: [a, b)).
10.1.3

Erwartungswert

Der Erwartungswert ist ein gewichtetes Mittel u


ber alle moglichen Ergebnisse
(gewichtet mit der Wahrscheinlichkeit des jeweiligen Ereignisses), formal definiert als:
X
E(X) =
xi p(X = xi )
i

F
ur einen einmaligen Wurf mit einem sechsseitigen W
urfel ist das also (wenn
X wieder als die gew
urfelte Augenzahl definiert wird)
E(X) = 1

1
1
1
+ 2 + + 6 = 3.5.
6
6
6

Eigenschaften
E(a X + b) = a E(X) + b mit a, b R.

E(X + Y ) = E(X) + E(Y )

X Y E(X) E(Y ), dabei ist X Y : X() Y ()


P
E(g(X)) = i g(xi ) p(X = xi ). Das ergibt sich direkt, da g(X) f
ur jede
Funktion g wieder eine neue Zufallsvariable bildet, auf die genauso wie auf
X die Definition des Erwartungswerts angewandt wird. Insbesondere darf
g auch nichtlinear sein.
138

10.1.4

Varianz

Die Varianz gibt an, wie sehr die Ergebnisse schwanken, sie ist der Erwartungswert der quadratischen Differenz zwischen X und E(X):

V (X) = E (X E(X))2 .
Das Quadrat brauchen wir, weil wir sonst immer Null erhalten w
urden (da
E(E(X) X) = E(X) E(X) = 0).
Eigenschaften
V (a X + b) = a2 V (X), folgt aus der Definition

2
V (X) = E (X E(X))2 = E(X 2 ) (E(X)) , auch das folgt aus den
Definitionen
Beispiel: zw
olfseitiger Wu
rfel. Als weiteres Beispiel betrachten wir einen
zw
olfseitigen W
urfel, mit dem wir einmal w
urfeln Dazu definieren wir uns eine Zufallsvariable, die die gew
urfelte Zahl zur
uck gibt, wenn diese gerade ist
beziehungsweise das Doppelte der gew
urfelten Zahl, wenn diese Ungerade ist,
also

i
falls i gerade,
X : {1, 2, 3, . . . , 12} R, i 7
2 i falls i ungerade.
Aufgabe: Skizzieren Sie Dichtsfunktion und Verteilungsfunktion sowie berechnen Sie den Erwartungswert und die Varianz dieser diskreten Zufallsvariablen.
10.1.5

Beru
hmte diskrete Verteilungen

Die BernoulliVerteilung. Die BernoulliVerteilung ist eigentlich recht langweilig, sie geh
ort zu einer Zufallsvariablen, die nur die Werte 0 und 1 (zum
Beispiel f
ur Ja und Nein) annehmen kann, das heit
(
1, f alls A
X : {0, 1} mit 7
0, sonst
f
ur ein ausgew
ahltes Ereignis A.
Weil es nur diese beiden Moglichkeiten gibt, gibt es auch nur die beiden
Wahrscheinlichkeiten
p(X = 1) = p und p(X = 0) = 1 p.
p heit in diesem Zusammenhang Erfolgswahrscheinlichkeit. Wir sehen
leicht, dass
E(x) = p und V (X) = E(X 2 ) E 2 (X) = p p2 = p(1 p).
Die Dichtefunktion und die Verteilungsfunktion sehen so aus:

139

1p

1p
1

Der Erwartungswert ist wenig u


berraschend E(X) = p und die Varianz V (X) =
E(X 2 ) E 2 (X) = p p2 = p(1 p).
Als sehr einfaches Beispiel f
ur ein Bernoulli-Experiment konnen wir uns eine
beliebige Pr
ufung vorstellen: Es besteht eine gewisse Wahrscheinlichkeit p, die
Pr
ufung zu bestehen, was gleichzeitig bedeutet, dass man mit Wahrscheinlichkeit 1 p nicht besteht.
Die Binomialverteilung. Da jeder Student in dER Regel aber mehr als eine
Pr
ufung pro Semester/Studium bestehen muss, d
urfte die Binomialverteilung
f
ur die Frage des Bestehens noch interessanter sein. Unter der (zugegebenermaen nicht sehr realistischen) Annahme, dass die Bestehenswahrscheinlichkeit
nicht vom Pr
ufungsfach abh
angt, erhalten wir folgende Formulierung als Zufallsexperiment mit zugeh
origer Zufallsvariable:
Wir f
uhren N N BernoulliExperimente Bi (Pr
ufungen) durch, diese sind
identisch (nicht vom Ergebnis her, aber von den Bedingungen, insbesondere ist
p f
ur alle gleich). Auerdem sind die Bi alle unabhangig voneinander. Damit
k
onnen wir uns die Zufallsvariable
X=

N
X

Bi

i=1

definieren, die die Zahl der Erfolgsereignisse (bestandene Pr


ufungen) in N Versuchen (Pr
ufungen) angibt. Um anzuzeigen, dass eine solche Variable X nach
der Binomialverteilung verteilt ist, schreibt man:
X v Bin(N, p).
Wie sieht diese Verteilung und die zugehorige Dichtefunktion nun aus?
Die Dichtefunktion bekommen wir aus
f (i)

=
=
=

p(X = i)

p {(i1 , i2 , . . . , iN ) : ij {0; 1}, j = 1, . . . , N,


 
N i
p (1 p)N i .
i

140

N
X
j=1

ij = i}

Das Ereignis X = i umfasst also alle N -Tupel mit binaren Eintragen, die
gerade i-mal eine Eins enthalten. Wir
wissen aus unserem Ausflug in die Kom
binatorik, dass es davon genau Ni St
uck gibt. Jede der i Einser hat die Wahrscheinlichkrit p, jede der N i Nuller die Wahrscheinlichkeit (1 p).
Der Erwartungswert ist intuitiv p N , weil wir N mal ein Experiment mit
der Erfolgswahrscheinlichkeit p durchf
uhren. Rechnerisch erhalten wir dasselbe:
N
X

N
X

 
N
E(X) =
i p(X = i) =
i
pi (1 p)N i = N p
i
i=1
i=1
oder k
urzer mit Hilfe der Eigenschaften des Erwartungswerts:
E(X) =

N
X

E(Bi ) =

i=1

N
X

p = N p.

i=1

Die Varianz ergibt sich ebenso aus der Uberlegung,


dass die Varianz f
ur ein
einzelnes BernoulliExperiment p(1 p) ist und dass wir N davon durchf
uhren
mit den Eigenschaften der Varianz:
V (X) = N p (1 p).
Die Geometrische Verteilung. Als weiteres Beispiel f
ur eine Zufallsvariable, die auf Bernoulli-Verteilung basiert, stellen wir uns eine Fertigungsmaschine
vor, die automatisch stoppt, sobald ein schadhaftes Produkt hergestellt wird.
Die Wahrscheinlichkeit f
ur ein schadhaftes Produkt ist p 1 und die Ereignisse aufeinanderfolgender schadhafter oder perfekter Produkte sind stochastisch
unabh
angig. Wir definieren die Zufallsvariable
X = Anzahl der herzustellenden Produkte bis zum ersten defekten Produkt
und betrachten die Elementarereignisse
Ai = i-tes Produkt ist schadhaft.
141

Dazu geh
oren die Bernoulli-verteilten Zufallsvariablen Bi , die jeweils Wert eins
annehmen, wenn das i-te Produkt schadhaft ist und Wert null, wenn das i-te
Produkt in Ordnung ist.
Wir haben also
p(Bi = 1) = p(Ai ) = p und p(Bi = 0) = p(Ai ) = 1 p.
Daraus erhalten wir die Dichtefunktion f
ur X:
f (1) = p(X = 0) = p(A1 )
= p
f (2) = p(X = 1) = p(A1 A2 )
= (1 p)p
f (3) = p(X = 2) = p(A1 A2 A3 )
= (1 p)2 p

f (i) = p(X = i) = p(A1 A2 Ai Ai+1 ) = (1 p)i p.

Dies ist ein typisches Beispiel f


ur eine geometrische Verteilung. Bei der geometrischen Verteilung beobachten wir, nach wie vielen Versuchen eines Bernoulli
Experiments Erfolg eintritt. Unsere Zufallsvariable X : N \ {0} ist entsprechend diese Anzahl n
otiger Versuche bis zum ersten Erfolg.
Die Dichtefunktion f (i) = p(X = i) ergibt sich wie oben bereits beschrieben
als
f (i) = p(X = i) = (1 p)i1 p f
ur alle i N \ {0}.

Die geometrische Verteilung hat einige interessante Eigenschaften, die uns


unter Anderem auch helfen, die Verteilungsfunktion (bisher kennen wir nur die
Dichtefunktion) herzuleiten:
Um die Verteilungsfunktion zu bestimmen, u
berlegen wir uns zunachst, wie
gro die Wahrscheinlichkeit der Gegenereignisse X > x zu X x ist:
p(X > x) = p(B1 = 0) p(B2 = 0) . . . p(BbXc ) = (1 p)bxc ,

wobei bxc den Ganzteil von x bezeichnet, also die grote nat
urlich Zahl kleiner
oder gleich x.
Somit ist die Verteilungsfunktion gegeben durch
F (x) = p(X x) = 1 p(X > x) = 1 (1 p)bxc .
142

Auerdem u
berlegen wir uns, was mit den Wahrscheinlichkeite passiert, wenn
wir bereits wissen, dass die ersten x Versuche keinen Erfolg gebarcht haben:
p(X > y + x|X > x) =

p(X > y + x)
(1 p)by+xc
= (1 p)bxc .
=
p(X > y)
(1 p)byc

Man sieht also, dass die geometrische Verteilung kein Gedachtnis hat, d.h.
wenn wir bereits x Fehlversuche gemacht haben und uns fragen, wie wahrscheinlich es ist, dass noch weitere y Versuche erfolglos sind, dann ist das aquivalent
zur Frage, wie hoch die Wahrscheinlichkeit ist, ausgehend vom ersten Versuch
y Fehlversuche in Folge zu bekommen20 .
Bemerkung: Stures Ausrechnen der Verteilungsfunktin aus der Dichtefunktion ist f
ur die geometrische Verteilung viel komplizierter als das direkte Ausrechnen, wie wir es oben gemacht haben:
p(X > x)

X
i=bxc+1

=
=
1
p,

p(1 p)i1 =

p(1 p)bxc
p(1 p)bxc

X
j=0

p(1 p)j+bxc

X
j=0

(1 p)j

1
= (1 p)bxc .
1 (1 p)

Der Erwartungswert einer geometrisch verteilten Zufallsvariablen ist intuitiv


rechnerisch erhalten wir ihn mit
E(X)

X
i=1

i1

ip(1 p)

=p

X
i=1

i(1 p)i1

X

d
d X
i
i
= p
(1 p) = p
(1 p)
dp
dp i=1
i=1




1
d 1
d
= p
1 = p
1
dp 1 (1 p)
dp p
1
=
.
p
20 Ein Beispiel daf
ur ist das W
urfeln: Wenn die letzten zehn W
urfe keine Sechs auftauchte,
ist die Wahrscheinlichkeit, im n
achsten Wurf eine Sechs zu w
urfeln, noch immer genau 16 .

143

Die Varianz ist


V (X)

= E(X 2 ) (E(X))2 =
= p

X
i=1

i(i 1)(1 p)

= p(1 p)

X
i=1

i1

+p

X
(1 p)i

X
i=1

i=1

1
p2

i(1 p)i1

1
p2

1
1
2
p p

1
1

p p2


1
1
1
1 + 2
p
p p
1
1p
1
.
2 =
p p
p2

d
dp2
2
= p(1 p) 3 +
p

= p(1 p)

i=1

i2 p(1 p)i1

i(i 1)(1 p)i2 +

d2
= p(1 p) 2
dp
2

Bemerkung: Nach allem, was wir u


ber die Binomialverteilung und die Geometrische Verteilung wissen, konnen wir festhalten:
Die Anzahl von Erfolgsereignissen bei n aufeinanderfolgenden, unabhangigen
Bernoulli-Experimenten ist binomialverteilt.
Der Abstand zwischen zwei Erflgsereignissen ist geomertrisch verteilt.
Beispiel: Sammelbilder. Unser Wissen u
ber die Geometrische Verteilung
k
onnen wir zur L
osung eines praktisch sehr relevanten Problems nutzen: Wir
negmen an, dass wir Hanuta-Sticker f
ur den Sammelband zu den Fuballweltmeisterschaften sammeln. Wir m
ussen also so lange Hanuta essen, bis wir alle
63 Sticker zusammen haben. Was glauben Sie, wie viele Hanutas m
ussen sie
dazu im Mittel essen?
Wir modellieren das Problem als Abfolge geometrisch verteilter Zufallsvariablen
Xi , i = 1, 2, 3, . . . , 63,
wobei jedes Xi die Anzahl der zu essenden Hanutas misst, um das jeweils i-te
Bild zu erhalten. Erfolg ist dabei offensichtlich dadurch definiert, dass wir ein
Bild erhalten, dass nicht identisch zu einem der bereits vorhandenen i 1 Bilder
ist. Wir brauchen also
genau ein Hanuta f
ur das erste Bild (das nat
urlich immer neu ist),

63
im Mittel 62
Hanutas f
ur das zweite Bild, da hier die Erfolgswahrscheinlichkeit des zugeh
origen Bernoulli-Experiments 62
63 ist,

63
im Mittel 61
Hanutas f
ur das zweite Bild, da hier die Erfolgswahrscheinlichkeit des zugeh
origen Bernoulli-Experiments 61
63 ist,

...

144

Summieren wir die so erhaltenen Anzahlen auf, bekommen wir


!
63
63
63
X
X
X
63
1
E
Xi
=
= 63
64 i
i
i=1
i=1
i=1

ln(63)
0.577
| {z }
Euler-Mascheroni-Zahl

63
297.

Schlussfolgerung: Selbst Fuball Spielen d


urfte ges
under sein als das Sammeln der Sticker.
PoissonVerteilung. Bei der PoissonVerteilung interessiert uns die Anzahl
an Erfolgsereignissen in einem festen Zeitintervall, also z.B. Wie viele Anrufe
gehen innerhalb einer Stunde bei einem Call-Center ein?. Die Zufallsvariable
X : N0 gibt dann genau diese Anzahl an, als Schreibweise benutzen wir
X v P o().
Welche Bedeutung das hat, sehen wir gleich. Im Unterschied zur Binomialverteilung misst die Poisonverteilung die Anzahl von Ereignissen, die zu jedem
beliebigen Zeitpunkt in einem kontinuierlichen Zeitintervall auftreten konnen,
w
ahrend die Binomialverteilung Erfolge bei einer festen Anzahl von zu diskreten
Zeitpunkten durchgef
uhrten Versuchen zahlt. Insbesondere bedeutet das, dass
die Werte einer Poisson-verteilten Zufallsvariablen nicht nach oben beschrankt
sind, w
ahrend der Wertebereih einer binomialverteilten Variable naturgema
durch die Anzahl n der Versuche nach oben begrenzt ist.
Die Poissonverteilung l
asst sich allerdings als Grenzwert einer Binomialverteilung interpretieren, wenn wir gleichzeitig n gegen Unendlich wachsen lassen
und die Erfolgswahrscheinlichkeit p entsprechend reduzieren, so dass im Mittel
gleich viele Erfolge erzielt werden:



X v Bin n,
E(Xn ) = f
ur alle n.
n
Damit k
onnen wir berechnen
lim p(Xn = i)

=
=

   i 
ni
n

1
n i
n
n

n 
i

n!

i1

1
lim
1
n (n i)!ni
i!
n
n
| {z }
| {z } |
{z
}
lim

i!

Die Dichtefunktion der Poissonverteilung ist also


f (i) = pi =

145

e i
.
i!

Damit ist auch offensichtlich, dass

pi

i=0

X
exp()i
i=0

i!

= exp()

X
i
i=0

exp() exp() = 1,

i!

Semantisch beschreibt das die Tatsache, dass die Wahrscheinlichkeiten, dass


im Intervall zwischen Null und Ereignisse passieren gleich eins ist (sicheres
Ereignis).
F
ur die Poissonverteilung wird oft auch geschrieben Xt Po() = Po(t) =
t = , wobei als Intensitat bezeichnet wird, da E(Xt ) = = t und daher
t)
= E(X
.
t
Der Erwartungswert ergibt sich nach Definition (und auch direkt aus der
Grenzwertbildung oben):
E(X) =

X
i=0

X
e i
i1
= e
= e e = .
i!
(i

1)!
i=1

Die Varianz berechnen wir auch durch Einsetzen:


V (X)

=
=
=
=

E(X 2 ) (E(X))2 =
e

X
i=0

i2

e i
2
i!

i1

i=1

2
(i 1)!

X i1
i1
e
(i 1)
+
(i 1)! i=1 (i 1)!
i=1

e e + e 2 = .

Wir sehen also, dass der Parameter ist, mit dem sich eine PoissonVerteilung
vollst
andig beschreiben l
asst.
146

10.2

Kontinuierliche Zufallsvariablen

Wir haben bisher immer diskrete Zufallsvariablen betrachtet, das heit der Bildbereich von X war abz
ahlbar gro. Diese Einschrankung lassen wir jetzt fallen.
Eine kontinuierliche Zufallsvariable ist also eine Abbildung
X : R.
Solche kontinuierlichen Zufallsvariablen lassen sich als Grenzwert von diskreten Zufallsvariablen interpretieren. Diese Betrachtungsweise wird uns im folgenden Abschnitt auch automatische die zu den Definitionen f
ur kontinuierliche
Zufallsvariablen analogen Definitionen von Dichtefunktion, Verteilungsfunktion,
Erwartungswert und Varianz liefern.
10.2.1

Grenzwert von diskreten Zufallsvariablen

Wir nehmen an, dass wir eine gegebene kontinueriliche Zufallsvariable X gegeben haben. Da wir mit dieser nicht nicht umgehen konnen, insbesondere nicht
wissen, wie wir f
ur X Dichte- und Verteilungsfunktion, Erwartungswert und
Varianz berechnen k
onnen, konstruieren wir uns zusatzlich eine Folge


k
;k Z
(XN )nN mit XN :
N
bN X()c
und XN () =
for all .
N
Mit diesen k
onnen wir nun viel besser umgehen. Die XN nahern sich unserem
X mit wachsendem N immer mehr an. Die Dichtefunktion der XN konnen wir
direkt angeben:
 




k
k
k+1
k
fN
X<
= p XN =
=p
.
N
N
N
N
F
ur die Folge der XN gilt auerdem, dass ihr Grenzwert gerade unser X ist, da
|XN X| <

1
.
N

F
ur die Verteilungsfunktion F erhalten wir also:
 




k
k
k
F
= p X
= lim p XmN
N
m
m
m
 


k
X
k
j
= lim FmN
= lim
fmN
N
N
m
Nm
j=
=


 Z k
k
m
1 X
j
lim
mN fmN
=
f (x)dx
N mN
Nm

j=

mit einer neuen Funktion f , die definiert ist als


f := lim N fN .
N

Wir haben damit eine ganze Menge u


ber kontinuierliche Zufallsvariablen gelernt:
147

(1) Verteilungsfunktion: Die Verteilungsfunktion einer kontinuierlichen Zufallsvariablen k


onnen wir als Grenzwert von Verteilungsfunktionen diskreter Zufallsvariablen bilden. Dabei wird aus einer Stufenfunktion eine
kontinuierliche Funktion:
FN

F2N
F

Es ergeben sich direkt folgende Eigenschaften:


limx F (x) = 0 und limx F (x) = 1,

x < y F (x) F (y) (monoton steigend).

Die Verteilungsfunktion ist (beidseitig) stetig und sogar differenzierbar mit


F 0 (x) = f (x).
(2) Dichtefunktion: Betrachten wir die Dichtefunktionen der XN , so werden deren Werte immer kleiner, da die Intervalle, in denen X jeweils liegen
darf, um demselben Wert von XN zu entsprechen, mit steigendem N immer kleiner werden:
f N

f 2N

Betrachten wir jedoch jeweils N fN , so sehen wir, dass das Niveau der
Werte gleich bleibt, die Stellen mit den von Null verschiedenen Werte
aber dichter zusammenr
ucken:

148

f N

2*f 2N

Die Dichte unserer kontinuierlichen Zufallsvariablen X ist gerade der Grenzwert dieser immer dichter werdenden skalierten diskreten Dichtefunktionen.
(3) Wahrscheinlichkeiten und Dichtefunktion: Durch den Grenz
ubergang
erhalten wir einen Zusammenhang zwischen Dichtefunktion f und Wahrscheinlichkeiten, der sich von dem f
ur diskrete Zufallsvariablen unterscheidet:
Z b
p(a X b) = p(X b) p(X < b) =
f (x)dx = F (b) F (a).
a

Insbesondere verschwindet die Wahrscheinlichkeit, dass X genau einen


bestimmten Wert annimmt (egal, welchen Wert wir dazu wahlen):
Z a
p(X = a) =
f (x)dx = 0.
a

Die Dichtefunktion hat offensichtlich folgende Eigenschaften:


Positivit
at: f (x) 0 f
ur alle x R,
R
Normalisierung: p( X ) = f (x)dx = 1.

Auch f
ur Erwartungswert und Varianz bekommen wir neue Definitionen aus
der Grenzwertbildung, denn die XN haben als Grenzwert X, also ist E(X) der
Grenzwert der E(XN ) und V (X) der Grenzwert der V (XN ):



X
k
k
p XN =
E(X) = lim E(XN ) = lim
N
N
N
N
k=


Z k+1

X
X
N
k
k
k+1
k
= lim
p
X<
= lim
f (x)dx
N
N
N
N
N
N Nk
k=
k=
Z
=
x f (x)dx.

Auerdem k
onnen wir auch Erwartungswerte anderer Zufallsvariablen betrachten, die sich aus X als g(X) mit einer reellwertigen integrierbaren Funktion
g ergeben:
  


X
k
k
E(g(X)) = lim E(g(XN )) = lim
g
p g(XN ) = g( )
N
N
N
N
k=




Z

X
k
k
= lim
g
p XN =
=
g(x) f (x)dx.
N
N
N

k=

149

Damkit erhalten wir dann auch die Varianz:


Z
V (x) = E((X E(X))2 ) =
(x E(X)) f (x)dx.

10.2.2

Beru
hmte kontinuierliche Verteilungen

Die Gleichverteilung. Die Gleichverteilung gilt f


ur Zufallsvariablen, die nur
in einem endlichen Intervall [a; b] Werte annehmen kann. Unterteilt man dieses
Intervall in gleich groe disjunkte Teilintervalle, so ist bei einer gleichverteilten
Zufallsvariablen die Wahrscheinlichkeit, dass der Wert von X in einem dieser
Teilintervalle landet, f
ur alle Teilintervalle gleich gro. Eine gleichverteilte Zufallsvariable l
asst sich daher in gewissem Sinne als kontinuierliche Entsprechung
unserer Laplace-Experimente auffassen. Die Dichte funktion der Gleichverteiolung ist also
(
c f
ur x [a, b]
f (x) =
0 sonst
R
Dabei gilt wegen f (x) dx = 1:
c(b a) = 1 c =
Die Verteilungsfunktion sieht so aus:

1
ba

0
F (x) =
f (x) dx = (x a)c,

1,
Z

falls x a
f
ur a x b
sonst.

F(x)

f(x)

1/(ba)

F
ur den Erwartungswert bekommen wir (nicht ganz u
berraschend):
Z
Z b
Z b
x
a+b
E(X) =
x f (x) dx =
x f (x) dx =
dx =
.
b

a
2

a
a

Und aus

E(X 2 ) =

x2 f (x) dx =

Z
a

ergibt sich die Varianz zu

x2

1
x3 b
b3 a3
dx =
=
ba
3(b a) a
3(b a)

V (X) = E(X 2 ) E 2 (X) =


150

(b a)2
.
12

Die Exponentialverteilung. Die Exponentialverteilung gibt das Zeitintervall bis zum ersten Eintreten eines Poissonverteilten Ereignisses an. Wir schreiben dann
X v Ex() mit > 0.
Beispiel: Wir stellen uns ein Callcenter vor, in dem zwei Zufallsvariablen beobachtet werden:
(1) Xt : Anzahl der eingehenden Anrufe im Zeitintervall [0; t] f
ur ein t > 0,
Poisson-verteilt mit = t,
(2) T : Zeit zwischen zwei eingehenden Anrufen, ohne Einschrankung der Allgemeinheit Zeit bis zumk ersten Anruf, gemessen ab dem Zeitpunkt t0 = 0
(vergleiche Ged
achtnislosigkeit der Poisson-verteilung).
Wir wissen aus dem Abschnitt u
ber diskrete Zufallsvariablen, dass Xt Poissonverteilt ist. Damit k
onnen wir f
ur einen Zeitpunkt t R+ die Wahrscheinlichkeit
berechnen, dass der erste Anruf vor diesem Zeitpunkt eingeht:
p(T t)

=
=

p(Xt 1) = 1 p(Xt = 0) = 1

1 et .

et (t)0
0!

Damit kennen wir die Verteilungsfunktion einer exponentialverteilten Zufallsvariablen:



0
f
ur x < 0,
F (x) =
1 ex f
ur x 0.

Die Dichtefunktion l
asst sich daraus durch einfaches Ableiten bestimmen:

0
f
ur x < 0,
f (x) =
ex f
ur x 0.

151

Auch Erwartungswert und Varianz konnen wir leicht berechnen:




Z
Z


1 x
ex dx =
x ex dx = x ex 0
E(X) =
e

0
0
0
1
,
=

Z
1
2
2
V (X) = E(X ) (E(X)) =
x2 ex dx 2

Z 0
 2 x 
1
= x e

2xex dx 2
0

0
2
1
1
=
E(X) 2 = 2 .

Wir k
onnen nun auch wieder formal zeigen, dass die Exponentialverteilung
kein Ged
achtnis hat:
p(X > x + y|X x)

p(X > x + y)
1 p(X x + y)
=
p(X x)
1 p(X x)

1 (1 e(x+y) )
e(x+y)
=
= ex
1 (1 ex )
ex
1 p(X y) = p(X > y).

=
=

Anschaulich haben wir uns das schon oben klar gemacht. Die Zeit, die bis
zum n
achsten Anruf im Callcenter vergeht hangt nicht davon ab, seit wie langer
Zeit schon kein Anruf mehr eingegangen ist.
Die Normalverteilung. Die Normalverteilung kommt sehr oft zum Einsatz,
auch um andere Verteilungen anzunahern. Wie das geht, sehen wir spater noch.
Zuerst betrachten wir die Normalverteilung selbst. Wir schreiben f
ur normalverteilte Zufallsvariable X:
X v N (, 2 ).
Zur Normalverteilung geh
ort die Dichtefunktion


1
(x )2
exp
f (x) =
2 2
2

und die Verteilungsfunktion

(x) = F (x) =



1
( )2
d.
exp
2 2
2
152

Diese Verteilungsfunktion l
asst sich nicht in geschlossener Form angeben und
wird daher numerisch approximiert und in Tabellen zur Verf
ugung gestellt. Ein
Spezialfall ist der Fall = 0 und = 1. In diesem Fall sprechen wir von der
Standardnormalverteilung. Nur diese muss in Tabellen angeben werden, die
Werte aller anderen Normalverteilungen lassen sich daraus leicht berechnen, wie
wir noch sehen werden.
Eine Normalverteilte Zufallsvariable hat den Erwartungswert
E(X) =
und die Varianz

V (X) = 2 .

Die Standardabweichung (die Wurzel aus der Varianz) ist hier also .
Im Folgenden schauen wir uns nun an, wie sich eine Standardnormalverteilung in eine Normalverteilung mit beliebigen Parametern und umrechnen
l
asst:
Satz: Sei X eine normalverteilte Zufallsvariable mit X v N (, 2 ), dann ist
normalverteilt mit Y v N (0, 1).
Y := X

Beweis: Klar ist, dass Y den richtigen Erwartungswert unf die richtige Varianz
hat: der Erwartungswert von Y ist
E(Y ) =
und die Varianz

1
(E(X) ) = 0

1
V (X) = 1.
2
So l
asst sich jede Zufallsvariable auf Erwartungswert 0 und Varianz 1 transformieren. Y erbt von X aber auch die Art der Verteilungsfunktion:
FY (y)

=
=
=

V (Y ) =

p(Y y) = p(X y + ) = FX (y + )




Z y+
Z y
1
( )2

()2

exp
d
=
exp

d
2 2
2 2
2
2

 2
Z y

1
exp
d.

2
2

F
ur uns ist vor allem die Umkehrung dieses Satzes interessant, weil wir dann
mit einer Tabelle f
ur die Verteilungsfunktion von N (0, 1) auskommen und die
Werte f
ur jede Verteilung N (, 2 ) umrechnen konnen:
Sei Y v N (0, 1) mit bekannter Verteilungsfunktion FY . Dann hat X :=
Y + die Verteilungsfunktion




x
x
FX (x) = p(X x) = p(Y + x) = p Y
= FY
.

Deshalb reicht eine Tabelle mit der Verteilungsfunktion f


ur N (0, 1).

153

10.3

Der zentraler Grenzwertsatz

Der zentraler Grenzwertsatz ist ein wichtiger Satz der Wahrscheinlichkeitstheorie, da er uns erlaubt, sehr oft mit der Normalverteilung zu arbeiten, wenn wir
ein beliebiges Experiment unabhangig voneinander of tgenug durchf
uhren:
Zentraler Grenzwertsatz: Betrachten wir Zufallsvariablen Xi mit i = 1, ..., N ,
die voneinander stochastisch unabhangig und alle identisch verteilt sind mit
E(Xi ) = und V (Xi ) = 2 6= 0, dann ist
P

N
X
N
i
i=1

ZN :=
N
PN
eine Normalisierung der Summe i=1 Xi und f
ur N normalverteilt:
ZN v N (0, 1) f
ur N .

Die Normalisierungseigenschaft lasst sich noch sehr leicht zeigen, denn


!
N
N
X
X
E
Xi
=
E(Xi ) = N ,
i=1

N
X

i=1

!
Xi

N
X

i=1

V (Xi ) = N 2 .

i=1

Anwendungsbeispiel: Der zentrale Grenzwertsatz ermoglicht es zum Beispiel,


Binomialverteilungen mit groem N relativ einfach anzunahern: Wir betrachten
dazu unabh
angige Bernoulli-verteilte Zufallsvariablen Xi mit gleichem p, dann
k
onnen wir mit bekannten Mitteln den Wert der binomialverteilten Zufallsvariablen HN (eine sog. BernoulliKette) angeben:
HN :=

N
X

Xi

i=1

HN k
onnen wir nun normalisieren und erhalten:
P

N
Xi N p
i=1

HN
:= p
p(1 p) N

Aus dem zentralen Grenzwertsatz wissen wir, dass f


ur N HN
v N (0, 1)
ist. Wenn nun N sehr gro ist, dann konnen wir uns Rechenaufwand f
ur




i
X N
N i
FHN (i) =
pj (1p)N j und fHN (i) = p(HN = i) =
p (1p)N i
j
i
j=1

sparen, indem wir verwenden:


FHN (i)
fHN (i)

FN (0,1)
FN (0,1)

i Np
p

p(1 p) N
i + 0.5 N p
p

p(1 p) N
154

und

!
FN (0,1)

i 0.5 N p
p

p(1 p) N

!
,

wobei FN (0,1) die Verteilungsfunktion der Standardnormalverteilung bezeichnet.

Uberlegen
Sie sich insbesondere, wie gro der Rechenaufwand f
ur FHN (i) ware,
wenn N zum Beispiel 106 und i = 105 ware.

10.4

Transformieren und Erzeugen von Zufallszahlen

Sei X eine beliebig verteilte Zufallsvariable mit der Dichtefunktion fX und der
Verteilungsfunktion FX . Dann konnen wir eine neue Zufallsvariable Y wie folgt
definieren:
Y := g(X)
Das haben wir im Prinzip bei der Normalisierung schon gemacht, hier geht es
aber um allgemeine g und die Frage ist, wie wir jetzt FY bekommen:
Z
fX (x) dx
FY (y) = p(Y y) = p(g(X) y) = p({x|g(X) y}) =
{z
}
|
C
=:C

Dabei kann C ein oder mehrere Intervalle beinhalten.


Transformation gleichverteilter Zufallsvariablen in exponentialverteilte Zufallsvariablen. Starten wir mit einer im Intervall [0; 1] gleichverteilten
Zufallsvariablen X und einem beliebigen 0 < R, dann konnen wir eine neue
Zufallsvariable definieren:
1
Y := ln(X).

Wenn wir nun die Menge C der X-Werte suchen, f


ur die der entsprechende
Y -Wert y ist (siehe oben), dann kommen wir auf:



1




C =
t R ln(t) y = {t R |ln(t) y } = t R t ey .

Und damit k
onnen wir auch die Verteilungsfunktion FY ermitteln:
(
Z
Z ey
1 ey falls y 0
a

FY (y) =
fX (x) dx = 1
1 dx =
.
0
sonst
ey
0
a:

Weil X gleichverteilt in (0, 1) ist, ist FX (0) = 0, deshalb andern Werte kleiner
Null den Wert des Integrals nicht. Somit ist Y exponentialverteilt mit Intensitat
.

Erzeugung von Zufallszahlen. Wir nehmen an, dass wir eine Funktion haben,
die uns Auswertungen einer auf [0; 1] gleichverteilten Zufallsvariablen liefert.
Unser Ziel ist, daraus Auswertungen einer Zufallsvariablen Y zu generieren,
deren Verteilungsfunktion FY : R [0; 1] stetig ist und strikt monoton wachst
(x < y Fy (x) < FY (y)).
Dazu nutzen wir eine geeignete Transformation g(X) von X. Da FY strikt
monoton ist, k
onnen wir g(X) = FY1 (X) ausprobieren. Damit erhalten wir
a

p(g(X) y) = p(FY1 (X) y) = p(X FY (y)) = FX (FY (y)) = FY (y).


155

a Das gilt, weil FY (R) = [0, 1] und X nach Voraussetzung in (0, 1) gleichverteilt

ist, aus dieser Eigenschaft folgt insbesondere, dass FX (x) = x f
ur 0 x
1. Damit besitzt FY1 (X) f
ur eine in [0; 1] gleichverteilte Zufallsvariable also
tats
achlich die vorgegebene Verteilungsfunktion Fy .
Zur Erzeugung von Zufallszahlen mit der Verteilungsfunktion FY konnen
wir daher wie folgt vorgehen:

(1) Ziehe gleichverteilte Zufallszahlen s (mit der geheimnisvollen gegebenen


Funktion),
(2) Berechne daraus (z.B. mit der Newton-Methode durch Losen von FY (y)
s = 0) jeweils y = FY1 (s).
Alternativ dazu k
onnen wir zur Erzeugung normalverteilter Zufallszahlen f
ur
jede zu erzeugende Zahl y auch viele gleichverteilte Zufallsvariablen ziehen und
daraus wie im zentralen Grenzwertsatz beschrieben annahernd normalverteilte
Zufallszahlen erzeugen.
Wie kommen wir nun an die gleichverteilten Zufallsvariablen s? Dazu gibt
es verschiedene M
oglichkeiten:
(1) Wir nutzen echten Zufall (experimentelle Beobachtungen): zum Beispiel
radioaktiver Zerfall, weies Rauschen.
(2) Wir erzeugen Pseudozufallszahlen (Deterministische Bestimmung einer
Zahlenfolge, die sich
ahnlich verhalt wie echte Zufallszahlen, aus wenigen
Startwerten (Seeds), zum Beispiel Mersenne Twister oder Multiply-withcarry.
(3) Wir erzeugen Quasizufallszahlen (gleichmaiger im Intervall verteilt als
echte Zufallszahlen und Pseudozufallszahlen), zum Beispiel Von-der-Corput, Halton-, Sobol-Folgen.

11
11.1

Sch
atzen und Testen
Sch
atzen

Bisher haben wir uns ausf


uhrlich angeschaut, wie wir Wahrscheinlichkeiten berechnen k
onnen, wenn wir die entsprechenden Parameter kennen (z.B. p bei
der BernoulliVerteilung). Oft ist dies allerdings nicht der Fall. In vielen Anwendungsbeispielen wei man gerade nicht, wie die Wahrscheinlichkeiten und
Verteilungen aussehen. Daher wollen wir uns jetzt mit der Frage beschaftigen,
wie wir denn aufgrund von Beobachtungen Wahrscheinlichkeiten, Erartungswerte und Varianzen sch
atzen k
onnen.
Sch
atzen von Wahrscheinlichkeiten. Zuerst fragen wir uns, wie wir die
Wahrscheinlichkeit p(A) eines Ereignisses A abschatzen konnen. Der Ansatz
dabei ist dabei recht naheliegend: Wir berechnen die relative H
aufigkeit HN
aus einer Anzahl von Beobachtungen:
HN :=

# Auftreten von A
.
# Anzahl Versuche gesamt (N )
156

Etwas formaler k
onnen wir auch schreiben
PN
Xi
HN := i=1 ,
N
wobei die
Xi : 7

1
0

falls A,
, i = 1, . . . , N
falls A

unabh
angige, identisch verteilte BernoulliVariablen (mit p = p(A)) sind. Dass
wir p(A) nicht kennen, ist dabei nicht schlimm, wir brauchen die formale Definition nur, um einige Eigenschaften zu zeigen das eigentliche Auswerten von
HN geht durch einfaches z
ahlen (wie es die informelle Definition suggeriert).
Evaluation. Ob dieser sehr Schatzer auch ausreicht, pr
ufen wir anhand von
zwei Kriterien:
(1) Erwartungstreue: Der Erwartungswert des Schatzers soll gleich dem
Erwartungswert der geschatzten Zufallsvariable sein, hier also E(HN ) = p.
Das k
onnen wir recht einfach zeigen:
N
1
1 X
E(Xi ) =
N p = p.
E(HN ) =
N i=1
N
a

a Siehe formale Definition von HN und Definition des Erwartungswerts.


Daraus folgt insbesondere, dass der Erwartungswert f


ur alle N , also auch
f
ur sehr wenige Versuche, bereits stimmt. Allerdings ist die Streuung der
Werte f
ur kleine N noch recht gro: Erwartungstreue unabhangig von N
ist.
(2) Genauigkeit: Die
p Genauigkeit eines Schatzer messen wir durch die Standardabweichung V (X)). Nach den Rechenregeln f
ur die Varianz gilt
V (HN ) = V

N
1 X
Xi
N i=1

N
1 X
N p(1 p)
p(1 p)
V (Xi ) =
=
2
2
N i=1
N
N

b Die Xi sind unabh



angig (siehe 10.1.4, S.139)

Also ist die Standardabweichung und damit die Genauigkeit unseres Schatzers
HN
r
p
p(1 p)
V (HN ) =
N
Das bedeutet, dass die Schatzung mit groerem N genauer wird das verwundert nicht weiter, es ist allerdings zu bemerken, dass der Fehlerfaktor
1 ist. Das ist typisch f
ur sogenannte MonteCarloVerfahren 21 .
N
21 Das bedeutet, dass man, um den Fehler zu halbieren, viermal soe viele Versuche
durchf
uhren muss.

157

Sch
atzen des Erwartungswerts. In der Regel werden wir f
ur ein Zufallsexperiment nicht die Wahrscheinlichkeiten aller Ereignisse nach obigem Verfahren sch
atzen wollen. Das w
are doch recht aufwandig. Stattdessen mochten wir
oft nur den Erwartungswert und die Varianz einer Zufallsvariablen abschatzen.
Wenn wir nur am Erwartungswert interessiert sind, konnten wir in diskreten
Wahrscheinlichkeitsr
aumen f
ur jedes Elementarereignis die Wahrscheinlichkeit
mit ausreichend groem N schatzen und dann durch Mitteln den Erwartungswert berechnen. Da das nicht sehr effizient und in kontinuierlichen Wahrscheinlichkeitsr
aumen unm
oglich ist, stellt sich die Frage, ob wir aus Beobachtung
auch geschickter an eine N
aherung f
ur den Erwartungswert kommen.
Daf
ur schauen wir uns wieder eine Menge von Xi an, die sind alle Kopien
der Zufallsvariablen sind, die wir schatzen wollen. Diese kann eine beliebige
Verteilung besitzen, wichtig ist wieder nur, dass alle Xi identisch verteilt und
unabh
angig voneinander sind. Wir suchen nun E(Xi ) = .
Die einfachste Idee w
are, einfach u
ber mehrere (N , um genau zu sein) Versuche hinweg zu Mitteln:
N
1 X
X=
Xi
N i=1
Wir pr
ufen den Sch
atzer wieder anhand der beiden Kriterien:
(1) Erwartungstreue:
E(X) =

N
1 X
N
E(Xi ) =
= .
N i=1
N

(2) Genauigkeit: Wir definieren der Ubersichtlichkeit


halber V (Xi ) =: 2 und
rechnen:
N
N 2
1 X
2
V (Xi ) =
.
V (X) = 2
=
N i=1
N2
N
Somit ist die Genauigkeit:

V (X) = .
N

Der Mittelwert liefert uns also einen Schatzer, der dieselbe Qualitat besitzt wie
unser vorher beschriebener Schatzer f
ur die Wahrscheinlichkeit eines Ereignisses
A.
Sch
atzen der Varianz. Nachdem der Erwartungswert noch nicht sehr viel
u
uhrung
ber eine Zufallsvariable aussagt, zum Beispiel eben nicht, ob bei jeder Ausf
des zugrundeliegenden Zufallsexperiments immer fast derselbe Wert herauskommt oder ob die Werte eine groe Streubreite haben, wollen wir auch die
Varianz sch
atzen. Wir starten wieder mit Kopien der zu schatzenden Zufallsvariablen, die unabh
angig und identisch verteilt sind und wollen V (Xi ) = 2
ermitteln.
Eine erste Idee w
are, mit der Definition der Varianz zu arbeiten und denselben Ansatz wie beim Erwartungswert zu versuchen:

2 =

N
1 X
2
(Xi E(Xi )) .
N i=1

158

Dabei gibt es allerdings das Problem, dass wir E(Xi ) nicht kennen. Wir konnten
aber den Sch
atzer, den wir gerade daf
ur gefunden haben, einsetzen:
2 =

N
2
1 X
Xi X i .
N i=1

F
ur diesen Ansatz pr
ufen wir wieder Erwartungstreue und Varianz:
(1) Erwartungstreue:
E( 2 )

=
=
=
=

!
N
X
2
1
E
Xi + X
N
i=1
"
!
!
#
N
N
X
X

1
2
2
E
(Xi ) + 2E
(Xi )( X) + E N ( X)
N
i=1
i=1

1 
N 2 + 2 N E((X )( X)) + N E(( X)2 )
N



1
2
2 E ( X)2 = 2 V (X) = 2
= 1
2 .
N
N

Zusammenfassend haben wir also




1
E( ) = 1
2
N

berechnet, dabei k
onnen wir 1 N1 berechnen, weil N logischerweise
bekannt ist. Also k
onnen wir einen neuen Schatzer angeben, der erwartungstreu ist:
2

2 =

2
1 X
(Xi X)2 .
1 = N 1
1 N
i=1
N

(2) Genauigkeit:
2

V (
)

1 X
(Xi X)2
N 1 i=1
N

...

159

N
X

1
V (Xi X)2
2
(N 1) i=1