Sie sind auf Seite 1von 204

-14

-12
-10
-8
-6
-4
-2
0
2
-14 -12 -10 -8 -6 -4 -2 0 2
Aequidistante Knoten
line 1
Numerische Mathematik I
Vorlesung, zuerst gehalten im Wintersemester 1999/2000
Tomas Sauer
Version 2.4
Letzte

Anderung: 24.1.2005
0
0
0
1/2^(n+1)
1/2^(n+1)
1/2^(n+1)
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3 4
line 1
Statt einer Leerseite . . .
Es gibt sogenannte Mathematiker, die sich gerne ebenso f ur Gesandte der Weisheit
gehalten wissen wissen m ochten als manche Theologen f ur Gesandte Gottes und
ebenso das Volk mit algebraischem Geschw atz, das sie Mathematik nennen, als
jene mit einem Kauderwelsch hintergehen, dem sie den Namen biblisch beilegen.
[. . .]
Dieses ist so gewi, als (a x) (a + x) = a
2
x
2
ist.
Georg Christoph Lichtenberg
INHALTSVERZEICHNIS 1
Inhaltsverzeichnis
1 Was will Numerische Mathematik? 3
1.1 Berechnung der Ableitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L osung eines linearen Gleichungssystems . . . . . . . . . . . . . . . . . . . . 4
1.3 Berechnung der Varianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Aber sowas passiert doch nicht wirklich . . . . . . . . . . . . . . . . . . . . . . 9
2 Fehleranalyse 10
2.1 Gleitkommazahlen und -operationen . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Fortpanzung von Rundungsfehlern . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 R uckw artsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Summation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Lineare Gleichungssysteme 28
3.1 Normen und Konditionszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Eine allgemeine Fehlerabsch atzung . . . . . . . . . . . . . . . . . . . . . . . 33
4 Direkte Methoden f ur lineare Gleichungssysteme 36
4.1 Dreiecksmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2 Naive GauElimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Das fertige L osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4 Fehleranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5 Pivotsuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.6 Der Wachstumsfaktor f ur Spaltenpivotsuche . . . . . . . . . . . . . . . . . . . 66
4.7 Verbesserung der Genauigkeit Skalierung . . . . . . . . . . . . . . . . . . . 70
4.8 Verbesserung der Genauigkeit Iteratives Verfeinern . . . . . . . . . . . . . . 72
5 Spezielle lineare Gleichungssysteme 77
5.1 CholeskyZerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2 Bandierte Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3 Total positive Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6 Iterative Verfahren f ur lineare Gleichungssysteme 85
6.1 Der Spektralradius und ein allgemeines Konvergenzkriterium . . . . . . . . . . 87
6.2 GauSeidelIteration und JacobiIteration . . . . . . . . . . . . . . . . . . . 90
6.3 Relaxationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.4 Konjugierte Gradienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7 Polynome 108
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren . . . . . . . . 110
7.2 Interpolation der AitkenNeville-Algorithmus . . . . . . . . . . . . . . . . . 122
7.3 Interpolation der NewtonAnsatz . . . . . . . . . . . . . . . . . . . . . . . . 126
7.4 Approximationsg ute von Interpolationspolynomen . . . . . . . . . . . . . . . 134
2 INHALTSVERZEICHNIS
7.5 Die schlechte Nachricht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8 Splines 142
8.1 Der Algorithmus von de Boor . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.2 Splines und Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.3 Eigenschaften der BSplines . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.4 Der Splineraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.5 Knoteneinf ugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.6 Die SchoenbergWhitneyBedingung . . . . . . . . . . . . . . . . . . . . . . 164
8.7 Totale Nichtnegativit at der Kollokationsmatrix . . . . . . . . . . . . . . . . . . 168
8.8 Eine kurze Geschichte der Splines . . . . . . . . . . . . . . . . . . . . . . . . 171
9 Wavelets 174
9.1 Hierarchische Darstellung oder eine ganz einfache Idee . . . . . . . . . . . . . 174
9.2 Multiresolution Analysis oder wenn Ideen abstrakt werden . . . . . . . . . . . 177
9.3 Pyramidenschema und Wavelet oder wie man aus einem Signal zwei macht . . 180
9.4 Hoch- und Tiefpasslter oder zur uck zu den Pyramiden . . . . . . . . . . . . . 186
9.5 Subdivision oder die Kunst, ein Wavelet zu plotten . . . . . . . . . . . . . . . 189
3
To solve a wellconditioned problem with
an illconditioned method is a numerical
crime.
W. Gautschi
1 Was will Numerische Mathematik?
Viele Probleme aus der realen Welt lassen sich mathematisch formulieren und dann entweder
von Hand oder unter Zuhilfenahme eines Computers l osen. Dabei stellt man im allgemeinen die
folgenden Forderungen an ein L osungsverfahren:
Interpretierbarkeit: Ein potentieller Anwender will die L osung interpretieren k onnen. So ist
beispielsweise oder RootOf( x13 - 12 x7 + 9 x3 - 1 ) in vielen F al-
len nicht ausreichend.
Efzienz: Die L osung soll innerhalb eine bestimmten problemabh angigen Zeitspanne (Echt-
zeit?) geliefert werden.
Genauigkeit: Die berechnete L osung soll innerhalb einer bestimmten Toleranzschranke um
die gew unschte L osung liegen.
Um die ersten beiden Forderungen, also Interpretierbarkeit und Verf ugbarkeit gew ahrleisten
zu k onnen, mu man sich meistens mit einer N aherung an die exakte L osung zufriedengeben.
Numerische Mathematik besch aftigt sich mit
der Konstruktion von Verfahren zum Aufnden von L osungen.
der Analyse dieser Verfahren bez uglich Efzienz und St orungsanf alligkeit.
Oftmals gibt es nat urlich mehrere L osungsverfahren f ur ein Problem, die zudem f ur einen Pro-
blemtyp sehr gut, f ur einen anderen sehr schlecht sein k onnen. Nat urlich gibt es auch Verfahren,
die immer schlecht sind.
Auerdem sind viele Verfahren, die man so in reinen Mathematikvorlesungen kennen-
lernt, in der Praxis mit einiger Vorsicht zu genieen. Wir werden uns mal ein paar Beispiele
ansehen.
1.1 Berechnung der Ableitung
Die Ableitung einer Funktion f C
1
(R) ist bekanntlich deniert als
f
t
(x) = lim
h0
f(x + h) f(x)
h
, x R.
Um diesen Grenzwert auszurechnen, verwenden wir Diff1.m. Tats achlich sieht man aber
beim Aufruf
4 1 WAS WILL NUMERISCHE MATHEMATIK?
%% Diff1.m (Numerik I)
%% --------------------------------------------------------
%% Berechnung der Ableitung
%% Eingabe:
%% fn Name der Funktion
%% x Stelle
%% N Schrittweite 2(-N)
%% Nur fuer Octave!
function res = Diff1( fn,x,N )
h = 1;
for i = 0:N
res = ( feval( fn,x+h ) - feval( fn,x ) ) / h;
h = h/2;
printf( "2{-%d} : %11e\n", i, res );
end
%endfunction
Programm 1.1 Diff1.m: Differentiation
Diff1( "cos", 1, 55 );
da sich die Werte zuerst dem korrekten Wert -.841471 ann ahern, dann aber wieder davon
entfernen und schlielich .00000 werden und auch bleiben. Es ist also von entscheidender
Bedeutung, mit dem Limes fr uh genug aufzuh oren.
1.2 L osung eines linearen Gleichungssystems
Wir betrachten eine Matrix A R
nn
sowie b R
n
und suchen nach x R
n
, so da Ax = b.
In der Linearen Algebra lernt man ein Verfahren, umx zu berechnen, n amlich die Cramersche
Regel. Dazu denieren wir die Matrizen
A
j
(b) =
_

_
a
11
. . . a
1,j1
b
1
a
1,j+1
. . . a
1n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
. . . a
n,j1
b
n
a
n,j+1
. . . a
nn
_

_
.
Satz 1.1 Die L osung x von Ax = b ergibt sich als
x
j
=
det A
j
(b)
det A
, j = 1, . . . , n. (1.1)
1.2 L osung eines linearen Gleichungssystems 5
Die Determinanten k onnen wir nun nach der LeibnizRegel berechnen:
det A = (1)
j
n

k=1
(1)
k
a
jk
det A
jk
, j = 1, . . . , n,
wobei
A
jk
=
_

_
a
11
. . . a
1,k1
a
1,k+1
. . . a
1n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
j1,1
. . . a
j1,k1
a
j1,k+1
. . . a
j1,n
a
j+1,1
. . . a
j+1,k1
a
j+1,k+1
. . . a
j+1,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
. . . a
n,k1
a
n,k+1
. . . a
nn
_

_
.
diejenige Matrix ist, die man aus A durch Streichung der jten Zeile und der kten Spalte
erh alt. Das f uhrt zu folgendem Algorithmus:
1. Berechne a = det A.
2. Ist a = 0, dann ist das Problem unl osbar, ist a ,= 0 berechne die Werte x
j
, j = 1, . . . , n,
nach (1.1).
Zu dieser L osungsmethode kann man einiges sagen:
Der Test a = 0 setzt voraus, da det A in einer exakten Arithmetik berechnet wird,
denn ansonsten kann man sich fast sicher sein, da durch Rundungsfehler der Wert leicht
ver andert und somit ,= 0 wird.
Die Determinantenberechnung ist sehr aufwendig: sei f(n) die Anzahl der Rechenopera-
tionen, die man f ur die Berechnung einer n n Determinante ben otigt, dann sagt uns die
LeibnizRegel, da f(2) = 3 und f(n) = 2nf(n 1), also
f(n) =
3
8
2
n
n!
Wir werden sp ater sehen, da vern unftige Vefahren zur Berechnung der L osung Cn
3
Rechenoperationen ben otigen.
Dies wird besonders heftig, wenn man die Determinante in exakter Arithmetik (z.B. in
MAPLE) berechnet.
Die Berechnung von Determinanten ist extrem anf allig gegen kleine St orungen der Ele-
mente, also instabil
Wenn man also ein Problem praktisch l osen will, ist es, im Gegensatz zur theoretischen Ma-
thematik wirklich wichtig, wie man es macht.
6 1 WAS WILL NUMERISCHE MATHEMATIK?
1.3 Berechnung der Varianz
Die Berechnung von Mittelwerten und Varianzen ist eine h aug auftretende Arbeit in der Sta-
tistik, die so monoton und stupide ist, da man sie besser dem Computer uberl at. Dabei kann
man aber durchaus einiges an Fehlern einbauen, wenn man sich nicht auch um die Numerik
k ummert.
Denition 1.2 Es sei X = (x
1
, . . . , x
N
) R
N
ein Vektor von Zahlen (Mewerten . . .). Der
Erwartungswert E(X) ist deniert als
E(X) =
1
N
N

j=1
x
j
, (1.2)
und die (empirische) Standardabweichung als
S(X) =

_
1
N 1
N

j=1
(x
j
E(X))
2
. (1.3)
Die Gr oe V (X) = S
2
(X) bezeichnet man als Varianz.
Das Problem bei der naiven Berechnung der Varianz besteht nun darin, da man die Me-
werte zweimal durchlaufen m usste, zuerst bei der Berechnung des Erwartungswerts und dann
bei der Berechnung der Abweichung vom Erwartungswert. Dies w urde es n otig machen, die
Mewerte zwischenzuspeichern, was bei vielen, vielen Mewerten ein zus atzlicher Programm-
und Speicheraufwand w are. Daher sucht man nach Methoden, die mit nur einem Durchlauf
durch die Daten auskommen.
In vielen Statistikb uchern ndet man die folgende, sehr ansprechende Formel:
V (X) =
1
N 1
_
_
N

j=1
x
2
j

1
N
_
N

j=1
x
j
_
2
_
_
. (1.4)
Damit ergibt sich die Berechnungsvorschrift
S
0
= Q
0
= 0 (1.5)
S
j
= S
j1
+ x
j
, Q
j
= Q
j1
+ x
2
j
, j = 1, . . . , n (1.6)
und
S(X) =

1
N 1
_
Q
N

S
2
N
N
_
, (1.7)

Ubung 1.1 Beweisen Sie die Formel (1.4).


So sch on diese Formel ist, so sch on kann man damit auf die Nase fallen.
1.3 Berechnung der Varianz 7
%% Varianz1.m (Numerik 1)
%% --------------------------------------------------------
%% One-pass Varianzberechnung auf die dumme Art
%% Eingabe:
%% x Vektor
function V = Varianz1( x )
N = length( x );
S = 0;
Q = 0;
for i = 1:N
S = S + x(i);
Q = Q + x(i)2;
end
V = sqrt( ( Q - S2 / N ) / (N-1) );
%endfunction
Programm 1.2 Varianz1.m: Varianzberechnung nach (1.5), (1.6) und (1.7).
Beispiel 1.3 (CProgramm Var.c) Um die Effekte richtig sichtbar zu machen verwenden wir
ein CProgramm, bei dem in einfacher Genauigkeit (float) gerechnet wird.
1. Wir betrachten X = (5000, 5001, 5002). Man sieht leicht, da E(X) = 5001 und V (X) =
1. Das Programm liefert aber
1
den ziemlich falschen Wert V (X) = 0.707107.
2. Noch besser wird es f ur X = (10000, 10001, 10002): Das Ergebnis wird dann NaN (not a
number), d.h., es gibt keine Standardabweichung mehr oder diese ist eine komplexe Zahl
2
. . .
F ur ein stabileres Verfahren setzen wir X
k
= (x
1
, . . . , x
k
) und bestimmen die Werte
M
k
= E (X
k
) und Q
k
= (k 1)V (X
k
)
2
(1.8)
mittels der Berechnungsregeln M
0
= Q
0
= 0 und
Q
j
= Q
j1
+
(j 1) (x
j
M
j1
)
2
j
, j = 1, . . . , n, (1.9)
M
j
= M
j1
+
x
j
M
j1
j
, j = 1, . . . , n. (1.10)
1
Auf (m)einem Pentium II unter Linux, SuSE Version 6.0
2
Was ein klein wenig im Gegensatz zu (1.3) steht, wo lediglich nichtnegative Zahlen aufsummiert werden.
8 1 WAS WILL NUMERISCHE MATHEMATIK?
/*
Var.c
Berechnung der Varianz einer Folge
Compile: gcc -o Var Var.c -lm
*/
#include <stdio.h>
#include <math.h>
float sqr( float x ) { return x*x; }
float Var( unsigned N, float *data )
{
float s1 = 0, s2 = 0;
unsigned n;
for ( n = 0; n < N; n++ )
{ s1 += sqr( data[n] ); s2 += data[n]; }
s1 -= sqr( s2 ) / N; s1 /= (float)( N - 1);
return (float)sqrt( s1 );
}
main()
{
static float data[1111];
unsigned N,n;
/* Einlesen */
scanf( "%d", &N );
for ( n = 0; n < N; n++ ) scanf( "%f", data + n );
/* Ausgeben */
printf( "Var = %f / %f\n", Var( N, data ) );
}
Programm 1.3 Var.c: Das erste, letzte und einzige CProgramm. Es berechnet die Varianz
nach (1.5), (1.6) und (1.7) in einfacher Genauigkeit.
1.4 Aber sowas passiert doch nicht wirklich . . . 9
%% Varianz2.m (Numerik 1)
%% --------------------------------------------------------
%% One-pass Varianzberechnung auf die clevere Art
%% Eingabe:
%% x Datenvektor
function V = Varianz2( x )
N = length( x );
M = Q = 0;
for i = 1:N
Q = Q + ( i - 1 ) * ( x(i) - M )2 / i;
M = M + ( x(i) - M ) / i;
end
V = sqrt( Q / (N-1) );
endfunction
Programm 1.4 Varianz2.m: Varianzberechnung nach (1.9), (1.10) und (1.11).
Das Ergebnis ist dann
V (X) =
_
Q
N
N 1
. (1.11)
Dieses Schema berechnet die Variation aus Beispiel 1.3 korrekt zu V (X) = 1.00000.

Ubung 1.2 Beweisen Sie, das M


k
und Q
k
aus (1.8) tats achlich den Rekursionsformeln aus (1.9)
und (1.10) gen ugen.
Satz 1.4 Numerik ist zu wichtig, als da man sie den Statistikern uberlassen sollte.
1.4 Aber sowas passiert doch nicht wirklich . . .
Beispiel 1.5 (B orse von Vancouver)
Der Aktienindex der B orse von Vancouver wurde in den fr uhen 80ern mit Computern berechnet.
Im Januar 1982 wurde der Aktienindex mit dem Wert 1000 gestartet und landete im November
1983 bei einem Stand von 520, obwohl allem Anschein die individuellen Aktien eigentlich ganz
gut standen. Grund: Der Index wurde auf drei Dezimalstellen berechnet und dann wurde abge-
schnitten anstatt zu runden. Dieser Index wurde (wohl aus dem alten Index und den indivi-
duellen Differenzen der Aktien) mehrere tausend Mal pro Tag upgedated und jedes Mal wurde
abgeschnitten anstatt zu runden. Nach einer Neuberechnung mit Rundung verdoppelte sich der
Aktienindex beinahe.
10 2 FEHLERANALYSE
Unwissenheit ist der schlimmste Fehler.
Persisches Sprichwort
2 Fehleranalyse
Eine besonders sch one, elementare und lesenswerte Einf uhrung in das Wesen und Unwesen der
Rundungsfehler und deren Konsequenzen ist die Arbeit von Goldberg [20] aus ihr stammt
auch der Beweis der KahanSummation (Satz 2.25).
Zuerst wollen wir uns aber mit den grundlegenden Problemen beim Rechnen mit endlicher
Genauigkeit auf heutigen (digitalen) Computern befassen. Dabei werden zwei Typen von Feh-
lern untersucht.
Denition 2.1 Es sei c eine Zahl und c die berechnete Gr oe.
1. Der absolute Fehler ist der Wert
e
abs
= e
a
:= [ c c[ ,
2. der relative Fehler (f ur c ,= 0) ist
e
rel
= e
r
:=
[ c c[
[c[
.
Wie der Name schon sagt, gibt uns der absolute Fehler die absolute Genauigkeit des Ergeb-
nisses an, w ahrend uns der relative die Anzahl der korrekten Ziffern im Ergebnis angibt.

Ubung 2.1 Zeigen Sie: wird die Badische Zahl x = .x


1
x
2
x

B
e
, x
j
0, . . . , B 1,
e Z, durch x = . x
1
x
2
x

B
e
, x
j
0, . . . , B 1, mit einem relativen Fehler von
angen ahert, so stimmen die ersten log
B
Stellen von x und x uberein.
2.1 Gleitkommazahlen und -operationen
Alle heutigen Rechner verwenden eine sogenannte Gleitkomma-, Fliepunkt-, Gleitpunkt- oder
Fliekommaarithmetik (engl. oating point).
Denition 2.2 Die Menge F = F(B, m, E) von Gleitkommazahlen zur Basis B N, mit
Mantissenl ange m N und Exponentenbereich E Z besteht aus allen Zahlen der Form

_
m

j=1
d
j
B
j
_
B
e
, d
j
0, . . . , B 1 , e E.
Wir schreiben diese Zahlen auch als
. d
1
d
m
B
e
.
Die Ziffern d
1
d
m
bezeichnet man auch als Mantisse.
2.1 Gleitkommazahlen und -operationen 11
Normalerweise sind Gleitkommazahlen bin ar, das heit, B = 2. Schematisch sehen dann diese
Zahlen so aus:
d
1
d
m
e
1
e
k

Vz Mantisse Exponent
Der Exponent wird in einem ganz normalen vorzeichenbehafteten Ganzzahlformat (Einer-
oder Zweierkomplement?) dargestellt. Achtung: damit wird der Exponentenbereich normaler-
weise nicht symmetrisch sein.
Bemerkung 2.3
1. In obiger Darstellung kann es die Zahlen +0 und 0 geben und diese k onnen sehr wohl
unterschiedlich sein.
2. F ur die Gr oe des Zahlenbereiches ist die L ange des Exponenten verantwortlich, f ur die
Genauigkeit der Rechenoperationen hingegen die Mantissenl ange.
3. Der darstellbare
3
Bereich von F ist das Intervall
D(F) :=
_
B
max E
, B
min E1

_
B
min E1
, B
max E

0.
Entsteht beispielsweise durch Rechnung eine Zahl x mit [x[ > B
max E
, dann spricht man
von

Uberlauf (diese Zahlen haben den Wert ), bei [x[ < B
min E1
spricht man hingegen
von Unterlauf.
Denition 2.4 Eine Gleitkommazahl x = .d
1
.d
m
B
e
F heit normalisiert, wenn d
1
,= 0.
Eigentlich sind normalisierte Gleitkommazahlen auch die vern unftigen Gleitkommazah-
len: Wenn man schon nur endliche Genauigkeit zur Verf ugung hat, macht es ja nur wenig Sinn,
Ziffern damit zu vergeuden, da man f uhrende Nullen mitschleppt.
Denition 2.5 Die Zahl u =
1
2
B
1m
heit Rundungsfehlereinheit (unit roundoff).
Der Name Rundungsfehlereinheit kommt daher, da dies der relative Fehler ist, der auftritt,
wenn man von einer darstellbaren rellen Zahl x zur n achstgelegenen Fliekommazahl x F
ubergeht.
Proposition 2.6 F ur jede Zahl x D(F) gibt es eine normalisierte Gleitkommazahl x F
und ein [u, u], so da
x = x (1 +) .
3
So ist die Aussage nicht ganz richtig: es ist m oglich betragsm aig kleinere Zahlen darzustellen, n amlich bis
hin zu B
min Em
. Solche Zahlen, deren erste Ziffer 0 ist und bei denen der Exponent gleichzeitig minimal ist, be-
zeichnet man als subnormal. Allerdings w urde eine detailliertere Betrachtung unter Ber ucksichtigung subnormaler
Zahlen die Darstellung verkomplizieren, ohne viel zu bewirken.
12 2 FEHLERANALYSE
Beweis: Wir schreiben x in seiner normalisierten Badischen Entwicklung als
x = B
e
_

j=1
x
j
B
j
_
= .x
1
x
2
B
e
,
wobei x
1
,= 0, also B
e1
[x[ B
e
. Ohne Einschr ankung k onnen wir auerdem annehmen,
da x > 0 ist.
Es seien
x

:= .x
1
x
m
B
e
F und x

:=
_
.x
1
x
m
+ B
m
_
B
e
F,
dann ist x

x x

und einer der beiden Werte [x x

[ und [x x

[ ist
1
2
B
em
, denn
sonst w are ja
B
em
= x

= (x

x) + (x x

) > B
em
.
W ahlt man x x

, x

passend, dann ist also


[x x[
[x[

1
2
B
em
B
e1
=
1
2
B
1m
.
F ur einen alternativen Beweis f ur gerade
4
Werte von B setzen wir
y :=
_
x, x
m+1
<
B
2
,
x +
B
em1
2
, x
m+1

B
2
.
_
= y
0
.y
1
y
m
y

B
e
.
Dabei kann es zwar passieren, da y
0
= 1 ist (z.B. beim Aufrunden von .995 auf zwei Stellen),
aber dann mu y
1
= = y
m
= 0 sein. Nun setzen wir
x :=
_
.y
1
y
m
B
e
y
0
= 0,
.y
0
y
m1
B
e+1
y
0
= 1,
(Achtung: x = .y
0
y
m
B
e+1
da y
m
= 0!). Dann ist
x = x +
_
x
m+1
B
em1
, x
m+1
<
B
2
(B/2 x
m+1
) B
em1
, x
m+1

B
2
_

j=m+2
x
j
B
ej
.
Also denieren wir

m+1
:=
_
x
m+1
x
m+1
<
B
2
,
x
m+1

B
2
x
m+1

B
2
,
und da B gerade ist, ergibt sich

m+1
<
B
2
=
m+1

B
2
1
4
Man kann sich relativ leicht klarmachen, warum die Basis eine gerade Zahl sein mu: Nachdem man ja immer
die B Ziffern 0, . . . , B 1 zur Verf ugung hat, rundet man im Falle einer geraden Basis gerade die H alfte der
Ziffern auf und die H alfte der Ziffern ab, ist hingegen B ungerade, so mu man bei Auftreten der Ziffer
B1
2
die
Entscheidung, ob auf- oder abgerundet werden soll, auf die n achste Ziffer vertagen. Und wenn die wieder
B1
2
ist . . .
2.1 Gleitkommazahlen und -operationen 13
und somit
[x x[ = B
e
_
B
m1

m+1
+

j=m+2
x
j
B
j
_
B
e
B
m1
__
B
2
1
_
+ (B 1)
B
1
1 B
1
_
=
1
2
B
e1
B
1m

1
2
[x[B
1m
= u[x[.
Das Interessante am zweiten Beweis ist die Tatsache, da wir zur Bestimmung von x nur die
ersten m + 1 Ziffern von x kennen m ussen
5
.

Ubung 2.2 Zeigen Sie: Bei Verwendung einer ungeraden Basis B kann man unter Verwendung
von m+1 Ziffern nicht mit der gew unschten Genauigkeit u auf m Stellen runden. Funktioniert
es mit m + k Stellen f ur irgendein k > 1?
Denition 2.7 Die Gleitkommaoperationen
, , , : F F F
werden wie folgt ausgef uhrt:
1. Addition (, ): Schiebe die Zahl mit kleinerem Exponenten so lange nach rechts
6
, bis
die beiden Exponenten gleich gro sind, f uhre dann die Operation aus, normalisiere das
Ergebnis und runde auf die n achste Zahl aus F.
2. Multiplikation (, ): Addiere/subtrahiere die Exponenten, f uhre die Operation hinrei-
chend exakt aus und normalisiere.

Ubung 2.3 Zeigen Sie, da die Gleitkommaoperationen nicht mehr den K orperaxiomen gen ugen.
Bemerkung 2.8
1. Die obige Denition legt nicht fest, in welchem Format die Operationen exakt gerechnet
werden (Akkumulator).
2. Die naive Anschauung F uhre die arithmetische Operation exakt durch und runde dann
ist nat urlich v ollig unrealistisch. Trotzdem werden wir sehen, da sie unter gewissen (ein-
fachen) Annahmen an die Arithmetik gemacht werden kann.
3. Die kritischste Operation ist die Subtraktion, die zeitaufwendigste die Division (bis zu
Faktor 20 langsamer).
5
Und das funktioniert eben nur, wenn die Basis B eine gerade Zahl ist
6
Diese Operation erh oht den Exponenten.
14 2 FEHLERANALYSE
4. Ist x = .d
1
d
m
B
e
und y = .

d
1


d
m
B
e
dann f allt bei der Addition der betragsm aig
kleinere Operand unter den Tisch falls [e e[ > m.
Beispiel 2.9 Sei B = 10 und m = 3.
1. .123 10
0
.306 10
1
, mindestens vierstelliger Akkumulator:
.1230
+ .0306
.1536 .154
2. .123 10
0
.306 10
1
, dreistelliger Akkumulator:
.123
+ .030
.153 .153
3. .123 10
0
.122 10
0
ergibt
.123
.122
.001 .100 10
2
Die letzten beiden Ziffern sind Phantasieziffern! Diesen Vorgang bei der Subtraktion be-
zeichnet man als Ausl oschung.

Ubung 2.4 Zeigen Sie: die Multiplikation zweier normierter Gleitkommazahlen liefert wieder
eine normierte Gleitkommazahl.
Beispiel 2.10 (IEEE 754) Die in heutigen PCProzessoren verwendete Gleitkommaarithmetik
entspricht dem IEEE
7
754Standard. Die dabei verwendete Basis ist 2 und die arithmetischen
Datentypen sind als
Typ Mantisse Exponent Roundoff Gr oenordnung
float 23+1 8 2
24
= 5.96 10
8
10
38
double 52+1 11 2
53
= 1.11 10
16
10
308
festgelegt. Das eigentlich interessante am Standard ist aber die Festlegung des Rundungsver-
haltens und die Existenz und Verarbeitung von NaNs
8
.
Der Standard IEEE 854 l at ubrigens als Basis 2 und 10 zu!
Jetzt sehen wir uns an, wie eine kleine

Anderung der Akkumulatorengr oe das Verhalten der
Subtraktion beeinussen kann.
7
IEEE = Institute of Electrical and Electronical Engineers
8
Not a Number, Ergebnisse von unzul assigen Operationen wie Wurzeln aus negativen Zahlen
2.1 Gleitkommazahlen und -operationen 15
Satz 2.11 Der relative Fehler bei der Subtraktion mit mstelligem Akkumulator kann B 1
sein.
Beweis: Wir setzen = B 1 und betrachten die beiden Zahlen
x = .10 0 B
0
= B
1
y = . B
1
= B
1
_
1 B
m
_
,
also ist
x y = B
1
_
1 1 + B
m
_
= B
m1
.
Das berechnete Ergebnis hingegen ist
.10 00
.0
.00 01 .10 0 B
m+1
= B
m
.
Der relative Fehler ist somit
e
r
=
B
m
B
m1
B
m1
= B 1.

Satz 2.12 (Guard Digit) Der relative Fehler bei der Subtraktion mit (m + 1)stelligem Akku-
mulator ist h ochstens 2u.
Beweis: Der kritische Fall ist die Subtraktion zweier Zahlen x, y gleichen Vorzeichens. Nehmen
wir an, da x, y > 0 und da x > y. Letzteres ist keine Einschr ankung da x y = (y x)
und da Vorzeichenumkehr exakt durchgef uhrt werden kann (Vorzeichenbit!). Auerdem k onnen
wir die Zahlen so skalieren, da,
x = .x
1
x
m
B
0
, also y = .y
1
y
m
B
k
= .0 0 y
k+1
y
k+m
f ur ein k N
0
und x
1
, y
k+1
,= 0.
Im Fall k m + 1 haben die ersten m + 1 Stellen von y, die bei der Rechnung verwendet
werden, den Wert 0 und daher ist x y = x. Der Fehler dabei ist y < B
m1
und da x B
1
,
ist e
r
< B
m
=
2
B
1
2
B
1m
u.
Sei also k m und
y = .0 0 y
k+1
y
m+1
die Akkumulatorversion von y (also auf m + 1 Stellen abgeschnitten). Ist k = 0, dann wird
die Subtraktion sogar in einem mstelligen Akkumulator exakt durchgef uhrt (kein Shift!), ist
k = 1, so sorgt die Guard Digit daf ur, da die Subtraktion im Akkumulator exakt ausgef uhrt
16 2 FEHLERANALYSE
wird und Fehler k onnen also nur durch Runden auftreten. Diese sind aber, nach Proposition 2.6
h ochstens u.
.x
1
x
2
x
m
0 0 . . . 0
k = 0 .y
1
y
2
y
m
0 0 . . . 0
k = 1 .0 y
1
y
m1
y
m
0 . . . 0
Sei also k 2. Dann ist
y y =
m+k

j=m+2
y
j
B
j
(B 1)
m+k

j=m+2
B
j
=
B 1
B
m+2
k2

j=0
B
j
=
B 1
B
m+2
1 B
1k
1 B
1
. (2.1)
Nun ist der berechnete Wert x y gerade
x y = rd
m
(x y) = x y ,
wobei
9
[[
B
2
B
m1

1
2
B
m
. Der relative Fehler bei der Subtraktion ist damit
e
r
=
[(x y) (x y )[
[x y[
=
[ y y + [
[x y[
. (2.2)
Wir schreiben z = x y = .z
1
z
m+k
B
0
(exakte Darstellung!) und unterscheiden drei
F alle:
1. x y B
1
(also z
1
,= 0): dann liefert (2.2) zusammen mit (2.1) die Absch atzung
e
r
B[ y y + [ B([ y y[ +[[) B
_
B 1
B
m+2
1 B
1k
1 B
1
+
B
m
2
_
= B
1m
_
B 1
B
2
1 B
1k
1 B
1
+
1
2
_
= B
1m
_
B 1
B 1
1 B
1k
B
+
1
2
_
= B
1m
_
1
2
+
1
B
B
k
_

_
1 +
2
B
_
. .
2
1
2
B
1m
. .
=u
2u.
2. x y < B
1
: das Ergebnis aus dem Akkumulator mu beim Normalisieren um min-
destens eine Stelle nach links geschoben werden und daher passiert beim Runden nichts
mehr, also ist = 0. Der kleinstm ogliche Wert f ur x y ist nun
.10 0 . 0 0
. .
k

. .
m
= .0
. .
k1
0 0
. .
m1
1 > B
2
(B 1)
k1

j=0
B
j
,
also
[x y[ >
B 1
B
2
1 B
k
1 B
1
. (2.3)
9
Achtung: ist hier der absolute Fehler bei Rundung auf m Stellen, nicht der relative Fehler wie in Propositi-
on 2.6 betrachtet! Daher auch der um einen Faktor B kleinere Wert.
2.1 Gleitkommazahlen und -operationen 17
Setzen wir (2.1), (2.3) und = 0 in (2.2) ein, so erhalten wir
e
r
=
B 1
B
m+2
1 B
1k
1 B
1

B
2
B 1
1 B
1
1 B
k
= B
m
1 B
1k
1 B
k
< B
m

1
2
B
1m
= u.
3. x y < B
1
und x y B
1
: dies tritt genau dann auf, wenn x y = B
1
= .10 0
und es ist wieder = 0. Damit k onnen wir aber wieder die Absch atzung aus Fall 2
verwenden.

Ubung 2.5 Beweisen Sie Satz 2.12 f ur den Fall, da x und y unterschiedliches Vorzeichen
haben. Zeigen Sie, da diese Aussage sogar ohne Verwendung einer guard digit g ultig bleibt.
Denition 2.13 Das Standardmodell der Gleitkommaarithmetik setzt voraus, da
x y = (x y) (1 + ) , [[ u, = +, , , /, (2.4)
wobei u = 2u. Dieses Standardmodell ist mit Hilfe von Guard Digits immer zu realisieren.
Bemerkung 2.14 (Standardmodell der Gleitkommaarithmetik)
1. Das Standardmodell spiegelt die Annahme wieder, da die jeweilige Rechenoperation
exakt ausgef uhrt und dann das Ergebnis gerundet wird. Wir haben aber gesehen, da, bis
auf den Faktor 2 diese Annahme auch mit endlicher Arithmetik realisiert werden kann.
2. Das Standardmodell hat noch eine interessante Konsequenz: ist
10
x y ,= 0 und ist u < 1,
dann ist auch der berechnete Wert, x y, von Null verschieden. Grund: w are x y = 0,
dann w are der relative Fehler der Berechnung
[x y x y[
[x y[
=
[x y[
[x y[
= 1 > u.

Ubung 2.6 Zeigen Sie, da Multiplikation und Division das Standardmodell erf ullen.
Wir wollen im weiteren immer annehmen, da wir eine Gleitkommaarithmetik zur Verf ugung
haben, die dem Standardmodell (2.4) gen ugt.
10
Eine Arithmetik ohne diese Eigenschaft macht ja auch wenig Sinn
18 2 FEHLERANALYSE
2.2 Fortpanzung von Rundungsfehlern
Im Normalfall wird bei numerischen Berechnungen nicht nur eine Operation ausgef uhrt, son-
dern mehrere hintereinandergeschaltet. Dabei kann die Reihenfolge, in der die Operationen
ausgef uhrt werden, einen dramatischen Einu auf das Ergebnis haben.
Beispiel 2.15 Wir wollen f ur x, y F den Wert x
2
y
2
berechnen.
1. Berechnung in der Reihenfolge (x x) (y y). Also ist
(x x) (y y) = x
2
(1 +
1
) y
2
(1 +
2
) =
_
x
2
(1 +
1
) y
2
(1 +
2
)
_
(1 +
3
)
=
_
x
2
y
2
_
(1 +
3
) +
_

1
x
2

2
y
2
_
(1 +
3
) ,
was zu der pessimistischen Absch atzung
[(x x) (y y) (x
2
y
2
)[
[x
2
y
2
[
u
_
1 + (1 + u)
x
2
+ y
2
[x
2
y
2
[
_
(2.5)
f uhrt, die beliebig schlecht werden kann, wenn [x[ [y[ ist.
2. Berechnung in der Reihenfolge (x y) (x y). Dann ist
(x y) (x y) = (x + y) (1 +
1
) (x y) (1 +
2
)
= ((x + y) (1 +
1
) (x y) (1 +
2
)) (1 +
3
)
=
_
x
2
y
2
_
(1 +
1
) (1 +
2
) (1 +
3
) ,
was die wesentliche bessere Fehlerschranke
[(x y) (x y) (x
2
y
2
)[
[x
2
y
2
[
3 u + 3 u
2
+ u
3
3 u (2.6)
ergibt.
Nun mu (2.5) an sich noch nichts schlimmes bedeuten: wir haben lediglich eine obere Absch atzung,
die sich schlecht verh alt. Doch leider ist die Realit at auch nicht besser!
Beispiel 2.16 Wir betrachten
B = 10, m = 3, x = .334 und y = .333.
Dann ist x
2
= .112, y
2
= .111, also hat x
2
y
2
die normalisierte Darstellung .100 10
2
.
Das korrekte Ergebnis hingegen w are .667 10
3
, der relative Fehler ist 0.499, also 100u!
Dies ist schlimm genug, allerdings ubertreibt Formel (2.5) den relativen Fehler mit einem Wert
333 schon etwas.
2.2 Fortpanzung von Rundungsfehlern 19
%% SkProd1.m (Numerik 1)
%% --------------------------------------------------------
%% Berechnung des Skalarprodukts
%% Eingabe:
%% x,y Vektoren
function sp = SkProd( x,y )
xdim = length( x );
ydim = length( y );
sp = 0;
for i = 1:min( xdim,ydim )
sp = sp + x(i) * y(i);
end
%endfunction
Programm 2.1 SkProd1.m: Berechnung des Skalarprodukts
Als ein weiteres Beispiel von Rundungsfehlerfortpanzung wollen wir uns das Skalarpro-
dukt zweier Vektoren x, y R
n
ansehen. Dies berechnen wir nach der Regel
s
0
= 0, s
j
= s
j1
(x
j
y
j
) , j = 1, . . . , n,
wobei x
T
y = s
n
. Da die Addition von Null unproblematisch ist, ist dann
s
1
= x
1
y
1
(1 +
1
)
s
2
= (s
1
+ x
2
y
2
(1 +
2
)) (1 +
2
)
= x
1
y
1
(1 +
1
) (1 +
2
) + x
2
y
2
(1 +
2
) (1 +
2
) ,
wobei [
j
[ , [
j
[ u. Der weitere Gang der Dinge ist nun leicht zu erraten.
Lemma 2.17 F ur j = 2, . . . , n gilt
s
j
=
j

k=1
x
k
y
k
(1 +
k
)
j

l=k
(1 +
l
) , (2.7)
wobei
1
= 0.
Beweis: Induktion uber j. Die F alle j = 1, 2 haben wir ja schon betrachtet. Sei also (2.7) f ur
ein j 2 bewiesen. Nun ist
s
j+1
= s
j
(x
j+1
y
j+1
) = (s
j
+ x
j+1
y
j+1
(1 +
j+1
)) (1 +
j+1
)
20 2 FEHLERANALYSE
= s
j
(1 +
j+1
) + x
j+1
y
j+1
(1 +
j+1
) (1 +
j+1
)
=
j

k=1
x
k
y
k
(1 +
k
)
j+1

l=k
(1 +
l
) + x
j+1
y
j+1
(1 +
j+1
) (1 +
j+1
)
=
j+1

k=1
x
k
y
k
(1 +
k
)
j+1

l=k
(1 +
l
) .

Damit erhalten wir den absoluten Fehler


e
a
=

s
n
x
T
y

j=1
x
j
y
j
_
(1 +
j
)
n

k=j
(1 +
k
) 1
_

j=1
[x
j
y
j
[
_
(1 + u)
nj+2
1
_
=
n

j=1
[x
j
y
j
[
_
(n j + 2) u +
_
n j + 2
2
_
u
2
+ u
nj+2
_
(n + 1) u
n

j=1
[x
j
y
j
[ + O
_
(n u)
2
_
.
Denition 2.18 (LandauSymbole)
Sei : R R stetig in einer Umgebung von 0. Ein Ausdruck (u) ist ein O von (u), in
Zeichen = O((u)), falls
limsup
u0

(u)
(u)

< . (2.8)
Entsprechend schreiben wir = o((u)) falls
lim
u0
(u)
(u)
= 0. (2.9)
Da der Rundungsfehler u immer als sehr klein (im Vergleich zu n) angenommen wird, also
nu < 1, werden wir O((n u)
2
)Terme immer unter den Tisch fallen lassen. Somit haben wir
die folgende Aussage uber die Stabilit at der Berechnung des inneren Produkts.
Satz 2.19 Der relative Fehler bei der Berechnung des Skalarprodukts x
T
y, x, y R, erf ullt die
Ungleichung
e
r
=

x
T
y s
n

[x
T
y[
n u

n
j=1
[x
j
y
j
[
[x
T
y[
+ O
_
(n u)
2
_
. (2.10)

Ubung 2.7 Erkl aren Sie, wie man von der Konstante n + 1 auf n kommt.
2.3 R uckw artsfehler 21
Noch ein Wort zur Absch atzung (2.10): ist das Skalarprodukt sehr klein (d.h., die Vektoren
sind fast orthogonal), nicht aber die Summe [x
1
y
1
[ + +[x
n
y
n
[, dann kann die Absch atzung
und damit die Genauigkeit des Ergebnisses beliebig schlecht werden. Auerdem mu minde-
stens einmal Ausl oschung auftreten
Wir sehen auch noch eine weitere Faustregel: die Koefzienten x
j
, y
j
sind ja an nj +1
Operationen beteiligt (eine Multiplikation und n j Additionen) und sammeln bei jeder
dieser Operationen einen Fehler auf. Da insgesamt n kombinierte Multiplikationen/Additionen
auftauchen, ist es nur plausibel, da der Gesamtfehler die Gr oenordnung n u haben wird. Er-
staunlicherweise kann man dieses Naturgesetz umgehen, wie wir noch sehen werden.
2.3 R uckw artsfehler
Wir k onnen Gleichung (2.7) mit j = n noch auf eine andere Weise interpretieren: den be-
rechneten Wert x y = s
n
k onnte man dadurch erhalten, da man exakt rechnet, aber die
Ausgangsdaten st ort. Anders gesagt:
x y = x y = x
T
y,
wobei
x
j
y
j
= x
j
y
j
(1 +
j
)
n

k=j
(1 +
k
) .
Wir interpretieren Fehler aus der Berechnung also jetzt als Fehler in den Eingabedaten. Diese
Idee, die auf Wilkinson [49] zur uckgeht, hat die folgenden Vorteile:
Rundungsfehler und Datenungenauigkeiten (hat da jemand 0.1 eingegeben?) werden
gleich behandelt.
Man kann jetzt auf den reichen Fundus der St orungsrechnung zur uckgreifen.
Die Sensitivit at der Rechnung bez uglich individueller Daten wird ber ucksichtigt (x
1
, y
1
sind wesentlich st arker mit Fehlern behaftet als x
n
, y
n
).
Denition 2.20 Es sei f : D R
n
R
m
eine beliebige Funktion und

f : D R
m
ein
numerisches Verfahren dazu. Der R uckwartsfehler des Verfahrens ist die kleinste Zahl, so da
es f ur alle x D 0 ein x R
n
mit der Eigenschaft

f(x) = f ( x) gibt, so da die relative
Fehlerabsch atzung
|x x|
|x|
(2.11)
erf ullt ist. Der komponentenweise R uckw artsfehler R
n
ist analog als kleinste Fehlerschran-
ke in
[x
j
x
j
[
[x
j
[

j
, j = 1, . . . , n, (2.12)
deniert.
22 2 FEHLERANALYSE
Schematisch ist die Idee des R uckw artsfehlers wie folgt:
x

f
y =

f(x)
x f
Beispiel 2.21 Nach Lemma 2.17 hat der R uckw artsfehler f ur das Skalarprodukt mit vorgegebe-
nem y R
n
als Abbildung von R
n
R
n
den Wert = n u, der komponentenweise R uckw arts-
fehler hingegen = (n u, n u, (n 1) u, . . . , 2 u).
Denition 2.22 Die Konditionszahl
f
einer Berechnung f : D R
m
(in Abh angigkeit von
den Eingabewerten x D) ist eine Schranke f ur das absolute oder relative

Anderungsverhalten
|f (x + ) f(x)|
f
(x)||, R
n
,
bzw.
|f (x + ) f(x)| |f(x)|
f
(x)||, R
n
, f(x) ,= 0,
wobei || als sehr klein angenommen wird.
Bemerkung 2.23
1. Mit der Konditionszahl ergibt sich die ber uhmte Regel
Fehler Konditionszahl R uckw artsfehler.
2. Diese Aufspaltung ist noch in einer anderen Hinsicht interessant: die Konditionszahl
h angt nur von f, also dem Problem, aber nicht von

f, dem Verfahren ab und sagt le-
diglich etwas dar uber aus, wie St orungssensitiv das Problem ist. Die Verfahrensfehler
werden uber die R uckw artsanalyse in den R uckw artsfehler gesteckt, wo sie sich mit den
Datenfehlern verb unden k onnen.
3. Ist f C
2
(D), dann liefert die Taylorentwicklung
f (x + ) = f(x) + Df
T
(x) +
1
2
D
2
f() [, ] , | x| ||.
Ist die Bilinearform D
2
f halbwegs vern unftig beschr ankt, dann ist der letzte Term ein
O(||
2
) und die Konditionszahl erf ullt

f
(x) |Df| , (2.13)
wobei | | eine geeignete Norm ist.
2.3 R uckw artsfehler 23
f^
f
x
x^
f
Abbildung 2.1: R uckw artsfehler und Konditionszahl. Zuerst ndet man ein (nat urlich
m oglichst gutes) x so da

f(x) = f ( x), der R uckw artsfehler ist dann der Radius eines
(m oglichst kleinen) Kreises um x, der auch x enth alt. Dieser Kreis wird nun durch f auf
ein anderes Gebiet (hier der Einfachheit halber ebenfalls ein Kreis) abgebildet und das
Verh altnis aus dem Radius dieses Gebildes und des Ausgangskreises ist schlielich die
Konditionszahl.
Beispiel 2.24 (Konditionszahl f ur das Skalarprodukt)
Halten wir y R
n
fest und betrachten die Abbildung
f
y
: R
n
R, f
y
(x) = x
T
y =
n

j=1
x
j
y
j
.
Also ist
Df =
_
f
y
x
j
: j = 1, . . . , n
_
= (y
j
: j = 1, . . . , n) = y
Auf der anderen Seite ist f ur das obige Summationsverfahren || n u|x| (R uckw artsfehler)
und damit haben wir die Absch atzung

x
T
y s
n

n u|x| |y|.
Alle Fehlerabsch atzungen, die auf Konditionszahlen und R uckw artsfehlern beruhen, sind
a prioriAbsch atzungen, das heit, sie sind von den Eingabedaten unabh angig. Einerseits ist
das vorteilhaft, weil keine weiteren Voraussetzungen beachtet und eingehalten werden m ussen,
andererseits haben aber solche allgemeinen Aussagen immer den Nachteil, da sie in vielen
Einzelf allen zu einer

Uberschatzung des Fehlers neigen. Bessere, das heit sch arfere Resultate
erh alt man zumeist durch die sogenannte runnig error analysis
11
, oder uber statistische Metho-
den, die dann von einer gewissen Verteilung der Eingangsdaten ausgehen und normalerweise
Aussagen uber mittlere Fehler liefern.
11
Zumindest der Name sollte einmal gefallen sein.
24 2 FEHLERANALYSE
2.4 Summation
Es ist leicht zu sehen, da f ur x R
n
der naive Summationsalgorithmus
s
0
= 0 s
j
= s
j1
x
j
, j = 1, . . . , n,
zur Berechnung von x
T
1
n
= x
1
+ +x
n
, 1
n
= (1, . . . , 1)
T
als Spezialfall des Skalarprodukts
die Fehlerabsch atzung

x
T
1
n
s
n

[x
T
1
n
[
n u

n
j=1
[x
j
[

n
j=1
x
j

(2.14)
erf ullt. Beim Aufsummieren riesiger Datens atze (z.B. in Statistiken) kann n durchaus gro wer-
den, also ist es m oglicherweise nicht sonderlich gut um das Ergebnis der Summation bestellt.
Die Frage ist also: Kann man die Konstante n in der Fehlerschranke verbessern? Die Antwort
ist die compensated summationFormel von Kahan. Der Algorithmus ist allerdings etwas
aufwendiger:
s
1
= x
1
, c
1
= 0
Y = x
j
c
j1
, T = s
j1
Y, c
j
= (T s
j1
) Y, s
j
= T, j = 2, . . . , n.
Die Idee dieses Verfahrens ist, da die Folge c
j
die Rundungsfehler aufsammelt und immer
wieder in die Rechnung steckt.
Satz 2.25 (R uckw artsfehler f ur KahanSummation)
Die berechnete Summe s
n
der KahanSummationsformel erf ullt
s
n
=
n

j=1
x
j
(1 +
j
) + O
_
n u
2
_
n

j=1
[x
j
[ , [
j
[ 2 u, j = 1, . . . , n. (2.15)
Korollar 2.26 (Vorw artsfehler f ur KahanSummation)
Die berechnete Summe s
n
der KahanSummationsformel hat den relativen Fehler

x
T
1
n
s
n

[x
T
1
n
[

_
2 u + O
_
n u
2
__

n
j=1
[x
j
[

n
j=1
x
j

. (2.16)

Ubung 2.8 Zeigen Sie: Man kann das Skalarprodukt mit einem R uckw artsfehler von 3 u+O( u
2
)
berechnen.
Beweis von Satz 2.25: Es gen ugt, den individuellen R uckw artsfehler von x
1
zu bestimmen,
da der Fehler an x
j
von x
1
, . . . , x
j1
unabh angig ist. W urde also der schlimmste Fehler bei x
j
,
j > 1, auftreten, so k onnten wir mit x
1
= = x
j1
= 0 beginnen und dann w are x
j
eben doch
der erste Summand (denn Multiplikation mit und Addition von Null k onnen exakt ausgef uhrt
werden).
2.4 Summation 25
%% CompSum1.m
%% --------------------------------------------------------
%% Compensated Summation
%% Eingabe:
%% x Datenvektor
function sum = CompensatedSum( x )
xdim = length( x );
S = x(1);
C = 0;
for i = 2:xdim
Y = x(i) - C;
T = S + Y;
C = ( T - S ) - Y;
S = T;
end
sum = S;
endfunction
Programm 2.2 CompSum1.m: Compensated Summation
26 2 FEHLERANALYSE
Wir beginnen mit s
0
= c
0
= 0 und bestimmen, f ur j = 1, . . . , n die Gr oen
y
j
= x
j
c
j1
= (x
j
c
j1
) (1 +
j
)
s
j
= s
j1
y
j
= (s
j1
+ y
j
) (1 +
j
)
c
j
= (s
j
s
j1
) y
j
= ((s
j
s
j1
) (1 +
j
) y
j
) (1 +
j
) .
Wir werden nun, durch Induktion uber j = 1, . . . , n, zeigen, da
c
j
= C
j
x
1
+ f (x
2
, . . . , x
j
) , s
j
c
j
= S
j
x
1
+ g (x
2
, . . . , x
j
) ,
wobei die Koefzienten von x
1
in den beiden Darstellungen
C
j
=
_
2 u + O( u
2
) j = 1,

j
+ O( u
2
) j > 1,
(2.17)
S
j
= 1 +
1

1
+ (4j + 2) u
2
+ O
_
u
3
_
, (2.18)
erf ullen; die Notation k u bedeutet, da hier k Summanden auftreten, die jeweils im Betrag
kleiner oder gleich u sind, analog nat urlich auch k u
2
. Beginnen wir mit j = 1: hier ist
c
1
= ((s
1
0) (1 +
1
) y
1
) (1 +
1
) = y
1
((1 +
1
) (1 +
1
) 1) (1 +
1
)
= x
1
(
1
+
1
+
1

1
) (1 +
1
) (1 +
1
) = x
1
_
2 u + O
_
u
2
__
. .
=:C
1
und
s
1
c
1
= x
1
(1 +
1
) (1 +
1
) c
1
= x
1
((1 +
1
) (
1
+
1
+
1

1
) (1 +
1
)) (1 +
1
)
= x
1
(1
1

1
) (1 +
1
)
= x
1
_
1 +
1

1
+ 4 u
2
+ O
_
u
3
__
. .
=:S
1
.
F ur beliebiges j > 1 leitet man aus den Formeln f ur y
j
, s
j
, c
j
die Rekursion
C
j
=
_

j
+ O
_
u
2
__
S
j1
+
_

j
+ O
_
u
2
__
C
j1
(2.19)
S
j
=
_
1 + 2 u
2
+ O
_
u
3
__
S
j1
+
_
2 u + O
_
u
2
__
C
j1
, (2.20)
her. Aus (2.19) und der Induktionsannahme ergibt sich dann
C
j
=
_

j
+ O
_
u
2
__ _
1 +
1

1
+ (4j 2) u
2
+ O
_
u
3
__
+
_

j
+ O
_
u
2
__
_
2 u + O( u
2
)

j1
+ O( u
2
)
_
=
j
+ O
_
u
2
_
.
Analog liefert (2.20), da
S
2
= 1 +
1

1
+ 10 u
2
+ O
_
u
3
_
2.4 Summation 27
und, f ur j > 2,
S
j
=
_
1 + 2 u
2
+ O
_
u
3
__ _
1 +
1

1
+ (4j 2) u
2
+ O
_
u
3
__
+
_
2 u + O
_
u
2
__ _

j1
+ O
_
u
2
__
=
_
1 +
1

1
+ 4j u
2
+ O
_
u
3
__
+
_
2 u
2
+ O
_
u
3
__
= 1 +
1

1
+ (4j + 2) u
2
+ O
_
u
3
_
,
womit (2.17) und (2.18) bewiesen sind. Schlielich setzen wir (in einer virtuellen Berech-
nung)
x
n+1
=
n+1
=
n+1
=
n+1
=
n+1
= 0,
dann ist s
n+1
= s
n
c
n
und der Fehlerkoefzient von x
1
in s
n
ist h ochstens so gro wie der in
s
n+1
, also h ochstens so gro wie
[S
n
[ =

1 +
1

1
+ (4j + 2) u
2
+ O
_
u
3
_

1 + 2 u + O
_
n u
2
_
.

Ubung 2.9 Beweisen Sie die Rekursionsformeln (2.19) und (2.20).


28 3 LINEARE GLEICHUNGSSYSTEME
1
4
Breite und L ange zusammen sind 7
Handbreiten, L ange und Breite
zusammen sind 10 Handbreiten.
Babylonisches Gleichungssystem in zwei
Unbekannten, Susa, 2. Jahrtausend v. Chr
3 Lineare Gleichungssysteme
Ein lineares Gleichungssystem besteht aus einer Matrix A R
mn
und einem Vektor b R
m
;
das Ziel ist es, einen Vektor x R
n
zu nden, so da
Ax = b. (3.1)
Dieses Problem ist genau dann f ur alle rechten Seiten b R
m
l osbar, wenn A den Rang m
hat, also mu, da dieser Rang maxm, n ist, insbesondere n m gelten. Die L osung x ist
genau dann eindeutig, wenn m = n ist und die (dann) quadratische Matrix A nichtsingul ar oder
invertierbar ist, das heit, wenn det A ,= 0 ist. Lineare Gleichungssysteme treten zum Beispiel
auf bei
Interpolation: Es sei T
n
ein ndimensionaler Vektorraum und f
1
, . . . , f
n
eine Basis von T
n
.
Auerdem seien Punkte x
1
, . . . , x
n
gegeben. Das Interpolationsproblem besteht nun dar-
in, zu vorgegebenen Werten y
1
, . . . , y
n
eine Funktion f =

n
j=1
a
j
f
j
zu nden, so da
f (x
j
) = y
j
, j = 1, . . . , n.
Anders gesagt,
n

k=1
a
k
f
k
(x
j
) = y
j
, j = 1, . . . , n,
oder eben
[f
j
(x
k
) : j, k = 1, . . . , n]
T
a = y. (3.2)
Diskretisierung von Operatorgleichungen: Es sei T ein (m oglicherweise unendlichdimen-
sionaler, z.B. T = C[0, 1]) Vektorraum und ein linearer Operator G : T T. Gesucht
wird, zu vorgegebenem g T, eine Funktion f T so da Gf = g. Dieses unend-
lichdimensionale Problem versucht man nun durch endlichdimensionale Probleme an-
zun ahern. Dazu w ahlt man ndimensionale Teilr aume T
n
und zugeh orige Projektionen
P
n
: T T
n
(Projektion heit, da P
2
n
= P
n
, da also die Abbildung P
n
auf T
n
wie die
Identit at agiert) und sucht eine Funktion f
n
T
n
so da
P
n
Gf
n
= P
n
g.
3.1 Normen und Konditionszahlen 29
Das heit, wenn f
n
1
, . . . , f
n
n
eine Basis von T
n
ist, dann sucht man Koefzienten a
1
, . . . , a
n
,
so da
P
n
g = P
n
G
_
n

k=1
a
k
f
n
k
_
=
n

k=1
( P
n
Gf
n
k
) a
k
.
Da P
n
g T
n
kann man es als
P
n
g =
n

j=1
g
j
f
n
j
schreiben und ebenso, f ur jedes k = 1, . . . , n,
P
n
Gf
n
j
..
T
. .
Tn
=
n

j=1
g
jk
f
n
k
.
Die Matrix G
n
= [g
jk
: j, k = 1, . . . , n] ist die Diskretisierung des Operators G f ur T
n
.
Alles in allem erhalten wir also das lineare Gleichungssystem
_

_
g
1
.
.
.
g
n
_

_
= G
n
_

_
a
1
.
.
.
a
n
_

_
. (3.3)
Achtung: dies ist der triviale Teil der sogenannten GalerkinMethoden. Das wirkli-
che Problem besteht darin, gute Diskretisierungsr aume T
n
zu nden, so da das Glei-
chungssystem (3.3) stabil und schnell zu l osen ist. In realistischen Anwendungen sind
Gr oenordnungen wie n 10
6
keine Seltenheit.
Bei den L osungsmethoden f ur lineare Gleichungssysteme unterscheidet man zwischen direk-
ten Methoden (die das Problem in einer endlichen Anzahl von Schritten l osen) und iterativen
Verfahren (die sich mehr oder weniger langsam an die L osung herantasten). Auerdem gibt
es Verfahren, die die spezielle Struktur bestimmter Matrixtypen ausnutzen, um das Problem
schneller oder stabiler zu l osen.
Die meiste Information uber das L osen linearer Gleichungssysteme ndet sich in [21, 23],
aus denen auch die Kapitel uber numerische Lineare Algebra entnommen sind.
Um die Sache einfacher zu machen, werden wir uns im wesentlichen mit quadratischen
Matrizen A R
nn
befassen.
3.1 Normen und Konditionszahlen
Um vern unftige Aussagen uber Fehler und die numerische Qualit at eines linearen Glei-
chungssystems machen zu k onnen, ben otigen wir Mae f ur die Gr oe von Vektoren und
Matrizen, daher ein bichen Information uber Normen f ur Vektoren und Matrizen.
Denition 3.1 Eine Abbildung || : R
n
R heit (Vektor) Norm, wenn
30 3 LINEARE GLEICHUNGSSYSTEME
1. |x| 0 und |x| = 0 dann und und nur dann, wenn x = 0. (Positivit at)
2. |cx| = [c[ |x|, c R. (Positive Homogenit at)
3. |x + y| |x| +|y|. (Dreiecksungleichung).

Ubung 3.1 Beweisen Sie die weniger bekannte Dreiecksungleichung nach unten:
|x y| |x| |y| .
Beispiel 3.2 Klassische Beispiele f ur Normen sind
1. Die 1Norm (ManhattanNorm)
|x|
1
=
n

j=1
[x
j
[ .
2. Der euklidische Abstand
|x|
2
=

_
n

j=1
[x
j
[
2
.
3. Die Norm (WorstCaseFehler)
|x|

= max
j=1,...,n
[x
j
[ .
4. Das sind alles Spezialf alle der sogenannten pNormen (1 p ):
|x|
p
=
_
n

j=1
[x
j
[
p
_
1/p
.

Ubung 3.2 Es sei A R


nn
eine symmetrische positiv denite Matrix, d.h., A
T
= A und
x
T
Ax > 0, x R
n
0. Zeigen Sie:
|x|
A
:=

x
T
Ax, x R
n
,
ist eine Norm und plotten Sie f ur einige A die Einheitskugeln x : |x|
A
= 1.
Analog zu Vektornormen kann man auch Matrixnormen denieren.
Denition 3.3 Eine Abbildung || : R
nn
R heit (Matrix) Norm, wenn
1. |A| 0 und |A| = 0 dann und und nur dann, wenn A = 0. (Positivit at)
3.1 Normen und Konditionszahlen 31
2. |cA| = [c[ |A|, c R. (Positive Homogenit at)
3. |A + B| |A| +|B|. (Dreiecksungleichung).
Beispiel 3.4 Bei Matrixnormen haben wir schon eine viel gr oere Auswahl:
1. Vektornormen: Man fat die Matrix als einen Vektor in R
n
2
auf und verwendet eine be-
liebige Vektornorm, z.B. die Norm
|A|
M
= max
1j,kn
[a
jk
[
oder die 2Norm
|A|
F
=

_
n

j,k=1
[a
jk
[
2
.
Die Norm ||
F
heit Frobeniusnorm.
2. Operatornormen: zu einer beliebigen Vektornorm || deniert man die Operatornorm
|A| = max
x,=0
|Ax|
|x|
.
3. Beispiele f ur die Operatornormen zu den pNormen:
Spaltensummennorm:
|A|
1
= max
k=1,...,n
n

j=1
[a
jk
[ .
Zeilensummennorm:
|A|

= max
j=1,...,n
n

k=1
[a
jk
[ .

Ubung 3.3 Zeigen Sie: Ist 1/p + 1/q = 1, dann ist |A|
p
=
_
_
A
T
_
_
q
.
Denition 3.5 (Konsistenz und Vertr aglichkeit)
1. Eine Matrixnorm | | heit konsistent, falls
|AB| |A| |B| .
2. Eine Matrixnorm | |
M
und eine Vektornorm | |
V
heien vertr aglich, wenn
|Ax|
V
|A|
M
|x|
V
.
32 3 LINEARE GLEICHUNGSSYSTEME

Ubung 3.4 Zeigen Sie: Jede Operatornorm ist konsistent und mit der zugeh origen Vektornorm
vertr aglich.

Ubung 3.5 Zeigen Sie: Die Norm


|A| = max
j,k=1,...,n
[a
jk
[
ist nicht konsistent.

Ubung 3.6 Zeigen Sie: Es gibt keine Matrixnorm | | so da |AB| = |A| |B| f ur alle
A, B R
nn
.
Denition 3.6 Die Konditionszahl einer invertierbaren Matrix A R
nn
bez uglich der Norm
| | ist deniert als
(A) =
_
_
A
1
_
_
|A| .
Im Falle der pNormen schreiben wir
p
(A).
Als n achstes zeigen wir, da die so denierte Konditionszahl tats achlich das erf ullt, was wir
von einer Konditionszahl erwarten.
Satz 3.7 F ur Matrixnormen | |, die von einer Vektornorm | | abgeleitet sind, gilt
(A) = lim
0
sup
|E||A|
_
_
(A + E)
1
A
1
_
_
|A
1
|
. (3.4)
F ur den Beweis brauchen wir erst eine Hilfsaussage.
Lemma 3.8 Zu beliebigen Vektoren x, y R
n
mit |x| = |y| = 1 gibt es eine Matrix A
R
nn
so da y = Ax und |A| = 1.
Beweis: Wir bezeichnen den dualen Vektor zu x mit x
t
, d.h.,
x
T
x
t
= 1 und max
|z|=1

z
T
x
t

= 1.
Solch ein Vektor existiert immer (Satz von HahnBanach). Dann setzen wir lediglich A = yx
tT
und es ist Ax = y
_
x
tT
x
_
= y und
|A| = max
|z|=1
|Az| =
_
_
y
_
z
T
x
t
__
_
|y| = 1,
und da |Ax| = |y| = 1, ist |A| = 1.
Beweis von Satz 3.7: Aus der (formalen
12
!) Entwicklung
(A + E)
1
=
__
I + EA
1
_
A
_
1
= A
1
_
I + EA
1
_
1
= A
1

j=0
(1)
j
_
EA
1
_
j
12
Das heit, wir betrachten Reihen ohne uns um deren Konvergenz zu k ummern
3.2 Eine allgemeine Fehlerabsch atzung 33
erhalten wir mit |E| |A|, da
(A + E)
1
A
1
= A
1
EA
1
+ O
_

2
_
.
Da diese Vorgehensweise f ur hinreichend kleine korrekt ist, wird Lemma 3.11 zeigen. Wir
m ussen nun nachweisen, da
sup
|E|1
_
_
A
1
EA
1
_
_
=
_
_
A
1
_
_
2
, (3.5)
denn dann ist
sup
|E||A|
_
_
(A + E)
1
A
1
_
_
|A
1
|
= |A|
_
_
A
1
_
_
+ O() ,
woraus (3.4) folgt. Nun ist in (3.5) einfach:
_
_
A
1
EA
1
_
_

_
_
A
1
_
_
|E|
..
1
_
_
A
1
_
_

_
_
A
1
_
_
2
.
F ur die Gleichheit w ahlen wir y R
n
, |y| = 1 so, da
_
_
A
1
_
_
=
_
_
A
1
y
_
_
(was geht, weil wir eine von einer Vektornorm induzierte Matrixnorm haben) und setzen auer-
dem
x =
A
1
y
|A
1
|
Dann ist |x| = |y| = 1 und
_
_
A
1
EA
1
_
_
= max
|z|=1
_
_
A
1
EA
1
z
_
_

_
_
A
1
EA
1
y
_
_
=
_
_
A
1
Ex
_
_
_
_
A
1
_
_
(3.6)
Nach Lemma 3.8 gibt es eine Matrix E R
nn
, so da |E| = 1 und Ex = y und somit ist
_
_
A
1
Ex
_
_
=
_
_
A
1
y
_
_
=
_
_
A
1
_
_
. (3.7)
Setzt man (3.7) in (3.6) ein, so ergibt sich schlielich (3.5).
3.2 Eine allgemeine Fehlerabsch atzung
Die (R uckw arts) Fehleranalyse wird uns sp ater Resultate der Form

A x = b (3.8)
f ur die berechnete Gr oe x liefern, wobei die Matrix E = A

A in einem gewissen Sinne
klein sein wird. Aus diesen Eigenschaften l at sich dann eine Absch atzung f ur den relativen
Fehler von x herleiten. Zu diesem Zweck bezeichne || eine beliebige Vektornorm wie auch
die zugeh orige Operatornorm.
34 3 LINEARE GLEICHUNGSSYSTEME
Satz 3.9 Es sei A R
nn
invertierbar und es gelte
_
_
A
1
E
_
_
= < 1 (3.9)
sowie
|E| |A| . (3.10)
Dann gilt f ur den relativen Fehler die Absch atzung
| x x|
|x|


1
(A), x R
n
0. (3.11)
Bemerkung 3.10 Wir k onnen die beiden Bedingungen (3.9) und (3.10) zu einer grifgen
(aber etwas sch arferen) Forderung kombinieren, n amlich da
(A) <
1
(3.12)
sein soll. Das sieht man, indem man := |E|/|A| setzt
13
und dann
=
_
_
A
1
E
_
_

_
_
A
1
_
_
|E| =
(A)
|A|
|E| <
|E|
|A|
..
=
= 1
erh alt. Man kann aber (3.12) auch so auffassen, da das Problem nicht schlechter konditioniert
sein darf als die Genauigkeit, mit der

A berechnet werden kann, denn ansonsten kann man
(heuristisch) davon ausgehen, da das Ergebnis der Rechnung unsinnig ist. Diese Eigenschaft
wird ubrigens in Programmen wie Octave oder Matlab tats achlich uberpr uft
14
und das
Programm liefert eine Warnung, wenn sie nicht erf ullt ist.
Um Satz 3.9 zu beweisen, erst einmal ein paar Betrachtungen uber

A.
Lemma 3.11 Es sei A R
nn
invertierbar. Unter der Voraussetzung (3.9) ist auch die Matrix

A = A E invertierbar und es gilt


_
_
_

A
1
_
_
_
|A
1
|
1
. (3.13)
Beweis: Wir betrachten

A = A E = A
_
I A
1
E
_
und stellen fest, da f ur N N
0
_
I A
1
E
_
_
N

j=0
_
A
1
E
_
j
_
=
N

j=0
_
A
1
E
_
j

N+1

j=1
_
A
1
E
_
j
= I
_
A
1
E
_
N+1
. (3.14)
13
Was f ur A ,= 0 ja kein Problem ist.
14
Allerdings wird dort nicht die exakte Konditionszahl bestimmt, was eine O
_
n
3
_
Geschichte w are, sondern
nur eine N aherung, die mit einem Aufwand von O
_
n
2
_
bestimmt werden kann. Details ndet man in [2].
3.2 Eine allgemeine Fehlerabsch atzung 35
Da _
_
_
_
A
1
E
_
N+1
_
_
_
_
_
A
1
E
_
_
N+1

N+1
konvergiert die rechte Seite von (3.14) gegen I f ur N und damit ist
_
I A
1
E
_
1
=

j=0
_
A
1
E
_
j
, (3.15)
weil die Reihe auf der rechten Seite absolut konvergiert:
_
_
_
_
I A
1
E
_
1
_
_
_ =
_
_
_
_
_

j=0
_
A
1
E
_
j
_
_
_
_
_

j=0

j
=
1
1
.
Also ist
_
_
_

A
1
_
_
_
_
_
A
1
_
_
_
_
_
_
I A
1
E
_
1
_
_
_
|A
1
|
1
.

Beweis von Satz 3.9: Es ist


x x =

A
1
_
b

Ax
_
=

A
1
(b (A + E)x) =

A
1
(b Ax Ex) =

A
1
Ex,
also, mittels (3.10) und (3.13)
| x x|
_
_
_

A
1
_
_
_ |E| |x|

1
_
_
A
1
_
_
|A| |x|,
woraus (3.11) sofort folgt.
Bemerkung 3.12 Die implizite Voraussetzung in Satz 3.9, n amlich, da die Matrixnorm die
von der Vektornorm induzierte Operatornorm
15
ist, l at sich etwas abschw achen: Lemma 3.11
setzt lediglich voraus, da die Matrixnorm konsistent ist, im Beweis von Satz 3.9 verwenden
wir, da die Vektor und die Matrixnorm vertr aglich sind. Dies ist aber ohnehin eine nat urliche
Minimalbedingung, um Vektornormen uber eine Matrixnorm beschreiben zu k onnen.
15
Man mu schon Mathematiker sein, um das Wort Norm dreimal in einem Halbsatz unterzubringen
36 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Vergebens predigt Salomo
Die Leute machens doch nicht so.
Wilhelm Busch
4 Direkte Methoden f ur lineare Gleichungssysteme
Die klassische Methode zur L osung von Gleichungssystemen ist die GauElimination, die
auf der sogenannten LUZerlegung basiert.
4.1 Dreiecksmatrizen
Wir beginnen mit Gleichungssystemen von besonders einfacher Form, die man mehr oder we-
niger sofort l osen kann.
Denition 4.1 Eine Matrix A = [a
jk
: j, k = 1, . . . , n] R
nn
heit untere (bzw. obere) Drei-
ecksmatrix, wenn a
jk
= 0 f ur j < k (bzw. j > k).

Ubung 4.1 Zeigen Sie: das Produkt zweier unterer (oberer) Dreiecksmatrizen ist wieder eine
untere (obere) Dreiecksmatrix.
Dreiecksmatrizen denieren besonders einfach zu l osende lineare Gleichungssysteme, bei
denen man die Variablen schrittweise eliminieren kann. Ist beispielsweise
L = [
jk
: j, k = 1, . . . , n]
eine untere Dreiecksmatrix, dann lautet das zugeh orige Gleichungssystem

11
x
1
= b
1
,

21
x
1
+
22
x
2
= b
2
,
.
.
.
.
.
.
.
.
.
.
.
.

n1
x
1
+
n2
x
2
. . . +
nn
x
n
= b
n
,
was sofort
x
1
= b
1
/
11
,
x
2
= (b
2

21
x
1
) /
22
,
.
.
.
.
.
.
x
n
= (b
n

n1
x
1

n,n1
x
n1
) /
nn
,
ergibt. Die Formel
x
j
=
_
b
j

j1

k=1

jk
x
k
_
/
jj
, j = 1, . . . , n, (4.1)
4.1 Dreiecksmatrizen 37
%% VorElim.m (Numerik 1)
%% --------------------------------------------------------
%% Vorwaertselimination, ueberschreibt b
%% Eingabe:
%% L untere Dreiecksmatrix
%% b rechte Seite
function x = VorElim( L,b )
n = length( b );
for j = 1:n
%% Inneres Produkt!
b(j) = ( b(j) - L( j,1:j-1 ) * b( 1:j-1 ) ) / L(j,j);
end
x = b;
endfunction
Programm 4.1 VorElim.m: Vorw artselimination nach (4.1).
bezeichnet man als Vorw artselimination, das Gegenst uck f ur obere Dreiecksmatrizen U =
[u
jk
: j, k = 1, . . . , n], n amlich
x
j
=
_
b
j

k=j+1
u
jk
x
k
_
/u
jj
, j = n, . . . , 1, (4.2)
bezeichnet man als R ucksubstitution.
Zuerst ein paar

Uberlegungen zum Aufwand des Verfahrens: im jten Schritt von (4.1)
werden j 1 Multiplikationen, j 1 Subtraktionen und schlielich eine Division ausgef uhrt,
also insgesamt 2j 1 Fliekommaoperationen, oder kurz ops
16
. Insgesamt sind das also
n

j=1
(2j 1) = 2
n

j=1
j n = n(n + 1) n = n
2
ops und genau dasselbe nat urlich auch f ur die R ucksubstitution.
Bemerkung 4.2 Das Z ahlen von ops zur Messung der Komplexit at numerischer Verfahren
stammt aus der Ur- und Fr uhgeschichte des Computers, als Programmierer noch echte Pro-
grammierer und Fliekommaoperationen aufwendig waren. Andere Aufgaben, wie beispiels-
weise Indizierung und Speicherorganisation waren im Vergleich dazu vernachl assigbar. Dank
der modernen Fliekommakoprozessoren ist diese Annahme jedoch nicht mehr richtig und da-
her ist das Z ahlen von ops auch nur noch von eingeschr anktem Wert.
16
F ur oating point operations
38 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
%% RueckSubs.m (Numerik 1)
%% --------------------------------------------------------
%% Ruecksubstitution, ueberschreibt b
%% Eingabe:
%% U obere Dreiecksmatrix
%% b rechte Seite
function x = RueckSubs( U,b )
n = length( b );
b(n) = b(n) / U(n,n);
for j = n-1 : -1 : 1
b(j) = ( b(j) - U( j,j+1:n ) * b( j+1:n ) ) / U(j,j);
end
x = b;
endfunction
Programm 4.2 RueckSubs.m: R ucksubstitution nach (4.2).
4.2 Naive GauElimination
Nachdem also Dreiecksmatrizen sehr einfach zu behandeln sind, ist es sicherlich eine vern unf-
tige Strategie, die L osung eines allgemeinen Gleichungssystems auf die L osung von Dreiecks-
systemen zur uckzuf uhren. Genauer gesagt besteht das Ziel darin, die Matrix A in
A = LU
zu zerlegen und dann die beiden Systeme
Ly = b und Ux = y
durch Vorw artselimination und R ucksubstitution zu l osen.
Bemerkung 4.3 Die Berechnung einer LUZerlegung hat noch einen weiteren Vorteil: ist das
Gleichungssystem Ax = b f ur mehrere rechte Seiten b zu l osen, so mu man die Zerlegung nur
einmal durchf uhren und braucht dann nur noch Dreieckssysteme zu l osen.
Bevor wir das enstprechende Resultat formulieren k onnen, erst mal ein bichen Terminolo-
gie.
Denition 4.4 F ur eine Matrix A R
nn
bezeichnen wir mit A
m
, m = 1, . . . , n, die mte
Hauptminore
A
m
:= [a
jk
: j, k = 1, . . . , m] R
mm
.
4.2 Naive GauElimination 39
Satz 4.5 F ur A R
nn
seien alle Hauptminoren invertierbar, d.h. det A
m
,= 0, m = 1, . . . , n.
Dann gibt es eine untere Dreiecksmatrix L R
nn
und eine obere Dreiecksmatrix U R
nn
so da
A = LU und
jj
= 1, j = 1, . . . , n. (4.3)
Bemerkung 4.6 Die LUZerlegung liefert uns auerdem ein wesentlich efzienteres und sta-
bileres Verfahren, um die Determinante einer Matrix zu berechnen, denn in diesem Fall ist ja
det A = det (LU) = det L
. .
=1
det U =
n

j=1
u
jj
.
Korollar 4.7 Eine Matrix A R
nn
hat genau dann invertierbare Hauptminoren A
m
, m =
1, . . . , n, wenn es eine untere Dreiecksmatrix L R
nn
und eine obere Dreiecksmatrix U
R
nn
mit
jj
= 1, j = 1, . . . , n, und u
jj
,= 0, j = 1, . . . , n, gibt, so da A = LU.
Beweis: Hat A invertierbare Hauptminoren, so liefern uns Satz 4.5 und
0 ,= det A = det L det U =
n

j=1

jj
. .
=1
n

j=1
u
jj
=
n

j=1
u
jj
, (4.4)
die gew unschten Eigenschaften. F ur die Umkehrung bemerken wir, da A
m
= L
m
U
m
(siehe
(4.5) f ur Details), also
det A
m
=
m

j=1
u
jj
,= 0, m = 1, . . . , n.

Wir werden uns zwei Beweise f ur Satz 4.5 ansehen: der erste ist etwas direkter und f uhrt
zur DoolittleMethode, der zweite ist auf den ersten Blick etwas abstrakter und wird zur
GauElimination f uhren, die wir sp ater auf beliebige Matrizen erweitern k onnen.
Beweis von Satz 4.5: Die Zerlegung A = LU ist equivalent zu
a
jk
=
n

r=1

jr
u
rk
, j, k = 1, . . . , n,
und da
jr
= 0 falls r > j und u
rk
= 0 falls r > k, heit das, da
a
jk
=
minj,k

r=1

jr
u
rk
, j, k = 1, . . . , n. (4.5)
Aus dieser Indentit at bauen wir sukzessive die Spalten von L und die Zeilen von U auf; dazu
nehmen zuerst einmal an, da wir f ur m = 1, . . . , n die ersten m 1 Spalten von L und die
ersten m1 Zeilen von U, also die Matrizen

L
m1
= [
jk
: j = 1, . . . , n, k = 1, . . . , m1] R
nm1
40 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
und

U
m1
= [u
jk
: j = 1, . . . , m1, k = 1, . . . , n] R
m1n
kennen und da

L
m1

U
m1
=
_

_
a
11
. . . a
1,m1
a
1m
. . . a
1n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m1,1
. . . a
m1,m1
a
m1,m
. . . a
m1,n
a
m1
. . . a
m,m1
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
. . . a
n,m1
. . .
_

_
. (4.6)
(f ur m = 1 ist dies keine Bedingung!). Nun setzen wir
mm
= 1 und betrachten (4.5) f ur j = m
und k m, also
a
mk
=
m

r=1

mr
u
rk
=
m1

r=1

mr
u
rk
+
mm
..
=1
u
mk
Das l osen wir nach u
mk
auf und erhalten
u
mk
= a
mk

m1

r=1

mr
u
rk
, k = m, . . . , n. (4.7)
W are nun
u
mm
= a
mm

m1

r=1

mr
u
rm
= 0,
also
a
mm
=
m1

r=1

mr
u
rm
=
_

L
m1

U
m1
_
mm
,
dann w are, zusammen mit (4.6), A
m
=
_

L
m1

U
m1
_
m
, aber da diese beiden Matrizen jeweils
nur Rang m 1 haben, k onnte A
m
nicht invertierbar sein. Also, der langen Rede kurzer Sinn,
mu u
mm
,= 0 sein.
Damit k onnen wir den Spie umdrehen und uns (4.5) f ur j > m und k = m ansehen, was
a
jm
=
m

r=1

jr
u
rm
=
m1

r=1

jr
u
rm
+
jm
u
mm
und damit

jm
=
_
a
jm

m1

r=1

jr
u
rm
_
/u
mm
, j = m + 1, . . . , n, (4.8)
liefert. Auerdem ist das Ganze so gebaut, da jetzt (4.6) auch mit m anstelle von m1 gilt.
Das DoolittleVerfahren ist in Doolittle.m realisiert.
4.2 Naive GauElimination 41
%% Doolittle.m (Numerik I)
%% --------------------------------------------------------
%% LU-Zerlegung a la Doolittle
%% Eingabe:
%% A Matrix
function [ L, U ] = Doolittle( A )
n = length( A );
L = zeros( n );
U = zeros( n );
for m = 1:n
L( m,m ) = 1;
for k = m:n
U( m,k ) = A( m,k ) - L( m,1:m-1 ) * U( 1:m-1,k );
end
for j = m+1:n
L( j,m ) = A( j,m ) - L( j,1:m-1 ) * U( 1:m-1,m );
L( j,m ) = L( j,m ) / U( m,m );
end
end
% endfunction
Programm 4.3 Doolittle.m: LUFaktorisierung nach der Methode von Doolittle, (4.7)
und (4.8).
42 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Bemerkung 4.8 Das DoolittleVerfahren verwendet zur Berechnung eines Eintrags von Loder
von U gerade den entsprechenden Eintrag von A sowie vorher berechnete Eintr age von L und
U. Das erlaubt es, den Eintrag a
jk
mit
_
u
jk
j k,

jk
j > k
zu uberschreiben. Dabei wird die Matrix gem a folgendem Schema aufgebaut:
A
_

_
1
3

.
.
.
2 4
.
.
.

.
.
.
_

_
Beispiel 4.9 Sehen wir uns doch einmal die Funktionsweise des DoolittleVerfahrens anhand
der einfachen Matrix
A =
_
_
2 1 0
1 0 1
0 1 0
_
_
an. Um unsere LUZerlegung zu bestimmen, m ussen wir also eine 3 3Matrix auff ullen. Wir
beginnen mit der ersten Zeile, deren Eintr age u
11
, u
12
und u
13
sich nach (4.7) als
u
1k
= a
1k

r=1

1r
u
rk
. .
=0
= a
1k
, k = 1, 2, 3,
bestimmen. Also erhalten wir die erste Zeile unserer Ergebnismatrix LU
17
als
LU =
_
_
2 1 0


_
_
.
Jetzt also an die erste Spalte. Nach (4.8) erhalten wir, da

j1
=
_
a
j1

r=1

jr
u
r1
. .
=0
_
/u
11
=
a
j1
u
11
, j = 2, 3,
17
Im oberen Dreieck dieser Matrix, die Diagonale eingeschlossen, ndet sich U, im unteren Dreieck die
Marix L. Da deren Diagonalemente
jj
ja sowieso alle den Wert 1 haben, brauchen wir f ur sie keinen Speicherplatz
zu vergeuden.
4.2 Naive GauElimination 43
und somit
LU =
_
_
2 1 0
1
2

0
_
_
.
Und nun wieder eine Zeile, bei der uns zur Abwechslung (4.7) die Regeln vorgibt:
u
2k
= a
2k

r=1

1r
u
rk
, =
u
22
= a
22

11
u
12
=
1
2
,
u
23
= a
23

11
u
12
= a
23
= 1.
Tragen wir das ein, so erhalten wir
LU =
_
_
2 1 0
1
2

1
2
1
0
_
_
.
Nun also zur zweiten Spalte, die, nun wieder vermittels (4.8), den Wert

32
=
_
a
32

r=1

3r
u
r2
_
/u
22
= (a
32

31
u
12
) /u
22
= (1 0) /
_

1
2
_
= 2
erh alt, ergo
LU =
_
_
2 1 0
1
2

1
2
1
0 2
_
_
.
Wie sich die Zerlegung schlielich zu
LU =
_
_
2 1 0
1
2

1
2
1
0 2 2
_
_
vervollst angigen l at, ist jetzt kein R atsel mehr. Tats achlich kann man das DoolittleVerfahren
auch ohne jedewede Form mathematischer Kenntnisse durchf uhren, solange man sich nur an
das einfache Schema aus Abb. 4.1 h alt.
Das Programm 4 Doolittle2.m realisiert das DoolittleVerfahren mit sofortigem

Uber-
schreiben von A, also auf speicherplatzsparende Art.
Bestimmen wir schlielich noch den Rechenaufwand des DoolittleVerfahrens: um, f ur ein
festes m den Wert u
mk
zu berechnen brauchen wir m 1 Multiplikationen und ebensoviele
Subtraktionen, also insgesamt 2m 2 Operationen. F ur die Eintr age
jm
sind, wegen der Di-
vision jeweils 2m 1 Operationen n otig. F ur jedes m sind auerdem die n m + 1 Eintr age
von U und n m Eintr age von L zu berechnen (da
jj
= 1), also brauchen wir f ur ein festes m
insgesamt
(n m + 1)(2m2) + (n m)(2m1) = 4nm4m
2
+ 5m3n 2
44 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Abbildung 4.1: Schematische Darstellung des DoolittleVerfahrens. Bei der Bestimmung
der mten Zeile wird der neue Eintrag dadurch bestimmt, da man vom Originalwert der
Matrix A das innere Produkt der beiden (farbigen) (m1)Vektoren am Anfang der Zeile
und der Spalte, in denen sich der Eintrag bendet, abzieht. Bei der Bestimmung einer Spalte
geht das ganz genauso, nur wird zus atzlich noch durch den Wert des Diagonalelements
dividiert.
Summiert man nun m = 1, . . . , n, dann ergibt sich
2
3
n
3

1
2
n
2
+
11
6
n 2
f ur den Rechenaufwand des DoolittleVerfahrens.
Bemerkung 4.10 Generell betr agt der Aufwand bei Faktorisierungsverfahren O(n
3
), das wird
bei der GauElimination auch so sein. Dies ist eine Gr oenordnung mehr als bei der Vorw art-
selimination und der R ucksubstitution.
Nun zur GauElimination.
Denition 4.11 Eine GauTransformation oder GauMatrix ist eine Matrix der Form
M
k
= I ye
T
k
, y =
_
0
y
_
=
_

_
0
.
.
.
0
y
k+1
.
.
.
y
n
_

_
, y R
nk
, k = 1, . . . , n 1.
Bemerkung 4.12 (GauTransformationen)
4.2 Naive GauElimination 45
%% Doolittle2.m (Numerik I)
%% --------------------------------------------------------
%% Doolittle-Methode mit Ueberschreiben
%% Eingabe:
%% A Matrix
function LU = Doolittle2( A )
n = length( A );
for m = 1:n
for k = m:n
A( m,k ) = A( m,k ) - A( m,1:m-1 ) * A( 1:m-1,k );
end
for j = m+1:n
A( j,m ) = A( j,m ) - A( j,1:m-1 ) * A( 1:m-1,m );
A( j,m ) = A( j,m ) / A( m,m );
end
end
LU = A;
% endfunction
Programm 4.4 Doolittle2.m: DoolittleMethode mit

Uberschreiben von A.
46 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
1. GauTransformationen sind untere Dreiecksmatrizen der Form
M
k
=
_

_
1
.
.
.
1
y
k+1
1
.
.
.
.
.
.
y
n
1
_

_
.
2. Die Inverse der GauTransformation I ye
T
k
ist I + ye
T
k
:
_
I ye
T
k
_ _
I + ye
T
k
_
= I ye
T
k
+ ye
T
k
y e
T
k
y
..
=y
k
=0
e
T
k
= I.
3. F ur eine Matrix
A =
_

_
a
T
1
.
.
.
a
T
n
_

_
mit Zeilenvektoren a
T
1
, . . . , a
T
n
ist
M
k
A =
_

_
a
T
1
.
.
.
a
T
k
a
T
k+1
y
k+1
a
T
k
.
.
.
a
T
n
y
n
a
T
k
_

_
= A y
k
a
T
k
,
das heit, von den Zeilen a
T
j
, j = k+1, . . . , n, wird das y
j
fache der Zeile a
T
k
abgezogen.
Beweis von Satz 4.5: Die Strategie besteht darin, GauTransformationen
M
j
= I y
(j)
e
T
j
, j = 1, . . . , n 1,
zu nden, so da
M
n1
M
1
A =: U
eine obere Dreiecksmatrix ist, denn dann haben wir sofort die Zerlegung
A = M
1
1
M
1
n1
. .
=:L
U. (4.9)
Dazu konstruieren wir induktiv die GauTransformationen M
1
, M
2
, . . . so, da
M
m
M
1
A =
_
U
m
B
m
0

A
m
_
, m = 0, . . . , n 1, (4.10)
4.2 Naive GauElimination 47
wobei
U
m
R
mm
, B
m
R
mnm
,

A
m
R
nmnm
(4.11)
und (U
m
)
jj
,= 0, j = 1, . . . , m. Dann ist mit

A
0
= A die Bedingung (4.10) f ur m = 0
erf ullt. Nehmen wir also an, wir h atten f ur ein m 0 die Zerlegung (4.10) bestimmt. Da die
Hauptminoren die Beziehung
A
m+1
=
_
M
1
1
M
1
m
_
m+1
_
U
m
B
m
0

A
m
_
m+1
erf ullen, ist also
0 ,= det A
m+1
= det
_
U
m
B
m
0

A
m
_
m+1
= det
_
U
m

0
_

A
m
_
11
_
=
_

A
m
_
11
m

j=1
(U
m
)
jj
,
und somit mu
_

A
m
_
11
,= 0 sein. Damit setzen wir
y
(m+1)
j
=
_
_
_
0 j = 1, . . . , m + 1
(

Am)
jm,1
(

Am)
11
j = m + 2, . . . , n
und M
m+1
= I y
(m+1)
e
T
m+1
und erhalten (4.10) f ur m+1 anstelle von m. Bleibt nur noch zu
bemerken, da M
n
= I ist.
Bemerkung 4.13 Auch hier erhalten wir wieder aus der Invertierbarkeit der Hauptminoren,
da die Diagonalelemente
u
jj
=
_

A
m1
_
11
,= 0
sein m ussen.
Sehen wir uns noch kurz die Matrix L aus (4.9) an.
Lemma 4.14 F ur GauTransformationen M
j
= I y
(j)
e
T
j
gilt
m

j=1
M
1
j
= I +
m

j=1
y
(j)
e
T
j
=
_

_
1
y
(1)
2
.
.
.
.
.
.
.
.
. 1
y
(1)
m+1
. . . y
(m)
m+1
1
.
.
.
.
.
.
.
.
.
.
.
.
y
(1)
n
. . . y
(m)
n
1
_

_
. (4.12)
48 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
%% Gauss1.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Elimination mit Ueberschreiben (ohne Pivot)
%% Eingabe:
%% A Matrix
function LU = Gauss1( A )
n = length( A );
for m = 1:n
for j = m+1:n
y = A( j,m ) / A( m,m );
A( j,m ) = y;
A( j,m+1:n ) = A( j,m+1:n ) - y * A( m,m+1:n );
end
end
LU = A;
% endfunction
Programm 4.5 Gauss1.m: GauElimination mit

Uberschreiben der Ausgangsmatrix.
Beweis: Induktion uber m, m = 1 ist klar. Auerdem ist, per Induktionsannahme
m+1

j=1
M
1
j
=
_
I +
m

j=1
y
(j)
e
T
j
_
_
I + y
(m+1)
e
T
m+1
_
= I +
m+1

j=1
y
(j)
e
T
j
+
m

j=1
y
(j)
e
T
j
y
(m+1)
. .
=y
(m+1)
j
=0
e
T
m+1
.

Bemerkung 4.15 (Realisierung der GauElimination)


1. Nach (4.12) erhalten wir die Matrix L einfach dadurch, da wir die zu den jeweiligen
GauTransformationen geh origen Vektoren y
(j)
aufsammeln.
2. Damit k onnen wir die GauTransformation wieder durch

Uberschreiben der Werte in A
berechnen.
Beispiel 4.16 (Implementierung der GauElimination) Nachdemwir unseren ersten rich-
tigen Algorithmus hergeleitet haben, sehen wir uns doch einmal an, wie man sowas in Octave
umsetzt. Es ist immer gut, sich erst einmal interaktiv anzusehen, was man eigentlich macht, also
nehmen wir uns mal eine zuf allige
18
, aber nicht zu groe Matrix vor:
18
Das ist nat urlich bei jedem Ausprobieren eine andere Matrix, also nicht erschrecken!
4.2 Naive GauElimination 49
octave> A = rand(5)
A =
0.9225764 0.7304416 0.0053629 0.4718802 0.5500260
0.5163327 0.3250707 0.9407548 0.1423454 0.7346591
0.9691272 0.2264440 0.8408027 0.0108411 0.5356029
0.0816184 0.7742376 0.9738590 0.4147111 0.0869881
0.5917631 0.8076336 0.5608915 0.5655123 0.9978877
So, was passiert jetzt gleich wieder bei der GauElimination? Richtig, wir ziehen passende
Vielfache der ersten Zeile von allen folgenden Zeilen ab, und die Faktoren sind die Werte der
ersten Spalte dividiert durch den Wert oben links. Nachdem A(a:b,c:d) ja die Teilmatrix
mit den Indexmengen (a:b) und (c:d) liefert, k onnen wir uns recht einfach die Zeile und
die Spalte holen:
octave> y = A( 1,1:5 )
y =
0.9225764 0.7304416 0.0053629 0.4718802 0.5500260
octave> x = A( 1:5,1 ) / A( 1,1 )
x =
1.000000
0.559664
1.050457
0.088468
0.641425
Man beachte: Zeile und Spalte passen. Die Elimination besteht nun darin, da wir die Matrix
19
x * y von A abziehen:
octave> A - x*y
ans =
0.00000 0.00000 0.00000 0.00000 0.00000
0.00000 -0.08373 0.93775 -0.12175 0.42683
0.00000 -0.54085 0.83517 -0.48485 -0.04218
0.00000 0.70962 0.97338 0.37296 0.03833
0.00000 0.33911 0.55745 0.26284 0.64509
Was ist nun mit unserer ersten Zeile passiert? Nun, wenn wir sie von sich selbst abziehen,
dann mu ja Null rauskommen. Das k onnen wir mit y(1) = 0 ganz einfach korrigieren, aber
19
Spalte mal Zeile gibt eine Matrix!
50 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
warum sollten wir denn eigentlich uberhaupt die erste Zeile ver andern, denn eigentlich ndet
die Elimination ja sowieso nur in der 4 4Submatrix unten rechts statt wenn wir uns mit
x nicht bl od angestellt haben, m ussen wir in der ersten Spalte ja Nullen bekommen. Der langen
Rede kurzer Sinn: Wir operieren nur auf der unteren Matrix und machen es ein bichen anders.
octave> y = A( 1,2:5 )
y =
0.7304416 0.0053629 0.4718802 0.5500260
octave> x = A( 2:5,1 ) / A( 1,1 )
x =
0.559664
1.050457
0.088468
0.641425
eliminieren im 4 4Teil
octave> A( 2:5,2:5 ) = A( 2:5,2:5 ) - x*y
A =
0.9225764 0.7304416 0.0053629 0.4718802 0.5500260
0.5163327 -0.0837311 0.9377534 -0.1217489 0.4268294
0.9691272 -0.5408538 0.8351692 -0.4848490 -0.0421760
0.0816184 0.7096170 0.9733845 0.3729649 0.0383285
0.5917631 0.3391105 0.5574516 0.2628368 0.6450875
und schreiben das kleine x in die erste Spalte:
octave> A( 2:5, 1 ) = x
A =
0.9225764 0.7304416 0.0053629 0.4718802 0.5500260
0.5596639 -0.0837311 0.9377534 -0.1217489 0.4268294
1.0504574 -0.5408538 0.8351692 -0.4848490 -0.0421760
0.0884679 0.7096170 0.9733845 0.3729649 0.0383285
0.6414245 0.3391105 0.5574516 0.2628368 0.6450875
Und das war auch schon der erste Schritt GauElimination mit

Uberschreiben! Jetzt m ussen
wir das nur noch auf die Teilmatrizen anwenden, das heit, alle vorherigen Schritte wiederho-
len, aber eben nicht bei 1, sondern bei 2, 3, 4 anfangen. Das ist dann auch in Algorithmus 6
implementiert.
4.2 Naive GauElimination 51
%% Gauss2.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Elimination mit Ueberschreiben
%% (ohne Pivot, aber mit mehr Matlab-Features)
%% Eingabe:
%% A Matrix
function LU = Gauss2( A )
n = length( A );
for m = 1:n-1
a = A( m,m ); % Pivotelement
y = A( m,m+1:n ); % Zeile
x = A( m+1:n,m ) / a; % Spalte (normalisiert)
A ( m+1:n,m+1:n ) = A( m+1:n,m+1:n ) - x*y;
A ( m+1:n,m ) = x;
end
LU = A;
% endfunction
Programm 4.6 Gauss2.m: GauElimination nach Beispiel 4.16.
52 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
%% LoesAx-b1.m (Numerik 1)
%% --------------------------------------------------------
%% Loesen eines Gleichungssystems (ohne Pivot)
%% Eingabe:
%% A Matrix
%% b rechte Seite
function x = LoesAxb1( A,b )
LU = Gauss1a( A );
y = VorElim1( LU,b );
x = RueckSubs( LU,y );
% endfunction
Programm 4.7 LoesAxb1.m: L osung eines Gleichungssystems nach (4.13)(4.15).
Bestimmen wir noch schnell den Aufwand der GauElimination: f ur festes m kostet die
Elimination einer Zeile 2(n m) Operationen und auerdem 1 Operation f ur die Bestim-
mung von y. Insgesamt sind n m Zeilen zu eliminieren, was also einen Gesamtaufwand von
(nm)(2n2m+1) ergibt. Insgesamt, nach Summation uber m, kostet die GauElimination
also
2
3
n
3

1
2
n
2

1
6
n
ops .
4.3 Das fertige L osungsverfahren
Nun k onnen wir aus den L osungen der Teilprobleme schlielich ein Verfahren basteln, das die
L osung des Gleichungssystems Ax = b berechnet:
1. Bestimme die Zerlegung
A = LU (4.13)
mittels GauElimination oder nach Doolittle.
2. Bestimme die L osung y von
Ly = b (4.14)
durch Vorw artselimination.
3. Bestimme die L osung x von
Ux = y (4.15)
durch R ucksubstitution.
4.4 Fehleranalyse 53
%% VorElim1.m (Numerik 1)
%% --------------------------------------------------------
%% Vorwaertselimination, ueberschreibt b, Diagonale = 1!!!
%% Eingabe:
%% L untere Dreiecksmatrix
%% b rechte Seite
function x = VorElim1( L,b )
n = length( b );
for j = 1:n
b(j) = b(j) - L(j,1:j-1) * b(1:j-1);
end
x = b;
endfunction
Programm 4.8 VorElim1.m: Vorw artselimination unter der Annahme, da alle Diagona-
lemente von L den Wert 1 haben.
Bemerkung 4.17 Man kann auch Vorw artselimination und R ucksubstitution direkt auf die in
einer einzelnen Matrix gespeicherte LUZerlegung anwenden, wenn man nur die Vorw art-
selimiation so modiziert, da sie alle Diagonalelemente als 1 annimmt, wie in Programm
VorElim1.m gezeigt.
4.4 Fehleranalyse
In diesem Kapitel wollen wir uns nun Absch atzungen f ur den R uckw artsfehler der Gau
Elimination ansehen, wie man daraus einen relativen Fehler bastelt, ist ja aus Satz 3.9 be-
kannt.
Denition 4.18 Zu einer Matrix A R
nn
denieren wir die Betragsmatrix [A[ als
[A[ = [[a
jk
[ : j, k = 1, . . . , n] .
Zu Matrizen A, B R
nn
denieren wir die Halbordnung
20
als
A B a
jk
b
jk
, j, k = 1, . . . , n.
20
Zur Erinnerung: Bei einer totalen Ordnung sind je zwei Elemente x ,= y vergleichbar, das heit, es ist entweder
x < y oder x > y, bei einer Halbordnung mu dies nicht der Fall sein.
54 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Lemma 4.19 F ur A, B R
nn
gilt
[AB[ [A[ [B[.
Beweis: F ur 1 j, k n,

(AB)
jk

r=1
a
jr
b
rk

r=1
[a
jr
[ [b
rk
[ = ([A[ [B[)
jk
.

Bemerkung 4.20 Wir machen von nun an die generelle Annahme, da n u 1 ist (sonst
macht diese Form der numerischen Linearen Algebra sowieso keinen Sinn) und schreiben nur
noch O( u
2
) anstelle des (korrekteren) O(n u
2
)
Wenden wir nun das Verfahren (4.13)(4.15) an, dann erhalten wir also zuerst eine n ahe-
rungsweise LUZerlegung

L und

U, dann eine N aherungsl osung y (die aus

L, nicht aus L
berechnet wird!) und schlielich ein berechnetes x (das aus

U und y berechnet wird). Die
R uckw artsfehleraussage f ur dieses L osungsverfahren lautet dann wie folgt.
Satz 4.21 Sei A F
nn
invertierbar und x die mittels GauElimination, Vorw artselimination
und R ucksubstitution berechnete L osung von Ax = b. Dann gibt es eine Matrix

A, so da

A x = b (4.16)
und

A A

n u
_
3 [A[ + 5

_
+ O
_
u
2
_
. (4.17)
Bemerkung 4.22 Die Forderung A F
nn
ist nur marginal. F ur beliebiges A bekommen wir
noch einen (fast vernachl assigbaren) Fehler E mit
[E[ u [A[
dazu.
Zuerst einmal sehen wir uns den Fehler bei der Vorw artselimination und R ucksubstitution
an. Dazu wird es opportun sein, auch das alternative Modell der Gleitkommaarithmetik zu
verwenden, das annimmt, da
x y =
x y
1 +
, [[ u, = +, , , /. (4.18)
Diese Annahme macht (ohne Beweis!) durchaus Sinn, denn mit u = 4u kann man auf alle F alle
garantieren, da (2.4) und (4.18) gleichzeitig gelten.

Ubung 4.2 Zeigen Sie:


4.4 Fehleranalyse 55
1. Zu jedem 0 ,= x D(F) gibt es ein 0 ,= x F, so da
x = x (1 +) , [[ u.
2. Zu jedem [ u, u] gibt es ein [ u, 2 u], so da
1 + =
1
1 +
.
Jetzt aber zum R uckw artsfehler der Vorw artselimination.
Proposition 4.23 Die durch Vorw artselimination (R ucksubstitution) berechnete L osung x von
Lx = b, (Ux = b) L, U R
nn
, erf ullt

L x = b (

U x = b), wobei

L (

U) ebenfalls eine untere


(obere) Dreicksmatrix ist, die

L L

n u [L[ + O
_
u
2
_
, (4.19)
beziehungsweise

U U

n u [U[ + O
_
u
2
_
, (4.20)
erf ullt.
Beweis: Wir bezeichnen mit
j
= [
jk
: k = 1, . . . , j 1] R
j1
den Anfang des jten
Zeilenvektors von L
21
. Mit der Vorw artselimination bestimmen wir nun Vektoren x
j
R
j
,
j = 1, . . . , n, durch
x
j
=
_
b
j

j1
x
j1
_

jj
, x
0
= 0,
wobei x
n
= x. Nun wissen wir von den Skalarprodukten (Beispiel 2.21) bereits, da f ur x
F
j1

j
x =
j1

k=1

jk
x
k
(1 +
jk
) =
j1

k=1
(1 +
jk
)
jk
x
k
,
wobei [
jk
[ (j 1) u. Mittels (4.18) bekommen wir somit, da
x
j
=
b
j

j
x
j1
(1 +
j
)
jj
, [
j
[ 2 u,
da
j
den Fehler einer Subtraktion und einer Division aufnimmt. Wir brauchen also nur noch

jk
=
_
(1 +
jk
)
jk
, j < k
(1 +
j
)
jj
, j = k,
zu setzen und erhalten sogar, da

L L

max2, n 1 u [L[ + O
_
u
2
_
(4.21)
21
Also das, was unterhalb der Diagonalen steht
56 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
gilt, also insbesondere (4.19).
Der Beweis f ur die R ucksubstitution funktioniert nat urlich ganz analog.

Ubung 4.3 Geben Sie ein Verfahren an, das die Vorw artselimination bzw. R ucksubstitution mit
einem von n unabh angigen R uckw artsfehler ausf uhrt.
Bemerkung 4.24 Gehen wir nur vom Standardmodell (2.4) aus, dann ist (4.21) mit der Kon-
stante max4, n 1 erf ullt, was f ur n 5 auch kein Beinbruch ist.
Jetzt aber zur Fehleranalyse der GauElimination selbst.
Proposition 4.25 Sei A F
nn
. Wenn alle Hauptminoren von A invertierbar sind, dann erf ullt
die berechnete LUZerlegung

L,

U die Bedingung

3n u
_
[A[ +

_
+ O
_
u
2
_
. (4.22)
Beweis: Durch Induktion uber n. Im Fall n = 1 ist

U = A,

L = 1, und (4.22) ist trivialerweise
richtig (die linke Seite hat Wert 0!).
Sei also (4.22) f ur ein n 1 bewiesen und sei A R
n+1n+1
, das wir schreiben als
A =
_
a
11
w
T
v B
_
, v, w R
n
, B R
nn
. (4.23)
Da, nach Annahme, a
11
,= 0, k onnen wir, f ur den ersten Schritt der GauElimination den
Vektor y
(1)
= v a
11
und die Matrix

A
1
= B y
(1)
w
T
als N aherung des eliminierten
A
1
= B y
(1)
w
T
berechnen. Dabei ist

y
(1)
y
(1)

y
(1)

= u
[v[
[a
11
[
sowie

y
(1)
w
T
y
(1)
w
T

2 u

y
(1)
w
T

+ O
_
u
2
_
,
also

A
1
A
1

3 u [A
1
[ + O
_
u
2
_
. (4.24)
Nach Induktionsannahme ergibt die (numerische!) Zerlegung von

A
1
dann Matrizen

L
1
,

U
1
, so
da

A
1

L
1

U
1

3n u
_

A
1

_
+ O
_
u
2
_
.
Wir erhalten dann, da

L =
_
1 0
y
(1)

L
1
_
,

U =
_
a
11
w
T
0

U
1
_
,
4.5 Pivotsuche 57
wobei die erste Zeile von

U wegen der 1 oben links in

L exakt ist. Damit erhalten wir, da

_
a
11
w
T
v B
_

_
a
11
w
T
a
11
y
(1)
y
(1)
w
T
+

L
1

U
1
_

_
0 0
v a
11
y
(1)
B y
(1)
w
T

L
1

U
1
_

_
0 0
v a
11
y
(1)
A
1

L
1

U
1
_

_
0 0
a
11
_
y
(1)
y
(1)
_
A
1


A
1
_

_
0 0
v a
11
y
(1)

A
1

L
1

U
1
_

_
0 0
a
11
u[v[/ [a
11
[ A
1


A
1
_

_
0 0
0

A
1

L
1

U
1
_

3 u
_
0 0
[v[ [A
1
[
_
+ 3n u
_
0 0
0 [A
1
[ +

L
1

U
1

_
3(n + 1) u
_
[a
11
[

w
T

[v[ [A
1
[ +

L
1

U
1

_
= 3(n + 1) u
_
[A[ +

_
.
Und das wars dann auch schon.
Beweis von Satz 4.21: Aus Proposition 4.23 erhalten wir, da
_

L + F
_
y = b,
_

U + E
_
x = y,
wobei
[E[ n u[

U[ + O
_
u
2
_
, [F[ n u[

L[ + O
_
u
2
_
,
also
_

U + G
_
x = b,
wobei
[G[ =

LE + F

U + FE

2n u

+ O
_
u
2
_
.
Nach Proposition 4.25 ist damit

A x = b, wobei

A A

G +

L

U A

[G[ +

2n u

+ 3n u
_
[A[ +

_
+ O
_
u
2
_
n u
_
3 [A[ + 5

_
+ O
_
u
2
_
.

4.5 Pivotsuche
Was sagt uns Satz 4.21 nun uber die numerische Stabilit at der GauElimination? Nun, Einset-
zen in die allgemeine Fehlerabsch atzung (3.9) ergibt das folgende Resultat.
58 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Korollar 4.26 F ur eine Vektornorm | | und eine konsistente, mit der Vektornorm vertr agliche
und vern unftige
22
Matrixnorm sei so gew ahlt, da
_
_
_

_
_
_ |A| . (4.25)
Dann ist
| x x|
|x|

n u(3 + 5)
1 n u(3 + 5) (A)
(A), x ,= 0, (4.26)
vorausgesetzt, da n u(3 + 5) (A) < 1.
Bemerkung 4.27 Setzt man B := [A[, dann ist [A[ [B[ [A[, also, f ur eine monotone
Matrixnorm, |A| |B| |A| und damit ist | [A[ | = |A|. Wegen

wird in (4.25) einen Wert > 1 haben.


Leider kann der Wert sehr schnell sehr gro werden.
Beispiel 4.28 F ur B = 10, m = 3 und abschneidende Arithmetik wird die Matrix
A =
_
.100 10
2
.100 10
1
.100 10
1
.200 10
1
_
durch GauElimination zerlegt in

L =
_
.100 10
1
.000 10
0
.100 10
4
.100 10
1
_
,

U =
_
.100 10
2
.100 10
1
.000 10
0
.100 10
4
_
.
Dann ist

U =
_
.100 10
2
.100 10
1
.100 10
1
.000 10
0
_
,
aber

=
_
.001 1
1 2000
_
Der Eintrag rechts unten, n amlich 2000, ist ubrigens von der Gr oenordnung 20 u
1
, da
u = B
2
= 1/100.
Wo liegt nun das Problem? Normalerweise werden bei der GauElimination Vielfache
von Zeilen von A von weiter unten liegenden Zeilen abgezogen. Dieses Vielfache wird dann
betraglich sehr gro, wenn der (Diagonal) Wert, durch den dividiert wird, sehr klein wird.
Daher empehlt es sich, Strategien zu suchen, die den Divisor nicht zu klein werden lassen.
22
Der korrekte Begriff ist der einer monotonen Matrixnorm, d.h., eine Norm mit der Eigenschaft [A[ [B[ =
|A| |B|
4.5 Pivotsuche 59
Denition 4.29 Das Element a
11
einer Matrix A R
nn
bezeichnet man als Pivotelement.
Denition 4.30 Eine Matrix P R
nn
heit Permutationsmatrix, wenn
P 0, 1
nn
und
n

r=1
p
rk
=
n

r=1
p
jr
= 1, j, k = 1, . . . , n. (4.27)
Die Vertauschungsmatrix P[j, k], j, k = 1, . . . , n, ist deniert als
P[j, k] =
_

_
1
.
.
.
1
0 1
1
.
.
.
1
1 0
1
.
.
.
1
_

_
= I (e
j
e
k
) (e
j
e
k
)
T
Wir bezeichnen mit

n
= P[j, k] : 1 j < k n
die Menge (Gruppe!) aller Vertauschungsmatrizen.

Ubung 4.4 Zeigen Sie:


1. Jede Permutationsmatrix P ist als Produkt von Vertauschungsmatrizen darstellbar und
jedes Produkt
k

j=1
P
j
, P
j

n
, k N,
ist wieder eine Permutationsmatrix.
2. Die Menge der Permutationsmatrizen bildet eine Gruppe.
Bemerkung 4.31 F ur P = P[j, k]
n
und A R
nn
ist PA diejenige Matrix, bei der die
Zeilen j und k von A vertauscht werden und AP diejenige Matrix, bei der die Spalten j und k
von A vertauscht werden. Auerdem ist P
2
= I f ur jedes P
n
Damit haben wir das allgemeine Resultat zur GauElimination.
60 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Satz 4.32 Sei A R
nn
invertierbar. Dann gibt es Permutationsmatrix P R
nn
, eine untere
Dreiecksmatrix L R
nn
mit
jj
= 1 und eine obere Dreiecksmatrix U R
nn
, so da
PA = LU. (4.28)
Korollar 4.33 Eine Matrix A R
nn
ist genau dann invertierbar, wenn es eine Permuta-
tionsmatrix P (d.h., eine Umordnung der Zeilen) gibt, so da alle Hauptminoren (PA)
m
,
m = 1, . . . , n, von PA invertierbar sind.
Beweis: Korollar 4.7 und Satz 4.32.
Bemerkung 4.34 (L osungsverfahren)
1. Da Ax = b aquivalent zu Pb = PAx = LUx ist, k onnen wir, sobald die LUZerlegung
und P bestimmt sind, das gesuchte x wieder uber die Gleichungssysteme Ly = Pb,
Ux = y bestimmen.
2. Da Permutationen exakt bestimmt werden k onnen, ist die Fehleranalyse von (4.28) exakt
dieselbe wie die f ur die naive GauElimination.
3. Satz 4.32 ergibt als Verfahren die GauElimination mit Spaltenpivotsuche, alternativ
k onnte man auch Zerlegungen
Zeilenpivot AQ = LU, Q
n
,
Totalpivot PAQ = LU, P, Q
n
(4.29)
untersuchen. Die zugeh origen L osungsmethoden sind
Ly = b, Uz = y, x = Qz,
Ly = Pb, Uz = y, x = Qz.
4. Aus det P = 1 und (4.28) folgt, da
0 ,= det A = (det P)
1
. .
=1
det L
. .
=1
det U =
s

j=1
u
jj
,
also u
jj
,= 0, j = 1, . . . , n.
Beweis von Satz 4.32: Wir gehen im wesentlichen wie im naiven Fall (zweiter Beweis von
Satz 4.5) vor und konstruieren wie dort GauTransformationen M
j
und Permutationsmatrizen
P
j

n
, j = 1, . . . , n, so da
A
(m)
:= M
m
P
m
M
1
P
1
A =
_
U
m
B
m
0

A
m
_
, m = 0, . . . , n, (4.30)
4.5 Pivotsuche 61
wobei U
m
, B
m
und

A
m
wie in (4.11) sind.
23
Nehmen wir also an, wir h atten f ur ein m 0 so
eine Zerlegung (f ur m = 0 ist dies keine Bedingung, also wieder mal ein trivialer Induktions-
anfang), dann betrachten wir die erste Spalte von

A
m
und w ahlen k so, da
[a
k1
[ [a
j1
[ , j = 1, . . . , n m. (4.31)
Ist a
k1
= 0, dann hat A
(m)
die Form
A
(m)
=
_
_
U
m
b B
0 0 c
T
0 0

A
_
_
und damit bestenfalls den Rang n 1, ist aber auf keinen Fall invertierbar, was aber nach der
Voraussetzung ausgeschlossen ist. Ansonsten setzen wir P
m+1
= P[m + 1, m+ k], das heit
PA
(m)
=
_
U
m
B
m
0 C
m
_
, C := P[1, k]

A
m
. .
n
,
sowie
y
(m+1)
j
=
_
0, j = 1, . . . , m + 1
c
jm,1
c
11
, j = m + 2, . . . , n,
und M
m+1
= I y
(m+1)
e
T
m+1
. Da in der Matrix C das betragsgr ote Element der ersten Spalte
an c
11
stand, ist insbesondere

y
(m+1)
j

1. (4.32)
Auerdem ist, genau wie in der naiven GauElimination nun
A
(m+1)
= M
m+1
P
m+1
A
(m)
=
_
U
m+1
B
m+1
0

A
m+1
_
,
so da die Zerlegung aus (4.30) auf den Fall m + 1 erweitert ist. Nach n Schritten haben wir
dann also, da
M
n
P
n
M
1
P
1
A = U, M
n
= P
n
= I, (4.33)
und damit ist A = (M
n1
P
n1
M
1
P
1
)
1
U. Was wir noch zeigen m ussen, ist, da es eine
untere Dreiecksmatrix L R
nn
und eine Permutation P gibt, so da
(M
n1
P
n1
M
1
P
1
)
1
= P
1
M
1
1
P
n1
M
1
n1
= PL, (4.34)
denn dann ist
P
1
A = P
1
P
1
M
1
1
P
n1
M
1
n1
U = P
1
PLU = LU (4.35)
und nat urlich ist P
1
auch wieder eine Permutation.
23
Dies ist genau das Gegenst uck zu (4.10).
62 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Bleibt also nur noch (4.34); das funktioniert, weil wir GauTransformationen und Permuta-
tionen in einem gewissen Sinne vertauschen k onnen, solange nur die Indizes zusammenpassen.
Dazu schreiben wir M
j
= M
j
_
y
(j)
_
und verwenden die Indentit at
M
j
_
y
(j)
_
P [k, ] = P [k, ] M
j
_
P [k, ] y
(j)
_
, 1 j < k < n, (4.36)
aus der (4.34) unmittelbar folgt. Aber auch (4.36) ist nicht schwer zu beweisen: unter Verwen-
dung der Kurzschreibweise y = y
(j)
, M = M
j
_
y
(j)
_
und P = P[k, ] erhalten wir, da
PMP = P
_
I y e
T
j
_
P = P
2
..
=I
(Py) e
T
j
_
I (e
k
e

) (e
k
e

)
T
_
. .
=P
= I (Py) e
T
j
. .
=M(Py)
(e
T
j
e
k
..
=0
e
T
j
e

..
=0
) (e
k
e

)
T
= M (Py) ,
und das wars dann auch, wenn man bedenkt, da P = P
1
und damit MP = PM(Py) ist.
Beispiel 4.35 Wir betrachten
24
die Matrix
A =
_
_
1 0 0
2 1 3
4 2 1
_
_
und f uhren die GauElimination mit Spaltenpivotsuche von Hand durch. Das Pivotelement in
der ersten Spalte ist nat urlich a
13
, also zerlegen wir
P[1, 3] A =
_
_
0 0 1
0 1 0
1 0 0
_
_
_
_
1 0 0
2 1 3
4 1 1
_
_
=
_
_
4 2 1
2 1 3
1 0 0
_
_
in
M
1
P[1, 3] A =
_
_
1

1
2
1

1
4
0 1
_
_
_
_
4 2 1
2 1 3
1 0 0
_
_
=
_
_
4 2 1
0 0
5
2
0
1
2

1
4
_
_
.
Jetzt m ussen wir sogar vertauschen und erhalten
P[2, 3]M
1
P[1, 3] A =
_
_
4 2 1
0
1
2

1
4
0 0
5
2
_
_
,
was schon eine obere Dreiecksmatrix ist. Also ist
A = P[1, 3]
1
. .
=P[1,3]
M
1
1
P[2, 3]
1
. .
=P[2,3]
_
_
4 2 1
0
1
2

1
4
0 0
5
2
_
_
,
24
Es wurde ein Beispiel mit Zahlen ge unscht.
4.5 Pivotsuche 63
wobei
P[1, 3]M
1
1
P[2, 3] =
_
_
0 0 1
0 1 0
1 0 0
_
_
_
_
1
1
2
1
1
4
0 1
_
_
_
_
1 0 0
0 0 1
0 1 0
_
_
=
_
_
0 0 1
0 1 0
1 0 0
_
_
_
_
1 0 0
0 0 1
0 1 0
_
_
_
_
1
1
4
1
1
2
0 1
_
_
= P[1, 3] P[2, 3]
_
_
1
1
4
1
1
2
0 1
_
_
.
Die entscheidende Aktion der neuen GauElimination ist die Spaltenpivotsuche in (4.31):
man bestimmt eine Permutation P
m+1
= P[m + 1, k], k m + 1, so da

_
P
m+1
A
(m)
_
m+1,m+1

_
P
m+1
A
(m)
_
j,m+1

, j = m + 2, . . . , n. (4.37)
Analog bestimmt man bei der Zeilenpivotsuche eine Permutation Q
m+1
= P[m + 1, k
t
], k
t

m + 1, so da

_
A
(m)
Q
m+1
_
m+1,m+1

_
A
(m)
Q
m+1
_
m+1,j

, j = m + 2, . . . , n, (4.38)
und bei der Totalpivotsuche sogar zwei Permutationen P
m+1
= P[m + 1, k], Q
m+1
= P[m +
1, k
t
], k, k
t
m + 1, so da

_
P
m+1
A
(m)
Q
m+1
_
m+1,m+1

_
P
m+1
A
(m)
Q
m+1
_
j,j

, j, j
t
= m + 2, . . . , n. (4.39)
Die GauElimination mit Spaltennpivotsuche ist in GaussSP.m realisiert, das endg ultige
L osungsverfahren unter Ber ucksichtigung der Permutation in LoesAxb2.m.
Der einzige Unterschied zur GauElimination ohne Pivotsuche besteht darin, da bei der
Pivotsuche Zeilen vertauscht werden m ussen und die entsprechende Permutationsmatrix zu
speichern ist. Diese beiden Operationen sind nat urlich exakt durchf uhrbar. Daher haben wir
sofort die folgende Fehleraussage.
Korollar 4.36 Sei A F
nn
und x die mittels GauElimination mit Spaltenpivotsuche, Vorw art-
selimination und R ucksubstitution berechnete L osung von Ax = b. Dann gibt es eine Matrix

A,
so da

A x = b (4.40)
und

A A

n u
_
3 [A[ + 5

_
+ O
_
u
2
_
. (4.41)
Bemerkung 4.37 (Beliebte Miverst andnisse)
64 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
%% GaussSP.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Elimination mit Ueberschreiben, Spaltenpivotsuche
%% und Matlab-Features
%% Eingabe:
%% A Matrix
function [ LU, p ] = GaussSP( A )
n = length( A );
p = [1:n];
for m = 1:n
% Suche Pivot
piv = abs( A(m,m) );
pivj = m;
for j = m+1:n
if abs( A(j,m) ) > piv
piv = abs( A(j,m) );
pivj = j;
end
end
% Vertausche
j = p( m ); p( m ) = p( pivj ); p( pivj ) = j;
x = A( m,: ); A( m,: ) = A( pivj,: ); A( pivj,: ) = x;
% Eliminiere
w = A( m,m+1:n );
for j = m+1:n
A( j,m ) = A( j,m ) / A( m,m );
A( j,m+1:n ) = A( j,m+1:n ) - A( j,m ) * w;
end
end
LU = A;
% endfunction
Programm 4.9 GaussSP.m: GauElimination mit Spaltenpivotsuche. Der Vektor p
enth alt die Permutation: k = p(j) bedeutet, da Pe
k
= e
j
.
4.5 Pivotsuche 65
%% LoesAxb2.m (Numerik 1)
%% --------------------------------------------------------
%% Loesen eines Gleichungssystems (mit Pivot)
%% Eingabe:
%% A Matrix
%% b rechte Seite
function x = LoesAxb2( A,b )
[ LU,p ] = GaussSP( A );
for j = 1:length(A)
bb( j ) = b( p(j) );
end
y = VorElim1( LU,bb );
x = RueckSubs( LU,y );
% endfunction
Programm 4.10 LoesAxb2.m: L osung eines Gleichungssystems vermittels Gau
Elimination mit Spaltenpivotsuche.
1. Pivotsuche ergibt immer genauere Ergebnisse
Die Matrix
A =
_
_
1 2 3
2 3 4
3 4 5
_
_
ist singul ar, was eine GauElimination ohne Pivotsuche auch erkennen w urde, die (mit

Uberschreiben) die Folge


A
(1)
=
_
_
1 2 3
2 1 2
3 2 4
_
_
A
(2)
=
_
_
1 2 3
2 1 2
3 2 0
_
_
liefert. Duch die Pivotsuche wird aber zuerst durch 3 geteilt und die dabei entstehen-
den Rundungsfehler sorgen daf ur, da die Matrix ein bichen invertierbar aber lausig
konditioniert wird.
2. Durch Pivotsuche wird das Produkt [L[ [U[ kleiner
Wir betrachten die Matrix
_
_
9
10
0 0
1 100 100
0 0 1
_
_
=
_
_
1
10
9
1
0 0 1
_
_
_
_
9
10
0 0
100 100
1
_
_
.
66 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Insbesondere ist A = [L[ [U[. Mit Pivotsuche m ussen wir die Zeilen 1 und 2 vertauschen
und erhalten die LUZerlegung
_
_
1 100 100
9
10
0 0
0 0 1
_
_
=
_
_
1
9
10
1
0 0 1
_
_
_
_
1 100 100
90 90
1
_
_
und
[L[ [U[ =
_
_
1
9
10
1
0 0 1
_
_
_
_
1 100 100
90 90
1
_
_
=
_
_
1 100 100
9
10
180 180
0 0 1
_
_
.
Merke: Zeilenpivotsuche sorgt nur daf ur, da alle Eintr age von [L[ einen Wert 1 haben.
[U[ kann daf ur ganz nett wachsen.
4.6 Der Wachstumsfaktor f ur Spaltenpivotsuche
Wir wollen jetzt eine klassische Normabsch atzung f ur den R uckw artsfehler der GauElimination
mit Spaltenpivotsuche herleiten.
Denition 4.38 F ur eine Matrix A und die Zwischenergebnisse A
(m)
, m = 0, . . . , n, A
(0)
=
A, der GauElimination mit Spaltenpivotsuche ist der Wachstumsfaktor ( growth factor )
(A) deniert als
(A) =
max
j,k,m=1,...,n

a
(m)
jk

max
j,k=1,...,n
[a
jk
[
(4.42)
Der Wachstumsfaktor (den man ja auf dem Weg zur LUFaktorisierung mitberechnen
kann) gibt uns dann die folgende Aussage.
Satz 4.39
25
Zu A F
nn
sei x die via GauElimination mit Spaltenpivotsuche berechnete
L osung. Dann gibt es eine Matrix

A R
nn
, so da

A x = b und
_
_
_A

A
_
_
_

6n
3
u (A) |A|

+ O
_
u
2
_
. (4.43)
Zusammen mit Satz 3.9 erhalten wir nun endlich eine handliche Absch atzung f ur den
relativen Fehler.
Korollar 4.40 Es sei A R
nn
invertierbar und

(A) < u
1
.
Dann erf ullt die berechnete L osung x zu Ax = b die Ungleichung
| x x|

|x|

6n
3
(A)
1 u

(A)
u

(A). (4.44)
25
Wenn man es genau nimmt, gilt dieser Satz nur f ur n 2. Aber kann man sonst von Matrizen reden?
4.6 Der Wachstumsfaktor f ur Spaltenpivotsuche 67
Lemma 4.41 Sei A R
nn
und P eine Permutation so da PA = LU. Dann ist
_
_
_

_
_
_

n
2
(A)|A|

. (4.45)
Beweis: Wir nehmen an, da wir die Matrix A zuerst so umgeordnet haben, da P = I gilt,
da also die GauElimination mit und ohne Pivotsuche aquivalent sind. Dann ist, nach der
Denition von (A),
[ u
jk
[ =

a
(j)
jk

(A) max
j,k=1,...,n
[a
jk
[ , 1 j k n.
Damit ist
_
_
_

U
_
_
_

= max
j=1,...,n
n

k=1
[ u
jk
[ n max
j,k=1,...,n
[a
jk
[ n |A|

und, da

jk

1, n j k 1, ist auch
_
_
_

L
_
_
_

n. Da auerdem (trivialerweise)
| [A[ [B[ |

| [A[ |

| [B[ |

= |A|

|B|

,
folgt (4.45).
In dem Beweis ist eine kleine Fuangel: wir haben angenommen, da

jk

1, was voraus-
setzt, da die Arithmetik korrekt genug ist, bei Division einer Zahl durch eine betragsgr oere
einen Wert vom Betrag 1 zu liefern. Ansonsten h atten wir, da

jk

(1 + u) und lediglich
einen nervigen Faktor der Form 1 + u in (4.45).
Beweis von Satz 4.39: Aus Satz 4.36, speziell aus (4.41) erhalten wir mit Hilfe von Lem-
ma 4.41, da
26
_
_
_A

A
_
_
_

= n u
_
_
_3 [A[ + 5

_
_
_

n u
_
3 + 5n
2
(A)
_
|A|

6n
3
u(A) |A|

Warum interessiert man sich nun f ur den Wachstumsfaktor?


Er ist eine a posterioriGr oe: die Zahl (A) kann fast ohne Extraaufwand w ahrend der
LUZerlegung ermittelt werden und ergibt, zusammen mit einer Absch atzung f ur die
Konditionszahl der Matrix eine Absch atzung f ur den relativen Fehler.
Man kann zeigen, da dieser Faktor f ur bestimmte Typen von Matrizen recht moderat
w achst und da damit GauElimination mit Spaltenpivotsuche eine geeignete Methode
f ur derartige Matrizen ist
27
.
26
F ur n 2; beachte: (A) 1.
27
Generell nutzen gute numerische Verfahren immer auch die Struktur des Problems aus. Einer black box, die
behauptet, alle zu k onnen, sollte man nicht trauen.
68 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
Bemerkung 4.42 Die Matrizen der Form
A =
_

_
1 1
1 1 1
.
.
.
.
.
.
.
.
.
.
.
.
1 . . . 1 1
_

_
R
nn
(4.46)
erf ullen (A) = 2
n1
. Andererseits ist f ur jede Matrix A R
nn
max
j,k=1,...,n

a
(m)
jk

2 max
j,k=1,...,n

a
(m1)
jk

, m = 1, . . . , n,
wobei a
(0)
jk
= a
jk
. Bedenkt man nun, da bei der GauElimination nur n 1 Eliminations-
schritte gerechnet werden, dann erhalten wir also, da
(A) 2
n1
, A R
nn
(4.47)
und da diese (recht frustrierende) Absch atzung scharf ist: es gibt Matrizen, n amlich die aus
(4.46), bei denen Gleichheit angenommen wird.

Ubung 4.5 Zeigen Sie:Die Matrix A deniert durch


a
jk
=
_
_
_
1, j = k oder k = n,
1, j > k,
0, sonst,
besitzt eine LUZerlegung mit [
jk
[ 1 und u
nn
= 2
n1
.
Es gibt aber auch eine gute Nachricht: Matrizen mit (A) = 2
n1
haben eine sehr spezielle
Form
28
, so da wir im Normalfall auf geringeres Wachstum hoffen
29
d urfen.
Denition 4.43 Eine Matrix A R
nn
heit
1. diagonaldominant (nach Zeilen bzw. Spalten), wenn
[a
jj
[

k,=j
[a
jk
[ bzw. [a
jj
[

k,=j
[a
kj
[ , j = 1, . . . , n,
und entsprechend strikt diagonaldominant, wenn die strikte Ungleichung gilt.
2. obere Hessenbergmatrix, wenn
a
jk
= 0, j > k + 1,
das heit
A =
_

_
. . .
. . .
.
.
.
.
.
.
.
.
.

_

_
.
28
Im wesentlichen m ussen sie so aussehen wie die Matrix aus (4.46), siehe [23].
29
F ur Politiker sehr schwer zu verstehen
4.6 Der Wachstumsfaktor f ur Spaltenpivotsuche 69
3. bandiert mit unterer Bandbreite p und oberer Bandbreite q, kurz (p, q)bandiert, falls
a
jk
= 0, j > k + p, k > j + q,
das heit
A =
_

_

1
. . .
q

1

1
. . .
q
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

p
. . .
1

1
. . .
q
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

p
. . .
1

1

p
. . .
1

_

_
4. Tridiagonalmatrix, wenn sie bandiert mit oberer und unterer Bandbreite 1 ist.
Satz 4.44 (Wachstumsfaktoren)
Sei A R
nn
.
1. Ist A strikt diagonaldominant (nach Zeilen oder Spalten), dann ist (A) 2, wenn auf
Pivotsuche verzichtet wird. Ist A strikt diagonaldominant nach Spalten, dann sind Gau
Elimination mit und ohne Spaltenpivotsuche dasselbe.
2. Ist A eine obere HessenbergMatrix, dann ist (A) n.
3. Ist A bandiert mit oberer und unterer Bandbreite p, dann ist
(A) 2
2p1
(p 1)2
p2
4. Ist A eine Tridiagonalmatrix, dann ist (A) 2.
Schlielich gibt es noch ein Resultat von Wilkinson uber den Wachstumsfaktor
c
(A) bei
Totalpivotsuche:

c
(A)

_
n
n1

j=1
(j + 1)
j
C

n n
1
4
log n
, A R
nn
, (4.48)
und damit ist GauElimination mit Totalpivotsuche r uckw artsstabil
30
30

Uber den Wert von (4.48) gehen die Meinungen auseinander: Golub & Van Loan betonen [21] das moderate
Wachstum w ahrend Higham [23] darauf hinweist, da die Absch atzung f ur n = 100 immerhin den Wert 3750
hat, also durchaus nicht klein ist.
70 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
4.7 Verbesserung der Genauigkeit Skalierung
Die erste Idee, die Skalierung, basiert auf der Beobachtung, da f ur beliebige Diagonalmatrizen
D
1
, D
2
R
nn
+
Ax = b D
1
AD
1
2
. .
=:B
D
2
x
..
=:y
= D
1
b
..
=:c
By = c. (4.49)
Man l ost also zuerst By = c und bestimmt dann x = D
1
2
y; sind die Diagonaleintr age in D
1
und D
2
Potenzen der Basis B der Rechnerarithmetik, dann k onnen die zus atzlichen Operationen
exakt ausgef uhrt werden, es gibt also keine weiteren Rundungsfehler.
Satz 4.45 Es sei A R
nn
invertierbar und

(A) < u
1
.
Dann erf ullt die berechnete L osung x zu Ax = b die Ungleichung
_
_
D
1
2
( x x)
_
_

_
_
D
1
2
x
_
_

6n
3
|D
1
|

|D
2
|

(A)
1 u

(D
1
AD
2
)
u

(D
1
AD
2
) . (4.50)
Beweis: Sei PA = LU und (der Einfachheit halber) P = I, ansonsten ersetzen wir A durch
A
t
= PA. Dann ist
D
1
AD
2
= D
1
LUD
2
= D
1
LD
1
1
. .
=:L

D
1
UD
2
. .
=:U

,
wobei
t
jk
=
(D
1
)
jj
(D
1
)
kk

jk
, j, k = 1, . . . , n, also insbesondere
t
jj
= 1. Also ist
[L
t
[ = D
1
[L[ D
1
1
, [U
t
[ = D
1
[U[ D
2
(4.51)
und
u
t
jk
= (D
1
)
jj
(D
2
)
kk
u
jk
.
Spielen wir nun wieder den Beweis von Lemma 4.41 durch
31
, so erhalten wir, da
(D
1
AD
2
) max
j=1,...,n
(D
1
)
jj
max
j=1,...,n
(D
2
)
jj
(A) = |D
1
|

|D
2
|

(A). (4.52)
Das mu man jetzt nur noch in Satz 4.39 einsetzen.
Die Bedeutung dieses Resultats liegt darin, da man durch cleveres Skalieren die Kondi-
tionszahl einer Matrix deutlich verbessern kann.
31
Bei den Details mu man allerdings ein bichen aufpassen.
4.7 Verbesserung der Genauigkeit Skalierung 71
Beispiel 4.46 Wir betrachten, f ur R
+
, die (zeilenskalierte) Matrix
A =
_
1000
1 1
_
= |A|

= max 1001 , 2 ,
mit Inverser
A
1
=
_

1
999
1000
999
1
999

1
999
_
=
_
_
A
1
_
_

=
1000 +
1
999
.
Damit ist

(A) =
_

_
1001
999
(1000 + 1) , 2/1001,
2000 + 2
1
999
, < 2/1001,
(4.53)
was f ur = 2/1001 den minimalen Wert

(A) =
3001
999
3
annimmt. F ur = 1 ist die Konditionszahl hingegen > 1000!
Allerdings ist es nicht einfach, die beste Skalierung zu nden: Der naive Ansatz h atte wohl
= 1/1000, also
A =
_
1/1000 1
1 1
_
gew ahlt, was eine nicht optimale
32
Konditionszahl von 4 geliefert h atte.
Es gibt auch komplexere Pivotstrategien, die zu impliziter Skalierung f uhren. Man bestimmt
(bei Zeilenvertauschungen) das mte Pivotelement (also eine Zeile) durch

a
(m)
jm

max
r=m,...,n

a
(m)
jr

= max
k=m,...,n

a
(m)
km

max
r=m,...,n

a
(m)
kr

. (4.54)
Satz 4.47 (J. M. Pe na)
Ist A eine invertierbare Matrix mit PA = LU und hat diese LUZerlegung die Eigenschaft,
da LU = [L[ [U[, dann wird sie von GauElimination mit der Pivotstrategie (4.54) geliefert.
32
Aber gar nicht so schlechte . . .
72 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
4.8 Verbesserung der Genauigkeit Iteratives Verfeinern
Die zweite Methode zur Verbesserung der Genauigkeit des Ergebnisses basiert auch wieder auf
einer einfachen Idee: ausgehend von einer berechneten L osung x sehen wir uns das Residuum
r
1
= b A x.
an. Ist der berechnete Werte r
1
so gut, da [ r
1
[ n u[1
n
[
33
, dann k onnen wir nichts besseres
erwarten, andernfalls berechnen wir eine Korrektur y
1
als L osung von Ay = r
1
, setzen x
1
=
x + y
1
und betrachten
r
2
= b A x
1
,
was wir solange fortsetzen bis (hoffentlich) irgendein r
k
klein genug wird.
Iteratives Verfeinern
34
( iterative renement ) berechnet also, ausgehend von x
0
= x, eine Folge
r
j
= b A x
j1
, x
j
= x
j1
Solve(Ax = r
j
) , j N, (4.55)
in der Hoffnung, da r
j
0 (oder zumindest klein genug wird).
Bemerkung 4.48 Beim klassischen iterative renement werden die Operationen aus (4.55)
in doppelter Genauigkeit, also mit einem relativen Fehler von h ochstens 2 u
2
, berechnet.
Was bringt uns nun die Nachiteration? Nehmen wir an, wir berechnen die arithmetischen
Operationen in (4.55) mit einer Genauigkeit
u u.
Auerdem machen wir eine Annahme an die Stabilit at unseres L osungsverfahrens, na mlich,
da f ur jede rechte Seite b die berechnete L osung x die Beziehung
(A + E) x = b,
_
_
A
1
E
_
_

< 1, (4.56)
erf ullt; siehe Bedingung (3.9) in Satz 3.9.
In jeder Zeile von A x
j1
berechnen wir ein Skalarprodukt auf R
n
und zusammen mit der
Subtraktion erhalten wir also, da die berechnete Gr oe r
j
den Wert
[ r
j
b + A x
j1
[ (n + 1) u([b[ +[A[ [ x
j1
[) + O
_
u
2
_
. (4.57)
Dann rundet man diesen Wert auf Arbeitsgenauigkeit u, also ist
[ r
j
r
j
[ u[ r
j
[
Also:
[ r
j
b + A x
j1
[ [ r
j
b + A x
j1
[ +[ r
j
r
j
[
[ r
j
b + A x
j1
[ + u[ r
j
[
[ r
j
b + A x
j1
[ + u([b A x
j1
[ +[ r
j
b + A x
j1
[)
= u[b A x
j1
[ + (1 + u) [ r
j
b + A x
j1
[
33
Die L osung x ist also bis auf unvermeidbare Rundungsfehler exakt!
34
Auch als Nachiteration bekannt.
4.8 Verbesserung der Genauigkeit Iteratives Verfeinern 73
%% LoesAxb3.m (Numerik 1)
%% --------------------------------------------------------
%% Loesen eines Gleichungssystems
%% (mit Pivot und k-facher Nachiteration)
%% Eingabe:
%% A Matrix
%% b rechte Seite
%% k % Nachiterationen
function x = LoesAxb3( A,b,k )
[ LU,p ] = GaussSP( A );
y = VorElim2( LU,b,p );
x = RueckSubs( LU,y );
for j = 1:k
r = b - A*x;
disp( norm(r) );
y = VorElim2( LU,r,p );
d = RueckSubs( LU,y );
x = x+d;
end
% endfunction
Programm 4.11 LoesAxb3.m: GauElimination mit textttkfacher Nachiteration.
74 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
%% VorElim2.m (Numerik 1)
%% --------------------------------------------------------
%% Vorwaertselimination mit Permutation, ueberschreibt b,
%% Diagonale = 1!!!
%% Eingabe:
%% L untere Dreiecksmatrix
%% b rechte Seite
%% p Permutationsvektor
function x = VorElim2( L,b,p )
n = length( b );
bb = b;
for j = 1:n
bb( j ) = b( p(j) );
end
b = bb;
for j = 1:n
b(j) = b(j) - L(j,1:j-1) * b( 1:j-1 );
end
x = b;
endfunction
Programm 4.12 VorElim2.m: Vorw artselimination mit integrierter Permutation.
4.8 Verbesserung der Genauigkeit Iteratives Verfeinern 75
und mit (4.57) ergibt sich
[ r
j
b + A x
j1
[ u[b A x
j1
[ + (1 + u) (n + 1) u([b[ +[A[ [ x
j1
[) + O
_
u
2
_
. (4.58)
Mit f
j
:= r
j
b + A x
j1
ergibt sich dann
[f
j
[ u[A( x
j1
x)[
+(1 + u) (n + 1) u([A[ [x[ +[A[ [x[ +[A[ [ x
j1
x[) + O
_
u
2
_
( u + (1 + u)(n + 1) u) [A[ [ x
j1
x[ + 2 (1 + u) (n + 1) u[A[ [x[ + O
_
u
2
_
= ( u + (n + 1) u) [A[ [ x
j1
x[ + 2(n + 1) u[A[ [x[ + O( u u) . (4.59)
Die berechnete Korrekturgr oe y
j
erf ullt dann
(A + E
j
) y
j
= r
j
,
wobei
35
(A + E
j
)
1
=
_
I + A
1
E
j
_
1
A
1
=: (I + F
j
) A
1
, |F
j
|


|A
1
E
j
|

1 |A
1
E
j
|

. (4.60)
Deswegen ist
y
j
= (A + E
j
)
1
r
j
= (I + F
j
) A
1
r
j
= (I + F
j
) A
1
(e
j
+ b A x
j1
) = (I + F
j
)
_
A
1
e
j
+ x x
j1
_
, (4.61)
und
[ x
j
( x
j1
+ y
j
)[ u[ x
j1
+ y
j
[ u([x x
j1
[ +[x[ +[ y
j
[) ,
also, mit (4.61),
[ x
j
( x
j1
+ y
j
)[ u([x x
j1
[ +[x[) + u(I +[F
j
[)
_

A
1

[f
j
[ +[x x
j1
[
_
. (4.62)
Weiter gehts mit
x
j
x = x
j1
+ y
j
+ ( x
j
( x
j1
+ y
j
))
. .
=:z
j
, (Rundung!)
x
= x
j1
x + (I + F
j
)
_
A
1
f
j
+ x x
j1
_
+ z
j
= F
j
(x x
j1
) + (I + F
j
) A
1
f
j
+ z
j
,
und daher ist, unter Verwendung von (4.62) und (4.59)
[ x
j
x[ [F
j
[ [x x
j1
[ + (I +[F
j
[)

A
1

[f
j
[ +[z
j
[
[F
j
[ [x x
j1
[ + (I +[F
j
[)

A
1

[f
j
[
+ u([x x
j1
[ +[x[) + u(I +[F
j
[)
_

A
1

[f
j
[ +[x x
j1
[
_
35
Der inzwischen wohlbekannte Trick mit der geometrischen Reihe . . .
76 4 DIREKTE METHODEN F

UR LINEARE GLEICHUNGSSYSTEME
= ((1 + u) [F
j
[ + 2 uI) [x x
j1
[ + u[x[ + (1 + u) (I +[F
j
[)

A
1

[f
j
[
((1 + u) [F
j
[ + 2 uI) [x x
j1
[ + u[x[
+(1 + u) (I +[F
j
[) (( u + (n + 1) u) [A[ [ x
j1
x[ + 2(n + 1) u[A[ [x[)
+O( u u)
=
_
(1 + u) [F
j
[ + ( u + (n + 1) u)(I +[F
j
[)

A
1

[A[ + O
_
u
2
__
[ x
j1
x[
+( uI + 2(n + 1) u[A[) [x[ + O( u u)
Somit ist
| x
j
x|


_
(1 + u) |F
j
|

+ (n + 2) u
_
1 +|F
j
|

(A)
_
| x
j1
x|

+( u + 2(n + 1) u|A|

) |x|

+ O
_
u
2
_
=:
j
| x
j1
x|

+
j
|x|

+ O
_
u
2
_
, (4.63)
wobei

j

(1 + u) |A
1
E
j
|

+ (n + 2) u

(A)
1 |A
1
E
j
|

. (4.64)
Unter der Stabilit atsannahme |E
j
|

Cn u|A|

ist also
j
< 1, falls
2(C + 1)n

(A) u
1
(4.65)
Damit haben wir das folgende Resultat (als leichte Abschw achung einer Aussage aus dem
Buch von Higham [23]).
Satz 4.49 Erf ullt die invertierbare Matrix A R
nn
die Bedingung (4.65), dann bestimmt
iterative Verfeinerung ein x mit einer relative Genauigkeit
| x x|

|x|

_
u, u u
2
,
2(n + 1) u|A|

, u u.
(4.66)
77
Es wird also wahrscheinlich richtig sein,
das Gattungsm aige gemeinsam zu
behandeln [. . .] Was aber nicht so ist,
mu man einzeln behandeln.
Aristoteles, Die Methodik der
Naturforschung.
5 Spezielle lineare Gleichungssysteme
Bevor wir uns spezielle Systeme ansehen, erst eine kleine Variation von Satz (4.32).
Satz 5.1 Eine Matrix A R
nn
ist genau dann invertierbar, wenn es eine Diagonalmatrix
D R
nn
, eine Permutationsmatrix P, sowie eine untere Dreiecksmatrix L R
nn
und eine
obere Dreiecksmatrix U R
nn
gibt, so da
jj
= u
jj
= 1, d
jj
,= 0, j = 1, . . . , n, und
PA = LDU. (5.1)
Beweis: Nach Satz (4.32) gibt es P, L, U
t
so da PA = LU
t
und u
t
jj
,= 0, j = 1, . . . , n. Dann
setzen wir
D := diag [u
jj
: j = 1, . . . , n] und U = D
1
U
t
,
was (5.1) liefert.
5.1 CholeskyZerlegung
Die CholeskyZerlegung besch aftigt sich mit symmetrischen, (strikt) positiv deniten Matrizen.
Denition 5.2 Eine Matrix A R
nn
heit symmetrisch, wenn A
T
= A und (strikt) positiv
denit, wenn
x
T
Ax > 0, x R
n
0.
Ist lediglich x
T
Ax 0, dann nennt man A positiv semidenit.
Bemerkung 5.3 Die Terminologie zu positiver Denitheit ist gef ahrlich mehrdeutig! Zwei Punk-
te sind hier besonders zu beachten:
1. Man kann entweder wie in Denition 5.2 zwischen positiv denit und positiv semide-
nit unterscheiden
36
, oder aber die Begriffe strikt positiv denit und positiv denit
verwenden
37
. Deswegen empelt es sich immer, genau zu pr ufen, wie die Begriffe verwen-
det werden.
36
Was meistens in der deutschsprachigen Literatur geschieht.
37
Wie in der englischsprachigen Literatur. Richtig verwirrend wird es dann, wenn Deutsche in Englisch schrei-
ben und ihre gewohnte Begriffswelt beibehalten.
78 5 SPEZIELLE LINEARE GLEICHUNGSSYSTEME
2. Oftmals beinhaltet die Denition von positiv denit auch bereits, da die Matrix sym-
metrisch ist. Der Grund ist, da f ur A C
nn
die Bedingung
x
T
Ax 0, x C
n
insbesondere bedeutet, da x
T
Ax eine reelle Zahl ist, und das ist wiederum nur dann der
Fall, wenn A eine hermitesche Matrix ist, also A
H
= A ist. Und f ur reelles A heit das
nat urlich Symmetrie!
Satz 5.4 Ist A R
nn
symmetrisch und positiv denit, dann gibt es eine untere Dreiecksmatrix
G R
nn
, so da
A = GG
T
. (5.2)
Beweis: Zuerst bemerken wir, da A genau dann positiv denit ist, wenn alle Hauptminoren
A
m
, m = 1, . . . , n positiv denit sind. G abe es n amlich ein 1 m n und ein y R
m
so da
0 y
T
A
m
y =
_
y
T
0

A
_
y
0
_
,
dann w are dies ein Widerspruch zur positiven Denitheit von A. Insbesondere sind alle Haupt-
minoren von A invertierbar und damit gibt es, nach Satz 5.1, Dreiecksmatrizen L, U mit Diago-
nale 1 und eine Diagonalmatrix D, so da
LDU = A = A
T
= U
T
DL
T
und wegen der Eindeutigkeit der LDUZerlegung ist U = L
T
. Also ist
A = LDL
T
und L, D haben vollen Rang n. F ur j = 1, . . . , n ist auerdem
0 <
_
L
T
e
j
_
T
A
_
L
T
e
j
_
= e
T
j
L
1
LDL
T
L
T
e
j
= e
T
j
De
j
= d
jj
.
Damit ist
D = EE
T
, E = diag
_
_
d
jj
: j = 1, . . . , n
_
,
und G := LE liefert die gew unschte Zerlegung (5.2).
Umdie CholeskyZerlegung A = GG
T
zu bestimmen, gehen wir genau wie beimDoolittle
Verfahren vor und nutzen die Symmetrie von A und die Beziehung
a
jk
=
j

r=1
g
jr
g
kr
, 1 j k n, (5.3)
aus. Das liefert uns, da
g
jj
=

_
a
jj

j1

r=1
g
2
jr
, j = 1, . . . , n, (5.4)
g
kj
=
_
a
kj

j1

r=1
g
jr
g
kr
_
/g
jj
, 1 j < k n. (5.5)
5.1 CholeskyZerlegung 79
%% Cholesky.m (Numerik I)
%% --------------------------------------------------------
%% Berechnet Cholesky-Zerlegung
%% Eingabe:
%% A Matrix
function G = Cholesky( A )
n = length(A);
G = zeros( n );
for j = 1:n
g = A( j,j ) - G( j,1:j-1 ).2;
G( j,j ) = sqrt( g );
for k = j+1:n
g = A( k,j ) - G( j,1:j-1 ) * G( k,1:j-1 );
G( k,j ) = g / G( j,j );
end
end
%endfunction
Programm 5.1 Cholesky.m: Das CholeskyVerfahren nach (5.4) und (5.5).
80 5 SPEZIELLE LINEARE GLEICHUNGSSYSTEME
5.2 Bandierte Systeme
Aus Denition 4.43 wissen wir, da eine Matrix A R
nn
als (p, q)bandiert bezeichnet wird,
wenn
a
jk
= 0, j > k + p, k > j + q. (5.6)
Der Speicheraufwand f ur eine (p, q)bandierte Matrix ist nur O((p + q + 1)n)
38
, das heit, f ur
p +q n kann man solche Matrizen sehr okonomisch speichern. Und diese

Okonomie w urde
man gerne auf die LUZerlegung ubertragen.
Satz 5.5 Besitzt die (p, q)bandierte Matrix A R
nn
eine LUZerlegung A = LU, dann ist
L eine (p, 0)bandierte Matrix und U eine (0, q)bandierte Matrix.
Bemerkung 5.6 (LUZerlegung f ur bandierte Matrizen)
1. Es ist (leider) klar, da eine Zerlegung wie in Satz 5.5 nicht mehr existiert, wenn man
Zeilen und/oder Spaltenvertauschungen durchf uhren mu, da dies normalerweise die
Bandstruktur der Matrix zerst oren wird.
2. Besonders gut geeignet f ur so eine Zerlegung sind Matrizen, die offensichtlich eine LU
Zerlegung besitzen, z.B. strikt (Spalten) diagonaldominante Matrizen.
Beweis von Satz 5.5: Induktion uber n; n = 1 ist klar. Sei also A R
n+1n+1
eine (p, q)
Bandmatrix, geschrieben als
A =
_
a w
T
v B
_
, a ,= 0, v, w R
n
, B R
nn
,
wobei v
p+1
= = v
n
= 0, w
q+1
= = w
n
= 0, und B eine (p, q)bandierte Matrix ist.
Nach einem Schritt GauElimination ist dann
A =
_
1 0
v
a
I
n
_ _
a w
T
0 B
vw
T
a
_
.
Da
vw
T
=
_

_
v
1
w
1
v
1
w
q
.
.
.
.
.
.
.
.
.
v
p
w
1
v
p
w
q
0
_

_
ebenfalls (p, q)bandiert ist, besitzt die (p, q)bandierte Matrix B vw
T
/a eine (p, 0)- bzw.
(0, q)bandierte LUZerlegung
B
vw
T
a
=

L

U,
38
F ur Erbsenz ahler: Es sind n
2

(np)(np1)
2

(nq)(nq1)
2
Eintr age
5.3 Total positive Systeme 81
%% BGauss.m (Numerik I)
%% --------------------------------------------------------
%% Gauss-Elimination fuer bandierte Matrizen
%% (ohne Pivot, aber mit Matlab-Features)
%% Eingabe:
%% A Matrix
%% p,q Bandbreite
function LU = BGauss( A,p,q )
n = length( A );
for m = 1:n
for j = m+1:min( n,m+p )
A( j,m ) = A( j,m ) / A( m,m );
r = min( n,m+q );
A( j,m+1:r ) = A( j,m+1:r ) - A( j,m ) * A( m,m+1:r );
end
end
LU = A;
%endfunction
Programm 5.2 BGauss.m: GauElimination f ur bandierte Systeme mit Aufwand O
_
n
2
_
solange p, q n.
und daher ist
A =
_
1 0
v

L
_
. .
=:L
_
a w
T
0

U
_
. .
=:U
,
wobei L eine (p, 0)bandierte Matrix und U eine (0, q)bandierte Matrix ist.
Eine bandierte Version der GauElimination ndent sich in BGauss.m.
5.3 Total positive Systeme
Total positive Matrizen verhalten sich, was die GauElimination angeht, besonders brav und
tauchen noch dazu in wichtigen Anwendungen auf. Das Standardwerk zu diesem Thema ist mit
Sicherheit das Buch von Karlin [26].
Denition 5.7 F ur A R
nn
und I, J 1, . . . , n mit #I = #J (= k ) bezeichnet
A(I, J) = A
_
i
1
, . . . , i
k
j
1
, . . . , j
k
_
=
_

_
a
i
1
,j
1
. . . a
i
1
,j
k
.
.
.
.
.
.
.
.
.
a
i
k
,j
1
. . . a
i
k
,j
k
_

_
82 5 SPEZIELLE LINEARE GLEICHUNGSSYSTEME
die durch I, J indizierte quadratische Teilmatrix.
Auerdem verwenden wir die Abk urzung N = 1, . . . , n, also
A = A(N, N) .
Denition 5.8 Eine Matrix A R
nn
heit total positiv, wenn
det A(I, J) > 0, I, J 1, . . . , n, #I = #J, (5.7)
und total nichtnegativ, wenn
det A(I, J) 0, I, J 1, . . . , n, #I = #J, (5.8)
Bemerkung 5.9 Ist eine Matrix A total nichtnegativ, dann ist
a
jk
0, j, k = 1, . . . , n.
Beispiel 5.10 Die PascalMatrizen
P
n
:=
__
j + k 2
j 1
_
: j, k = 1, . . . , n
_
sind symmetrisch und total positiv. Sie sind auerdem exponentiell schlecht konditioniert:

2
(P
n
)
16
n
n
.
Die Bedeutung total nichtnegativer Matrizen f ur Eliminationsverfahren ergibt sich aus dem
n achsten Satz.
Satz 5.11 Ist A R
nn
eine invertierbare und total nichtnegative Matrix, dann gibt es eine
untere Dreiecksmatrix L R
nn
und eine obere Dreiecksmatrix U R
nn
, so da
A = LU und L 0, U 0. (5.9)
Bemerkung 5.12 Kombiniert man Satz 5.5 mit Satz 5.11, so sind total nichtnegative, stark
bandierte (d.h., p+q n) Matrizen besonders effektiv und stabil mit GauElimination l osbar.
Und solche Matrizen treten in der Praxis tats achlich auf, n amlich bei der Splineinterpolation,
siehe Satz 8.6.
Lemma 5.13 Ist A R
nn
total nichtnegativ und invertierbar, dann ist a
11
> 0.
Beweis: Angenommen, es w are a
11
= 0 und a
1k
> 0 f ur ein k > 1. Da A total nichtnegativ ist,
ist f ur jedes m > 1
0 det A(1, m, 1, k) =

a
11
a
1k
a
m1
a
mk

= a
1k
a
m1
a
m1
= 0.
Das heit, wenn a
11
= 0 ist, dann ist entweder a
1k
= 0, k = 1, . . . , n, oder a
k1
= 0, k =
1, . . . , n, oder sogar beides, aber auf alle F alle ist dann A nicht invertierbar.
5.3 Total positive Systeme 83
Lemma 5.14 Sei A R
nn
total nichtnegativ und invertierbar. Dann ist die Matrix

A, die man
nach einem GauEliminationsschritt als
A A
(1)
:=
_
a
11
v
T
0

A
_
,

A = [ a
jk
: j, k = 2, . . . , n] R
n1n1
.
erh alt, auch total nichtnegativ und invertierbar.
Beweis: F ur beliebige I, J 2, . . . , n betrachten wir
det

A(I, J) =
1
a
11
det A
(1)
(I 1, J 1) . (5.10)
Mit
A =
_

_
a
T
1
.
.
.
a
T
n
_

_
und
j
=
a
j1
a
11
, j = 2, . . . , n,
ist
A
(1)
=
_

_
a
T
1
a
T
2

2
a
T
1
.
.
.
a
T
n

n
a
T
1
_

_
und damit
A
(1)
(I 1, J 1) =
_

_
a
T
1
(J 1)
a
T
i
1
(J 1)
i
1
a
T
1
(J 1)
.
.
.
a
T
i
k
(J 1)
i
k
a
T
1
(J 1)
_

_
. (5.11)
Da die Determinante invariant unter Addition von Vielfachen von Zeilen ist, haben wir also,
da
det A
(1)
(I 1, J 1) =

a
T
1
(J 1)
a
T
i
1
(J 1)
.
.
.
a
T
i
k
(J 1)

= det A(I 1, J 1) ,
und setzen wir dies in (5.10) ein, dann erhalten wir, da
det

A(I, J) =
1
a
11
det A(I 1, J 1) , I, J 2, . . . , n, #I = #J. (5.12)
Damit ist

A total nichtnegativ und auerdem ist
det

A =
1
a
11
det A > 0
84 5 SPEZIELLE LINEARE GLEICHUNGSSYSTEME
und damit ist

A auch invertierbar.
Beweis von Satz 5.11: Induktion uber n, der Fall n = 1 ist trivial. F ur beliebiges n > 1 machen
wir wieder einen Schritt GauElimination, erhalten
A
(1)
=
_
a
11
A(1, 2, . . . , n)
0

A
_
,
wenden die Induktionshypothese auf

A an (das geht nach Lemma 5.14) und erhalten

L 0 und

U 0 so da

A =

L

U. Dann ist aber


A =
_
1 0
a
1
11
A(2, . . . , n, 1)

L
_
. .
=:L
_
a
11
A(1, 2, . . . , n)
0

U
_
. .
=:U
,
und es ist L, U 0.
Korollar 5.15 Die LUZerlegung aus (5.9) erh alt man durch GauElimination ohne Pivot-
suche (oder durch Doolittle).
Da nun

[L[ [U[ +
_

L L

U U

_
=
_
1 + O
_
u
2
__
[A[ ,
ist auch _
_
_

_
_
_

=
_
1 + O
_
u
2
__
|A|

und wie erhalten die folgende, sehr gute Fehleraussage.


Korollar 5.16 Es sei A R
nn
total nichtnegativ, invertierbar und erf ulle

(A) u
1
.
Dann gilt f ur die mit GauElimination ohne Pivotsuche berechnete L osung x zu Ax = b die
Absch atzung
| x x|

|x|

8n u
1 u

(A)

(A). (5.13)
Anstelle von Satz 5.11 gilt sogar die folgende, sch arfere Aussage.
Satz 5.17 Eine Matrix A R
nn
ist genau dann invertierbar und total nichtnegativ, wenn es
total nichtnegative Dreiecksmatrizen L, U R
nn
,
jj
= 1, u
jj
,= 0, j = 1, . . . , n, gibt, so da
A = LU.
85
Nur eine Weile mu vergehn;
Dann ist auch dieses uberstanden.
Dann wird mit hell euch zugewandten
Augen das Neue vor euch stehn.
Joachim Ringelnatz,

Uber eine Weile


6 Iterative Verfahren f ur lineare Gleichungssysteme
Wir betrachten wieder eine invertierbare Matrix A R
nn
und ein Gleichungssystem
Ax = b.
Ein iteratives Verfahren besteht aus einer Berechnungsvorschrift
x
(j+1)
= F
_
x
(j)
_
mit der Hoffnung, da x
(j)
x f ur j . Im Gegensatz zu den direkten Verfahren berechnen
wir also keine exakte L osung
39
mehr, sondern versuchen, uns n aher und n aher an die L osung
heranzutasten.
Ist x die L osung von Ax = b, so gilt f ur beliebiges invertierbares B R
nn
b = Ax = Bx + (A B) x = x = B
1
b +
_
I B
1
A
_
x,
also ist x ein Fixpunkt von
F(x) = B
1
b +
_
I B
1
A
_
x. (6.1)
Damit haben wir das Problem L osen eines linearen Gleichungssystems also in ein Problem
der Form Bestimme den Fixpunkt einer Funktion umgewandelt. Das hat dann auch einen ganz
unmittelbaren Vorteil: Wenn ein Iterationswert x
(j)
eine exakte L osung des Problems, also ein
Fixpunkt ist, dann wird die Funktion F diesen in sich selbst abbilden das L osunsgverfahren
verwirft einmal gefundene L osungen nicht wieder.
Die Fixpunktsuche kann aber eine recht einfache und automatische Sache sein, wenn F eine
bestimmte Eigenschaft hat.
Denition 6.1 Eine Abbildung F : R
n
R
n
heit Kontraktion bez uglich einer Norm | |,
wenn es eine Konstante < 1 gibt, so da
|F(x) F(y)| |x y| , x, y R
n
. (6.2)
39
Bei exakter Rechnung (z.B. in Computeralgebrasystemen) w urden die direkten Verfahren ja nach endlich
vielen Schritten eine exakte L osung liefern.
86 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
Satz 6.2 (Banachscher Fixpunktsatz f ur den R
n
)
Ist F : R
n
R
n
eine Kontraktion bez uglich einer Norm | |, dann hat F genau einen Fixpunkt
x

und f ur jedes x
(0)
konvergiert die Folge
x
(j+1)
= F
_
x
(j)
_
, j N
0
, (6.3)
gegen x

.
Beweis: Beginnen wir mit der Eindeutigkeit: w aren x

, y

zwei verschiedene Fixpunkte, also


|x

| > 0, dann w are


1 =
|x

|
|x

|
=
|F (x

) F (y

)|
|x

|

|x

|
|x

|
= ,
ein Widerspruch zu < 1.
Jetzt zur Existenz. F ur j 1 ist
_
_
x
(j+1)
x
(j)
_
_
=
_
_
F
_
x
(j)
_
F
_
x
(j1)
__
_

_
_
x
(j)
x
(j1)
_
_

j
_
_
x
(1)
x
(0)
_
_
und daher, f ur N > 0,
_
_
x
(j+N)
x
(j)
_
_

N

k=1
_
_
x
(j+k)
x
(j+k1)
_
_

N1

k=0

j+k
_
_
x
(1)
x
(0)
_
_

_
_
x
(1)
x
(0)
_
_

k=0

k
=

j
1
_
_
x
(1)
x
(0)
_
_
.
Also ist x
(j)
, j N
0
, eine Cauchyfolge und konvergiert somit gegen einen Grenzwert x

, f ur
den f ur beliebiges j N
0
die Ungleichung
|F (x

) x

|
_
_
F (x

) F
_
x
(j)
__
_
+
_
_
x

x
(j+1)
_
_

_
_
x

x
(j)
_
_
+
_
_
x

x
(j+1)
_
_
,
gilt und da die rechte Seite f ur j gegen 0 konvergiert, ist F (x

) = x

.
Jetzt aber zur uck zu (6.1). Das daraus entstehende L osungsverfahren wird also die Iteration
x
(j+1)
= B
1
b +
_
I B
1
A
_
x
(j)
(6.4)
verwenden. Die dabei verwendete Funktion F ist offensichtlich genau dann eine Kontraktion,
wenn die Iterationsmatrix (I B
1
A) eine Kontraktion liefert. Die Ziele dieses Kapitels sind
also:
Bestimmung von guten Matrizen B (einfach zu invertieren und einfach aus A zu ge-
winnen).
Beschreibung, wann (I B
1
A) eine Kontraktion ist.
Bestimmung von Matrizen A (und passendem B), so da (6.4) konvergiert.
6.1 Der Spektralradius und ein allgemeines Konvergenzkriterium 87
Bemerkung 6.3 Wenn die Iteration (6.4) gegen x

konvergiert, dann ist


x

= B
1
b +
_
I B
1
A
_
x

.
Dies gilt sogar f ur jede lineare Iteration der Form
x
(j+1)
= F
_
x
(j)
_
= Gx
(j)
+ g
mit G R
nn
und g R
n
. Schlielich ist ja f ur jedes j N
|x

F (x

)|
_
_
x

x
(j+1)
_
_
+
_
_
F (x

) x
(j+1)
_
_
=
_
_
x

x
(j+1)
_
_
+
_
_
F
_
x

x
(j)
__
_

_
_
x

x
(j+1)
_
_
+|G|
_
_
x

x
(j)
_
_
und da die rechte Seite f ur j gegen Null konvergiert w ahrend die linke Seite von j un-
abh angig ist, mu x

= F (x

) sein.
6.1 Der Spektralradius und ein allgemeines Konvergenzkriterium
Der entscheidende Begriff f ur iterative Verfahren ist der des Spektralradius.
Denition 6.4 Das Spektrum S(A) einer Matrix A R
nn
ist die Menge
S(A) = C : ker
C
n (A I) ,= 0
ihrer Eigenwerte. Der Spektralradius (A) ist deniert als
(A) = max
S(A)
[[ .
Proposition 6.5 Es bezeichne | | eine beliebige Vektornorm auf dem R
n
sowie die zugeh orige
Operatornorm. Der Spektralradius (A) bestimmt sich als
(A) = limsup
j
_
_
A
j
_
_
1/j
(6.5)
und erf ullt somit (A) |A|.
Beweis: Wir erweitern das Problem auf C
n
, es sei also jetzt | | eine Fortsetzung der Vektor-
norm auf C
n40
.
Sei S(A) und x C
n
ein dazugeh origer Eigenvektor mit |x| = 1. Dann ist
_
_
A
j
_
_

_
_
A
j
x
_
_
= [[
j
|x| = [[
j
und damit ist
limsup
j
_
_
A
j
_
_
1/j
(A).
40
Die pNormen lassen sich beispielsweise ohne

Anderung auf C
n
ubertragen, nur spielt der Betrag jetzt eine
etwas wesentlichere Rolle.
88 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
F ur die Umkehrung gibt es eine invertierbare Matrix S C
nn
, die Ain ihre JordanNormalform
S
1
AS =: J =
_

1

.
.
.
.
.
.

n1

n
_

_
, [
1
[ [
n
[ , 0, 1.
uberf uhrt. F ur jedes > 0 sei auerdem
D

=
_

_
1

.
.
.

n1
_

_
,
dann ist
D

JD
1

=
_

1

.
.
.
.
.
.

n1

n
_

_
, 0,
und daher
_
_
D

JD
1

_
_
= [
n
[ + f(), f C(R), f(0) = 0.
Somit ist, f ur festes > 0,
_
_
A
j
_
_
|S|
_
_
_
_
S
1
AS
_
j
_
_
_
_
_
S
1
_
_
= (S)
_
_
J
j
_
_
(S) (D

)
_
_
_
_
D

JD
1

_
j
_
_
_
(S) (D

)
_
_
D

JD
1

_
_
j
= (S) (D

) ([
n
[ + f())
j
,
also ist
limsup
j
_
_
A
j
_
_
1/j
limsup
j
((S) (D

))
1/j
. .
=1
([
n
[ + f()) ,
und damit
limsup
j
_
_
A
j
_
_
1/j
max
S(A)
[[ + f(),
was mit 0 den Beweis vervollst andigt.
Bemerkung 6.6 (Spektralradius)
1. Es ist schon wichtig, komplexe Eigenwerte mitzuber ucksichtigen: die Matrix
A =
_
0 1
1 0
_
hat die (konjugiert) komplexen Eigenwerte i, ihr reelles Spektrum ist hingegen leer.
Trotzdem ist (A) = 1, was man auch aus (6.5) erh alt, da A
2
= I ist.
6.1 Der Spektralradius und ein allgemeines Konvergenzkriterium 89
2. Der Vorteil von (6.5) besteht darin, da wir hiermit den Spektralradius einer Matrix mit
reellen Mitteln bestimmen k onnen.
3. Auerdem ist (6.5) von der gew ahlten Norm unabh angig. Dies kann man auch ganz ein-
fach direkt einsehen, indem man sich daran erinnert, da auf dem R
n
alle Normen aqui-
valent sind.
Nun aber zum angek undigten Konvergenzkriterium.
Satz 6.7 Das Iterationsverfahren (6.4) konvergiert genau dann f ur jeden Startvektor x
(0)
C
n
,
wenn

_
I B
1
A
_
< 1. (6.6)
Beweis: Ist (6.6) erf ullt, dann gibt es einen Index m > 0, so da
_
_
(I B
1
A)
m
_
_
< 1, das
heit, die Abbildung
F(x) :=
_
I B
1
A
_
m
x
ist eine Kontraktion und konvergiert, nach Satz 6.2 gegen einen eindeutigen Fixpunkt x

, d.h.,
f ur j = 0, . . . , m1 gilt
F
k
_
x
(j)
_
= x
(j+km)
x

,
also konvergiert auch die ganze Folge.
Nehmen wir umgekehrt an, da das Iterationsverfahren (6.4) gegen x

C
n
konvergiert und
sei y C
n
ein Eigenvektor von (I B
1
A) zum betragsgr oten Eigenwert . Setzen wir
x
(0)
= x

+ y, dann ist
x
(1)
x

=
_
I B
1
A
_
x
(0)
+ B
1
b
_
I B
1
A
_
x

B
1
b =
_
I B
1
A
_
y = y,
sowie allgemein
x
(j)
x

=
j
y,
und Konvergenz liefert [[ < 1.
F ur unsere Zwecke ist die folgende reelle Aussage hin und ausreichend.
Korollar 6.8 Das Iterationsverfahren (6.4) konvergiert f ur jeden Startvektor x
(0)
R
n
wenn
1. (I B
1
A) < 1.
2. |I B
1
A| < 1 f ur eine Operatornorm | |.
Man kann sogar Aussagen uber die Konvergenzgeschwindigkeit machen und es d urfte nicht
uberraschend sein, da die Konvergenz umso schneller ist, je kleiner der Spektralradius ist.
Satz 6.9 Die Matrix A R
nn
erf ulle (I B
1
A) < 1 und es sei x die L osung von Ax = b.
Dann gilt, f ur jeden Startvektor x
(0)
,
limsup
j
_
_
_
x
(j)
x
_
_
|x
(0)
x|
_
1/j

_
I B
1
A
_
. (6.7)
90 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
Beweis: Nach Proposition 6.5 gibt es f ur alle (0, 1 (I B
1
A)) einen Index j
0
N
und eine Konstante C > 0, so da
_
_
_
_
I B
1
A
_
j
_
_
_ C
_
+
_
I B
1
A
__
j
< 1, j > j
0
,
und somit ist
_
_
x
(j)
x
_
_
=
_
_
_
_
I B
1
A
_
j
_
x
(0)
x
_
_
_
_
_
_
_
_
I B
1
A
_
j
_
_
_
_
_
x
(0)
x
_
_
C
_
+
_
I B
1
A
__
j
_
_
x
(0)
x
_
_
, j > j
0
,
also
limsup
j
_
_
_
x
(j)
x
_
_
|x
(0)
x|
_
1/j
+
_
I B
1
A
_
und da beliebig war, folgt (6.7)
6.2 GauSeidelIteration und JacobiIteration
Erinnern wir uns an unsere Anforderungen an die Matrix B f ur die implizite Iteration
Bx
(j+1)
= b (A B)x
(j)
.
Der einfachste Fall ist sicherlich
B = diag [a
jj
: j = 1, . . . , n] ,
vorausgesetzt nat urlich, da a
jj
,= 0, j = 1, . . . , n. Und das ist auch bereits das Jacobi
Verfahren, in der deutschsprachigen Literatur auch gerne als Gesamtschrittverfahren bezeich-
net:
_

_
a
11
.
.
.
a
nn
_

_
x
(j+1)
= b
_

_
0 a
12
. . . a
1n
a
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. a
n1,n
a
n1
. . . a
n,n1
0
_

_
x
(j)
(6.8)
beziehungsweise
x
(j+1)
k
=
_
b
k

r,=k
a
kr
x
(j)
r
_
/a
kk
, k = 1, . . . , n. (6.9)
Bei der GauSeidelIteration, dem Einzelschrittverfahren, setzt man
B =
_

_
a
11
0
.
.
.
.
.
.
a
n1
. . . a
nn
_

_
,
6.2 GauSeidelIteration und JacobiIteration 91
also
_

_
a
11
0
.
.
.
.
.
.
a
n1
. . . a
nn
_

_
x
(j+1)
= b
_

_
0 a
12
. . . a
1n
.
.
.
.
.
.
.
.
.
.
.
. a
n1,n
0
_

_
x
(j)
, (6.10)
beziehungsweise
x
(j+1)
k
=
_
b
k

k1

r=1
a
kr
x
(j+1)
r

n

r=k+1
a
kr
x
(j)
r
_
/a
kk
, k = 1, . . . , n. (6.11)
Es gibt noch eine andere Interpretation von (6.11), n amlich da bei der Bestimmung von x
(j+1)
k
noch die alten Komponenten x
(j)
k+1
, . . . , x
(j)
n
, aber schon die neuen Komponenten x
(j+1)
1
, . . . , x
(j+1)
k1
verwendet werden, die man ja gerade eben berechnet hat. Man verwendet also alte Werte nur
noch dort, wo noch keine aktualisierten Werte vorhanden sind.
Was ist nun der Vorteil von solchen iterativen Verfahren?
1. Der Rechenaufwand je Iterationsschritt h angt linear von der Anzahl der Elemente a
jk
,= 0
ab. Damit sind solche Verfahren gut geeignet f ur groe, d unnbesetzte Matrizen.
2. Wenn die Matrix gutartig ist (also das Iterationsverfahren schnell konvergiert), kann
der Rechenaufwand weit besser als O(n
3
) sein: jeder Iterationsschritt hat ja nur O(n
2
)
Operationen durchzuf uhren.
3. Das JacobiVerfahren ist noch dazu sehr gut parallelisierbar: Die Berechnungen der ein-
zelnen Eintr age von x
(j+1)
sind (nahezu) unabh angig voneinander, nur der Vektor x
(j)
mu gespiegelt werden. F ur das GauSeidelVerfahren hingegen ist das Parallelisie-
rungspotential sehr eingeschr ankt.
Was aber helfen uns diese sch onen Verfahren, wenn wir nicht wissen, ob und wann sie
funktionieren. Nat urlich kann man immer die Spektralradien testen, aber das ist nicht so einfach.
Satz 6.10 Ist A R
nn
symmetrisch und positiv denit, dann konvergiert das GauSeidel
Verfahren.
Beweis: Wir schreiben
A = L + D
. .
=B
+ L
T
..
=AB
,
wobei L eine strikte untere Dreiecksmatrix ist, das heit,
jj
= 0, j = 1, . . . , n. Wir m ussen
nun also zeigen, da
(G) :=
_
B
1
(B A)
_
=
_
(L + D)
1
L
T
_
< 1. (6.12)
92 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
%% JacobiIt.m (Numerik 1)
%% --------------------------------------------------------
%% Jacobi-Iterationsschritt
%% Eingabe:
%% A Matrix
%% x Naeherung fuer Loesung
%% b rechte Seite
function y = JacobiIt( A,x,b )
n = length( A );
y = zeros( n,1 );
for j = 1:n
z = b ( j ) - A( j,1:j-1 ) * x( 1:j-1 ) - A( j,j+1:n ) * x( j+1:n );
y( j ) = z / A( j,j );
end
%endfunction
Programm 6.1 JacobiIt.m: Eine JacobiIteration nach (6.9).
Wegen der positiven Denitheit von A ist d
jj
= a
jj
> 0, j = 1, . . . , n
41
, und damit ist die
Matrix G
1
, deniert durch
G
1
:= D
1/2
GD
1/2
= D
1/2
(L + D)
1
L
T
D
1/2
= D
1/2
(L + D)
1
D
1/2
D
1/2
L
T
D
1/2
=
_
D
1/2
(L + D) D
1/2
_
1
(D
1/2
LD
1/2
. .
=:L
1
)
T
= (I + L
1
)
1
L
T
1
wohldeniert und ahnlich zu G und hat deswegen auch dieselben Eigenwerte wie G
42
. Sei nun
x C
n
, x
H
x = 1
43
, ein Eigenvektor von G
1
zum Eigenwert , dann heit dies, da
L
T
1
x = (I + L
1
) x
und somit
x
H
L
T
1
x
. .
=(L
1
x)
H
x=(x
H
L
1
x)
H
=x
H
L
1
x
=
_
1 + x
H
L
1
x
_
.
Schreiben wir x
H
L
1
x = + i, dann ist
[[
2
=

+ i
1 + + i

=

2
+
2
1 + 2 +
2
+
2
. (6.13)
41
Sonst w are e
T
j
Ae
j
0 f ur ein j.
42
Ist y ein Eigenvektor von G zum Eigenwert , dann ist D
1/2
y ein Eigenvektor von G
1
zum Eigenwert und
umgekehrt.
43
x
H
= [x
j
: j = 1, . . . , n]
T
6.2 GauSeidelIteration und JacobiIteration 93
%% Jacobi.m (Numerik 1)
%% --------------------------------------------------------
%% Jacobi-Verfahren
%% Eingabe:
%% A Matrix
%% b rechte Seite
%% tol Genauigkeit
function x = Jacobi( A,b,tol )
n = length( A );
x = zeros( n,1 );
nrm = norm( A*x - b );
while ( nrm > tol )
disp( nrm );
x = JacobiIt( A,x,b );
nrm = norm( A*x - b );
end
%endfunction
Programm 6.2 Jacobi.m: Das JacobiVerfahren.
94 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
%% GaussSeidelIt.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Seidel-Iterationsschritt mit Ueberschreiben von x
%% Eingabe:
%% A Matrix
%% b rechte Seite
%% x Naeherung fuer Loesung
function y = GaussSeidelIt( A,x,b )
n = length( A );
for j = 1:n
z = b ( j ) - A( j,1:j-1 ) * x( 1:j-1 ) - A( j,j+1:n ) * x( j+1:n );
x( j ) = z / A( j,j ); %% x statt y !!!
end
y = x;
%endfunction
Programm 6.3 GaussSeidelIt.m: Eine GauSeidelIteration nach (6.11).
%% GaussSeidel.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Seidel-Verfahren
%% Eingabe:
%% A Matrix
%% b rechte Seite
%% tol Genauigkeit
function x = GaussSeidel( A,b,tol )
n = length( A );
x = zeros( n,1 );
nrm = norm( A*x - b );
while ( nrm > tol )
disp( nrm );
x = GaussSeidelIt( A,x,b );
nrm = norm( A*x - b );
end
%endfunction
Programm 6.4 GaussSeidel.m: Das GauSeidelVerfahren.
6.2 GauSeidelIteration und JacobiIteration 95
Auf der anderen Seite ist A und damit auch D
1/2
AD
1/2
= I + L
1
+ L
T
1
symmetrisch und
positiv denit
44
, also
0 < x
H
_
I + L
1
+ L
T
1
_
x = 1 + x
H
L
1
x
. .
=+i
+x
H
L
T
1
x
. .
=i
= 1 + 2,
was, in (6.13) eingesetzt, [[ < 1 liefert.
Satz 6.11 (Diagonaldominanz und Konvergenz)
Ist A R
nn
zeilenweise strikt diagonaldominant, so konvergieren das Jacobi- und das Gau
SeidelVerfahren.
Beweis: F ur die Zerlegung aus dem JacobiVerfahren (B = diag A), ist
_
_
I B
1
A
_
_

= max
j=1,...,n
1
[a
jj
[

k,=j
[a
jk
[
und im Falle strikt diagonaldominanter Matrizen ist somit

_
I B
1
A
_

_
_
I B
1
A
_
_

< 1.
F ur GauSeidel m ussen wir uns ein bichen mehr anstrengen. Hierzu schreiben wir
A = L + D + U,
jj
= u
jj
= 0,
und setzen L
1
= D
1
L, U
1
= D
1
U. Die zu betrachtende Matrix ist
I B
1
A = I (L + D)
1
(L + D + U) = I (DL
1
+ D)
1
(L + D + U)
= I (I L
1
)
1
D
1
(L + D + U) = I (I L
1
)
1
(I L
1
U
1
)
= I I + (I L
1
)
1
U
1
= (I L
1
)
1
U
1
=: H,
auerdem schreiben wir J := L
1
+ U
1
= I D
1
A. Da |1
n
|

= 1, ist (wg. der strikten


Zeilendiagonaldominanz)
[J[ 1
n
|J|

1
n
< 1
n
und da [J[ = [L
1
[ +[U
1
[, ist
[U
1
[ 1
n
= ([J[ [L
1
[) 1
n
(|J|

I [L
1
[) 1
n
. (6.14)
L
1
und [L
1
[ sind strikte untere Dreiecksmatrizen und damit nilpotent, das heit,
L
n
1
= [L
1
[
n
= 0 =
_
(I L
1
)
1
= I + L
1
+ + L
n1
1
(I [L
1
[)
1
= I +[L
1
[ + +[L
1
[
n1
44
Zur Erinnerung an die Lineare Algebra: Bei einer komplexen Matrix geh ort es zur Denition von positiver
Denitheit, da die Matrix hermitesch ist. Bei rellen Matrizen fordert man es oder eben auch nicht . . .
96 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
und damit ist

(I L
1
)
1

I + L
1
+ + L
n1
1

I +[L
1
[ + +[L
1
[
n1
= (I [L
1
[)
1
. (6.15)
Mit (6.14) und (6.15) ist demnach
[H[ 1
n
=

(I L
1
)
1

[U
1
[ 1
n
(I [L
1
[)
1
(|J|

I [L
1
[) 1
n
= (I [L
1
[)
1
(I [L
1
[ + (|J|

1)I) 1
n
= 1
n
+ (|J|

1)
. .
<0
(I [L
1
[)
1
. .
I
1
n
(I + (|J|

1)I) 1
n
|J|

1
n
< 1
n
.
Also ist [H[ 1
n
< 1
n
, also alle Zeilensummen von [H[ kleiner als 1 und damit ist |H|

< 1,
also auch (H) < 1.
6.3 Relaxationsverfahren
Offensichtlich h angt die Qualit at eines Iterationsverfahrens von der Wahl der Matrix B ab, die ja
auch die Konvergenzgeschwindigkeit, also (I B
1
A) beeinut. Die Relaxationsverfahren
sind Variationen der GauSeidelIteration, bei denen eine Familie B() betrachtet wird, wobei
man > 0 als den Relaxationsparameter bezeichnet. Genauer: man setzt, f ur A = L +D +U
B() =
1

(D + L) ,
also
1

(D + L) x
(j+1)
= b
1

((1 )D + U) x
(j)
, (6.16)
das heit,
x
(j+1)
k
=
_
b
k

k1

r=0
a
kr
x
(j+1)
r

n

r=k+1
a
kr
x
(j)
r
_
/a
kk
+ (1 ) x
(j)
k
, (6.17)
und betrachtet den Spektralradius von H() := I B()
1
A.
Bemerkung 6.12 (Relaxationsverfahren)
1. Ist < 1 spricht man von Unterrelaxation, andernfalls von

Uberrelaxation.
2. F ur = 1 erh alt man das GauSeidelVerfahren.
3. F ur bestimmte Matrizen
45
, f ur die das GauSeidelVerfahren konvergiert, ist die Funk-
tion (H()) monoton fallend auf einem Intervall [1, ], hier bringt also SOR
(Successive OverRelaxation wirklich etwas.
45
Im wesentlichen sollen L, U 0 sein.
6.4 Konjugierte Gradienten 97
%% RelaxIt.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Seidel-Relxation-Iterationsschritt
%% mit Ueberschreiben von x
%% Eingabe:
%% A Matrix
%% x Naeherung fuer Loesung
%% b rechte Seite
%% r Relaxationsparameter
function y = RelaxIt( A,x,b,r )
n = length( A );
for j = 1:n
z = b ( j ) - A( j,1:j-1 ) * x( 1:j-1 ) - A( j,j+1:n ) * x( j+1:n );
x( j ) = r * z / A( j,j ) + (1-r) * x( j );
end
%endfunction
Programm 6.5 RelaxIt.m: Iterationsschritt (6.17) des Relaxationsverfahrens.
4. Man kann zeigen
46
, da
(H()) [ 1[ ,
also macht < 0 und > 2 keinen Sinn.
6.4 Konjugierte Gradienten
Das Verfahren der konjugierten Gradienten ( conjugate gradients ) ist auf symmetrische,
positiv denite Matrizen zugeschnitten. Ist A R
nn
symmetrisch und positiv denit, dann
gibt es nach Satz 5.4 eine invertierbare untere Dreiecksmatrix G R
nn
, so da A = GG
T
und
damit ist auch A
1
= G
T
G
1
symmetrisch und positiv denit. Wir betrachten die Funktion
F : R
n
R, deniert als
F(x) =
1
2
(Ax b)
T
A
1
(Ax b) . (6.18)
Da A
1
positiv denit ist, ist
F(x) 0 und F(x) = 0 Ax = b,
46
Das Resultat geht auf Kahan (wieder mal) zur uck.
98 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
%% Relax.m (Numerik 1)
%% --------------------------------------------------------
%% Gauss-Seidel-Relaxations-Verfahren
%% Eingabe:
%% A Matrix
%% b rechte Seite
%% tol Genauigkeit
%% r Relaxationsparameter
function x = Relax( A,b,tol,r )
n = length( A );
x = zeros( n,1 );
nrm = norm( A*x - b );
while ( nrm > tol )
disp( nrm );
x = GaussSeidelIt( A,x,b,r );
nrm = norm( A*x - b );
end
%endfunction
Programm 6.6 Relax.m: GauSeidelRelaxationsverfahren.
6.4 Konjugierte Gradienten 99
das heit, man ersetzt das L osen eine linearen Gleichungssystems durch das Aufnden des
globalen Minimums einer quadratischen Funktion. Da
F(x) =
1
2
x
T
Ax x
T
b +
1
2
b
T
Ab, x R
n
,
ist das x, das F minimiert genau dasselbe wie das x, das den Ausdruck x
1
2
x
T
Ax x
T
b
minimiert. Aus diesem Grund werden wir den konstanten Term
1
2
b
T
Ab bei F mal mitf uhren
und mal weglassen, je nachdem, was gerade n utzlicher ist. Das Ziel wird es sein, eine Folge
x
(j)
, j N, zu konstruieren, so da
F
_
x
(j+1)
_
< F
_
x
(j)
_
und lim
j
F
_
x
(j)
_
= 0,
und zwar durch L osen eindimensionaler Optimierungsprobleme.
Lemma 6.13 F ur x, y R
n
nimmt die Funktion
f(t) = F (x + ty)
ihr Minimum an der Stelle
t =
y
T
(b Ax)
y
T
Ay
(6.19)
an.
Beweis: Die Funktion
f(t) = F(x) +
t
2
2
y
T
Ay
. .
>0
+t
_
x
T
Ay y
T
b
_
(6.20)
hat genau ein Minimum und
0 = f
t
(t) = t y
T
Ay
_
y
T
b x
T
Ay
_
= t y
T
Ay y
T
(b Ax)
liefert (6.19).
Das liefert uns bereit das allgemeine Iterationsverfahren:
1. Setze r
j
:= b Ax
(j)
(Residuum!)
2. Ist r
j
= 0, dann ist x
(j)
eine L osung von Ax = b, andernfalls w ahle y R
n
0 und
setze
x
(j+1)
= x
(j)
+
r
T
j
y
y
T
Ay
y.
Ist nicht gerade y x
(j)
, dann ist tats achlich F
_
x
(j+1)
_
< F
_
x
(j)
_
. Die erste Idee w are
sicherlich, y als Richtung des steilsten Abstiegs , also
y = DF(x) = Ax + b = r
j
(Gradient!) zu w ahlen, was das Iterationsverfahren SteepDesc.m liefert. Leider kann es
sehr schnell passieren, da dieses Verfahren beliebig langsam, das heit numerisch gar nicht,
konvergiert.
100 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
%% SteepDesc.m (Numerik 1)
%% --------------------------------------------------------
%% Steilster Abstieg, N Iterationen
%% Eingabe:
%% A Matrix (SPD)
%% b rechte Seite
%% N % Iterationen
function x = SteepDesc( A,b,N )
n = length( A );
x = zeros( n,1 );
r = b - A*x;
for j = 1:N
disp( norm( r ) );
x = x + (r * r) / (r * A * r) * r;
r = b - A*x;
end
%endfunction
Programm 6.7 SteepDesc.m: Methode des steilsten Abstiegs.
6.4 Konjugierte Gradienten 101
Lemma 6.14 Es seien
1
. . .
n
die Eigenwerte von A. Dann ist
F
_
x
(j+1)
_

_
1

1

n
_
F
_
x
(j)
_
, j N
0
. (6.21)
Beweis: F ur j N
0
ist
F
_
x
(j+1)
_
= F
_
x
(j)
_
+
1
2
_
r
T
j
r
j
r
T
j
Ar
j
_
2
r
T
j
Ar
j
+
r
T
j
r
j
r
T
j
Ar
j
r
T
j
_
Ax
(j)
b
_
. .
=r
j
= F
_
x
(j)
_

1
2
_
r
T
j
r
j
_
2
r
T
j
Ar
j
= F
_
x
(j)
_

1
2
|r
j
|
4
2
r
T
j
Ar
j
F
_
x
(j)
_

1
2
|r
j
|
4
2

n
|r
j
|
2
2
= F
_
x
(j)
_

1
2
r
T
j
r
j

n
=
1
2
r
T
j
_
A
1

n
I
_
r
j

1
2
r
T
j
_
A
1

n
A
1
_
r
j
=
_
1

1

n
_
F
_
x
(j)
_
.
Der letzte Schritt ist wegen x
T
A
1
x
1
1
x
T
x richtig
47
.

Ubung 6.1 Zeigen Sie: Ist A R


nn
symmetrisch und positiv denit und ist der gr ote
Eigenwert von A, dann ist
x
T
Ax |x|
2
2
, x R
n
.
Dieses Verhalten kann man auch praktisch in Matlab sehen: man startet mit einer zuf alligen
nnMatrix A = rand( n ) und startet die Methode des steilsten Abstiegs mit einer Matrix
der Form
A * A + t eyes( n )
f ur verschiedene Werte von t> 0. Je gr oer t ist, desto besser wird die Methode funktionieren
und konvergieren, f ur t = 0 hingegen kann man normalerweise nicht mehr von Konvergenz
sprechen (die Matrix wird fast singul ar). Warum das so ist und was die geometrische Interpre-
tation ist, sieht man einfach am folgenden Beispiel.
Beispiel 6.15 Wir betrachten
A =
_
1 0
0 10
3
_
und b =
_
1
1
_
.
Die L osung ist nat urlich x = [1, 1000]
T
. F ur Vektoren x = [x
1
, x
2
]
T
mit moderatem x
2
ist dann
r := DF(x) = b Ax =
_
1 x
1
1 10
3
x
2
_

_
1 x
1
1
_
47
Der gr ote Eigenwert von A
1
ist
1
1
.
102 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
und
:=
r
T
r
r
T
Ar

1 + (1 x
1
)
2
(1 x
1
)
2
.
Ist nun x
1
0 oder x
1
2, dann ist 2 und damit ist
x + r
_
x
1
x
2
_
+ 2
_
1 x
1
1
_
=
_
2 x
1
x
2
+ 2
_
Starten wir also mit x
(0)
= 0, so werden die Werte x
(j)
1
anfangs zwischen 0 und 2 pendeln
48
und
die Werte x
(j)
2
2j sein. Kommt dann das Verfahren richtig in Fahrt (also gegen Ende des
Verfahrens), dann wird auch die Konvergenz deutlich schneller.
Geometrisch bedeutet dies, da sich das Verfahren an achgedr uckten Ellipsen entlanghan-
gelt, siehe Abb. 6.1.
Abbildung 6.1: Verfahren des steilsten Abstiegs f ur Beispiel 6.15 (nicht mastabsgetreu).
Beachte: mit dem richtigen Startwert (nicht ganz zuf allig ein Eigenvektor von A) w urde
das Verfahren nach einem Schritt erfolgreich terminieren.
Wir brauchen also etwas anderes. Die Idee der konjugierten Gradienten besteht nun darin,
sukzessive Richtungen v
1
, v
2
, . . . R
n
und Punkte
x
(j)
V
j
:= span v
1
, . . . , v
j
, x
(0)
= 0
zu konstruieren, so da
F
_
x
(j)
_
= min F(v) : v span v
1
, . . . , v
j
(6.22)
und dies auch noch durch L osung von eindimensionalen Optimierungsproblemen wie in Lem-
ma 6.13. Kaum zu glauben, aber das funktioniert tats achlich, wenn nur die Vektoren v
j
, j N,
richtig gew ahlt werden.
Denition 6.16 Sei A R
nn
und V R
n
. Ein Vektor x R
n
heit Akonjugiert zu V , falls
x
T
AV = 0, d.h. x
T
Av = 0, v V.
48
In Wirklichkeit sind sie stets etwas gr oer als 0 und etwas kleiner als 2 und dieses etwas w achst.
6.4 Konjugierte Gradienten 103
Lemma 6.17 Ist v
j+1
Akonjugiert zu V
j
und erf ullt x
(j)
die Bedingung (6.22), dann erf ullt
x
(j+1)
= x
(j)
+
r
T
j
v
j+1
v
T
j+1
Av
j+1
v
j+1
(6.23)
ebenfalls die Bedingung (6.22)
49
.
Beweis: Da
F
_
x
(j)
+ tv
j+1
_
= F
_
x
(j)
_
+
t
2
2
v
T
j+1
Av
j+1
+ t v
T
j+1
Ax
(j)
. .
=0
tv
T
j+1
b, = F
_
x
(j)
_
+ f(t)
ist das Optimierungsproblem in eines auf V
j
und eines bez uglich v
j+1
entkoppelt. Nach (6.22)
minimiert x
(j)
den ersten Teil und f
t
(t) = 0 ergibt den Anteil bez uglich v
j+1
, n amlich
t =
b
T
v
j+1
v
T
j+1
Av
j+1
=
r
T
j
v
j+1
v
T
j+1
Av
j+1
, da
_
Ax
(j)
_
T
v
j+1
= v
T
j+1
Ax
(j)
= 0.

Die so konstruierten x
(j)
, bzw. die davon erzeugten Residuen haben eine sch one Eigen-
schaft: es ist n amlich f ur k j
r
T
j
v
k
=
_
b A
j

=1
b
T
v

v
T

Av

_
T
v
k
= b
T
v
k

=1
b
T
v

v
T

A v

v
T

A v
k
. .
=
k,
= b
T
v
k
b
T
v
k
= 0,
also
r
T
j
V
j
= 0, j N. (6.24)
Auerdem erhalten wir die Rekursionsformel
r
j+1
= b Ax
(j+1)
= b A
_
x
(j)
+
r
T
j
v
j+1
v
T
j+1
Av
j+1
v
j+1
_
= r
j

r
T
j
v
j+1
v
T
j+1
Av
j+1
Av
j+1
, (6.25)
F ur ein funktionierendes Verfahren m ussen wir jetzt also nur noch einen konjugierten
Vektor nden. Das geht aber.
Proposition 6.18 Es seien v
1
, . . . , v
j
Akonjugierte Vektoren, das heit, v
k
Av

= 0, 1 k ,=
j. Dann ist der Vektor
v
j+1
= r
j

v
T
j
Ar
j
v
T
j
Av
j
v
j
(6.26)
Akonjugiert zu V
j
.
49
Nat urlich mit j + 1 anstelle von j.
104 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
Zuerst halten wir fest, da diese Iteration normalerweise kein v
j+1
= 0 erzeugen kann.
Lemma 6.19 In (6.26) ist
v
j+1
V
j
v
j+1
= 0 r
j
= 0.
Beweis: Ist v
j+1
V
j
oder v
j+1
= 0, dann ist, mit (6.24),
0 = r
T
j
v
j+1
= r
T
j
r
j

v
T
j
Ar
j
v
T
j
Av
j
r
T
j
v
j
..
=0
= |r
j
|
2
2
;
die Umkehrungen sind trivial.
Um Proposition 6.18 beweisen zu k onnen, m ussen wir uns erst einmal die Struktur der so
erzeugten R aume V
j
ansehen.
Lemma 6.20 Sind die durch (6.26) erzeugten Vektoren v
1
, . . . , v
j
,= 0, dann erf ullen die R aume
V
j
V
j
= span r
k
: k = 0, . . . , j 1 = span
_
A
k
b : k = 0, . . . , j 1
_
. (6.27)
Beweis: Induktion uber j. F ur j = 1 ist, nach (6.26)
v
1
= r
0
= b,
also ist (6.27) trivialerweise richtig.
Sei also (6.27) f ur ein j 1 bewiesen, dann sagt uns die Rekursionsformel (6.25), da
r
j
= r
j1
..
V
j

b
T
v
j
v
T
j
A v
j
A v
j
. .
A V
j
V
j
+ A V
j
,
also, nach (6.26), auch
v
j+1
V
j
+ A V
j
und nach der Induktionsannahme ist damit
V
j+1

_
A
k
b : k = 0, . . . , j
_
.
Die Gleichheit ergibt sich aus Dimensions uberlegungen, denn nach der Voraussetzung und
Lemma 6.19 sind v
1
, . . . , v
j+1
linear unabh angig.
Beweis von Proposition 6.18: Es ist
v
T
j+1
A v
k
= r
T
j
A v
k

v
T
j
Ar
j
v
T
j
Av
j
v
T
j
A v
k
=
_
0 k = j,
r
T
j
A v
k
k < j,
und nach Lemma 6.20 ist A v
k
V
k+1
V
j
(da k < j) und somit ist, nach (6.24) auch
r
T
j
A v
k
= 0, k = 1, . . . , j 1.

Damit k onnen wir unser Verfahren f ur konjugierte Gradienten zusammensetzen.


6.4 Konjugierte Gradienten 105
%% ConjGrad.m (Numerik I)
%% --------------------------------------------------------
%% Conjugate Gradients
%% Eingabe:
%% A Matrix (SPD)
%% b rechte Seite
%% N % Iterationen
function x = ConjGrad( A,b,N )
n = length( A );
x = zeros( n,1 );
r = b;
v = b;
for j = 1:N
disp( norm( r ) );
x = x + ( r * v ) / ( v * A * v ) * v;
r = b - A*x;
v = r - ( v * A * r ) / ( v * A * v ) * v;
end
%endfunction
Programm 6.8 ConjGrad.m: Die CGMethode ( Conjugate Gradients ), Version 0.
1. Setze x
(0)
= 0, r
0
= b, v
1
= b.
2. F ur j N berechne
x
(j)
:= x
(j1)
+
r
T
j1
v
j
v
T
j
A v
j
v
j
r
j
:= b A x
(j)
v
j+1
:= r
j

v
T
j
Ar
j
v
T
j
A v
j
v
j
Satz 6.21 In exakter Rechnung terminiert das CGVerfahren sp atestens nach n Schritten mit
einer L osung von Ax = b.
Beweis: Jedes v
j
, das in (6.26) ist von V
j1
linear unabh angig oder 0. Da es imR
n
h ochstens n
linear unabh angige Vektoren geben kann, ist also sp atestens v
n+1
= 0, also, nach Lemma 6.19,
war bereits r
n
= 0 und damit x
(n)
eine L osung von Ax = b.
106 6 ITERATIVE VERFAHREN F

UR LINEARE GLEICHUNGSSYSTEME
%% ConjGrad.m (Numerik I)
%% --------------------------------------------------------
%% Conjugate Gradients verwende b (siehe Skript)
%% Eingabe:
%% A Matrix (SPD)
%% b rechte Seite
%% N % Iterationen
function x = ConjGrad1( A,b,N )
n = length( A );
x = zeros( n,1 );
r = b;
v = b;
for j = 1:N
disp( norm( r ) );
x = x + ( b * v ) / ( v * A * v ) * v;
r = b - A*x;
v = r - ( v * A * r ) / ( v * A * v ) * v;
end
%endfunction
Programm 6.9 ConjGrad1.m: Theoretisch aquivalentes CGVerfahren.
Bemerkung 6.22 (Konjugierte Gradienten)
1. Gedacht war das CGVerfahren urspr unglich als ein exaktes Verfahren. Wegen der all-
gegenw artigen Rundungsfehler berechnet es aber keine exakte L osung. Deswegen iteriert
man einfach auf gut Gl uck weiter, bis die gew unschte Toleranz erreicht wird.
2. Die Verwendung von r
T
j
anstelle von b
T
stabilisiert die Rechnung entscheidend: Zwar
sind beide Werte theoretisch gleichwertig, aber bei nicht exakter Rechnung ergeben sich
erhebliche Differenzen, siehe ConjGrad1.m.
3. Durch Umformungen und Einsetzen der Rekursionsformeln kommt man auf die einfache-
ren Iterationsvorschriften
x
(j)
:= x
(j1)
+
r
T
j1
r
j1
v
T
j
A v
j
v
j
r
j
:= b A x
(j)
6.4 Konjugierte Gradienten 107
%% ConjGrad2.m (Numerik I)
%% --------------------------------------------------------
%% Conjugate Gradients, Abbruch nach Toleranz
%% Eingabe:
%% A Matrix (SPD)
%% b rechte Seite
%% tol vorgegebene Toleranz
function x = ConjGrad2( A,b,tol )
n = length( A );
x = zeros( n,1 );
r = b;
v = b;
rn = r*r;
while ( rn > tol )
disp( rn );
x = x + rn / ( v * A * v ) * v;
r = b - A*x;
v = r + ( r * r ) / rn * v;
rn = r * r;
end
%endfunction
Programm 6.10 ConjGrad2.m: Etwas schnelleres CGVerfahren.
v
j+1
:= r
j
+
r
T
j
r
j
r
T
j1
r
j1
v
j
was zu ConjGrad2.m f uhrt.
108 7 POLYNOME
And now for something completely
different . . .
Monty Pythons Flying Circus
7 Polynome
Bei vielen praktischen Problemen (z.B. CAD) ist es wichtig, Funktionen n aherungsweise durch
einfache Funktionen (die mit endlich viel Information dargestellt werden k onnen) zu re-
pr asentieren oder zu approximieren. Die beiden wesentlichen Anwendungen sind
Modellierung: Man versucht, durch Ver andern von Parametern eine Kurve (oder Fl ache) zu
erhalten, die (zumindest n aherungsweise) die gew unschte Form hat.
Rekonstruktion: Aus endlicher Information (z.B. Abtastwerte) soll eine Kurve (oder Fl ache)
gewonnen werden, die diese Information reproduziert (z.B. interpoliert).
Die einfachsten und altesten Funktionen f ur diese Zwecke sind die Polynome.
Denition 7.1 Eine Funktion der Form
p(x) =

jN
0
a
j
x
j
, a
j
K,
heit Polynom uber dem K orper K, falls
deg p := max j N
0
: a
j
,= 0 < .
Die Zahl deg p nennt man den Grad von p, mit

n
= p : p Polynom, deg p n
bezeichnet man den Vektorraum aller Polynome vom Grad h ochstens n und mit = K[x] den
Vektorraum aller Polynome.
Bemerkung 7.2 (Polynome)
1. Die Vektorr aume
n
, n N, und sind KVektorr aume, also abgeschlossen unter Mul-
tiplikation mit K.
2. Es ist
dim
n
= n + 1, n N
0
und die Monome 1, x, . . . , x
n
bilden eine Basis von
n
.
109
3. ist sogar eine Algebra: Das Produkt pq zweier Polynome p, q ist wieder ein Poly-
nom.
Ein groer Vorteil von Polynomen ist, da sie in den stetigen Funktionen auf jedem kom-
pakten Intervall dicht liegen, das heit, da wir mit ihnen jede stetige Funktion beliebig genau
ann ahern k onnen; das ist der ber uhmte Satz von Weierstrass (1885), siehe [48].
Satz 7.3 Es sei I R ein kompaktes Intervall und f C(I). Dann gibt es zu jedem > 0 ein
p , so da
|f p|
I
:= max
xI
[f(x) p(x)[ < . (7.1)
Beweis: Ohne Einschr ankung k onnen wir annehmen, da I = [0, 1]. Dann k onnen wir eine
Folge von approximierenden Polynomen explizit angeben, n amlich die Bernsteinpolynome
50
(B
n
f) (x) =
n

j=0
f(j/n)
_
n
j
_
x
j
(1 x)
nj
. .
=:B
n
j
(x)

n
. (7.2)
Nun ist
n

j=0
B
n
j
(x) =
n

j=0
_
n
j
_
x
j
(1 x)
nj
= (x + 1 x)
n
= 1,
sowie
n

j=0
j
n
B
n
j
(x) =
n

j=0
j
n
n!
j!(n j)!
x
j
(1 x)
nj
=
n

j=1
(n 1)!
(j 1)!(n j)!
x
j
(1 x)
nj
= x
n

j=1
(n 1)!
(j 1)!(n j)!
x
j1
(1 x)
nj
= x
n1

j=0
B
n1
j
(x) = x
und
n

j=0
j(j 1)
n
2
B
n
j
(x) =
n

j=0
j(j 1)
n
2
n!
j!(n j)!
x
j
(1 x)
nj
=
n 1
n
n

j=2
(n 2)!
(j 2)!(n j)!
x
j
(1 x)
nj
=
n 1
n
x
2
n2

j=0
B
n2
j
(x)
=
n 1
n
x
2
.
50
Der Name kommt daher, da der Beweis im Original von S. Bernstein [3] stammt, dem ubrigens die wahr-
scheinlichkeitstheoretische Idee durchaus klar war.
110 7 POLYNOME
Mit diesen drei Identit aten erhalten wir, da f ur jedes x [0, 1]
n

j=0
_
j
n
x
_
2
B
n
j
(x) =
n

j=0
_
j
2
n
2
2
j
n
x + x
2
_
B
n
j
(x)
=
n

j=0
_
j(j 1)
n
2
+
j
n
2
2
j
n
x + x
2
_
B
n
j
(x)
=
n 1
n
x
2
+
1
n
x 2x
2
+ x
2
=
1
n
x(1 x)
Diese Formel erlaubt es uns nun zu zeigen, da die Basispolynome recht gut lokalisiert sind:
f ur > 0 und x [0, 1] ist

[
j
n
x[
B
n
j
(x)
1

2
n

j=0
_
j
n
x
_
2
B
n
j
(x) =
x(1 x)
n
2

1
4n
2
. (7.3)
Das wars dann auch schon fast! Sei nun f C[0, 1], dann ist f ja nicht nur stetig, sondern
sogar gleichm aig stetig, das heit, f ur alle > 0 gibt es ein > 0 so da
[x y[ < = [f(x) f(y)[ <

2
.
Sei also > 0 vorgegeben und > 0 passend gew ahlt. Dann ist, f ur beliebiges x [0, 1],
[f(x) B
n
f(x)[ =

j=0
(f(x) f(j/n)) B
n
j
(x)

j=0
[f(x) f(j/n)[ B
n
j
(x)
=

[
j
n
x[<
[f(x) f(j/n)[
. .
/2
B
n
j
(x) +

[
j
n
x[
[f(x) f(j/n)[
. .
2|f|
I
B
n
j
(x)


2
n

j=0
B
n
j
(x) +
|f|
I
2n
2
=

2
+
|f|
I
2n
2
.
Die rechte Seite ist nun unabh angig von x und < sobald n >
1

2
|f|
I
.
Der Beweis zeigt uns, da die Approximationsgeschwindigkeit (also der Grad, der f ur eine
bestimmte Approximationsg ute notwendig ist) entscheidend davon abh angt, wie gleichm aig
stetig die Funktion f, denn der Wert = () kann beliebig schnell fallen. Dies ist ein weiterer
Beleg daf ur, da Stetigkeit allein oftmals nicht genug ist, ein generelles Prinzip bei Anwendun-
gen.
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren
Die wichtigste Operation beim praktischen Rechnen mit Funktionen ist sicherlich die Auswer-
tung dieser Funktion an einer Stelle x R. Dieses Auswertungsverfahren h angt sicherlich von
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 111

/2
/2
Abbildung 7.1: Idee des Beweises von Satz 7.3: Auf dem farbig unterlegten Intervall um
den Punkt x weichen die Funktionen um maximal voneinander ab, und diese Abweichung
ist wegen der gleichm aigen Stetigkeit unabh angig von der Lage des Fensters, auf dem
Rest des Intervalls hat die (blaue) Maskierungsfunktion hingegen so einen kleinen Wert,
da der Fehler dort machen kann, was er will.
der verwendeten Darstellung ab. Im CAGD
51
verwendet man nicht nur polynomiale Funktionen
sondern polynomiale Kurven.
Denition 7.4 Eine Abbildung
p =
_

_
p
1
.
.
.
p
d
_

_
: R R
d
heit polynomiale Kurve vom (H ochst) Grad n, falls p
j

n
, j = 1, . . . , d. In diesem Fall
schreiben wir auch p
d
n
.
Bemerkung 7.5 Jede polynomiale Kurve p
d
n
l at sich schreiben als
p(x) =
_

_
a
10
+ a
11
x + + a
1n
x
n
.
.
.
a
d0
+ a
d1
x + + a
dn
x
n
_

_
=
_

_
a
10
.
.
.
a
d0
_

_
. .
=a
0
+
_

_
a
11
.
.
.
a
d1
_

_
. .
=a
1
x + +
_

_
a
1n
.
.
.
a
dn
_

_
. .
=an
x
n
51
Computer Aided Geometric Design.
112 7 POLYNOME
=
n

j=0
a
j
x
j
,
wobei a
j
R
d
, j = 1, . . . , n.
Proposition 7.6 (HornerSchema)
Ist
p(x) =
n

j=0
a
j
x
j

d
n
,
und setzt man
a
0
(x) = a
n
(7.4)
a
j
(x) = x a
j1
(x) +a
nj
, j = 1, . . . , n, (7.5)
dann ist a
n
(x) = p(x).
Beweis: Schreibe p(x) als
p(x) = a
0
+ x (a
1
+ x ( x (a
n1
+ x a
n
) ))
und werte von innen nach auen aus.
Das Hornerschema ndet sich in Horner.m.
Mit genau derselben Faktorisierungsidee funktioniert das HornerSchema auch f ur eine
gr oere Klasse von polynomialen Funktionen.
Korollar 7.7 Es seien

j
(x) =
j
x
j

1
,
j
,= 0, j N,
und
52
p
j
(x) =
j

k=1

k
(x), j N
0
,
sowie
p(x) =
n

j=0
a
j
p
j
(x)
d
n
.
Dann liefert, f ur jedes x R die Rekursion
a
0
(x) = a
n
(7.6)
a
j
(x) =
nj+1
(x) a
j1
(x) +a
nj
, j = 1, . . . , n, (7.7)
als Ergebnis a
n
(x) = p(x).
52
Dabei ist p
0
= 1. Das entspricht der Konvention, da leere Produkte den Wert 1 haben.
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 113
%% Horner.m (Numerik 1)
%% --------------------------------------------------------
%% Hornerschema
%% Eingabe:
%% a Koeffizientenmatrix (vektorwertig!)
%% x Stelle
function y = Horner( a,x )
n = length(a);
b = a(:,n);
for j = n-1:-1:1
b = x * b + a(:,j);
end
y = b;
%endfunction
Programm 7.1 Horner.m: Das Hornerschema f ur vektorwertige Polynome.
Als n achstes sehen wir uns die numerische Stabilit at des Hornerschemas an, und zwar f ur
die allgemeine Form.
Satz 7.8 Sei x F. Wenn es eine Konstante > 0 gibt, so da

j
x
j
=
j
(x) (1 +
j
) , [
j
[ u, j = 1, . . . , n, (7.8)
dann erf ullt der mit dem Hornerschema berechnete Wert
p(x) =
n

j=0
a
j
p
j
(x)
die Ungleichung
[ a
j
a
j
[
_
(1 + ( + 2)j) u + O
_
u
2
__
[a
j
[ . (7.9)
Bevor wir den Satz beweisen, erst einmal ein paar wichtige Bemerkungen:
1. Gleichung (7.8) ist eine wichtige Bedingung, die im wesentlichen verlangt, da nicht
gerade
j
x
53
ist. Allerdings: So dramatisch ist es auch wieder nicht, denn beispiels-
weise in den F allen
= 1,
53
Stichwort: Ausl oschung!
114 7 POLYNOME
= 0,
x < 0
ist (7.8) automatisch erf ullt, zum Teil sogar mit = 1.
2. Im Falle des klassischen Hornerschemas ist sogar = 0 (die Rechnung ist exakt).
3. Die Fehlerabsch atzung (7.9) sagt uns, da die Koefzienten eines Polynoms unterschied-
lich zum Rundungsfehler beitragen und zwar umso mehr, je h oher der Grad des zugeh ori-
gen Monoms ist. Generell heit das auch, da wachsender Grad die Auswertung von
Polynomen instabiler machen wird.
4. Es gibt auch Beschreibungen des Hornerschemas f ur multivariate Polynome [35, 36], also
Polynome in sagen wir s Variablen, bei dem man die rekursive Natur so ausnutzen kann,
da der R uckw artsfehler linear im Grad n und nicht in der Anzahl der Koefzienten
54
_
n+s
s
_
n
s
ist f ur groe Werte von s ist das ein ganz gewaltiger Unterschied.
Beweis: Aus den Rekursionsformeln (7.6) und (7.7) sehen wir sofort, da
a
j
(x) =
j

k=0
a
nj+k
k

r=1

nj+r
(x),
und behaupten, da
a
j
(x) =
j

k=0
a
j
nj+k
k

r=1

nj+r
(x), (7.10)
wobei
a
j
nj+k
= (1 +
k
) a
nj+k
, [
k
[ (1 + ( + 2)k) u + O
_
u
2
_
, k = 0, . . . , j. (7.11)
F ur j = 0 sind (7.10) und (7.11) wegen (7.6) trivialerweise erf ullt. Ansonsten haben wir nach
(7.7), da f ur j = 0, . . . , n 1
a
j+1
(x) =

nj
(x) a
j
(x) a
n(j+1)
=
_

nj
(x) (1 + ) a
j
(x) (1 + ) +a
nj1
_
(1 +)
=
nj
(x)
_
(1 +)(1 + )(1 + ) a
j
(x)
_
+ (1 + ) a
nj1
,
wobei [[ u und [[, [[ < u; also ist, f ur ein mit [[ ( + 2) u,
a
j+1
(x) =
_
1 + + O
_
u
2
__

nj
(x) a
j
(x) + (1 + ) a
nj
=
j

k=0
_
1 + + O
_
u
2
__
a
j
nj+k
. .
=: a
j+1
nj+k
= a
j+1
n(j+1)+(k+1)
k

r=0

n(j+1)+(r+1)
(x) + (1 + ) a
nj1
. .
=: a
j+1
n(j+1)
=
j+1

k=0
a
j+1
n(j+1)+k
k

r=1

n(j+1)+r
(x),
54
Und damit Rechenoperationen!
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 115
wobei, f ur k = 1, . . . , j + 1
a
j+1
n(j+1)+k
=
_
1 + + O
_
u
2
__
(1 +
k1
) a
n(j+1)+k
=
_
1 +
k1
+ + O
_
u
2
__
a
n(j+1)+k
=: (1 +
k
) a
n(j+1)+k
,
mit
[
k
[ [
k1
[ +[[ +O
_
u
2
_
1+( +2)(k 1) +( +2) +O
_
u
2
_
= 1+( +2)k +O
_
u
2
_
.
F ur k = 0 ist (7.7) offensichtlich.
ImCAGDwurden das Hornerschema und damit die monomiale Darstellung von polynomia-
len Kurven aber inzwischen von etwas anderem verdr angt. Der Grund ist, da die Koefzienten
a
j
=
1
j!
p
(j)
(0), j = 0, . . . , n, kaum geometrische Information uber die resultierende Kurve
geben und da das Design mit diesen Koefzienten praktisch unm oglich ist.
Denition 7.9 Es sei I = [t
0
, t
1
] R, < t
0
< t
1
< , ein nichtdegeneriertes kompaktes
Intervall
55
und x R. Die baryzentrischen Koordinaten
u(x [ I) = (u
0
(x [ I), u
1
(x [ I))
von x bez uglich I sind deniert als
x = u
0
(x [ I) t
0
+ u
1
(x [ I) t
1
, u
0
(x [ I) + u
1
(x [ I) = 1. (7.12)
Bemerkung 7.10 (Baryzentrische Koordinaten)
1. In (7.12) wird x als afne Kombination von t
0
und t
1
dargestellt. Eine afne Kombination,
bei der beide Koefzienten 0 sind, bezeichnet man als Konvexkombination.
2. Die baryzentrischen Koordinaten bestimmen sich als
u
0
(x [ I) =
t
1
x
t
1
t
0
und u
1
(x [ I) =
x t
0
t
1
t
0
. (7.13)
3. Aus (7.13) folgt sofort, da
u
0
(t
j
[ I) =
0j
und u
1
(t
j
[ I) =
1j
, j = 0, 1. (7.14)
4. Die baryzentrischen Koordinaten
56
beschreiben das Verh altnis, in dem der Punkt x das
Intervall I teilt, siehe Abb. 7.2.
5. Es gilt
u
0
(x [ I) , u
1
(x [ I) 0 x I.
55
Also das, was sich der Mann von der Strae so unter einem Intervall vorstellt.
56
Der Begriff bedeutet ja nichts anderes als Schwerpunktskoordinaten.
116 7 POLYNOME
t0 t1
u1 u0
x
:
Abbildung 7.2: Baryzentrische Koordinaten als (normiertes) Teilungsverh altnis.
6. Ist I = [0, 1], dann ist u
0
(x [ I) = (1x) und u
1
(x [ I) = x. Baryzentrische Koordinaten
transformieren also das Intervall I in [0, 1].
Mit Hilfe der baryzentrischen Koordinaten k onnen wir ein anderes Auswertungsverfahren
f ur Polynome angeben.
Satz 7.11 Es seien b
0
, . . . , b
n
R
d
. F ur x I liefert der Algorithmus von de Casteljau
57
,
b
0
k
(x) = b
k
, k = 0, . . . , n, (7.15)
b
j+1
k
(x) = u
0
(x [ I) b
j
k
(x) + u
1
(x [ I) b
j
k+1
(x), k = 0, . . . , n j 1, (7.16)
als Ergebnis den Wert
b
n
0
(x) =
n

j=0
b
j
_
n
j
_
u
nj
0
(x [ I) u
j
1
(x [ I)
. .
=:B
n
j
(x [ I)
(7.17)
der B ezierkurve
58
B
n
b(x) := B
n
(b
0
, . . . , b
n
) (x) =
n

j=0
b
j
B
n
j
(x [ I)
an der Stelle x.
Denition 7.12 Die Koefzienten b = (b
0
, . . . , b
n
) bezeichnet man als Kontrollpunkte, die von
ihnen gebildete st uckweise lineare Funktion als Kontrollpolygon.
Die schematische Arbeitsweise des Algorithmus von de Casteljau ist in Abb. 7.3 dargestellt.
Die Polynome B
n
j
(x [ I) sind im Falle I = [0, 1] alte Bekannte, n amlich genau die Po-
lynome, mit deren Hilfe wir die Bernsteinpolynome im Beweis von Satz 7.3 gebildet haben.
Tats achlich ist ja B
n
f auch nichts anderes als eine B ezierkurve, nur eben mit b
j
= f(j/n),
j = 0, . . . , n. Aus disem Grund bezeichnet man die Polynome B
n
j
(x [ I) auch als Bernstein
B ezierBasispolynome.

Ubung 7.1 Zeigen Sie, da jedes stetige Vektorfeld f : I R


d
auf dem kompakten Intervall
I R gleichm aig durch polynomiale Vektorfelder approximiert werden kann.
57
Paul Faget de Casteljau, Mathematiker, in den 60ern bei Citr oen in der CADEntwicklung t atig.
58
Pierre B ezier, 29.11.1999, Ingenieur, in den 60ern bei Renault in der CADEntwicklung t atig.
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 117
Abbildung 7.3: Der Algorithmus von de Casteljau: Die Teilungsverh altnisse von I
bez uglich x werden auf die Streckenz uge ubertragen, die die Koefzienten verbinden.
Lemma 7.13 Die BernsteinB ezierBasispolynome haben die folgenden Eigenschaften:
1. (Rekursionsformel)
B
n
j
(x [ I) = u
0
(x [ I) B
n1
j
(x [ I) + u
1
(x [ I) B
n1
j1
(x [ I) . (7.18)
2. (Teilung der Eins)
n

j=0
B
n
j
(x [ I) = 1. (7.19)
3. (Nichtnegativit at) F ur x I ist B
n
j
(x [ I) 0.
Beweis: Die erste Identit at, (7.18), folgt aus
59
B
n
j
(x [ I) =
_
n
j
_
u
nj
0
u
j
1
=
__
n 1
j
_
+
_
n 1
j 1
__
u
nj
0
u
j
1
= u
0
_
n 1
j
_
u
n1j
0
u
j
1
+ u
1
_
n 1
j 1
_
u
nj
0
u
j1
1
= u
0
(x [ I) B
n1
j
(x [ I) + u
1
(x [ I) B
n1
j1
(x [ I) .
59
Hier und im Folgenden verwenden wir die Kurzschreibweise u
j
= u
j
(x [ I), x I.
118 7 POLYNOME
%% DeCasteljau.m (Numerik I)
%% --------------------------------------------------------
%% DeCasteljau fuer [0,1]
%% Eingabe:
%% b Kontrollpunkte (Matrix!)
%% x Punkt in [0,1]
function y = DeCasteljau( b,x )
n = length(b);
for j = 1:n-1
for k = 1:n-j
b( :,k ) = (1-x) * b( :,k ) + x * b( :,k+1 );
end
end
y = b( :,1 );
%endfunction
Programm 7.2 DeCasteljau.m: Der Algorithmus von de Casteljau mit Referenzinter-
vall I = [0, 1].
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 119
F ur (7.19) verwenden wir (7.18) und erhalten mit der Konvention B
n
1
= B
n
n+1
= 0, da
n

j=0
B
n
j
(x [ I) =
n1

j=0
u
0
B
n1
j
+
n

j=1
u
1
B
n1
j1
= (u
0
+ u
1
)
. .
=1
n1

j=0
B
n1
j
. .
=1
= 1
mittels Induktion uber n. Die Nichtnegativit at folgt direkt aus (7.18).

Ubung 7.2 Beweisen Sie die kombinatorische Identit at


_
n
j
_
=
_
n 1
j
_
+
_
n 1
j 1
_
.
Beweis von Satz 7.11: Wir zeigen durch Induktion uber j, da
b
j
k
(x) =
j

r=0
b
k+r
B
j
r
(x [ I) , k = 0, . . . , n j, x R, (7.20)
was f ur j = n die Formel (7.17) liefert und f ur j = 0 gerade (7.15), also per Denitionem
richtig ist. F ur j 0 und k = 0, . . . , nj 1 verwenden wir schlielich die Rekursionsformel
(7.16), um mit Hilfe der Induktionssanahme
b
j+1
k
(x) = u
0
b
j
k
(x) + u
1
b
j
k+1
= u
0
j

r=0
b
k+r
B
j
r
+ u
1
j

r=0
b
k+r+1
B
j
r
= u
0
j

r=0
b
k+r
B
j
r
+ u
1
j+1

r=1
b
k+r
B
j
r1
=
j+1

r=0
b
k+r
_
u
0
B
j
r
+ u
1
B
j
r1
_
=
j+1

r=0
b
k+r
B
j+1
r
(x [ I)
zu erhalten, was die Induktion fortsetzt.
Bemerkung 7.14 (Eigenschaften der B ezierkurven)
1. ( Convex Hull Property ) Da f ur x I
0 B
n
j
(x [ I) und
n

j=0
B
n
j
(x [ I) = 1,
ist jeder Punkt B
n
b eine Konvexkombination von b
0
, . . . , b
n
und damit liegt die Kurve
60
B
n
b(I) in der konvexen H ulle von b
0
, . . . , b
n
. Dies ist beispielsweise f ur die Schnittbe-
stimmung von Kurven wichtig: Man pr uft zuerst einmal, ob sich uberhaupt die konvexen
H ullen (also Polygone
61
) schneiden, bevor man ein kompliziertes Verfahren zur Schnitt-
berechnung von Kurven anwirft.
60
Genauer: ihr Graph.
61
Zur Bestimmung des Schnitts von Polygonen sind eine Vielzahl von sehr efzienten Algorithmen, Stichwort
Clipping, verf ugbar.
120 7 POLYNOME
2. ( Endpoint Interpolation ) Ist u
0
(x [ I) = 1, dann ist b
j
0
(x) = b
0
, j = 0, . . . , n, also
auch B
n
b(x) = b
0
; entsprechend nat urlich auch B
n
b(x) = b
n
, wenn u
1
(x [ I) = 1. Die
B ezierkurven interpolieren also an den Endpunkten des Kontrollpolygons.
3. ( Linear Precision ) Liegen alle Kontrollpunkte b
j
, j = 0, . . . , n, auf einer Geraden,
so ist B
n
b(I) ein Streckenzug auf dieser Geraden: F ur alle x R mit b
j
k
(x) und b
j
k+1
(x)
liegt auch der Zwischenpunkt b
j+1
k
(x) auf der Geraden. Allerdings ist im Normalfall die
Kurve B
n
b(x) anders parametrisiert als der Streckenzug. Zum Beispiel durchl auft f ur
b
0
= b
2
=
_
0
0
_
, b
1
=
_
1
1
_
die Kurve B
2
b den Streckenzug hin und zur uck, siehe Abb. 7.4.
4. Die Form des Kontrollpolygons beschreibt ungef ahr die Form der resultierenden Kur-
ve.
b0 = b2
b1
1/2
Abbildung 7.4: Eine B ezierkurve, deren Graph ein Streckenzug ist, der aber zweimal durch-
laufen wird.
Auch der R uckw artsfehler des Algorithmus von de Casteljau h alt sich in vern unftigem Rah-
men.
Satz 7.15 Kann man die baryzentrischen Koordinaten von x mit der Genauigkeit
u
j
= u
j
(x [ I) (1 +
j
) , [
j
[ u, j = 1, 2,
bestimmen, dann ist der berechnete Wert

B
n
b(x) =
n

j=0

b
j
B
n
j
(x [ I) ,
wobei

b
j
= b
j
(1 +
j
) , [
j
[ n( + 2) u + O
_
u
2
_
. (7.21)
7.1 Darstellungen polynomialer Kurven und Auswertungsverfahren 121
Beweis: Aus der Rekursionsformel (7.16) folgt, da f ur j < n und k = 0, . . . , n j 1

b
j+1
k
(x) = u
0
b
j
k
(x) u
1
b
j
k+1
(x)
=
_
u
0

b
j
k
(x)(1 +
j
) + u
1

b
j
k+1
(x)
_
1 +
t
j
_
_
(1 +
j
)
= u
0

b
j
k
(x) (1 +
j
) (1 +
j
) + u
0

b
j
k
(x)
_
1 +
t
j
_
(1 +
j
) .
Aus dieser Identit at zeigt man dann per Induktion
62
, da
63

b
j
k
(x) =
j

r=0

b
j
r
(x)
_
j
r
_
u
jr
0
u
r
1
=
j

r=0

b
j
r
(x) B
n
j
( u
1
) , (7.22)
wobei

b
j
r
(x) = b
j
r
(x) (1 +
j,r
) , [
j,r
[ 2j u + O
_
u
2
_
. (7.23)
Da auerdem
B
n
j
( u
1
) =
_
n
j
_
((1 +
0
) u
0
(x [ I))
nj
((1 +
1
) u
1
(x [ I))
j
= (1 +
0
)
nj
(1 +
1
)
j
B
n
j
(x [ I) = (1 +) B
n
j
(x [ I) ,
wobei [[ n u + O( u
2
), ergibt sich (7.21).
Neben den ansprechenden geometrischen Eigenschaften haben B ezierkurven auch gute nu-
merische Eigenschaften.
Denition 7.16 Es sei T
n
= p
0
, . . . , p
n
eine Basis von
n
und I R. Die globale Konditi-
onszahl
I
(T
n
) ist deniert als

I
(T
n
) = max
xI
max
[c
j
[1
n

j=0
[c
j
p
j
(x)[ = max
xI
n

j=0
[p
j
(x)[ . (7.24)
Satz 7.17 (Konditionszahlen und Fehler)
1. Sei x I und erf ulle der mit einem numerischen Verfahren berechnete Wert p(x) f ur ein
> 0 die Bedingung
64
p(x) =
n

j=0
a
j
p
j
(x), a
j
= a
j
(1 +
j
) , [
j
[ u, (7.25)
62
Wer es nachvollziehen will: Die Sache wird einfacher unter der (abwegigen) Annahme, da u
0
+ u
1
= 1,
ansonsten gibts aber auch nur einen O
_
u
2
_
Term.
63
Ich denke mal, da mir niemand b ose ist, wenn wir die Details hier weglassen, die Sache ist wirklich straight-
forward.
64
Nichts anderes als ein R uckw artsfehler.
122 7 POLYNOME
dann ist
65
[p(x) p(x)[
I
(p
0
, . . . , p
j
) u a, (7.26)
wobei
a =
_
max
j=0,...,n
[a
jk
[ : k = 1, . . . , d
_
, a
j
= (a
jk
: k = 1, . . . , d) .
2. F ur I = [0, 1] ist

I
(1, x, . . . , x
n
) = n + 1 (7.27)
und

I
(B
n
0
(x [ I), . . . , B
n
n
(x [ I)) = 1. (7.28)
Beweis: Es ist
[p(x) p(x)[ =

j=0

j
a
j
p
j
(x)

a
n

j=0
[p
j
(x)[
I
(p
0
, . . . , p
j
) u a.
Auerdem ist das Polynom p(x) = 1 + x + + x
n
monoton steigend auf [0, 1], also ist

I
(1, x, . . . , x
n
) = p(1) = n + 1 und (7.28) ist nichts anderes als (7.19).
Bemerkung 7.18 Man kann sogar zeigen, da die BernsteinB ezierBasis optimale Stabilit at
besitzt, das heit, da sie f ur numerische Rechnungen die h ochste Genauigkeit liefert [18, 17].
Allerdings mit Einschr ankungen: Dies gilt nur, wenn man die Polynome auf dem baryzentri-
schen Einheitsintervall betrachtet
66
und man mu von Anfang an in dieser Basis rechnen. Eine
Konvertierung von Polynomen aus einer anderen Basis, beispielsweise der Monombasis, in die
BernsteinB ezierBasis verursacht gr oere Fehler, als man durch die Wahl der besseren Basis
vermeiden k onnte. Es gibt eben nichts umsonst.
7.2 Interpolation der AitkenNeville-Algorithmus
In vielen Anwendungen spielt das folgende Interpolationsproblem eine wichtige Rolle:
Gegeben seien Punkte x
0
, . . . , x
n
I R, I ein kompaktes Intervall. Zu vorge-
gebenen Werten f
0
, . . . , f
n
R
d
nde man eine stetige Funktion f : I R
d
, so
da
f (x
j
) = f
j
, j = 0, . . . , n.
65
Dies ist eine Absch atzung f ur den absoluten Fehler der Auwertung; der relative Fehler in Komponente j kann
beliebig ubel werden, wenn p
j
(x) 0.
66
Also immer im Referenzintervall bleibt sobald man dieses verl at, verschlechtert sich die Situation drama-
tisch.
7.2 Interpolation der AitkenNeville-Algorithmus 123
Derartige mathematische Aufgaben entstehen oder enstanden zum Beispiel bei der Erstellung
ballistischer Tabellen, bzw. bei der Approximation heuristischer (d.h. gemessener) Tabellen
67
Nat urlich hat das obige Interpolationsproblem unendlich viele L osungen. Die prominente-
ste und klassischste sind sicherlich Polynome.
Satz 7.19 Zu vorgegebenen Knoten x
0
< x
1
< < x
n
und Daten f
0
, . . . , f
n
gibt es genau
ein Polynom p
n
, so da
p(x
j
) = f
j
, j = 0, . . . , n. (7.29)
Der Standardbeweis f ur die obige Aussage verwendet die LagrangeDarstellung
p(x) =
n

j=0
f
j
n

k=0
k=j
x x
k
x
j
x
k
,
die aber numerisch hochgrading instabil ist. Wir wollen hier einen anderen, algorithmischen
Weg gehen. Dazu schreiben wir
I
j
k
:= [x
k
, x
k+j
] , k = 0, . . . , n j, j = 1, . . . , n.
Satz 7.20 F ur vorgegebene x
0
< x
1
< < x
n
R und f
0
, . . . , f
n
R
d
liefert der Aitken
NevilleAlgorithmus
68
f
0
k
(x) = f
k
, k = 0, . . . , n (7.30)
f
j+1
k
(x) = u
0
_
x [ I
j+1
k
_
f
j
k
(x) + u
1
_
x [ I
j+1
k
_
f
j
k+1
(x), k = 0, . . . , n j 1(7.31)
als Endergebnis ein Polynom p(x) = f
n
0
(x)
d
n
mit der Interpolationseigenschaft
p(x
j
) = f
j
, j = 0, . . . , n. (7.32)
Der Algorithmus von AitkenNeville sieht eigentlich ganz genauso aus wie der Algorithmus
von de Casteljau mit einem kleinen, aber feinen und signikanten Unterschied: In jedem
Schritt von AitkenNeville wird ein anderes Referenzintervall verwendet! Trotzdem ist Aitken
Neville, wie auch der Algorithmus von de Casteljau, ein sogenanntes Pyramidenschema. Der
Name stammt daher, da das Auswertungsschema, grasch dargestellt, eine auf dem Kopf ste-
hende Pyramide ergibt, wenn man mit den Ausgangsparametern beginnt und dann Zeile f ur
67
Genau diese Problematik f uhrte I. J. Schoenberg zur Erndung der Splines w ahrend seiner T atigkeit in den
Ballistic Research Laboratories, Aberdeen, Maryland, w ahrend des zweiten Weltkriegs.
68
Zuerst von A. G. Aitken (1932) eingef uhrt und sp ater auch von E. H. Neville (1934) untersucht, siehe [1, 32].
Insbesondere wird in [32] explizit auf [1] verwiesen.
124 7 POLYNOME
%% AitkenNeville.m
%% -------------------------------------------------------
%% Aitken-Neville-Interpolation
%% Eingabe:
%% f Funktionswerte
%% X Interpolationsknoten
%% x Asuwertungsstelle
function y = AitkenNeville( f,X,x )
n = length( f );
for j=1:n
for k=1:n-j
t = ( X( k+j ) - x ) / ( X( k+j ) - X( k ) );
f( :,k ) = t * f( :,k ) + ( 1-t ) * f( :,k+1 );
end
end
y = f( :,1 );
%endfunction
Programm 7.3 AitkenNeville.m: Der Algorithmus von AitkenNeville. Die Matrix f
enth alt die zu interpolierenden Werte, der Vektor X die Punkte, an denen interpoliert werden
soll.
7.2 Interpolation der AitkenNeville-Algorithmus 125
Zeile die Zwischenwerte des Verfahrens auistet.
f
0
f
1
. . . f
n1
f
n

f
0
0
(x) f
0
1
(x) . . . f
0
n1
(x) f
0
n
(x)

f
1
0
(x) . . . f
1
n1
(x)
.
.
.
.
.
.

f
n1
0
(x) f
n1
1
(x)

f
n
0
(x)
Die folgende Aussage beweist nicht nur Satz 7.20, sondern sogar etwas mehr . . .
Proposition 7.21 (Eigenschaften von AitkenNeville)
1. Die Abbildungen x f
j
k
(x), k = 0, . . . , n j sind Polynome vom Grad j.
2. F ur j = 0, . . . , n und k = 0, . . . , n j gilt:
f
j
k
(x
m
) = f
m
, m = k, . . . , k + j, (7.33)
insbesondere gilt also (7.32).
Beweis: Eigenschaft 1. folgt sofort aus (7.30), (7.31) und der Tatsache, da u
j
( [ I)
1
,
j = 1, 2, f ur jedes I R.
(7.33) beweisen wir durch Induktion uber j, wobei der Fall j = 0 genau der Initialisierung-
schritt im Algorithmus von Aitken-Neville ist. Sie also (7.33) f ur ein j 0 bewiesen. Dann ist,
nach (7.30) und der Induktionsannahme,
f
j+1
k
(x
k
) = u
0
_
x
k
[ I
j+1
k
_
. .
=1
f
j
k
(x
k
)
. .
=f
k
+u
1
_
x
k
[ I
j+1
k
_
. .
=0
f
j
k+1
(x
k
) = f
k
,
sowie
f
j+1
k
(x
k+j+1
) = u
0
_
x
k+j+1
[ I
j+1
k
_
. .
=0
f
j
k
(x
k+j+1
) + u
1
_
x
k
[ I
j+1
k
_
. .
=1
f
j+1
k+1
(x
k+j+1
)
. .
=f
k+j+1
= f
k+j+1
.
F ur m = k + 1, . . . , k + j haben wir schlielich nach Induktionsannahme da f
j
k
(x
m
) =
f
j
k+1
(x
m
) = f
m
und daher
f
j+1
k
(x
m
) = u
0
_
x
m
[ I
j+1
k
_
f
j
k
(x
m
)
. .
=f
m
+u
1
_
x
m
[ I
j+1
k
_
f
j
k+1
(x
m
)
. .
=f
m
=
_
u
0
_
x
m
[ I
j+1
k
_
+ u
1
_
x
m
[ I
j+1
k
__
. .
=1
f
m
= f
m
126 7 POLYNOME
also gilt (7.33) auch f ur j + 1, womit der Beweis beendet ist.
Beweis von Satz 7.19: Die Existenz eines Interpolationspolynoms haben wir, wenn auch etwas
umst andlich, bewiesen. Die Eindeutigkeit folgt sofort aus der Tatsache, da jedes Polynom
vom Grad n mit n + 1 Nullstellen das Nullpolynom sein mu: Sei p
n
und sei (ohne
Einschr ankung) a
n
,= 0. Nach dem Satz von Rolle hat dann die Ableitung p
(j)
mindestens
n + 1 j Nullstellen, also gibt es (mindestens) ein x R, so da
0 =
p
(n)
(x)
n!
= a
n
,
was einen Widerspruch liefert.
7.3 Interpolation der NewtonAnsatz
Der Algorithmus von AitkenNeville ist eine feine Sache, wenn es darum geht, den Wert eines
Interpolationspolynoms an einer Stelle x zu berechnen. Er hat aber auch seine Nachteile:
1. Wenn man das Interpolationspolynom formal manipulieren will (ableiten, zu einem an-
deren Polynom addieren und so), braucht man eine explizite Darstellung des Interpolati-
onspolynoms.
2. Jede Auswertung mit AitkenNeville hat einen Rechenaufwand von O(n
2
), was deutlich
mehr als das O(n) des Hornerschemas
69
ist. Mu man also ein Interpolationspolynom
sehr oft auswerten, kann sich eine andere Darstellung lohnen.
Denition 7.22 Es seien x
0
< x
1
< < x
n
und f = [f
0
, . . . , f
n
] R
dn+1
.
1. Der Interpolationsoperator L
n
: R
dn+1

d
n
ist deniert als das eindeutige Polynom
L
n
f
d
n
mit der Eigenschaft
L
n
f (x
j
) = f
j
, j = 0, . . . , n.
2. F ur f C (R)
d
k onnen wir L
n
f ganz einfach erweitern, indem wir
f mit [f (x
0
) , . . . , f (x
n
)]
identizieren.
3. Die NewtonDarstellung von L
n
f hat die Form
L
n
f(x) =
n

j=0

j
(f) (x x
0
) (x x
j1
) ,
f ur passende Koefzienten
70

j
(f) R
d
.
69
Der Aufwand von de Casteljau ist ubrigens O
_
n
2
_
.
70
Die wir nat urlich noch bestimmen m ussen.
7.3 Interpolation der NewtonAnsatz 127
Bemerkung 7.23 (NewtonDarstellung)
1. Die NewtonDarstellung eines Interpolationspolynoms L
n
f l at sich mit dem verallge-
meinerten HornerSchema aus Korollar 7.7 recht (r uckw arts) stabil auswerten: da wir
nur eine Subtraktion bei der Berechnung von
j
(x) ausf uhren m ussen, kommen wir mit
= 1 aus.
2. Die NewtonDarstellung erlaubt das einfache Hinzuf ugen von Punkten: Sind ein weiterer
Punkt x
n+1
und ein weiterer Wert f
n+1
gegeben, dann ist
L
n+1
f(x) = L
n
f(x) +
n+1
(f) (x x
0
) (x x
n
) .
3. Das hinzugef ugte Polynom (x x
0
) (x x
n
) hat (nicht zuf allig) die Eigenschaft,
das (bis auf Konstante) eindeutige Polynom kleinsten Grades zu sein, das an x
0
, . . . , x
n
verschwindet.
Machen wir uns jetzt also an die Konstruktion der Koefzienten
j
(f) in der Newton
Darstellung. Dazu bemerken wir zuerst, da uns die Interpolationsbedingungen das Gleichungs-
system
n

j=0

j
(f) (x
k
x
0
) (x
k
x
j1
) = f
k
, k = 0, . . . , n,
also
_

_
1 x
0
x
0
(x
0
x
0
) (x
0
x
1
) . . .
n1

j=0
(x
0
x
j
)
1 x
1
x
0
(x
1
x
0
) (x
1
x
1
) . . .
n1

j=0
(x
1
x
j
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
0
(x
n
x
0
) (x
n
x
1
) . . .
n1

j=0
(x
n
x
j
)
_

_
_

0
(f)

1
(f)
.
.
.

n
(f)
_

_
=
_

_
f
0
f
1
.
.
.
f
n
_

_
.
Die Matrix auf der linke Seite ist eine untere Dreiecksmatrix, also ist
_

_
1
1
.
.
.
.
.
.
.
.
.
1 . . .
_

_
_

0
(f)

1
(f)
.
.
.

n
(f)
_

_
=
_

_
f
0
f
1
.
.
.
f
n
_

_
,
also h angt
j
(f) nur von f
0
, . . . , f
j
und x
0
, . . . , x
j1
ab und zwar linear in f
0
, . . . , f
j
.
128 7 POLYNOME
%% DivDiff.m (Numerik I)
%% --------------------------------------------------------
%% Dividierte Differenzen (Vektorwertig)
%% Eingabe:
%% f Matrix der Funktionswerte (Vektoren!)
%% X Knotenvektor
function y = DivDiff( f,X )
n = length( X );
for j = 1:n-1
for k = 1:n-j
f( :,k ) = ( f ( :,k ) - f ( :,k+1 ) ) / ( X( k ) - X( k+j ) );
end
end
y = f( :,1 );
%endfunction
Programm 7.4 DivDiff.m: Berechnung der dividierten Differenzen uber ein Dreiecks-
schema aus der Rekursionsformel (7.35).
7.3 Interpolation der NewtonAnsatz 129
%% NewtonKoeff.m (Numerik 1)
%% --------------------------------------------------------
%% Koeffizienten des Interpolationspolynoms in der
%% Newton-Darstellung (nicht optimal!)
%% Eingabe:
%% f zu interpolierende Werte
%% X Interpolationspunkte
function F = NewtonKoeff( f,X )
n = length( X );
for j = 1:n
F( :,j ) = DivDiff( f, X( 1:j ) );
end
%endfunction
Programm 7.5 NewtonKoeff.m: Naive Berechnung des Koefzientenvektors f ur das In-
terpolationspolynom, jede dividierte Differenz wird separat berechnet.
Denition 7.24 Die dividierte Differenz [x
0
, . . . , x
n
] f zu einer Matrix f R
dn+1
oder einer
Funktion f C (R)
d
ist rekursiv deniert als
[x
j
] f = f
j
= f (x
j
) , j = 0, . . . , n (7.34)
[x
0
, . . . , x
j+1
] f =
[x
0
, . . . , x
j
] f [x
1
, . . . , x
j+1
] f
x
0
x
j+1
, j = 0, . . . , n 1. (7.35)
Satz 7.25 Es seien x
0
, . . . , x
n
R alle verschieden und f R
dn+1
oder f C(R)
d
. Dann
ist
L
n
f(x) =
n

j=0
[x
0
, . . . , x
j
] f (x x
0
) (x x
j1
) , x R, (7.36)
und auerdem
f(x) L
n
f(x) = (x x
0
) (x x
n
) [x, x
0
, . . . , x
n
] f. (7.37)
Bevor wir uns mit einigen Konsequenzen aus der NewtonDarstellung des Interpolations-
polynoms und nat urlich dem Beweis von Satz 7.25 besch aftigen, sehen wir uns erst schnell an,
wie man so ein Interpolationspolynom mit Matlab bestimmt.
Zuerst brauchen wir nat urlich die Koefzienten, also die dividierten Differenzen. Der naive An-
satz w are also, wie in NewtonKoeff.m die dividierten Differenzen sukzessive zu bestimmen.
Das ist aber hochgradig inefzient: Auf dem Weg zu Berechnung von [x
0
, . . . , x
j
] f brauchen
130 7 POLYNOME
%% NewtonKoeff1.m (Numerik 1)
%% --------------------------------------------------------
%% Koeffizienten des Interpolationspolynoms in der
%% Newton-Darstellung (schon besser)
%% Eingabe:
%% f zu interpolierende Werte
%% X Interpolationspunkte
function F = NewtonKoeff1( f,X )
n = length( X );
F = f;
for j = 2:n
for k = n:-1:j
F( :,k ) = ( F( :,k-1 ) - F( :,k ) ) / ( X( k-j+1 ) - X( k ) );
end
end
%endfunction
Programm 7.6 NewtonKoeff1.m: Efziente Berechnung des Koefzientenvektors mit

Uberschreiben. Beachte: Der Aufwand zur Berechnun aller dividierten Differenzen f ur das
Interpolationspolynom ist geanu derselbe wir f ur die Berechnung des h ochsten Koefzien-
ten [x
0
, . . . , x
n
] f.
wir ja alle dividierten Differenzen [x
0
, . . . , x
k
] f, k < j. Deswegen packen wir alles in ein
Schema mit

Uberschreiben:
[x
0
] f [x
0
] f . . . [x
0
] f [x
0
f]

[x
1
] f [x
0
, x
1
] f . . . [x
0
, x
1
] f [x
0
, x
1
] f

[x
2
] f [x
1
, x
2
] f . . . [x
0
, x
1
, x
2
] f [x
0
, x
1
, x
2
] f

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

[x
n1
] f [x
n2
, x
n1
] f . . . [x
0
, . . . , x
n1
] f [x
0
, . . . , x
n1
] f

[x
n
] f [x
n1
, x
n
] f . . . [x
1
, . . . , x
n
] f [x
0
, . . . , x
n
] f
Wegen des

Uberschreibens mu jede Spalte von unten nach oben abgearbeitet werden. Der
Code hierzu ndet sich in NewtonKoeff1.m. Sind also eine Datenmatrix f und ein Vektor
von Interpolationspunkten X gegeben, so liefert uns der MatlabAufruf
7.3 Interpolation der NewtonAnsatz 131
%% NHorner.m (Numerik 1)
%% --------------------------------------------------------
%% Hornerschema bezueglich Newton-Basis
%% Eingabe:
%% f Koeffizientenvektor
%% X Interpolationspunkte
%% x Stelle
function y = NHorner( f,X,x )
n = length( X );
y = f( :,n );
for j = n-1:-1:1
y = ( x - X( j ) ) * y + f( :,j );
end
%endfunction
Programm 7.7 NHorner.m: Das Hornerschema f ur die Newtondarstellung eines Poly-
noms.
F = NewtonKoeff1( f,X );
den gew unschten Kooefzientenvektor. Um das Interpolationspolynom an der Stelle x auszu-
werten, rufen wir schlielich mit
NHorner( F,X,x )
die NewtonVariante des Hornerschemas aus NHorner.m auf.
Jetzt aber zur uck zur Theorie . . .
Korollar 7.26 Die dividierten Differenzen sind symmetrisch in den Argumenten: F ur jede Per-
mutation : 0, . . . , n 0, . . . , n ist
_
x
(0)
, . . . , x
(n)

f = [x
0
, . . . , x
n
] f. (7.38)
Beweis: Nach (7.36) ist
L
n
f(x) = [x
0
, . . . , x
n
] f x
n
+ q(x), q
n1
,
und da L
n
f invariant unter Vertauschung der Interpolationspunkte (bei gleichzeitiger Vertau-
schung der zu interpolierenden Werte) ist, folgt die Behauptung.
Das folgende Resultat zeigt uns, was der Newton Ansatz algorithmisch macht: In jedem
Schritt wird versucht, durch geeignete Interpolation des Fehlers
71
die Genauigkeit des Inter-
polanten Schritt f ur Schritt zu erh ohen.
71
Ohne die vorher bereits erzielten Interpolationseigenschaften zu zerst oren.
132 7 POLYNOME
Korollar 7.27 Es seien x
0
, . . . , x
n
R alle verschieden und f R
dn+1
oder f C(R)
d
.
Dann ist
72
L
n
f(x) =
n

j=0
(f L
j1
f) (x
j
)
(x x
0
) (x x
j1
)
(x
j
x
0
) (x
j
x
j1
)
. (7.39)
Beweis: Nach (7.37) mit n = j 1 und x = x
j
ist
[x
0
, . . . , x
j
] f =
(f L
j1
f) (x
j
)
(x
j
x
0
) (x
j
x
j1
)
, j = 0, . . . , n.

Beweis von Satz 7.25: Wir beweisen (7.36) und (7.37) simultan duch Induktion uber n.
F ur n = 0 ist L
0
f(x) = f
0
= f (x
0
) und
f(x) L
0
f(x) = f(x) f (x
0
) = (x x
0
)
f(x) f (x
0
)
(x x
0
)
= (x x
0
) [x
0
, x] f.
Seien also (7.36) und (7.37) f ur ein n 0 bewiesen. Wir setzen
P
n+1
f(x) :=
n+1

j=0
[x
0
, . . . , x
j
] f (x x
0
) (x x
j1
)
= P
n
f(x) + [x
0
, . . . , x
n+1
] f (x x
0
) (x x
n
) .
Nach der Induktionsannahme erhalten wir aus (7.36) und (7.39)
73
, da
P
n+1
f(x) = L
n
f(x) + (f L
n
f) (x
j+1
)
(x x
0
) (x x
n
)
(x
n+1
x
0
) (x
n+1
x
n
)
.
Damit ist, f ur j = 0, . . . , n,
P
n+1
f (x
j
) = L
n
f (x
j
) = f
j
und auerdem
P
n+1
f (x
n+1
) = L
n
f (x
n+1
) +f (x
n+1
) L
n
(x
n+1
) = f (x
n+1
) = f
n+1
,
also P
n+1
f = L
n+1
f und (7.36) gilt auch f ur n+1. Andererseits ist mit dem gerade bewiesenen
und nochmals der Induktionsannahme
f(x) L
n+1
f(x) = (f(x) L
n
f(x)) (L
n+1
f(x) L
n
f(x))
= (x x
0
) (x x
n
) [x, x
0
, . . . , x
n
] f (x x
0
) (x x
n
) [x
0
, . . . , x
n
, x
n+1
] f
= (x x
0
) (x x
n+1
)
[x, x
0
, . . . , x
n
] f [x
0
, . . . , x
n
, x
n+1
] f
x x
n+1
= (x x
0
) (x x
n+1
) [x, x
0
, . . . , x
n+1
] f,
72
Mit L
1
(x) = 0.
73
Da (7.39) direkt aus (7.37) folgt ist dessen Verwendung zul assig!
7.3 Interpolation der NewtonAnsatz 133
nach der Rekursionsformel (7.35).

Ubung 7.3 Zeigen Sie:


p
n
[x
0
, . . . , x
k
] p = 0, x
0
< < x
k
, k > n.
Schlielich noch eine Aussage uber den Interpolationsfehler f ur hinreichend oft differen-
zierbare Funktionen.
Satz 7.28 Seien x
0
, . . . , x
n
alle verschieden und f C
n+1
(R). Dann gibt es f ur jedes x R
ein [x
0
, . . . , x
n
, x], der konvexen H ulle von x
0
, . . . , x
n
, x
74
, so da
f(x) L
n
f(x) =
f
(n+1)
()
(n + 1)!
(x x
0
) (x x
n
) . (7.40)
Dieses Resultat gilt nur f ur d = 1, also skalare Funktionen. F ur Vektorfelder f wird es im
Normalfall f ur jede Komponente f
j
, j = 1, . . . , d, ein eigenes
j
geben, so da (7.40) gilt.
Auf alle F alle liefern uns die Fehlerformeln (7.40) und (7.37) auch noch eine Aussage uber
die dividierten Differenzen differenzierbarer Funktionen.
Korollar 7.29 Es sei f C
n
(R). Zu beliebigen verschiedenen Punkten x
0
, . . . , x
n
R gibt es
ein [x
0
, . . . , x
n
], so da
[x
0
, . . . , x
n
] f =
f
(n)
()
n!
.
Beweis von Satz 7.28: F ur x , x
0
, . . . , x
n
setzen wir
=
f(x) L
n
f(x)
(x x
0
) (x x
n
)
,
denieren
g(y) = f(y) L
n
f(y) (y x
0
) (y x
n
) , y R,
und bemerken, da g (x
j
) = 0, j = 0, . . . , n, sowie g(x) = 0. Nach dem Satz von Rolle hat
also g
(j)
mindestens n + 2 j Nullstellen im Intervall [x
0
, . . . , x
n
, x], j = 0, . . . , n + 1, es gibt
also mindestens ein [x
0
, . . . , x
n
, x], so da
0 = g
(n+1)

() = f
(n+1)
() (L
n
f(x))
(n+1)
. .
=0

d
n+1
dx
n+1
(x x
0
) (x x
n
)
. .
=(n+1)!
= f
(n+1)
() (n + 1)!,
also ist = f
(n+1)
()/(n + 1)!.
74
Alternativ: das kleinste Intervall, das x
0
, . . . , x
n
und x enth alt.
134 7 POLYNOME
7.4 Approximationsg ute von Interpolationspolynomen
Wir beginnen mit einer (trivialen) Folgerung aus Satz 7.28.
Korollar 7.30 F ur f C
n+1
(R) und x
0
, . . . , x
n
I R ist
|f L
n
f|
I
= max
xI
[f(x) L
n
f(x)[
_
_
f
(n+1)
_
_
I
(n + 1)!
max
xI
[x x
0
[ [x x
n
[ . (7.41)
Wollen wir nun, da der Interpolant L
n
f die Funktion f gut approximiert
75
, dann haben wir
nur eine Wahl: Wir m ussen die Interpolationspunkte x
0
, . . . , x
n
so w ahlen, da der Ausdruck
max
xI
[x x
0
[ [x x
n
[ = |( x
0
) ( x
n
)|
I
m oglichst klein wird. Wenn wir uns auf I = [1, 1] beschr anken, k onnen wir diese Punkte
explizit bestimmen, f ur beliebige Intervalle a, b verwendet man dann die Transformation
x a +
x + 1
2
(b a),
die [1, 1] linear auf [a, b] abbildet.
Bemerkung 7.31 Es bezeichne T
n

n
die Menge aller Polynome vom Grad n mit mono-
mialem Leitterm:
p T
n
p(x) = x
n
+ q(x), q
n1
.
Ist also p

das Polynom, f ur das


|p

|
I
= min
p1n
|p|
I
gilt, dann sind die Nullstellen
76
von p

optimale Interpolationspunkte.
Unser Ziel wird es nun sein, f ur alle n N
0
so ein optimales p

zu nden.
Denition 7.32 Das nte TschebyscheffPolynom
77
T
n
, n N, ist deniert als
T
n
(x) = cos (narccos x) .
Und, kaum zu glauben, aber wahr, die Tschebyscheffpolynome sind die L osung unseres
Problems.
75
Das w are ja wohl das, was man als gute Rekonstruktion bezeichnen w urde.
76
Man sollte aber schon nachweisen, da diese Nullstellen auch alle einfach und rell sind!
77
Es gibt eine Vielzahl von Transkriptionen des Namen Tschebyscheff, z.B. auch Chebychev, Chebychov.
7.4 Approximationsg ute von Interpolationspolynomen 135
Satz 7.33 Die Polynome 2
1n
T
n
geh oren zu T
n
, n 1
78
, und es gilt
_
_
2
1n
T
n
_
_
[1,1]
= min
p1n
| p |
[1,1]
. (7.42)
Die Nullstellen von T
n+1
79
, n N
0
, sind alle einfach und rell und damit optimale Interpolati-
onspunkte f ur
n
.
Korollar 7.34 Sei L

n
der Interpolationsoperator an den Nullstellen von T
n+1
. Dann ist
|f L

n
f|
[1,1]

_
_
f
(n+1)
_
_
[1,1]
2
n
(n + 1)!
. (7.43)
Um einzusehen, da tats achlich T
n

n
ist, brauchen wir etwas mehr Information uber die
TschebyscheffPolynome.
Lemma 7.35 Die TschebyscheffPolynome T
n
, n N, erf ullen die Rekursionsformel
T
0
(x) = 1, (7.44)
T
1
(x) = x, (7.45)
T
n+1
(x) = 2x T
n
(x) T
n1
(x), n N. (7.46)
Beweis: Die Anfangsbedingungen (7.44) und (7.44) folgen trivialerweise aus der Denition
(und cos 0 = 1).
Wir setzen x = cos , d.h., = arccos x, also T
n
(x) = cos n. Durch Addition der Additions-
theoreme
cos(n + 1) = cos n cos + sin n sin
cos(n 1) = cos n cos sin n sin
erhalten wir, da
cos(n + 1)
. .
=T
n+1
(x)
+cos(n 1)
. .
=T
n1
(x)
= 2 cos
..
=x
cos n
. .
=Tn(x)
,
also (7.46).
Als n achstes Information uber die Nullstellen.
Proposition 7.36 Die Nullstellen von T
n
sind
x
j
= cos
2j 1
2n
, j = 1, . . . , n. (7.47)
78
Der Fall n = 0 verlangt den Faktor 1 und nicht
1
2
, siehe (7.44); andererseits hat T
0
auch keine Nullstelle und
ist daher ohnehin zur Bestimmung von Interpolationsknoten ungeeignet.
79
Siehe (7.47).
136 7 POLYNOME
%% TschebNodes.m (Numerik 1)
%% --------------------------------------------------------
%% Tschebyscheffknoten
%% Eingabe:
%% n % Knoten
function X = TschebNodes( n )
X = zeros( 1,n+1 );
for j=1:n+1
X( j ) = cos( (2*j-1)/(2*n+2)*pi );
end
%endfunction
Programm 7.8 TschebNodes.m: Knotenvektor der Tschbyscheffpolynome.
Auerdem sind die Nullstellen von T
t
n
x
t
j
= cos
j
n
, j = 1, . . . , n 1, (7.48)
und es ist
80
, mit x
t
0
= 1, x
t
n
= 1,
T
n
_
x
t
j
_
= (1)
n+j
, j = 0, . . . , n. (7.49)
Also ist insbesondere |T
n
|
[1,1]
= 1.
Beweis: Es ist
T
n
(x
j
) = cos
_
narccos cos
2j 1
2n

_
= cos
2j 1
2
= 0, j = 1, . . . , n,
und mehr als n Nullstellen kann T
n
ja nun mal nicht haben, denn T
n
(x) = 2
n1
x
n
+ , 0
nach (7.46). Deswegen sind die Nullstellen auch alle einfach. Auerdem ist
T
t
n
(x) =
n

1 x
2
sin (narccos x)
und da x
t
j
,= 1, 1 und sin j = 0, j N
0
, ist auch T
t
n
(x
j
) = 0, j = 1, . . . , n 1. Also sind
die potentiellen Extrempunkte von T
n
auf dem Intervall [1, 1] die Punkte
1, x
t
1
, . . . , x
t
n1
, 1.
80
Wenn man genau ist: f ur n 1.
7.5 Die schlechte Nachricht 137
Aus (7.46) erhalten wir sofort, da T
n
(1) = (1)
n
und T
n
(1) = 1 und dar uberhinaus ist
T
n
_
x
t
j
_
= cos
j
n
= (1)
j
,
woraus (7.48) folgt.
Beweis von Satz 7.33: Da T
n
einfache, reelle Nullstellen hat, wurde ja in Proposition 7.36
bewiesen. Da 2
1n
T
n
T
n
folgt aus der Rekursionsformel (7.46). Auerdem wissen wir, da
|2
1n
T
n
|
[1,1]
= 2
1n
. Nehmen wir also an, es g abe ein p T
n
, so da
| p |
[1,1]
< 2
1n
und setzen wir q = 2
1n
T
n
p. Da 2
1n
T
n
, p T
n
, ist q
n1
. An den Stellen x
t
j
, j =
0, . . . , n
81
, ist dann
q
_
x
t
j
_
= (1)
j
2
1n
p (x
j
) =: (1)
j

j
, j = 0, . . . , n,
wobei
j
> 0, j = 0, . . . , n. Damit mu aber q zwischen x
t
j
und x
t
j+1
, j = 0, . . . , n 1,
mindestens eine Nullstelle haben, also hat q
n1
mindestens n Nullstellen und ist damit das
Nullpolynom. Dann f uhrt aber 2
1n
T
n
= p und somit
2
1n
> | p |
[1,1]
=
_
_
2
1n
T
n
_
_
[1,1]
= 2
1n
zum Widerspruch.
Tats achlich liefern die Tschebyscheffknoten entscheidend bessere Interpolanten als bei-
spielsweise gleichverteilte Knoten.
Beispiel 7.37 Wir betrachten die geschlossene polynomiale Kurve, die durch die Punkte (Matlab
Vektor f)
f =
_
0
1
4
1
2
3
4
1 1 1 1 1
3
4
1
2
1
4
0 0 0 0 0
0 0 0 0 0
1
4
1
2
3
4
1 1 1 1 1
3
4
1
2
1
4
0
_
auf dem Rand des Einheitsquadrats geht (siehe Abb. 7.5). Als Parameterbereich w ahlen wir
[1, 1] und interpolieren einmal an gleichverteilen Punkten mit
auxPlotNewton( f, (-1:1/8:1), (-1:.01:1) )
und einmal an den Tschebyscheffknoten:
auxPlotNewton( f, TschebNodes( 16 ), (-1:.01:1) )
Die Ergebnisse sind, wie Abb. 7.6 zeigt, sehr unterschiedlich.
138 7 POLYNOME
Abbildung 7.5: Interpolationsdaten f ur die Kurve. Frei ist noch die Wahl der zugeh origen
Parameter (=Knoten).
7.5 Die schlechte Nachricht
Da man also so toll, einfach und halbwegs stabil mit Polynomen modellieren (B ezierkurven)
und rekonstruieren (Interpolation) kann, werden es ja wohl alle CADSysteme und numerische
Anwendungen verwenden, oder? Die Antwort ist ja und nein: B ezierkurven sind in den meisten
Zeichenprogrammen tats achlich als ein Mittel zum Freihandzeichnen enthalten und polynomia-
le Interpolation versteckt sich tats achlich hinter einigen numerischen Verfahren. Aber:
Komplexit at und Instabilit at wachsen mit dem Grad des Polynoms an. Beispielsweise
dauert die Auswertung einer B ezierkurve mit 100 Kontrollpunkten doch schon ein bi-
chen.
Polynome sind global. Die

Anderung eines einzigen Kontrollpunkts andert die Kurve
uberall.
Interpolationspolynome haben einen krankhaften Drang, zu oszillieren, wie Abb. 7.7
zeigt. Allerdings sieht man dort auch, da es so richtig schlimm erst auerhalb der konve-
xen H ulle der Interpolationspunkte wird, aber auch in deren Inenren wird die Oszillation
f ur wachsenden Grad immer heftiger
Noch schlimmer ist aber die Empndlichkeit polynomialer Interpolation gegen St orungen.
Dazu ein Beispiel.
Beispiel 7.38 Wir betrachten die Parabel
82
p(x) = x(1x) und interpolieren an den 21 gleich-
verteilten Punkten 0,
1
20
, . . . , 1. Das Interpolationspolynomist auch kaumvon der Parabel selbst
zu unterscheiden (Abb. 7.8). St oren wir aber jeden Datenwert zuf allig um < 0.1%, dann erhal-
ten wir bereits eine ziemlich un ogliche Flugbahn (Abb. 7.8), st oren wir gar den Scheitel-
punkt um 1%, so wird der Interpolant endg ultig w ust, siehe Abb. 7.9. Auf der anderen Seite
81
Wir nehmen also die Grenzen 1 mit dazu.
82
Ein Schuft ist, wer an Geschobahnen dabei denkt.
7.5 Die schlechte Nachricht 139
-14
-12
-10
-8
-6
-4
-2
0
2
-14 -12 -10 -8 -6 -4 -2 0 2
Aequidistante Knoten
line 1
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
-0.2 0 0.2 0.4 0.6 0.8 1 1.2
Tschebyscheffknoten
line 1
line 2
Abbildung 7.6: Interpolation der Quadratkurve, einmal mit gleichverteilten Parameter-
werten f ur die Interpolationspunkte, einmal unter Verwendung der Tschebyscheffknoten.
zeigt Abb. 7.10, da sogar wesentlich heftigere St orungen 1% weggesteckt werden, wenn die
Tschebyscheffknoten verwendet werden.
Das Problem ist nur leider, da man sich in der Praxis die Interpolationspunkte nicht aussu-
chen kann, sondern da diese beispielsweise von den physikalischen Eigenschaften des Me-
prozesses vorgegeben werden. Auerdem ist das Hinzuf ugen von Punkten nicht mehr so ein-
fach: die Polynome T
n
und T
n+1
haben keine gemeinsamen Nullstellen
83
!
83
Wohl aber T
n
und T
2n
was auch in manchen Verfahren ausgenutzt wird.
140 7 POLYNOME
-2
-1.5
-1
-0.5
0
0.5
1
-4 -3 -2 -1 0 1 2 3 4
line 1
line 2
Abbildung 7.7: Interpolationspolynom, das den Wert 0 an 1, 2 und 1 an der Stelle 0
interpoliert. Nicht ganz das, was man gerne h atte.
0
0.05
0.1
0.15
0.2
0.25
0 0.2 0.4 0.6 0.8 1
Parabel an 21 Punkten
line 1
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0 0.2 0.4 0.6 0.8 1
Parabel an 21 Punkten, zufllige Strung, < 0.1%
line 1
Abbildung 7.8: Interpolanten vom Grad 20 f ur die Originaldaten und leicht (< 0.1%)
gest orte Werte.
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 0.2 0.4 0.6 0.8 1
Parabel an 21 Punkten, -1% am Scheitel
line 1
-4.5
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
0 0.2 0.4 0.6 0.8 1
Parabel an 21 Punkten, +1% am Scheitel
line 1
Abbildung 7.9: Interpolanten vom Grad 20 f ur St orung des Scheitelpunkts um 1%.
7.5 Die schlechte Nachricht 141
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0 0.2 0.4 0.6 0.8 1
line 1
line 2
-6
-5
-4
-3
-2
-1
0
1
-1.5 -1 -0.5 0 0.5 1 1.5
line 1
line 2
Abbildung 7.10: Zuf allige S orungen an allen Interpolationspunkten um < 1% tun bei Ver-
wendung der Tschebyscheffknoten bei weitem nicht so weh. Auch die Oszillation ist nicht
so gro, aber daf ur wird das Gef alle auerhalb von [1, 1] umso steiler.
142 8 SPLINES
Im Wort Gelehrter steckt nur der Begriff,
da man ihn vieles gelehrt, aber nicht,
da er auch etwas gelernt hat.
Lichtenberg
8 Splines
Um die Probleme polynomialer Kurven, insbesondere Interpolanten, also
Globalit at,
Oszillation,
hohe Komplexit at,
zu umgehen, brauchen wir eine Kurvenkonstruktion, bei der der Wert der Kurve nur lokal von
einem Teil der Koefzienten abh angt. Um die Lokalit at beschreiben und (exibel) kontrollieren
zu k onnen brauchen wir ein bichen Terminologie.
Denition 8.1 Seien n m 0
84
.
1. Eine Punktmenge T = T
m,n
= t
0
, . . . , t
n+m+1
R heit Knotenfolge der Ordnung m,
falls
t
0
t
1
t
n
t
n+m+1
(8.1)
und
t
j
< t
j+m+1
, j = 0, . . . , n. (8.2)
2. Die Knoten t
0
, . . . , t
m
bzw. t
n+1
, . . . , t
n+m+1
heien linke bzw. rechte Randknoten, die
Knoten t
m+1
, . . . , t
n
heien innere Knoten.
3. Dasjenige > 0
85
, f ur das
t
j1
< t
j
= = t
j+1
< t
j+
gilt, heit Vielfachheit des Knotens t
j
= = t
j+1
.
4. Das Intervall I
k
j
ist deniert als
I
k
j
= [t
j
, t
j+k
] , j = 0, . . . , n, k = 1, . . . , m.
84
Das ist formal ausreichend. Die Vorstellung ist allerdings, da n m und m sehr moderat (etwa m = 3)
ist.
85
Wie ultiplicity
8.1 Der Algorithmus von de Boor 143
8.1 Der Algorithmus von de Boor
Als n achstes denieren wir uns auf algorithmische Weise die Kurven, die uns interessieren
werden.
Algorithmus 8.2 (de Boor)
Gegeben: Knotenfolge T = T
m,n
, Kontrollpunkte d
0
, . . . , d
n
R
d
und x [t
m
, . . . , t
n+1
].
1. Bestimme r m, . . . , n so da x [t
r
, t
r+1
).
86
2. Setze
d
0
k
(x) = d
k
, k = r m, . . . , r.
3. F ur j = 1, . . . , m berechne
d
j
k
(x) = u
0
_
x[I
mj+1
k
_
d
j1
k1
(x) + u
1
_
x[I
mj+1
k
_
d
j1
k
(x), k = r m + j, . . . , r.
(8.3)
4. Ergebnis: N
m,T
d(x) := d
m
r
(x).
Abbildung 8.1: Der Algorithmus von de Boor f ur m = 3 und einen einfachen sowie einen
doppelten Knoten.
Die Abbildung 8.1 zeigt, was beim Algorithmus von de Boor passiert: im jten Schritt
werden alle Intervalle abgearbeitet, die mj +2 Knoten und den Punkt x enthalten. Der Index
r aus Schritt 1 im obigen Algorithmus ist eindeutig, solange x nicht gerade mit einem Knoten
ubereinstimmt.
86
Ein solches r existiert nicht, wenn t
n+1
= = t
n+m+1
ein (m + 1)facher Randknoten und x = t
n+1
ist.
Wir k onnen uns aber dadurch behelfen, da wir uns in diesem Fall irgendein t
n+m+2
> t
n+m+1
dazuernden und
mit r = n + m weitermachen.
144 8 SPLINES
%% deBoor.m (Numerik 1)
%% --------------------------------------------------------
%% Algorithmus von de Boor
%% Eingabe:
%% d Kontrollpunkte (vektorwertig!)
%% T Knotenvektor
%% x Stelle
function y = deBoor( d,T,x )
n = length( d );
m = length( T ) - n - 1;
% Finde Knoten
r = m+1;
while (r < n ) & ( x >= T( r+1 ) )
r = r + 1;
end
% Behebe Problem mit rechtem Randpunkt bei (m+1)-fachen Knoten
if ( r == n )
y = d( :,n );
end
% Schleife (mit Ueberschreiben)
for j = 1:m
for k = r:-1:r-m+j
u = ( T( k+m-j+1 ) - x ) / ( T( k+m-j+1) - T( k ) );
d( :,k ) = u * d( :,k-1) + (1-u) * d( :,k );
end
end
y = d( :,r );
%endfunction
Programm 8.1 deBoor.m: Der Algorithmus von de Boor mit

Uberschreiben des Koefzi-
entenvektors.
8.1 Der Algorithmus von de Boor 145
Bemerkung 8.3 Der Index r, der durch die Forderung x [t
r
, t
r+1
) in Algorithmus 8.2 fest-
gelegt ist, beeinut nicht die Berechnungsformel, sondern lediglich, welche Kontrollpunkte
zur Berechnung zu verwenden sind. Man k onnte auch den folgenden, modizierten Algorithmus
verwenden:
1. Setze
d
0
k
(x) = d
k
, k = 0, . . . , n.
2. F ur j = 1, . . . , m berechne
d
j
k
(x) = u
0
_
x[I
mj+1
k
_
d
j1
k1
(x) + u
1
_
x[I
mj+1
k
_
d
j1
k
(x), k = j, . . . , n. (8.4)
3. W ahle die rte Komponente aus dem Ergebnisvektor (d
m
k
(x) : k = m, . . . , n).
Aber: der Rechenaufwand dieses Verfahrens ist wesentlich h oher, n amlich O(nm) Operationen
im Gegensatz zu O(m
2
) im Algorithmus von de Boor. Und normalerweise ist n m!
Denition 8.4 Die Kurve N
m,T
d : [t
m
, t
n+1
] heit Splinekurve der Ordnung m
87
.
Als n achstes ein paar einfache Eigenschaften der Splinekurve, die sofort aus dem Algorith-
mus folgen:
1. Die Splinekurve ist nur auf dem Intervall [t
m
, t
n+1
], das von den beiden innersten Rand-
knoten gebildet wird, deniert. Die anderen Randknoten beeinussen aber nat urlich den
Wert der Splinekurve, zumindest in der N ahe des Randes
88
.
2. Es ist selbstverst andlich nicht verboten, die Randknoten alle identisch, also (m+1)fach,
zu w ahlen. Im Gegenteil, dieser Fall hat eine nette Eigenschaft: f ur x = t
m
(also r = m)
ist dann f ur j = 1, . . . , m und k = r m + j, . . . , r = j, . . . , m
89
das Intervall
I
mj+1
k
= [t
k
, t
k+mj+1
] = [t
m
, t
k+mj+1
]
zu betrachten
90
und somit ist
u
0
_
x[I
mj+1
k
_
= u
0
(t
m
[ [t
m
, t
k+mj+1
]) = 1, k = rm+j, . . . , r, j = 1, . . . , m,
also auch
d
j
rm+j
(x) = d
j
j
(x) = d
0
,
insbesondere ist also d
0
= d
m
m
(t
m
) = N
m,T
(t
m
). Da dasselbe f ur den rechten Rand
gemacht werden kann, besitzen also die Splinekurven die Eigenschaft der Endpunktinter-
polation, wenn wir (m + 1)fache Randknoten verwenden.
3. Dies gilt nat urlich nicht nur f ur Randknoten: An jedem mfachen inneren Knoten t
j
=
= t
j+m1
wird der entsprechende Koefzient d
jm
interpoliert, d.h. N
m,T
d(t
j
) =
146 8 SPLINES
Abbildung 8.2: Der de BoorAlgorithmus an einem mfachen Knoten t
j
(nur auseinander-
gezogen gezeichet), f ur m = 3. Die Zwischenpunkte in jedem Schritt sind die Kontroll-
punkte und am Schlu bleibt nur d
jm
ubrig.
d
jm
. An einem m+ 1fachen Knoten werden also sogar d
jm
und d
jm+1
interpoliert,
die Kurve wird dort also normalerweise nicht mehr stetig sein.
4. Spezialisieren wir noch ein bichen: Ist obendrein noch m = n, haben wir also
t
0
= = t
n
< t
n+1
= = t
2n+1
,
dann ist der Algorithmus von de Boor nichts anderes als der Algorithmus von de Casteljau
und es ist
N
n,T
d = B
n
d.
5. F ur alle x (t
r
, t
r+1
)
91
werden dieselben Bezugsintervalle I
mj+1
k
verwendet und damit
87
Oder der Ordnung m + 1! Es gibt hier (mindestens) zwei konkurrierende Terminologien. Daher ist bei der
Verwendung von Splineliteratur oder von SplineToolboxen (z.B. in Matlab) erh ohte Vorsicht angesagt.
88
Genauer: auf den beiden Intervallen [t
m
, t
m+1
] und [t
n
, t
n+1
]
89
Wegen r = m
90
Schlielich ist t
j
= = t
m
, j = 1, . . . , m.
91
Achtung: Ist t
r
= t
r+1
, dann ist (t
r
, t
r+1
) = !
8.2 Splines und Interpolation 147
ist N
m,T
d[
(tr,t
r+1
)
ein Produkt von m afnen Funktionen, also ein Polynom vom Grad
m. Anders gesagt:
Splinekurven sind st uckweise Polynome!
6. Da
N
m,T
(d + d
t
) = N
m,T
d + N
m,T
d
t
k onnen wir d als
d =
n

j=0
d
j

j
,
j
= (0, . . . , 0, 1, 0, . . . , 0).

j
,
und damit die Splinekurve als Linearkombination
N
m,T
d(x) =
n

j=0
d
j
N
m
j
(x[T) . (8.5)
schreiben.
7. Wie erhalten wir also die sogenannten BSplines? Ganz einfach: Wir lassen den Algo-
rithmus von de Boor auf die skalaren Kontrollpunkte
j
los.
Denition 8.5 Die Funktion N
m
j
([T), aus (8.5) heit jter BSpline der Ordnung mbez uglich
der Knotenfolge T.
8.2 Splines und Interpolation
Im Zusammenhang mit dieser Vorlesung wollen wir uns im wesentlichen mit der Frage befas-
sen, ob und wann es m oglich ist, mit Splines zu interpolieren. Das wesentliche Resultat, mit
dessen Beweis wir uns den Rest dieses Kapitels besch aftigen werden, ist wie folgt.
Satz 8.6 Es sei T = T
m,n
eine Knotenfolge und es seien x
0
< x
1
< < x
n
R.
1. ( SchoenbergWhitney ) Das Interpolationsproblem
N
m,T
d(x
j
) = f
j
, j = 0, . . . , n, (8.6)
ist genau dann f ur alle f R
dn+1
eindeutig l osbar, wenn
t
j
< x
j
< t
j+m+1
, j = 0, . . . , n. (8.7)
2. Ist (8.7) erf ullt, dann ist die Kollokationsmatrix
[N
m
k
(x
j
[ T) : j, k = 0, . . . , n] (8.8)
(m, m)bandiert und total nichtnegativ.
148 8 SPLINES
Bemerkung 8.7 1. Die Bedingung (8.7), die die Knoten und die Interpolationspunkte mit-
einander in Beziegung setzt, kann man auch anders schreiben, wenn man j durch jm1
ersetzt und das Ergebnis, t
jm1
< x
jm1
< t
j
, mit (8.7) zu
x
jm1
< t
j
< x
j
, j = m + 1, . . . , n, (8.9)
zusammenfasst, was gerade Bedingungen an die Lage der inneren Knoten liefert, siehe
Denition 8.1.
2. Zusammen mit (8.7) und kann x
j
(t
k
, t
k+m+1
) aber nur dann gelten kann, wenn
j k + m und j + m k k m j k + m
ist. Da, wie wir in Lemma 8.14 herausnden werden, der BSpline N
m
k
( [ T) aber nur im
offenen Intervall (t
k
, t
k+m+1
) von Null verschieden
92
ist, liefert diese Beobachtung auch
bereits die (m, m)Bandiertheit der Kollokationsmatrix (8.8).
Bevor wir uns daran machen, uns die Splines genauer anzusehen, erst einmal ein einfaches
Beispiel, das Satz 8.6 ein bichen illustriert.
Beispiel 8.8 Wir setzen m = 1 und betrachten eine Knotenfolge T = T
n,1
= t
0
< < t
n+2
93
.
1. Im Algorithmus von de Boor m ussen wir einen Schritt berechnen, bei dem die baryzentri-
schen Koordinaten von x bez uglich des Intervalls [t
k
, t
k+1
] verwendet werden, um d
k1
und d
k
zu kombinieren, k = 1, . . . , n. Damit ist aber N
1,T
d nichts anderes als die st uck-
weise lineare Funktion mit Bruchstellen an t
1
, . . . , t
n
, die die Punkte d
0
, . . . , d
n
ver-
bindet.
2. Damit k onnen wir N
1,T
d als
N
1,T
d =
n

j=0
d
j
N
1
j
([T)
schreiben, wobei
N
1
j
(x[T) =
_

_
0 x < t
j
,
xt
j
t
j+1
t
j
x [t
j
, t
j+1
] ,
t
j+2
x
t
j+2
t
j+1
x [t
j+1
, t
j+2
] ,
0 x > t
j+2
.
92
Und sogar strikt positiv!
93
Es sind jetzt also alle Knoten, auch die Randknoten, einfach aber nur um der Einfachheit willen.
8.2 Splines und Interpolation 149
d0
d1
d2
d3
d4
t0 t1 t2 t3 t4 t5 t6
Abbildung 8.3: Die lineare Splinekurve (Ordnung m = 1).
3. Was bedeutet nun die SchoenbergWhitneyBedingung (8.7)? Zuerst einmal mu der In-
terpolationspunkt x
j
im offenen Intervall [t
j
, t
j+2
], also im Tr ager von N
1
j
, liegen. Das
garantiert also schon einmal, da aller Basisfunktionen beim Interpolieren mitmachen
d urfen ubrigens, w are das nicht der Fall, dann h atte die Kollookationsmatrix eine Null-
zeile, w are nicht invertierbar und damit das Interpolationsproblem unl osbar.
Umgekehrt garantiert (8.7) aber auch, da in jedem Knotenintervall h ochstens zwei In-
terpolationspunkte liegen sehr vern unftig, denn durch zwei Punkte l at sich gerade
noch eine Gerade legen. Drei oder mehr Interpolationspunkte in einem Knotenintervall
erg aben im allgemeinen wieder ein unl osbares Interpolationsproblem.
Liegen auerdem zwei Punkte im Inneren eines Knotenintervalls, dann darf in den be-
nachbarten Intervallen nur jeweils ein Knoten liegen; l agen n amlich in zwei benachbar-
ten Intervallen zwei Interpolationspunkte, dann ist es einfach, die Interpolationsbedin-
gungen an diesen Punktpaaren so festzulegen, da sich die beiden Streckenz uge nicht in
dem dazwischenliegenden Knoten schneiden und damit ist dann auch der Spline futsch.
4. Insbesondere liefert (8.7) aber auch, da N
1
j
h ochstens an x
j1
, x
j
und x
j+1
einen von
Null verschiedenen Wert hat (und wenn verschieden, dann > 0). Also hat die Kollokati-
onsmatrix die Form
_

_


.
.
.
.
.
.
.
.
.


_

_
,
ist also (1, 1)bandiert oder tridiagonal. Die totale Positivit at ist allerdings nicht so of-
fensichtlich.
150 8 SPLINES
t0 t1 t2 t3 t4 t5 t6
1
N0 N1 N2 N3 N4
Abbildung 8.4: Die zugeh origen vier BSplines zur Splinekurve aus Abb 8.3.
5. Es gibt noch einen besonders einfachen Fall: x
j
= t
j+1
. Dann ist die Kollokationsmatrix
sogar die (0, 0)bandierte Einheitsmatrix und d
j
= f
j
, aber so einfach ists halt nicht
immer.
Als Folgerung aus dem Satz von SchoenbergWhitney k onnen wir einen besonderen Splin-
einterpolanten herleiten.
Satz 8.9 Sei m = 2r +1 N und T = T
m,n
eine Knotenfolge mit einfachen Knoten. Dann gibt
es zu vorgegebenen Werten f
j
, j = 0, . . . , n m + 1, einen Spline N
m,T
d, so da
94
N
m,T
d(t
m+j
) = f
j
, j = 0, . . . , n m + 1, (8.10)
N
(k)
m,T
d(t

) = 0, k = r + 1, . . . , 2r, = m, n + 1. (8.11)
Ist n m + r, dann ist dieser interpolierende Spline eindeutig.
Denition 8.10 Der
95
Spline, der die Bedingungen (8.10) und (8.11) erf ullt, heit nat urlicher
Splineinterpolant an den Knoten t
m
, . . . , t
n+1
.
Beweis: Nach dem Satz von SchoenbergWhitney, Satz 8.6, ist bei einfachen Knoten das Splin-
einterpolationsproblem f ur
x
j
= t
j+r+1
(t
j
, t
j+2r+1
) , j = 0, . . . , n,
eindeutig l osbar. Dabei verwenden wir, zus atzlich zu den n+2m = n+12r Bedingungen
aus (8.10) noch Interpolationsbedingungen an den letzten r linken und den ersten r rechten
94
Der Spline interpoliert als an den inneren Knoten und den innersten Randknoten.
95
F ur n m + r ist es der, sonst nur ein . . ..
8.2 Splines und Interpolation 151
Randknoten; insgesamt sind ja auf jeder Seite m + 1 = 2r + 2 > r Randknoten. Seien nun
s
r
, . . . , s
r
die L osungen des Interpolationsproblems, das man erh alt, wenn man zus atzlich zu
(8.10) noch
s
j
(x
k
) =
_
_
_
1 j < 0 und k = r j,
1 j > 0 und k = n + j r,
0 sonst,
k = 0, . . . , r 1, n + 1, . . . , n + r,
fordert. Alle diese Splines interpolieren an den Punkten t
m
, . . . , t
n+1
, aber haben ein unter-
schiedliches Verhalten an den 2r zus atzlichen Punkten t
r+1
, . . . , t
m1
und t
n+2
, . . . , t
n+r+1
: s
0
verschwindet dort, w ahrend s
1
, . . . , s
r
jeweils an einemder linken Zusatzknoten, s
1
, . . . , s
r
an einem der rechten Zusatzknoten den Wert 1 annehmen, siehe Abb. 8.5.
Diese m = 2r + 1 Splines sind ,= 0 und linear unabh anging. Betrachten wir nun das lineare
Gleichungssystem f ur a
r
, . . . , a
r
, das gegeben ist durch
r

j=r
a
j
s
(k)
j
(t

) = 0, k = r + 1, . . . , 2r, = m, n + 1,
dann sind dies 2r Gleichungen in den 2r + 1 Unbekannten a
r
, . . . , a
r
, und es gibt immer
(mindestens) eine nichttriviale L osung a

r
, . . . , a

r
, die entweder a

r
+ + a

r
= 0 erf ullt,
oder die man so normieren kann, da a

r
+ + a

r
= 1. Auf alle F alle setzen wir
s =
r

j=r
a

j
s
j
und da f ur j = 0, . . . , n m + 1
s (t
m+j
) =
r

k=r
a

k
s
k
(t
j+m
)
. .
=f
j
= f
j
r

k=r
a

k
,
ist s entweder eine L osung von (8.10) oder ein L osung des homogenen Problems
96
zu (8.10),
je nachdem, ob

a

j
den Wert 1 oder 0 hat, aber erf ullt immer auch zus atzlich (8.11). Wir
haben also entweder unseren gew unschten Spline gefunden, und die Eindeutigkeit folgt aus dem
n achsten Resultat, das auch die Namensgebung rechtfertigt, oder aber eine nichttriviale L osung
des homogenen Problems. Nach Satz 8.11 w are dann aber s
(r+1)
= 0, also s ein Polynom vom
Grad r ein Trivialfall, der nur eintreten kann, wenn wir zu wenige innere Knoten haben, also
wieder, wenn n < m + r ist. In diesem Fall existiert aber unser interpolierender nat urlicher
Spline trivialerweise: er ist der polynomiale Interpolant vom Grad n m!
F ur k N
0
und I R denieren wir die Energienormen
97
[f[
k,I
=
__
I

f
(k)
(x)

2
dx
_
1/2
, f C
(k)
(I).
96
Also mit rechter Seite 0.
97
Die allerdings nur Halbnormen sind.
152 8 SPLINES
t[m] t[n+1]
t[m1] t[n+2] t[n+r+1] t[r+1]
= f
s[1] s[r] s[1] s[r] ... ...
Abbildung 8.5: Das erweiterte Interpolationsproblem aus dem Beweis von Satz 8.9. Auf
demunterlegten Bereich interpolieren alle Splines die vorgegebenen Werte, an den Zusatz-
punkten hat genau einer von ihnen den Wert 1, alle andere den Wert 0; nur s
0
verschwindet
an allen aueren Punkten.
Im Spezialfall k = 2, der, wie wir gleich sehen werden, zu m = 3 geh ort, ist dies das Integral
uber das Quadrat der zweiten Ableitung, eine N aherung f ur die Biegeenergie. Daher ubrigens
auch der Name Spline
98
: Ein Spline
99
ist ein Kurvenlineal, bei dem ein mehr oder weniger
beweglicher Streifen mit Hilfe von Gewichten durch gewisse Punkte gezwungen wird, siehe
Abb. 8.6. Da der Streifen sich so legt, da die Biegeenergie
100
minimiert wird, bezeichnet
Abbildung 8.6: Ein richtiger Spline, also das Kurvenlineal. Die moderne Form besteht
aus einem nicht allzu exiblen Plastikstreifen und (richtig schweren) Gewichten, die die
Interpolationspunkte xieren. Vielen Dank an Herrn Dr. Hollenhorst vom Hochschulre-
chenzentrum der JLU Gieen, der diesen Spline freundlicherweise zur Verf ugung stellte.
98
Wenn man es genau nimmt, ist also ein Spline gar kein Spline.
99
Im Schiffsbau als Straklatte bezeichnet.
8.2 Splines und Interpolation 153
man den kubischen
101
Spline mit den den Randbedingungen aus Satz 8.11
102
als nat urlichen
Spline, weil er das nat urliche Objekt Spline simuliert. Dabei ensteht die Nat urlichkeit
aus den Randbedingungen (8.11) f ur m = 3, also r = 1, also aus
N
tt
m,T
d(t
m
) = N
tt
m,T
d(t
n+1
) = 0 (8.12)
am ersten und letzten Interpolationspunkt, siehe Abb. 8.7. Hierbei kann man (8.12) so interpre-
Abbildung 8.7: Die nat urliche Randbedingung des kubischen Splines: Rechts vom letz-
ten Knoten und damit Interpolationspunkt werden auf das Lineal keine Biegekr afte mehr
ausge ubt und es nimmt den energieminimalen linearen Verlauf an.
tieren, da links von t
m
und rechts von t
n+1
die Kurve N
m,T
linear fortgesetzt werden soll, was
auch genau das ist, was ein elastisches Material wie der Plastikstreifen tun wird, wenn keine
weiteren Anstrengungen unternommen werden, ihn zu biegen.
Satz 8.11 (Minimalit atseigenschaften) Es sei m = 2r + 1 N und T = T
m,n
eine einfache
Knotenfolge. F ur f C
r+1
(I) sei S
f
= N
m,T
d ein Spline, der (8.10) und (8.11) erf ullt. Dann
ist
[S
f
[
r+1,I
[f[
r+1,I
(8.13)
Beweis: Wir beginnen mit
[f S
f
[
2
r+1,I
=
_
I
_
f
(r+1)
(x) (S
f
)
(r+1)
(x)
_
2
dx
100
Und die entspricht dem Quadratintegral uber die zweite Ableitung, solange die Kr ummung im Vergleich zur
Ableitung klein ist.
101
Zweite Ableitung!
102
Die gerade f ur die Minimalit at sorgen werden.
154 8 SPLINES
=
_
I
_
f
(r+1)
(x)
_
2
2f
(r+1)
(x)(S
f
)
(r+1)
(x) +
_
(S
f
)
(r+1)
(x)
_
2
dx
= [f[
2
r+1,I
2
_
I
_
f
(r+1)
(x) (S
f
)
(r+1)
(x)
_
(S
f
)
(r+1)
(x) dx [S
f
[
2
r+1,I
. (8.14)
F ur j = m, . . . , n verwendet man partielle Integration, um zu zeigen, da
t
j+1
_
t
j
_
f
(r+1)
(x) S
(r+1)
f
(x)
_
S
(r+1)
f
(x) dx
=
_
f
(r)
(x) S
(r)
f
(x)
_
S
(r+1)
f
(x)

t
j+1
t
j

t
j+1
_
t
j
_
f
(r)
(x) S
(r)
f
(x)
_
S
(r+2)
f
(x) dx
=
k

l=0
(1)
rl
_
f
(rl)
(x) S
(rl)
f
(x)
_
S
(r+l+1)
f
(x)

t
j+1
t
j
+(1)
k+1
t
j+1
_
t
j
_
f
(rk)
(x) S
(rk)
f
(x)
_
S
(r+k+2)
f
(x)
. .
=0f urk=r
dx, k = 1, . . . , r
=
r

l=0
(1)
rl
_
f
(rl)
(x) S
(rl)
f
(x)
_
S
(r+l+1)
f
(x)

t
j+1
t
j
,
Summation uber j = m, . . . , n liefert dann, da
103
_
I
_
f
(r+1)
(x) S
(r+1)
f
(x)
_
S
(r+1)
f
(x) dx
=
r

l=0
(1)
rl
_
f
(rl)
(x) S
(rl)
f
(x)
_
S
(r+l+1)
f
(x)

t
n+1
tm
= 0.
Beachte: Der Term f ur l = r verschwindet, weil S
f
die Funktion f an den Stellen t
m
, t
n+1
interpoliert, die Terme f ur l = 0, . . . , r 1 hingegen wegen (8.11). Einsetzen in (8.14) liefert
schlielich
[S
f
[
2
r+1,I
= [f[
2
r+1,I
[f S
f
[
2
r+1,I
[f[
2
r+1,I
.
Hierbei gilt Gleichheit genau dann, wenn f S
f

r
.
Das zeigt auch die Eindeutigkeit des nat urlichen Splineinterpolanten wenn n m + r: Ist f
irgendeine andere Minimall osung des Interpolationsproblems, dann ist f S
f

r
, mu aber
an mindestens r + 1 Stellen (den Interpolationspunkten) verschwinden. Also ist f = S
f
.

Ubung 8.1 Was sind die kleinsten Zahlen p, q, so da die Kollokationsmatrix zum nat urliche
Splineinterpolant der Ordnung m = 2r + 1 eine (p, q)bandierte Matrix ist.
Bei de Boor ndet man zu diesem Thema die folgende Aussage:
103
Die Werte an den inneren Knoten tauchen stets zweimal, aber mit unterschiedlichen Vorzeichen auf.
8.3 Eigenschaften der BSplines 155
Die Extremaleigenschaft des interpolierenden Splines wird h aug f ur die groe
praktische N utzlichkeit der Splines verantwortlich gemacht. Dies ist jedoch glatter
Volksbetrug . . ..
8.3 Eigenschaften der BSplines
Bevor wir uns mit BSplines befassen, sehen wir uns in Abb. 8.8 erst einmal ein paar davon an.
Abbildung 8.8: Eine kleine Kollektion kubischer BSplines (m = 3) mit vierfachen Rand-
knoten. In linken Bild sind die inneren Knoten gleichverteilt, im rechten Bild in der linken
H alfte konzentriert.
Das erste wichtige Resultat ist eine Rekursionsformel f ur BSplines, mit deren Hilfe man
BSplines der Ordnung m aus BSplines der Ordnung m 1 berechnen kann. Diese Formel
geht auf Carl de Boor zur uck.
Satz 8.12 (Rekursionsformel f ur BSplines) Sei T = T
m,n
eine Knotenfolge.
1. Die BSplines der Ordnung 0 haben die Form
N
0
j
(x[T) =
[t
j
,t
j+1
)
(x) =
_
1 x [t
j
, t
j+1
) ,
0 x , [t
j
, t
j+1
) ,
j = 0, . . . , n + m. (8.15)
2. F ur 1 gilt
N

j
(x[T) = u
1
_
x[I

j
_
N
1
j
(x[T) + u
0
_
x[I

j+1
_
N
1
j+1
(x[T) , (8.16)
j = 0, . . . , n + m.
Bemerkung 8.13
156 8 SPLINES
1. In den Ausdr ucken N

j
([T) sollte man T = T
m,n
als T = T
,n+m
auffassen. Und
damit gibt es eben auch nicht n sondern n + m BSplines der Ordnung zu einer
vorgegebenen Knotenfolge T = T
m,n
.
2. Explizit geschrieben lautet (8.16)
N

j
(x[T) =
x t
j
t
j+
t
j
N
1
j
(x[T) +
t
j++1
x
t
j++1
t
j+1
N
1
j+1
(x[T) , (8.17)
j = 0, . . . , n + m.
3. Die Formel (8.17) ist f ur + 1fache Knoten nicht deniert kein Wunder, da dann auch
der Spline N
1
j
oder N
1
j+1
nicht mehr vern unftig deniert ist
104
. In diesem Fall l at man
den entsprechenden Term in (8.17) einfach wegfallen.
Lemma 8.14 Die BSplines sind nichtnegative Funktionen mit kompaktem Tr ager. Genauer:
N
m
j
(x[T) > 0, x (t
j
, t
j+m+1
) , und N
m
j
(x[T) = 0, x , [t
j
, t
j+m+1
] . (8.18)
Beweis: Wir erinnern uns, da zur Bestimmung des Wertes an der Stelle x [t
r
, t
r+1
) gerade
die Kontrollpunkte d
rm
, . . . , d
r
verwendet werden. Um N
m
j
(x[T) ,= 0 zu erhalten, mu also
j r m, . . . , r oder eben r j, . . . , j + m gelten. Damit verschwindet der BSpline
N
m
j
(x[T) auerhalb von [t
j
, . . . , t
j+m+1
]. Gilt andererseits x (t
r
, t
r+1
) und ist r j, . . . , j+
m, dann sind wegen
(t
r
, t
r+1
)
_
(t
j
, t
j+mk+1
) , j = r m + k, . . . , r,
I
mk+1
r
,
, k = 1, . . . , m,
alle baryzentrischen Koordinaten in (8.3) strikt positiv und damit ist auch
d
1
j
(x) = u
0
_
x[I
m
j
_
d
0
j1
(x)
. .
=d
j1
=0
+u
1
_
x[I
m
j
_
d
0
j
(x)
. .
=d
j
=1
= u
1
_
x[I
m
j
_
> 0
sowie
d
1
j+1
(x) = u
0
_
x[I
m
j+1
_
d
0
j
(x)
. .
=d
j
=1
+u
1
_
x[I
m
j+1
_
d
0
j
(x)
. .
=d
j+1
=0
= u
0
_
x[I
m
j+1
_
> 0.
Mit demselben Argument
105
ergibt sich dann, da
d

k
(x) > 0, k = j, . . . , j +
Also ist auch N
m
j
(x[T) = d
m
r
(x) > 0, da r j, . . . , j + m.
104
Genauer: Der Spline w are, wie wir gleich sehen werden, nur auf der leeren Menge von Null verschieden.
105
Man ersetzt d
1
j
(x) durch d
+1
j
(x)
8.4 Der Splineraum 157
Lemma 8.15 Die BSplines bilden eine nichtnegative Teilung der Eins, d.h.
n

j=0
N
m
j
([T) 1. (8.19)
Beweis: Ist d
0
= = d
n
= 1, also d
0
k
(x) = 1, k = 0, . . . , n, dann ist, nach (8.4) und
Induktion uber j,
d
j
k
(x) = u
0
_
x[I
mj+1
k
_
d
j1
k1
(x) + u
1
_
x[I
mj+1
k
_
d
j1
k
(x)
= u
0
_
x[I
mj+1
k
_
+ u
1
_
x[I
mj+1
k
_
= 1, k = j, . . . , m.

Beweis von Satz 8.12: Nach Lemma 8.14 haben die BSplines N
0
j
([T), j = 0, . . . , n+m, als
Tr ager das Intervall [t
j
, t
j+1
), insbesondere sind also die Tr ager der verschiedenen BSplines
disjunkt und Lemma 8.15 liefert (8.15).
Um N
m
j
([T) mit Hilfe der BSplines der Ordnung m1 ausdr ucken zu k onnen, benutzen wir
die Zwischenpunkte d
1
j
(x), j = 1, . . . , n, aus (8.4) und schreiben
N
m,T
d(x) =
n

j=0
d
j
N
m
j
(x[T) =
n

j=1
d
1
j
(x) N
m1
j
(x[T) . (8.20)
Ist insbesondere d
j
=
jk
, dann ist, nach (8.3)
d
1
j
(x) = u
0
_
x[I
m
j
_
d
j1
+ u
1
_
x[I
m
j
_
d
j
=
_
_
_
u
1
(x[I
m
k
) j = k,
u
0
_
x[I
m
k+1
_
j = k + 1,
0 sonst.
(8.21)
Setzt man (8.21) in (8.20) ein, dann ergibt sich
N
m
j
(x[T) = u
1
_
x[I
m
j
_
N
m1
j
(x[T) + u
0
_
x[I
m
j+1
_
N
m1
j+1
(x[T) . (8.22)

8.4 Der Splineraum


Das B bei den BSplines kommt nat urlich nicht von ungef ahr: die BSplines bilden eine
Basis eines bestimmten Raums von st uckweise polynomialen Funktionen.
Denition 8.16 Zu m Nund einer Knotenfolge T = T
m,n
ist der SplineraumS
m
(T) deniert
als Menge aller
1. st uckweisen Polynome
106
f S
m
(T) = f[
(t
j
,t
j+1
)

m
, j = m, . . . , n, (8.23)
106
Nicht vergessen: Eingschr ankt auf die leere Menge hat jede Funktion jede Eigenschaft, deswegen vorsichts-
halber die offenen Intervalle.
158 8 SPLINES
2. die an einem fachen Knoten t
j
, t
j1
< t
j
= = t
j+1
< t
j+
, differenzierbar von
der Ordnung m sind:
f S
m
(T) = f C
m
(t
j1
, t
j+
) . (8.24)
Offensichtlich ist S
m
(T) ein Vektorraum, das heit,
f, g S
m
(T) = f + g S
m
(T), , R.
Satz 8.17 (CurrySchoenberg) F ur jedes m N und jede Knotenfolge T = T
m,n
sind die
BSplines N
m
j
([T) eine Basis von S
m
(T).
F ur diesen Satz ist mehr zu beweisen, als man zuerst denken mag: zwar folgt (8.23) sofort
aus dem Algorithmus von de Boor, aber wir m ussen trotzdem noch zeigen, da die BSplines
linear unabh angig sind, die gew unschten Differenzierbarkeitseigenschaften haben und da die
Dimension von S
m
(T) tats achlich n + 1 ist. Es gibt einen sehr sch onen Beweis von Satz 8.17,
bei dem man die Kontrollpunkte zu einer st uckweise polynomialen Kurve direkt angeben kann,
aber dieser beruht auf dem sogenannten Blossoming Principle und ist eher etwas f ur eine
Spezialvorlesung
107
. Hier wollen wir den direkten Weg gehen. Daf ur m ussen wir aber eine
zus atzliche Annahme machen, indem wir fordern, da
t
m
< t
m+1
und t
n
< t
n+1
, (8.25)
da also kein Randknoten als innerer Knoten auftritt
108
. Dies ist insbesondere f ur (m+1)fache
Randknoten der Fall.
Eine sehr hilfreich Aussage, die uns mit ein bichen Rechenarbeit konfrontieren wird, ist
eine Formel f ur die Ableitung eines BSplines.
Lemma 8.18 Sei m N und T = T
m,n
eine Knotenfolge. Dann ist, f ur x R T,
d
dx
N
m
j
(x[T) =
m
t
j+m
t
j
N
m1
j
(x[T)
m
t
j+m+1
t
j+1
N
m1
j+1
(x[T) , j = 0, . . . , n.
(8.26)
Ist t
j
oder t
j+1
ein Knoten der Vielfachheit m + 1, dann macht (8.26) zuerst einmal keinen
Sinn. Allerdings ist in diesem Fall auch das Tr agerintervall des betreffenden BSplines N
m1
j
oder N
m1
j+1
auch eine einpunktige Teilmenge von T, was die Division durch 0 wieder kompen-
siert.
107
leider . . .
108
Klingt irgendwo plausibel.
8.4 Der Splineraum 159
Beweis: Induktion uber m. Da N
m
j
auf jeder offenen und konvexen Teilmenge U RT
109
ein
Polynomist, k onnen wir immer und uberall nach Herzenslust differenzieren. Unter Verwendung
von (8.17) ergibt sich dann
_
d
dx
N
m
j
([T)
_
(x)
=
_
d
dx
_
t
j
t
j+m
t
j
N
m1
j
([T) +
t
j+m+1

t
j+m+1
t
j+1
N
m1
j+1
([T)
__
(x)
=
1
t
j+m
t
j
N
m1
k
([T)
1
t
j+m+1
t
j+1
N
m1
j+1
([T)
+
x t
j
t
j+m
t
j
d
dx
_
N
m1
j
([T)
_
(x) +
t
j+m+1
x
t
j+m+1
t
j+1
d
dx
_
N
m1
j+1
([T)
_
(x). (8.27)
Unter Verwendung der Induktionshypothese und mit (8.17) ergeben sich dann
x t
j
t
j+m
t
j
d
dx
_
N
m1
j
([T)
_
(x)
=
x t
j
t
j+m
t
j
_
m1
t
j+m1
t
j
N
m2
j
(x[T)
m1
t
j+m
t
j+1
N
m2
j+1
(x[T)
_
=
m1
t
j+m
t
j
_
x t
j
t
j+m1
t
j
N
m2
j
(x[T) +
t
j+m
x
t
j+m
t
j+1
N
m2
j+1
(x[T)
_
. .
=N
m1
j
(x[T)

m1
t
j+m
t
j
_
t
j+m
x
t
j+m
t
j+1
+
x t
j
t
j+m
t
j+1
_
. .
=(t
j+m
t
j
)/(t
j+m
t
j+1
)
N
m2
j+1
(x[T)
=
m1
t
j+m
t
j
N
m1
j
(x[T)
m1
t
j+m
t
j+1
N
m2
j+1
(x[T) (8.28)
und
t
j+m+1
x
t
j+m+1
t
j+1
d
dx
_
N
m1
j+1
([T)
_
(x)
=
t
j+m+1
x
t
j+m+1
t
j+1
_
m1
t
j+m
t
j+1
N
m2
j+1
(x[T)
m1
t
j+m+1
t
j+2
N
m2
j+2
(x[T)
_
=
m1
t
j+m+1
t
j+1
_
x t
j+1
t
j+m
t
j+1
+
t
j+m+1
x
t
j+m
t
j+1
_
. .
=(t
j+m+1
t
j+1
)/(t
j+m
t
j+1
)
N
m2
j+1
(x[T)

m1
t
j+m+1
t
j+1
_
x t
j+1
t
j+m
t
j+1
N
m2
j+1
(x[T) +
t
j+m+1
x
t
j+m+1
t
j+2
N
m2
j+2
(x[T)
_
. .
=N
m1
j+1
(x[T)
109
Wir bleiben also immmer in einem der St uckchen, in die T die relle Achse zerlegt.
160 8 SPLINES
=
m1
t
j+m
t
j+1
N
m2
j+1
(x[T)
m1
t
j+m+1
t
j+1
N
m1
j+1
(x[T) . (8.29)
Einsetzen von (8.28) und (8.29) in (8.27) ergibt dann
_
d
dx
N
m
j
([T)
_
(x)
=
1
t
j+m
t
j
N
m1
j
(x[T)
1
t
j+m+1
t
j+1
N
m1
j+1
(x[T) +
m1
t
j+m
t
j
N
m1
j
(x[T)

m1
t
j+m
t
j+1
N
m2
j+1
(x[T) +
m1
t
j+m
t
j+1
N
m2
j+1
(x[T)
m1
t
j+m+1
t
j+1
N
m1
j+1
(x[T)
=
m
t
j+m
t
j
N
m1
k
(x[T)
m
t
j+m+1
t
j+1
N
m1
j+1
(x[T) ,
und somit (8.26).
Damit wissen wir auch, wie die Ableitung einer Splinekurve (bis auf die Werte an den
Knoten) aussieht.
Korollar 8.19 Es sein m N und T = T
m,n
eine Knotenfolge. Dann ist, f ur alle x R T,
d
dx
N
m,T
d(x) = m
n+1

j=0
d
j
d
j1
t
j+m
t
j
N
m1
j
(x[T) , (8.30)
wobei d
n+1
= d
1
= 0
110
.
Beweis: Mit Lemma 8.18 ist
d
dx
N
m,T
d(x) = m
n

j=0
d
j
_
N
m1
j
(x[T)
t
j+m
t
j

N
m1
j+1
(x[T)
t
j+1+m
t
j+1
_
= m
n+1

j=0
d
j
d
j1
t
j+m
t
j
N
m1
j
(x[T) .

Proposition 8.20 Sei m N


0
und T = T
m,n
. Dann ist N
m
j
([T) S
m
(T), j = 0, . . . , n.
Beweis: Induktion uber m
111
. F ur m = 0 m ussen alle Knoten einfach sein (maximale Vielfach-
heit ist m+1 = 1) und die BSplines sind st uckweise konstante Funktionen und geh oren damit
trivialerweise zu C
1
(R).
F ur m 1 m, m 1, folgt die st uckweise Polynomialit at direkt aus dem Algorithmus von
de Boor, wir brauchen uns also nur noch um die Differenzierbarkeit zu k ummern. An einem
110
Und wieder N
m1
j
(x[T) / (t
j+m
t
j
) 0.
111
Wie soll man Rekursionsformeln auch sonst ausnutzen?
8.4 Der Splineraum 161
m + 1fachen Knoten liefert uns ja bereits der deBoorAlgorithmus die Unstetigkeit: Der
Spline mu an dieser Stelle den Wert 1 und 0 haben. Hat hingegen ein Knoten t [t
j
, t
j+m+1
]
112
die Vielfachheit m, dann k onnen wir in einem offenen Intervall U mit U T = t
differenzieren und die Ableitungsfunktion ist nach (8.26) wohldeniert (auch an der Stelle t)
und in U nach Induktionsvoraussetzung (m1 )mal stetig differenzierbar. Also ist N
m
j
in
U (m)mal stetig differenzierbar.
Lemma 8.21 Sei m N und T
m,n
eine Knotenfolge. Dann sind die BSplines N
m
j
([T) linear
unabh angig.
Beweis: Induktion uber m. Der Fall m = 0 ist trivial, da die BSplines alle disjunkten Tr ager
haben. F ur den Schlu m m + 1 nehmen wir an, kein Knoten h atte Vielfachheit m + 1 und
es g abe einen Knotenvektor d = (d
j
: j = 0, . . . , n), so da
0 = N
m,T
d =
n

j=0
d
j
N
m
j
([T) . (8.31)
Ableitung beider Seiten liefert f ur alle x R T, da
0 =
d
dx
N
m,T
d = m
n+1

j=0
d
j
d
j1
t
j+m
t
j
N
m1
j
([T) .
Nach Proposition 8.20 ist die rechte Seite stetig
113
und nach der Induktionshypothese mu
schlielich d
j
= d
j1
sein, also
0 = d
0
= d
1
= d
2
= = d
n
= d
n+1
= 0.

Ubung 8.2 Erg anzen Sie den Beweis von Lemma 8.21 um den Fall (m + 1)facher Knoten.
(Hinweis: Jeder (m + 1)facher innerer Knoten zerlegt die Splinekurven in Teilkurven, und
man kann alles auf den Fall (m + 1)facher Randknoten zur uckf uhren)
Lemma 8.22 F ur m N
0
und eine Knotenfolge T = T
m,n
ist
dim S
m
(T) = n + 1.
Beweis: Auf dem, nach (8.25) nichtleeren Intervall I
m
= (t
m
, t
m+1
) denieren wir ein beliebi-
ges Polynom p
m
. Sei nun t
m+1
= t
m+2
= = t
m+
< t
m++1
ein Knoten der Vielfachheit .
Wir betrachten ein Polynom p
m+1
auf (t
m+1
, t
m++1
) und schreiben es als
p
m+1
=
m

j=0
a
j
(x t
m+1
)
j
.
112
Also im T ager des BSplines N
m
j
([T).
113
Wir haben keine (m + 1)fachen Knoten mehr.
162 8 SPLINES
Die Differenzierbarkeitsbedingungen sind nun
p
(j)
m
(t
m+1
) = p
(j)
m+1
(t
m+1
) = a
j
, j = 0, . . . , m.
Also hat der Raum aller st uckweisen Polynome mit der geforderten Differenzierbarkeit auf den
erstem beiden Intervallen die Dimension m+1+ die vollen m+1 Freiheitsgrade von p
m
und
die noch freien Parameter von p
m+1
. Hat nun t
m++1
seinerseits Vielfachheit , so kommen
weitere freie Parameter hinzu und so weiter. Wir haben also f ur die Knotenfolge
T

= t
m
, . . . , t
m++1
, t
m
< t
m+1
, t
m+
< t
m++1
,
(plus geeignete Randknoten), da dimS
m
(T

) = m + + 1. F ur = n m folgt dann die


Behauptung.
Beweis von Satz 8.17: Der Beweis ist jetzt ein einfaches Spiel mit den schon bewiesenen
Baukl otzen: Nach Proposition 8.20 ist
span
_
N
m
j
([T) : j = 0, . . . , n
_
S
m
(T),
aber da wegen der linearen Unabh angigkeit der BSplines (Lemma 8.21) und wegen Lem-
ma 8.22 die Dimension der beiden Vektorr aume jeweils n+1 ist, m ussen sie halt auch uberein-
stimmen.
8.5 Knoteneinf ugen
Denition 8.23 Eine Knotenfolge T

= T
m,n
heit Verfeinerung von T = T
m,n
, falls
1. t

0
= t
0
, . . . , t

m
= t
m
,
2. t

+1
= t
n+1
, . . . , t

+m+1
= t
n+m+1
,
3. es gibt : m + 1, . . . , n 1 m + 1, . . . , n

1 monoton steigend, so da t

(j)
=
t
j
, j = m + 1, . . . , n 1.
Formal schreiben wir das als T T

.
114
Da Polynome unendlich oft differenzierbar sind, insbesondere an zus atzlichen Knoten, ist
S
m
(T) S
m
(T

), wann immer T T

. Anders gesagt, f ur jeden Vektor d = (d


0
, . . . , d
n
)
gibt es einen Vektor d

= (d

0
, . . . , d

n
), so da
N
m,T
d =
n

j=0
d
j
N
m
j
([T)
. .
Sm(T)
=
n

j=0
d

j
N
m
j
([T

)
. .
Sm(T

)
= N
m,T
d

. (8.32)
114
Die obigen Bedingungen bedeuten eine Relation, die Vielfachheiten ber ucksichtigt.
8.5 Knoteneinf ugen 163
Die Preisfrage ist nat urlich: Wie bestimmt man d

?. Nun, imentscheidenden Fall des Einf ugens


eines Knotens (und nat urlich l at sich jede Verfeinerung einer Knotenfolge darauf zur uckf uhren,
indem man Knoten f ur Knoten einf ugt) kann man das Verfahren angeben.
Sei also, f ur ein j m, . . . , n 1
t
0
t
j
t

t
j+1
t
n+m+1
,
und
T

= t

k
: k = 0, . . . , n + m + 2 , t

k
=
_
_
_
t
k
k = 0, . . . , j,
t

k = j + 1,
t
k1
k = j + 2, . . . , n + m + 2.
(8.33)
Der folgende Satz wird normalerweise Boehm
115
zugeschrieben, alternativ spricht man beim
Knoteneinf ugen auch gerne vom OsloAlgorithmus
116
.
Satz 8.24 (Knoteneinf ugen) Sei T

eine Verfeinerung der Knotenfolge T = T


m,n
gem a (8.33).
Dann ergibt sich das Kontrollpolygon d

als
d

k
=
_
_
_
d
k
, k = 0, . . . , j m,
u
0
(t

[I
m
k
) d
k1
+ u
1
(t

[I
m
k
) d
k
, k = j m + 1, . . . , j,
d
k1
, k = j + 1, . . . , n + 1.
(8.34)
Abbildung 8.9: Zwei Beispiele f ur Knoteneinf ugen bei kubischen Splines, m = 3.
Beweis:

Ubungsaufgaben.

Ubung 8.3 Beweisen Sie die LeibnizFormel f ur dividierte Differenzen:


[x
0
, . . . , x
n
] (fg) =
n

j=0
[x
0
, . . . , x
j
] f [x
j
, . . . , x
n
] g. (8.35)
115
Wer ihn nicht kennt, hat auch nicht so viel verpasst.
116
Das Gebiet ist noch jung genug, um Priorit atenkonikte zu erlauben.
164 8 SPLINES

Ubung 8.4 Die abgebrochene Potenz ( y)


n
+
ist deniert als
(x y)
n
+
=
_
0, x y,
(x y)
n
, x > y.
Zeigen Sie: Zu einer Kontenfolge T = T
m,n
ergibt sich der jte BSpline als
N
m
j
(x[T) = [t
j
, . . . , t
j+m+1
] ( x)
m
+
, j = 0, . . . , n,
Hinweis: Verwenden Sie die LeibnizFormel f ur dividierte Differenzen, (8.35), um nachzu-
weisen, da die rechte Seite des obigen Ausdrucks die Rekursionsformel f ur BSplines erf ullt.

Ubung 8.5 Es sei T

die Knotenfolge, die entsteht, wenn der Knoten t


j
t

< t
j+1
in T = T
m,n
eingef ugt wird. Zeigen Sie, da dann
N
m
k
([T) =
_

_
N
m
k
([T

) , k = 0, . . . , j m,
u
1
(t

[J
m
k
) N
m
k
([T

) + u
0
(t

[J
m
k
) N
m
k+1
([T

) , k = j m + 1, . . . , j,
N
m
k+1
([T

) , k = j + 1, . . . , n,
mit J
m
k
=
_
t

k
, t

k+m

, und folgern Sie daraus die Formel zum Knoteneinf ugen.


Hinweis: Verwenden Sie die Darstellung des BSplines als dividierte Differenz von abgebro-
chenen Potenzen.
8.6 Die SchoenbergWhitneyBedingung
So, jetzt machen wir uns also an den Beweis des Interpolationssatzes von Schoenberg und
Whitney, also Teil 1 von Satz 8.6. Dazu bezeichnen wir mit
N
m
(A [ T) = [N
m
k
(x
j
[T) : j, k = 0, . . . , n]
die Kollokationsmatrix des Interpolationsproblems, das dann die Form
N
m
(A [ T) d = f
annimmt und genau dann eindeutig l osbar ist, wenn det N
m
(A [ T) ,= 0. Eine Richtung von
Satz 8.6 ist jetzt recht einfach.
Proposition 8.25 Sei m N
0
und T = T
m,n
eine Knotenfolge. Ist das SplineInterpolations-
problem an Stellen x
0
, . . . , x
n
immer eindeutig l osbar, so ist t
j
< x
j
< t
j+m+1
, j = 0, . . . , n.
8.6 Die SchoenbergWhitneyBedingung 165
Beweis: Nehmen wir an, es g abe ein j, so da die SchoenbergWhitneyBedingung (8.7), also
t
j
< x
j
< t
j+m+1
, verletzt ist. Dann ist entweder x
j
t
j
oder x
j
t
j+m+1
. Im ersten Fall gilt,
da der Tr ager von N
m
k
([T) das Intervall [t
k
, t
k+m+1
] ist, die Beziehung
N
m
k
(x
j
[T) = 0, k = j, . . . , n,
also haben die ersten j + 1 Zeilen der Kollokationsmatrix die Form
_

_
N
0
(x
0
[T) . . . N
j1
(x
0
[T) 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
N
0
(x
j
[T) . . . N
j1
(x
j
[T) 0 . . . 0
_

_
und sind damit linear abh angig, also ist det N
m
(A[T) = 0. Im anderen Fall, x
j
t
j+m+1
, ist
N
m
k
(x
j
[T) = 0, k = 0, . . . , j,
und, da x
j
x
l
, j l, gilt nat urlich auch
N
m
k
(x
l
[T) = 0, k = 0, . . . , j, l = j, . . . , n.
Damit haben die ersten j + 1 Spalten von N
m
(A[T) die Form
_

_
N
m
0
(x
0
[T) . . . N
m
j
(x
0
[T)
.
.
.
.
.
.
.
.
.
N
m
0
(x
j1
[T) . . . N
m
j
(x
j1
[T)
0 . . . 0
.
.
.
.
.
.
.
.
.
0 . . . 0
_

_
,
sind also ebenfalls linear abh angig.
Bemerkung 8.26 Die Idee dieses Beweises l at sich auf eine viel allgemeinere Situation an-
wenden. Sieht man n amlich mal genau hin, dann haben wir nur ausgenutzt, da die BSplines
einen wohldenierten kompakten Tr ager haben, und sonst nichts.
Die Umkehrung ist etwas aufwendiger, gibt aber gleichzeitig auch mehr Information uber
Eigenschaften der Splinefunktionen.
Denition 8.27 Sei d = (d
0
, . . . , d
n
) R
n+1
.
117
Eine Teilmenge =
1
, . . . ,
k
0, . . . , n
heit Signatur bez uglich d, falls
d

l
d

l+1
< 0, l = 0, . . . , k 1. (8.36)
Mit (d) bezeichnen wir die Menge aller Signaturen f ur d und denieren die Anzahl der echten
Vorzeichenwechsel von d, in Zeichen S(d), als
S(d) = max
(d)
#.
117
Wir betrachten jetzt also skalare Splinekurven, den Fall d = 1.
166 8 SPLINES
Wir zeigen zuerst, da die Zahl der Vorzeichenwechsel durch Knoteneinf ugen nicht vergr oert
wird.
Lemma 8.28 Ist T

eine Verfeinerung von T = T


n,m
und ist d

R
1n

der durch Knoten-


einf ugen aus d enstandene Koefzientenvektor, dann gilt
S (d

) S (d) .
Abbildung 8.10: Die Beweisidee von Lemma 8.28. Die Variation des gestrichelten Poly-
gons auf der rechten Seite, also S (d

), ist kleiner als die Variation des durchgezogenen


Polygons (es werden ja zus atzliche Ecken dazwischengeschoben) mit schwarzen und wei-
en Ecken, bei dem man wiederum die schwarzen Ecken vergessen kann, weil sie auf
Verbindungsgeraden liegen.
Beweis: Es gen ugt nat urlich, sich auf Verfeinerungen zu beschr anken, die nur einen Knoten
einf ugen, allgemeine Verfeinerungen ergeben sich durch Iteration. Sei also
t
0
t
j
t

t
j+1
t
n+m+1
und T

= T t

. Nach Satz 8.24 ergeben sich die Koefzienten als


d

k
=
_
_
_
d
k
k = 0, . . . , j m,
u
0
(t

[I
m
k
) d
k1
+ u
1
(t

[I
m
k
) d
k
k = j m + 1, . . . , j,
d
k1
k = j + 1, . . . , n + 1.
Sei
d
t
=
_
d
0
, . . . , d
jm
, d

jm+1
, d
jm+1
, d

jm+2
, . . . , d
j1
, d

j
, d
j
, d
j+1
, . . . , d
n
_
.
Da d

k
eine Konvexkombination von d
k1
und d
k
ist, k = j m + 1, . . . , j, ist
S (d
k1
, d

k
, d
k
) = S (d
k1
, d
k
) ,
also S (d
t
) = S (d). Andererseits ist
d

=
_
d
0
, . . . , d
jm
, d

jm+1
, . . . , d

j
, d
j
, d
j+1
, . . . d
n
_
eine Teilfolge von d
t
und damit ist S (d

) S (d
t
) = S (d).
8.6 Die SchoenbergWhitneyBedingung 167
Denition 8.29 Ein Punkt x R heit isolierte Nullstelle einer Funktion f C (R) falls
f(x) = 0 und es f ur alle kompakten Intervalle I x mit nichtleerem Inneren einen Punkt y I
gibt, so da f(y) ,= 0.
Bemerkung 8.30 Isolierte Nullstellen m ussen nicht einfach sein: f(x) = x
2n
hat eine 2n
fache isolierte Nullstelle an x = 0. Umgekehrt hat die abgebrochene Potenz
118
( x
0
)
n
+
zwar
jede Menge Nulstellen, n amlich (, x
0
], aber keine davon ist isoliert.
Lemma 8.31 Sei k 0, T = T
m,n
eine Knotenfolge und d R
n+1
ein Kontrollvektor so da
d
l
= 0, l , j, . . . , j + k und so, da die Splinefunktion N
m,T
d auf keinem Teilintervall von
I := [t
j
, t
j+k+m+1
] verschwindet. Dann hat N
m,T
d h ochstens k isolierte Nullstellen in I.
Beweis: Da N
m,T
d[
J

m
, J = [t

, t
+1
], = j, . . . , j + k + m, kann diese Funktion nur
entweder vollst andig verschwinden oder (im Inneren) isolierte Nullstellen haben. Da der Spline
auerhalb von I verschwindet, sind die Nullstellen am Rand nicht isoliert!
Nach Lemma 8.14 ist N
m,T
d(x) = 0, falls x , I. Sei also x

eine Nullstelle von N


m,T
d im
Inneren von I. Falls x , T f ugen wir x

als mfachen Knoten in die Knotenfolge T ein, falls x


mit einem fachen Knoten ( m) ubereinstimmt, dann erh ohen wir dessen Vielfachheit auf
m. Dies liefert eine Knotenfolge T

mit zugeh origem Kontrollvektor d

. Nun ist aber


#x I

: N
m,T
d(x) = 0 = #x I

: N
m,T
d

(x) = 0 S (d

) S (d) k.
Auerdem kann eine isolierte Nullstelle durch Knoteneinf ugen offensichtlich nur dann entste-
hen, wenn vorher ein Vorzeichenwechsel da war.
Beweis von Satz 8.6, : Nehmen wir an, es g abe einen Vektor 0 ,= d R
n
, so da
N
m
(A[T) d = 0, das heit, da N
m,T
(x
j
[T) = 0, j = 0, . . . , n. Ist nun f ur ein j m, . . . , n
0 = N
m,T
d[
I
j
=
j

k=jm
d
k
N
m
k
([T) ,
dann ist nach dem Algorithmus von de Boor
d
jm
= = d
j
= 0
und N
m,T
d zerf allt in
N
m,T
d =
jm1

k=0
d
k
N
m
k
([T)
. .
=:f
1
+
n

k=j+1
d
k
N
m
k
([T)
. .
=:f
2
,
die die disjunkten Tr ager [t
0
, t
j
] und [t
j+1
, t
n+m+1
] haben. Auf diese Art und Weise k onnen
wir alle Teilintervalle, auf denen der Spline identisch verschwindet, entfernen und schlielich
118
Bei de Boor: Stutzfunktion klingt auch nicht besser.
168 8 SPLINES
annehmen, da wir nur noch isolierte Nullstellen haben: G abe es n amlich ein nichttriviales
Teilintervall von irgendeinem I
j
, auf dem der Spline verschwindet, dann m ute er, da er ja auf
I
j
ein Polynom ist, auf ganz I
j
verschwinden.
Also k onnen wir einen Kontrollvektor d nden, so da N
m
(A[T) d = 0, und es j und k
gibt, so da d
l
= 0, l , j, . . . , j + k und N
m,T
d hat im offenen Intervall (t
j
, t
j+k+m+1
) nur
isolierte Nullstellen. Nun liegen aber in diesem Intervall die Interpolationspunkte x
j
, . . . , x
j+k
,
also m ute N
m,T
d dort k + 1 isolierte Nullstellen haben, was aber Lemma 8.31 widerspricht.
Also ist die Matrix N
m
(A[) nichtsingul ar.
8.7 Totale Nichtnegativit at der Kollokationsmatrix
Beweis von Satz 8.6, 2: Sei t
j
ein Knoten der Vielfachheit < m und t
j
t

t
j+1
. Nach
Satz 8.24 ist dann f ur die durch Einf ugen von t

entstandene Knotenfolge T

N
m
k
([T) =
n+1

=0

k,
N
m

([T

) , (8.37)
wobei

k,
=
_
_
_

k
= 0, . . . , j m,
u
0
(t

[I
m

)
k,1
+ u
1
(t

[I
m

)
k
= j m + 1, . . . , j,

k,1
= j + 1, . . . , n + 1.
Insbesondere gilt
119
, da

k,
,= 0 = k, k + 1. (8.38)
Wir setzen
A
I
= x
i
: i I , I 0, . . . , n,
und denieren die Spaltenvektoren
N
m
j
(A
I
[T) :=
_
N
m
j
(x
i
[T) : i I

, j = 0, . . . , n, I 0, . . . , n.
Dann ist, f ur I, J 0, . . . , n, #I = #J = k,
120
det N
m
(A[T) (I, J) = det
_
N
m
j
(A
I
[T) : j J

= det
_
N
m
j
1
(A
I
[T) , N
m
j
(A
I
[T) : j J j
1

= det
_
n+1

1
=0

j
1
,
1
N
m

1
(A
I
[T

) , N
m
j
(A
I
[T) : j J j
1

_
119
Wegen der beteiligten
k,
und
k,1
.
120
Zur Erinnerung: N
m
(A[T) ist die Kollokationsmatrix und f ur eine Matrix A bezeichnet A(I, J) die Teilma-
trix, die durch die mit I bzw. J indizierten Zeilen bzw. Spalten gebildet wird.
8.7 Totale Nichtnegativit at der Kollokationsmatrix 169
=
n+1

1
=0

j
1
,
1
det
_
N
m

1
(A
I
[T

) , N
m
j
(A
I
[T) : j J j
1

.
.
.
=
n+1

1
=0

j
1
,
1

n+1

k
=0

j
k
,
k
det [N
m
r
(A
I
[T

) : r =
1
, . . . ,
k
]
=
n+1

1
=0

n+1

k
=0

j
1
,
1

j
k
,
k
det N
m
(A[T

) (I,
1
, . . . ,
k
) .
Da, nach (8.38),
jr,r
= 0 falls
r
, j
r
, j
r
+1, und da
121
j
1
< < j
k
, m ussen die Elemente
jeder Indexmenge L =
1
, . . . ,
k
in der obigen Summe auf alle F alle die Bedingung
1


k
erf ullen. Tritt aber irgendwo Gleichheit ein, d.h. ist
r
=
r+1
, dann enth alt die Matrix
N
m
(A[T

) (I, L) zwei identische Spalten und damit ist die Determinante gleich Null. Damit
l auft die Summe uber alle
1
< <
k
, also uber alle L 0, . . . , n+1
122
mit #L = k. Mit
anderen Worten, f ur
(J, L) :=
k

r=1

jr,r
0, J 0, . . . , n, L 0, . . . , n + 1, #J = #L,
haben wir, da
det N
m
(A[T) (I, J) =

#L=k
(J, L) det N
m
(A[T

) (I, L) . (8.39)
F ugen wir nun noch einen Knoten ein, dann ergibt sich enstprechend f ur die neue Knotenfolge
T

det N
m
(A[T) (I, J) =

#L=k
(J, L) det N
m
(A[T

) (I, L)
=

#L=k
(J, L)

#L

=k
(L, L
t
) det N
m
(A[T

) (I, L
t
)
=

#L

=k

#L=k
(J, L)(L, L
t
)
. .
=:
2
(J,L

)
det N
m
(A[T

) (I, L
t
) .
In diesem Sinne haben wir, f ur beliebiges N N, nach Einf ugen von N Knoten
123
, f ur das
resultierende T
N
,
det N
m
(A[T) (I, J) =

#L=k

N
(J, L) det N
m
_
A[T
N
_
(I, L) , (8.40)
121
Dies ist die kanonische Annahme, da J aufsteigend numeriert ist
122
Achtung: Der Index kann jetzt auch n + 1 werden!
123
Es gen ugt, wenn diese Knoten einfach, also t

1
< t

2
< < t

N
und neu, also t

j
, T, sind.
170 8 SPLINES
wobei

N
(J, L) =

#L
1
=k

#L
N1
=k
N+1

r=1
(L
r
, L
r+1
) , L
r
0, . . . , n + r, r = 1, . . . , N.
(8.41)
Wir w ahlen nun T
N124
so dicht, da zwischen je zwei Interpolationspunkten x
j
und x
j+1
min-
destens m + 1 Knoten liegen und daher, f ur k = 0, . . . , n,
N
m
j
(x
k
[T

) ,= 0 N
m
j
(x

[T

) = 0, ,= k.
Also hat jede Spalte jeder der (oberen Dreiecks-) Matrizen N
m
_
A[T
N
_
(I, L), L 0, . . . , n+
N, h ochstens einen von Null verschiedenen Eintrag. Liegt wenigstens einer davon nicht auf
der Diagonale, dann ist det N
m
_
A[T
N
_
(I, L) = 0, andernfalls ergibt sich
det N
m
_
A[T
N
_
(I, L) =
k

r=1
N
m
r
(x
ir
[T

)
. .
>0
> 0.
Setzt man das in (8.40) und ber ucksichtigt man (8.41), dann heit das gerade, da det N
m
(A) (I, J) >
0.
124
Genauer, die eingef ugten Knoten.
8.8 Eine kurze Geschichte der Splines 171
oo
Der Krieg ist der Vater aller Dinge
Heraklit, Frag. 53
8.8 Eine kurze Geschichte der Splines
Auch wenn man gerne die Arbeiten [40, 41] von Schoenberg aus dem Jahr 1946 als die Ge-
burtsstunde der Splines bezeichnet, waren die BSplines wahrscheinlich Hermite und sicher-
lich Peano (Schoenberg in [42]) bekannt. Will man noch weiter in der Geschichte zur uckgehen,
so kann man sich auf die exponential Euler splines berufen, die bereits 1755 von Euler, aber
nat urlich nicht unter diesem Namen, untersucht wurden. Eine Zusammenfassung der Ur- und
Fr uhgeschichte der Splines gibt beispielsweise die Arbeit von Butzer, Schmidt und Stark [7].
Doch kehren wir wieder zur uck zu Isaac J.
125
Schoenberg, einem der proliertesten und
vielseitigsten angewandten und nicht nur angewandten Mathematiker dieses Jahrhunderts. Im
Rahmen seiner T atigkeit im War Department at Aberdeen Proving Ground w ahrend des zwei-
ten Weltkriegs begann er, ausgehend von Approximationsproblemen, mit der Untersuchung von
Splines. Es ist einer der wenigen positiven Aspekte des Kriegs, da zur selben Zeit auch Has-
kell B. Curry, ansonsten eher der Algebra und abstrakten Logik zugetan, von diesem Ansatz
Kenntnis bekam und ihn gemeinsam mit Schoenberg weiterentwickelte. Eine Kopie eines Brie-
fes, in dem Curry von diesen Entwicklungen erz ahlt, ndet sich im Buch von Micchelli [31]
(das sich beispielsweise mit den Themen Subdivision, Splines mit verallgemeinerten Differen-
zierbarkeitseigenschaften, multivariaten Splines und Blossoming befat und schon deswegen
sehr empfehlenswert ist). Trotzdem besch aftigte sich auch Schoenberg zuerst einmal lange Zeit
mit anderen Dingen, so da die ber uhmte Arbeit von Curry und Schoenberg [13] erst mit fast
20j ahriger Versp atung im Jahre 1966 erschien. Einer der Gr unde, warum Schoenberg seine
Resultate uber Splines wieder aus der Schublade holte, war wohl die Tatsache, da inzwi-
schen auch andere Mathematiker, allen voran Carl de Boor, die Splines entdeckt hatten und so
Schoenbergs Interesse neu weckten. Nat urlich bestand einer der Gr unde f ur das aufkeimende
allgemeine Interesse an Splines im Bedarf an guten Typen von Kurven im Zusammenhang
mit den CADSystemen und den numerischen Berechnungen, die durch die Entwicklung der
Computertechnik in ganz neuen Gr oenordnungen durchgef uhrt wurden. Auf der anderen Seite
waren und sind Splines auch ein wichtiges theoretisches Hilfsmittel bei der Untersuchung von
nten Weiten, wo sie eine wichtige Rolle als Minimall osungen bestimmter Funktionale spielen.
Inzwischen ist die Literatur zum Thema Splines gigantisch. Die beste, umfangreichste und
via Internet zug angliche Bibliographie stammt von de Boor und kann beispielsweise uber seine
WWWHomepage http://www.cs.wisc.edu/deboor abgerufen werden.
In den meisten klassischen Lehrb uchern uber Numerische Mathematik werden Splines
(oft nur kubisch, das heit von der Ordnung m = 3) als L osung eines Interpolationsproblems
an den einfachen Knoten t
m+1
, . . . , t
n
eingef uhrt und beschrieben. Nicht, da das irgendetwas
125
Jacob
172 8 SPLINES
schlechtes w are, denn gerade in diesem Zusammenhang zeigen die Splines ein den Polynomen
weit uberlegenes Verhalten, da sie das oftmals katastrophale Oszillationsverhalten der Interpo-
lationspolynome nicht mitmachen. Auf alle F alle hat man es aber in diesem Rahmen wegen
der einfachen Knoten stets mit Funktionen aus C
m1
zu tun. Eine Basis des zugeh origen Spli-
neraums ist dann schnell angegeben: sie besteht aus allen Polynomen vom Grad m sowie den
abgebrochenen Potenzen
(t t
i
)
m
+
=
_
(t t
i
)
m
t t
i
,
0 t < t
i
,
i = m + 1, . . . , n 1.
Klar diese Funktionen sind alle linear unabh angig, st uckweise polynomial und m 1 mal
stetig differenzierbar. Damit haben wir also m + 1 Polynome und n m 1 abgebrochene
Potenzen, also n Basisfunktionen, und da wir, dank der BSplines, wissen, da der Splineraum
Dimension n hat, sind diese Funktionen ebenfalls eine Basis. Allerdings eine Basis mit Nach-
teilen: die Basisfunktionen haben unendlichen Tr ager! Deswegen war man interessiert an einer
Basis des Splineraums dergestalt, da alle Basisfunktionen m oglichst kleinen Tr ager haben
und das f uhrte zu den BSplines. Da diese Funktionen dann auch noch uber eine Rekursions-
formel verkn upft sind, wie Cox [12] und de Boor [4] zeigten, macht sie nur noch sympathischer.
Zudem haben die Basisfunktionen mit kompaktem Tr ager noch einen weiteren Vorteil, den be-
reits Schoenberg weidlich ausnutzte: da zur Berechnung von N
m
(t) stets nur die m Knoten
links von t und die m Knoten rechts von t, sowie die m + 1 zugeh origen Kontrollpunk-
te verwendet werden, gibt es uberhaupt keine Schwierigkeiten, auch unendliche Knotenfolgen
t
i
, i Z, mit unendlichen Kontrollpolygonen d
i
, i Z, zu betrachten. Und das ist mit einer
Basis aus Polynomen und abgebrochenen Potenzen nun doch etwas unsch on, da hier an jedem
Punkt eine unendliche Anzahl von Basisfunktionen beitr agt. Aber besser noch: sind die Knoten
gleichverteilt, also z.B. t
i
= i, i Z, (das sind genau die Cardinal BSplines von Schoenberg
[42]), dann sind die BSplines lediglich verschobene Kopien voneinander, genauer
N
m
i
(x) = N
m
0
(x i), i Z,
und man hat eigentlich nur einen BSpline.
Aus den 70er und 80er Jahren gibt es eine Vielzahl von Arbeiten uber Splines, die f ur ei-
nige Zeit ein richtiges Modethema waren. Einen gewissen

Uberblick aus unterschiedlichen
Perspektiven und von unterschiedlichen Zug angen her bieten beispielsweise die B ucher von de
Boor [5], Schumaker [43] oder N urnberger [33]. Auf alle F alle fand man eine Vielzahl von
Problemen und Gebieten, wo sich die Splines als mehr oder weniger n utzlich erwiesen.
Trotzdem geschah noch einmal das Wunder, da auf einem eigentlich abgegrasten Feld,
das die (univariaten) Splines in den 80er Jahren mit Sicherheit waren, noch einmal zarte Bl uten
(engl. blossoms) sprossen. Es war uberraschenderweise wieder de Casteljau, der zuerst auf
die Zusammenh ange mit polaren Formen aufmerksam machte [8], wenn auch in sehr schwer
lesbarer Form. Die Anwendung von Blossoming auf Splinekurven geht wohl auf Lyle Rams-
haw [37] zur uck (siehe auch und vor allem [38]). Die Darstellung in diesem Skript folgt in
groben Z ugen [39], die ihrerseits auf einer Arbeit von HansPeter Seidel
126
[45] basiert, welche
126
Hat nichts mit GauSeidel zu tun. Und so selten ist der Name Seidel ja nun auch wieder nicht.
8.8 Eine kurze Geschichte der Splines 173
im wesentlichen f ur meine Begeisterung f ur dieses Gebiet verantwortlich ist. Seidels Ziel war es
ubrigens, die neuen Einsichten, die das Blossoming gew ahrte, auch auf Fl achen (generell, auf
den multivariaten Fall) zu ubertragen. Obwohl da einige Dinge ganz entschieden anders sind
als bei den Kurven, gelang es doch, Spline achen von hochgradiger Flexibilit at zu konstruie-
ren. Aber das ist eine andere Geschichte, die nur in einer Spezialvorlesung erz ahlt werden kann
. . .
174 9 WAVELETS
Willst du mehr K unste lernen und hast
Lust zu propheceien, so gehe in die
Mathematica; . . . sie lehret ein jedes
Ding w agen ohne Gewicht und ohne
Waage.
Historia von D. Johan Fausten, dem
weitbeschreyten Zauberer und
Schwartzk unstler . . .
Johann Spies (Verleger), 1587
9 Wavelets
Wavelets haben sich heute von einem eher obskuren Objekt der Begierde zu einem wichtigen
Hilfsmittel der Numerischen Analysis gemausert. Insbseondere werden sie verwendet
zur Datenkompression,
zur Singularit atenerkennung,
als Ansatzfunktionen bei GalerkinMethoden,
127
zum Entrauschen statistischer Daten.
9.1 Hierarchische Darstellung oder eine ganz einfache Idee
Nehmen wir an, wir m ochten ein Signal (eine Funktion f) digital verarbeiten. Im ersten Schritt
mu das Signal abgetastet und in eine Zahlenfolge umgewandelt werden. Eine der einfachsten
Methoden besteht darin, die Mittelwerte von f auf dyadischen Intervallen
I
n
j
=
_
j
2
n
,
j + 1
2
n
_
, j Z, n N
0
,
oder meinetwegen auch den Wert f
_
2j+1
2
n+1
_
am Mittelpunkt von I
n
j
aufzuzeichnen
128
. Das liefert
uns eine Datenfolge (f
j
: j Z), die wir auch als st uckweise konstante Funktion

n
(f) =

jZ
f
j
(2
n
j)
127
Der Gebrauch geeigneter Waveletbasen f uhrt oftmals zu approximativ d unnbesetzten Matrizen: Die resultie-
renden n n Matrizen haben nur O(n) Werte, die uber einer vorgegebenen Toleranzschwelle liegen.
128
F ur stetige Funktionen und hinreichende groes n ist das praktisch dasselbe
9.1 Hierarchische Darstellung oder eine ganz einfache Idee 175
darstellen (wobei =
[0,1]
), denn schlielich gilt ja
x I
n
j
=
_
j
2
n
,
j + 1
2
n
_
2
n
x j [0, 1].
Diese Form der Abtastung ist in Abb. 9.1 dargestellt. Ist nun beispielsweise f brav
129
, dann
1/2^n
Abbildung 9.1: Mittelwerte einer Funktion auf (noch nicht so kleinen) dyadischen Interval-
len, dargestellt als st uckweise konstante Funktion.
k onnen wir f beliebig genau
130
durch solche Treppenfunktionen ann ahern, sofern wir nur n
hinreichend gro w ahlen das jedoch heit, da wir es m oglicherweise mit groen
131
Daten-
mengen zu tun bekommen.
Nun gut, prinzipiell ist das unvermeidbar, aber wenn man z.B. f 1 auf diese Weise
darstellt, dann macht man sich doch sehr viel unn otige Arbeit, wenn man auf Au osungsstufe n
arbeitet, denn diese Funktion l at sich ja auf Au osungsstufe 1 genauso darstellen. Deswegen
nutzt man die Tatsache aus, da die charakteristischen Funktionen hierarchische Basen sind:
Die Funktion (2
n
k) l at sich in die beiden Funktionen (2
n+1
2k) und
(2
n+1
(2k + 1)) zerlegen.
Umgekehrt kann man auch jede Kombination der beiden Verfeinerungen als Kombination aus
der Funktion auf dem gr oberen Gitter (wieder der Mittelwert) und einer Korrekturfunktion dar-
stellen, die um den Mittelpunkt punktsymmetrisch ist. Dies ist in Abb. 9.2 dargestellt. Was
129
Beispielsweise gleichm aig stetig.
130
Was man nat urlich noch durch eine Norm spezizieren mu!
131
Formal haben wir immer unendlich viele Datenwerte, aber in der Praxis betrachtet man nat urlich immer nur
Segmente fester L ange.
176 9 WAVELETS
0
0
0
1/2^(n+1)
1/2^(n+1)
1/2^(n+1)
Abbildung 9.2: Zerlegung eines feinen Signals in ein doppelt so grobes und ein wel-
lenf ormiges Korrektursignal.
heit das nun? Ausgehend vom (feinst) diskretisierten Anfangssignal
f
(n)
j
= 2
n
(j+1)/2
n
_
j/2
n
f(t) dt, j Z,
bildet man die vergr oberten Mittelwerte
f
(n1)
j
=
1
2
_
f
(n)
2j
+ f
(n)
2j+1
_
, j Z,
und stellt die st uckweise konstante N aherung als

jZ
f
(n)
j
(2
n
j) =

jZ
f
(n1)
j

_
2
n1
j
_
+

jZ
_
f
(n)
2j
f
(n1)
j
_
(2
n
2j) +
_
f
(n)
2j+1
f
(n1)
j
_
(2
n
2j 1)
=

jZ
f
(n1)
j

_
2
n1
j
_
+

jZ
1
2
_
f
(n)
2j
f
(n)
2j+1
_
. .
=:g
(n1)
j
((2
n
2j) (2
n
2j 1))
. .
=:(2
n1
j)
=

jZ
f
(n1)
j

_
2
n1
j
_
+

jZ
g
(n1)
j

_
2
n1
j
_
9.2 Multiresolution Analysis oder wenn Ideen abstrakt werden 177
dar. Danach kann man iterativ fortfahren und die Werte f
(n1)
j
weiter zerlegen, bis man schlie-
lich eine hierarchische Darstellung

jZ
f
(n)
j
(2
n
j) =

jZ
f
(0)
j
( j) +
n1

k=0

jZ
g
(k)
j

_
2
k
j
_
erh alt. Und was bringt das ganze Procedere nun?
Ist f lokal konstant
132
, dann werden einige (oder viele) der Korrekturkoefzienten den
Wert 0 haben. Die Darstellung ist also efzient.
Sind Korrekturkoefzienten klein, dann bedeutet dies nur eine geringe, kaum wahrnehm-
bare

Anderung des Signals. Das heit, diese Koefzienten k onnen vernachl assigt werden.
Die Vergr oberung mittelt zuf allige St orungen (Rauschen) der Daten (z.B. Ungenauig-
keiten bei der numerischen Mittelwertbestimmung) aus. Rauschen
133
auert sich in ge-
ringen Schwankungen hochfrequenter Korrekturkoefzienten. Verwirft man diese, wird
das Rauschen (hoffentlich) eliminiert.
Bei der Datenkompression kann man nun so vorgehen, da man nur einen gewissen Pro-
zentsatz
134
der Koefzienten beh alt und zwar nat urlich diejenigen Koefzienten, die in
der Waveletdarstellung betragsm aig am gr oten sind. Die so gemachten Fehler sollten
dann am schwersten wahrzunehmen sein.
Denition 9.1 Die Funktion
(x) = (2x) + (2x 1) =
_
_
_
0, x , [0, 1],
1, x [0, 1/2],
1, x [1/2, 1],
x R,
heit HaarWavelet.
9.2 Multiresolution Analysis oder wenn Ideen abstrakt werden
Seit Mallat bildet die Multiresolution Analysis (MRA) den theoretischen Hintergrund der
WaveletAnalysis. Wir denieren hier nur den Begriff der MRA auf L
2
(R).
Wir bezeichnen mit L
2
(R) den Raum aller Funktionen, deren quadratisches Integral
135
end-
lich ist, also
f L
2
(R) |f|
2
:=
_
R
[f(x)[
2
dx < . (9.1)
132
Auf einem Intervall der L ange 2
n
133
Ein hinzugef ugtes Signal dessen Frequenz signikant h oher aber dessen Amplitude signikant geringer ist als
die des Signals.
134
Schon mal gesehen? jpeg fragt sogar danach. Auch wenn das konkrete Verfahren dann schon ein anderes ist,
ist die Idee im wesentlichen dieselbe.
135
Die Details der LebesgueMebarkeit von Funktionen und der Unterschied beispielsweise zum Riemann
Integral interessiert hier nicht. Was aber nicht heien soll, da diese Fragen irrelevant w aren.
178 9 WAVELETS
Unter Verwendung des Skalarprodukts
f, g) =
_
R
f(t)g(t) dt, f, g L
2
(R)
ist L
2
(R) ein Hilbertraum
136
, das heit, ein vollst andiger normierter Raum, dessen Norm von
einem Skalarprodukt herr uhrt: |f|
2
= f, f). In einem Hilbertraum k onnen wir von Orthogo-
nalit at (f g genau dann, wenn f, g) = 0) und (orthogonalen) direkten Summen
X = V W X = V + W
. .
f+g, fV,gW
und V W
. .
fg, fV,gW
sprechen. Wenn X = V W gilt, werden wir auch W = X V schreiben.
Denition 9.2 Eine aufsteigende Folge V
0
V
1
L
2
(R) von Teilr aumen von L
2
(R)
heit Multiresolution Analysis
137
, wenn
1. die Teilr aume dicht in L
2
(R) liegen:
lim
n
V
n
= L
2
(R).
2. die Teilr aume verschiebungsinvariant sind:
f V
n
f ( k) : k Z V
n
.
3. die Teilr aume Skalenr aume sind:
f V
n
f (2) V
n+1
.
4. V
0
von einer Skalierungsfunktion erzeugt wird:
V
0
= span ( k) : k Z .
Normalerweise verlangt man auch noch, da die Translate von eine RieszBasis von V
0
bilden oder stabil sind. Das heit, da es Konstanten 0 < A

< B

gibt, so da
A

jZ
c
2
j
_
1/2
. .
|c|
2

_
_
_
_
_

jZ
c
j
( j)
_
_
_
_
_
2
B

jZ
c
2
j
_
1/2
. .
|c|
2
(9.2)
f ur jede Folge c = (c
j
: j Z) mit |c|
2
< .
136
Den gibts in G ottingen und in der Funktionalanalysis.
137
Unter Freaks kurz MRA
9.2 Multiresolution Analysis oder wenn Ideen abstrakt werden 179
Denition 9.3 Zu einer MRA V
j
, j N
0
, sind die Waveletr aume deniert als
W
j
= V
j+1
V
j
, j N
0
.
Bemerkung 9.4 Wir k onnen also f ur jedes n N den Skalenraum V
n
in
V
n
= V
n1
W
n1
= V
n2
W
n2
W
n1
= = V
0

n1

j=0
W
j
zerlegen.
Zuerst einmal eine wichtige Eigenschaft der Generatorfuntion f ur V
0
, die sich f ur viele Un-
tersuchungen als zentral herausgestellt hat.
Proposition 9.5 Die Skalierungsfunktion einer MRA erf ullt eine Zweiskalenbeziehung: Es
gibt Koefzienten a
k
, k Z, so da
=

kZ
a
k
(2 k) . (9.3)
Beweis: Wegen der Skalierungseigenschaft der R aume ist (2) V
1
und wegen der Ver-
schiebungsinvarianz auch (2 k) V
1
, k Z. Auerdem erzeugen diese Translate V
1
: in
n amlich f V
1
, so k onnen wir g := f(/2) V
0
denieren und dies schreiben als
g =

kZ
b
k
( k) = f = g(2) =

kZ
b
k
(2 k) .
Insbesondere ist V
0
V
1
in dieser Form darstellbar.
Beispiel 9.6 Da
= (2) + (2 1)
ergeben sich als Verfeinerungskoefzienten f ur die Haarfunktion die Werte a
0
= a
1
= 1.
Mit den Argumenten dieses Beweises erh alt man auch sofort die folgende Aussage.
Korollar 9.7 Es ist
V
j
= span
_

_
2
j
k
_
: k Z
_
, j N
0
. (9.4)
Denition 9.8 Die Koefzienten a
k
, k Z, bezeichnet man als Verfeinerungsmaske (Rene-
ment mask) der Funktion .
180 9 WAVELETS
9.3 Pyramidenschema und Wavelet oder wie man aus einem Signal zwei
macht
In diesem Abschnitt nehmen wir an, da wie im Fall des HaarWavelets die Translate von
gegenseitig orthogonal sind, das heit, da
( j) , ( k)) =
_
R
(t j) (t k) dt = ||
2
2

jk
, j, k Z. (9.5)
Offensichtlich ist das aquivalent zur Forderung, da , ( k)) = ||
2
2

0k
, k Z. Dies
liefert auch sofort eine Bedingung an die Maske:
||
2
2

j0
= , ( j)) =
_

kZ
a
k
(2 k) ,

Z
a

(2 2j )
_
=

k,Z
a
k
a

(2 k) , (2 2j ))
. .
=
1
2
||
2
2

k,2j+
=
||
2
2
2

kZ
a
k
a
k2j
,
also lautet eine notwendige Bedingung f ur Orthogonalit at

kZ
a
k
a
k2j
= 2
j0
, j Z. (9.6)
Bemerkung 9.9 Jede Funktion mit orthogonalen Translaten hat auch stabile Translate, denn
es ist
_
_
_
_
_

jZ
c
j
( j)
_
_
_
_
_
2
2
=
_

jZ
c
j
( j) ,

kZ
c
k
( k)
_
=

j,kZ
c
j
c
k
( j) , ( k)) = ||
2
2

jZ
c
2
j
.
Denition 9.10 Die Waveletfunktion zu ist deniert als
:=

kZ
(1)
1k
a
1k
. .
=:a

k
(2 k) . (9.7)
Beispiel 9.11 Das Wavelet zur Haarfunktion ist also
= (1)
10
a
10
(2) + (1)
11
a
11
(2 1) = (2) + (2 1)
=
_
_
_
0, x , [0, 1],
1, x
_
0,
1
2

,
1, x
_
1
2
, 1

,
x R.
9.3 Pyramidenschema und Wavelet oder wie man aus einem Signal zwei macht 181
Was macht nun dieses Wavelet nun so interessant? Wie die Namensgebung schon nahelegt,
bilden die Translate und Dilate
138
eine Basis des Waveletraums.
Satz 9.12 Ist die Skalierungsfunktion orthogonal, so kann man f ur j N
0
den Skalenraum
V
j+1
auf die folgende Art orthogonal zerlegen:
V
j+1
= V
j
W
j
= span
_

_
2
j
k
_
: k Z
_
span
_

_
2
j
k
_
: k Z
_
. (9.8)
Lemma 9.13 Das Wavelet geh ort zu W
1
V
1
und es ist
( j), ( k)) = 0, j, k Z.
Beweis: Die Eigenschaft V
1
folgt sofort aus der Denition (9.7). Zum Nachweis der
Orthogonalit at halten wir zuerst fest, da eswegen der Translationsinvarianz des Integrals
( j), ( k)) =
_
R
(t j) (t k) dt
tt+k
=
_
R
(t (j k)) (t) dt
= ( j + k), )
gen ugt, sich auf den Fall k = 0 und j Z zu beschr anken. Dann ist f ur j Z
( j), ) =

k,Z
a
k
a

(2 2j k) , (2 ))
. .
=
1
2
||
2
2

2j+k,
k=2j
=
||
2
2
2

Z
a
2j
a

=
||
2
2
2

Z
(1)
1
a
2j
a
1
1+2j
=
||
2
2
2

Z
(1)
2j
a
1
a
2j
=
||
2
2
2

Z
(1)
1
a
1
a
2j
= ( j), )
und damit ist ( j), ( k)) = 0 f ur alle j, k Z, also ist V
1
V
0
= W
1
.
Lemma 9.14 Die Translate des Wavelets sind orthogonal, genauer
, ( j)) = ||
2
2

j0
, j Z. (9.9)
Beweis: Schon (fast) eine Routinerechnung, hier allerdings unter Verwendung von (9.6):
, ( j)) =
_

kZ
a

k
(2 k) ,

Z
a

(2 2j )
_
=

k,Z
a

k
a

(2 k) , (2 2j ))
. .
=
1
2
||
2
2

k,2j+
138
Stauchungen
182 9 WAVELETS
=
||
2
2
2

kZ
a

k
a

k2j
=
||
2
2
2

kZ
(1)
1k
(1)
1k+2j
. .
=1
a
1k
a
1k+2j
k1k
=
||
2
2
2

kZ
a
k
a
k+2j
= ||
2
2

j0
.

Was wir jetzt also noch brauchen ist, da W


1
von den Translaten ( k), k Z, generiert
wird, anders gesagt, da jedes
f =

kZ
c
(1)
k
(f) (2 k) V
1
(9.10)
als
f =

kZ
c
(0)
k
(f) ( k)
. .
V
0

kZ
d
(0)
k
(f) ( k)
. .
W
0
(9.11)
geschrieben werden kann. Dabei kann man wegen der Orthogonalit at die Koefzienten ubrigens
explizit als
c
(1)
k
(f) =
f, (2))
(2), (2))
= 2
f, (2))
||
2
2
angeben. Der Zaubertrick, der uns diese Darstellung liefern wird, ist das Pyramidenschema
von Burt und Adelson
139
:
c
(j1)
k
(f) :=
1
2

Z
a

c
(j)
+2k
(f) (9.12)
d
(j1)
k
(f) :=
1
2

Z
(1)

c
(j)
2k+1
(f). (9.13)
Programm 1 zeigt eine einfache Implementierung des Pyramidenschemas in Matlab.
Woher kommt aber nun der Name Pyramidenschema? Ganz einfach man geht davon aus,
da man Koefzienten c
(n)
k
f ur ein (recht groes) n N und damit eine gute N aherung
f

kZ
c
(n)
k
(f) (2
n
k)
von f bestimmt hat, beispielsweise durch hinreichend feines Abtasten der Funktion f L
2
(R)
140
.
Nun zerlegen wir diese Koefzienten nach (9.12) und (9.13) in c
(n1)
k
und die Waveletkoef-
zienten d
(n1)
k
. F ur brave Funktionen werden nun diese Waveletkoefzienten normalerweise
139
Entstanden im Zusammenhang mit der Aufgabe, das Fingerabruckarchiv des FBI in komprimierter Form zu
speichern. Alles klar Scully? Ja, Moulder!
140
Wegen der Dichtheit der Skalenr aume geht das immer beliebig genau!
9.3 Pyramidenschema und Wavelet oder wie man aus einem Signal zwei macht 183
%% Pyramid.m (Numerik 1)
%% --------------------------------------------------------
%% Pyramidenschema zur FWT
%% Eingabe:
%% c Datenvektor
%% a Maske
%% beides: 2 x [n,N] - Matrizen, zweite Zeile Index
function [v,w] = Pyramid( c,a )
n = length( a ); N = length( c );
% Berechne v
vmin = fix( ( c(2,1) - a(2,n) ) / 2 );
vmax = fix( ( c(2,N) - a(2,1) ) / 2 );
nn = vmax - vmin + 1; v = zeros( 2,nn );
for k = vmin:vmax
vv = 0;
for l = a( 2,1 ) : a( 2,n )
vv = vv + auxIndex( a,l ) * auxIndex( c,l+2*k );
end
v( 1,k-vmin+1 ) = vv / 2;
v( 2,k-vmin+1 ) = k;
end
% Berechne w
wmin = fix( ( c(2,1) + a(2,1) - 1 ) / 2 );
wmax = fix( ( c(2,N) + a(2,n) - 1 ) / 2 );
nn = wmax - wmin + 1; w = zeros( 2,nn );
for k = wmin:wmax
ww = 0;
for l = a( 2,1 ) : a( 2,n )
ww = ww + (-1)l * auxIndex( a,l ) * auxIndex( c,2*k+1-l );
end
w( 1,k-wmin+1 ) = ww / 2;
w( 2,k-wmin+1 ) = k;
end
%endfunction
Programm 9.1 Pyramid.m: Das Pyramidenschema zur Bestimmung der gr oberen
Skalierungs- und der Waveletkoefzienten.
184 9 WAVELETS
sehr klein sein
141
, so da man einen Groteil von ihnen einfach vernachl assigen kann. F ur die
Koefzienten c
(n1)
k
wiederholen wir hingegen den Zerlegungsproze und erhalten so eine Fol-
ge
c
(n)
k
c
(n1)
k
. . . c
(0)
k

d
(n1)
k
. . . d
(0)
k
Gespeichert werden nun die Koefzienten c
(0)
k
und d
(0)
k
, . . . , d
(n1)
k
, also die Waveletddarstellung
f

kZ
c
(0)
k
(f) ( k)
. .
V
0
+
n1

j=0

kZ
d
(j)
k
(f)
_
2
j
k
_
. .
W
j
. (9.14)
Wie man sieht, eine feine Sache und insbesondere ein konstruktiver und algorithmischer Beweis
von Satz 9.12. Was noch fehlt, ist der Beweis, da die im Pyramidenschema (9.12), (9.13)
bestimmten Koefzienten tats achlich die Zerlegungseigenschaft (9.11) besitzen, alles andere
folgt durch Skalierung. Dazu eine erste Hilfsaussage
142
.
Lemma 9.15 F ur 0, 1 gilt
(2 +) =
1
2
_

kZ
a
2k
( k) (1)

kZ
a
1+2k+
( k)
_
. (9.15)
Beweis: Wir bezeichnen mit g

die Projektion von (2 +) auf den Raum

V
1
:= span ( k) : k Z span ( k) : k Z V
1
also, wegen der Orthogonalit at,
g

:=

kZ
(2 +) , ( k))
||
2
2
( k) +

kZ
(2 +) , ( k))
||
2
2
( k)
=
1
||
2
2

kZ

Z
a

(2 +) , (2 2k ))
. .
=
1
2
||
2
2

,2k
( k)
+
1
||
2
2

kZ

Z
a

(2 +) , (2 2k ))
. .
=
1
2
||
2
2

,2k
( k)
=
1
2
_

kZ
a
2k
( k) +

kZ
(1)
1+2k+
a
1+2k+
( k)
_
=
1
2

kZ
a
2k
( k) (1)

a
1+2k+
( k).
141
Und wenn sie es nicht sind, ist die Funktion nicht brav, was man so auch erkennen kann. All das l at sich
nat urlich auch mathematisch sauber formulieren, nur eben nicht hier und jetzt.
142
Tats chlich folgt Satz 9.12 schon aus Lemma 9.15.
9.3 Pyramidenschema und Wavelet oder wie man aus einem Signal zwei macht 185
Die Projektion auf

V
1
hat also schon einmal die gew unschte Form. Nun stellen wir (2 +) als
(2 +) = g

, h

, g

) = 0,
dar und erhalten, da
|h

|
2
2
= h

, h

) = h

+ g

, h

+ g

) g

, g

)
= |(2 +)|
2
2
|g

|
2
2
=
1
2
||
2
2
|g

|
2
2
.
Nun ist aber
|g

|
2
2
=
1
4

k,Z
a
2k
a
2
( k) , ( ))
. .
=||
2
2

k,
+
1
4

k,Z
a
1+2k+
a
1+2+
( k) , ( ))
. .
=||
2
2

k,
+
1
4

k,Z
_
(1)

a
2k
a
1+2+
+ (1)
k
a
2+
a
12k
_
( k) , ( ))
. .
=0
=
||
2
2
4

kZ
a
2
2k
+ a
2
1+2k+
=
||
2
2
4

kZ
a
2
2k
+ a
2k+1
=
||
2
2
4

kZ
a
2
k+
. .
=2
=
1
2
||
2
2
,
und damit ist |h

|
2
2
= 0, also h

= 0, was den Beweis von (9.15) vervollst andigt.


Und jetzt zum Beweis des Pyramidenschemas, also der beiden Formeln (9.12) und (9.13).
Lemma 9.16 F ur Koefzienten c
j
R, j Z, ist

jZ
c
j
(2 j) =

kZ
_
1
2

Z
a

c
+2k
_
( k) +
_
1
2

Z
(1)

c
2k+1
_
( k) .
(9.16)
Beweis: Aufspalten in gerade und ungerade Summanden und Einsetzen von (9.15) liefert

jZ
c
j
(2 j) =

jZ
c
2j
(2( j)) +

jZ
c
2j1
(2( j) + 1)
=
1
2

jZ
c
2j
_

kZ
a
2k
( j k) a
1+2k
( j k)
_
+
1
2

jZ
c
2j1
_

kZ
a
2k1
( j k) + a
2k+2
( j k)
_
186 9 WAVELETS
kkj
=
1
2

kZ
_

jZ
c
2j
a
2j2k
+ c
2j1
a
2j12k
_
( k)
+
1
2

kZ
_

jZ
c
2j
a
1+2k2j)
+ c
2j1
a
1+2k(2j1)
_
( k)
=

kZ
_
1
2

Z
c

a
2k
_
( k) +

kZ
_
1
2

Z
(1)
1
c

a
2k+1
_
( k) ,
woraus (9.16) durch die beiden Indextransformationen + 2k (erste Summe) und
2k + 1 (zweite Summe) folgt.
Korollar 9.17 Jede Funktion f V
n
hat eine eindeutige Waveletdarstellung als
f =

jZ
c
(0)
j
(f) ( j) +
n1

k=0

jZ
d
(k)
j
(f)
_
2
k
j
_
. (9.17)
9.4 Hoch- und Tiefpasslter oder zur uck zu den Pyramiden
Wir sehen uns noch einmal genauer an, was beim Ausf uhren des Pyramidenschemas passiert:
die diskrete Datenfolge (c
j
: j Z) wird vermittels
c

_
1
2

Z
a
k
c

: k Z
_
=: c
1
=: L(c)

_
(1)
k 1
2

Z
a
k
c

: k Z
_
=: d
1
=: H(c)
auf zwei diskrete Folgen abgebildet, oder eben geltert. Eine Filterung ist in diesem Kontext
als diskrete Faltung
c d :=
_

kZ
c
jk
d
k
: j Z
_
darstellbar, oder, f ur die, die es unter diesem Namen kennen, als CauchyProdukt der Koef-
zienten der zugeh origen Potenzreihen.
Ist nun die Maske (a
k
: k Z) nur f ur endlich viele Werte von k ungleich 0, hat also endli-
chen Tr ager, dann mu jeder Filter auch nur ein endliches Teilpaket von c zwischenspeichern
und kann auch praktisch realisiert werden.
Im n achsten Schritt werden die beiden gelterten Vektoren ausged unnt (Subsampling), d.h.,
man verwendet nur noch
S
0
_
c
1
_
=
_
c
1
2j
: j Z
_
und S
1
_
d
1
_
=
_
d
1
2j+1
: j Z
_
.
Der erste Filter, S
0
L, stellt einen Tiefpasslter dar (er l at Signale aus V
n1
, also mit ge-
ringer(er) Frequenz durch), der zweite Filter, S
1
H, ist ein Hochpasslter (er sperrt sich
9.4 Hoch- und Tiefpasslter oder zur uck zu den Pyramiden 187
c
L
H : 2
: 2
S1
S0
c1
d1
Abbildung 9.3: Das Pyramidenschema als Filter.
gegen Elemente von V
n1
). Die schematische Darstellung des Filters ist in Abb. 9.3 abgebil-
det. Diesen Filter schaltet man nun mehrfach (nfach) hintereinander, um die Zerlegung in
c
(0)
, d
(0)
, . . . , d
(n1)
zu bekommen.
Umgekehrt kann man aber auch aus diesen Koefzienten auch wieder die Darstellung bez uglich
(2
n
j) rekonstruieren: Jedes f V
1
kann man darstellen als
f =

jZ
c
(0)
j
(f) ( j) +

jZ
d
(0)
j
(f) ( j)
=

jZ
c
(0)
j
(f)

kZ
a
k
( 2j k) +

jZ
d
(0)
j
(f)

kZ
a

k
(2 2j k)
kk2j
=

kZ
_

jZ
c
(0)
j
(f) a
k2j
+ d
(0)
j
(f) (1)
1k+2j
a
1k+2j
_
(2 k) ,
was zur Rekonstruktionsformel
c
(n)
j
(f) =

kZ
a
j2k
c
(n1)
k
(f) (1)
j

kZ
d
(n1)
k
(f) a
1j+2k
, j Z, n N
0
, (9.18)
f uhrt, das in Programm 2 implementiert ist. Insbesondere besitzt also unser waveletbasiertes
Filtersystem die F ahigkeit der verlustlosen Rekonstruktion. Also gen ugt unser Zerlegungssche-
ma sogar der folgenden Regel:
c
(n)
c
(n1)
. . . c
(1)
c
(0)

d
(n1)
. . . d
(1)
d
(0)

c
(n)
c
(n1)
. . . c
(1)
c
(0)
k
Hierbei sind die Werte der Zerlegung, die gespeichert werden, fett hervorgehoben.
188 9 WAVELETS
%% Reconstruct.m (Numerik 1)
%% --------------------------------------------------------
%% Rekonstruktion aus FWT
%% Eingabe:
%% c,d Datenvektoren
%% a Maske
%% alle: 2 x [n,N] - Matrizen, zweite Zeile Index
function c = Reconstruct( v,w,a )
n = length( a );
nv = length( v ); nw = length( w );
jmin = min( 2*w( 2,1 ) + 1 - a( 2,n ), 2*v( 2,1 ) + a( 2,1 ) );
jmax = max( 2*w( 2,nw ) + 1 - a( 2,1 ), 2*v( 2,nv ) + a( 2,n ) );
c = zeros( 2,jmax - jmin + 1 );
for j = jmin:jmax
c1 = 0; c2 = 0;
for k = fix( (j-a( 2,n )) / 2 ) - 1 : fix( (j-a( 2,1 )) / 2 ) + 1
c1 = c1 + auxIndex( a,j-2*k ) * auxIndex( v,k );
end
for k = fix( (a( 2,1 )-1+j) / 2 ) - 1 : fix( (a( 2,n )-1+j) / 2 ) + 1
c2 = c2 + auxIndex( a,1-j+2*k ) * auxIndex( w,k );
end
c( 1,j-jmin+1 ) = c1 - (-1)j * c2;
c( 2,j-jmin+1 ) = j;
end
%endfunction
Programm 9.2 Reconstruct.m: Der Rekonstruktionsalgorithmus. Achtung: die Spei-
cherausnutzung ist nicht 100%-ig optimal, dem Signal werden im allgemeinen Nullen vor-
angestellt oder angeh angt.
9.5 Subdivision oder die Kunst, ein Wavelet zu plotten 189
Sieht ja alles ganz gut aus, aber: Was wir unterschlagen haben, ist die Frage, wie man denn
solche Masken a
k
, k Z, ndet, die die Orthogonalit atsbedingung (9.6) erf ullt und ob es sowas,
auer dem HaarWavelet uberhaupt gibt. Die Antwort ist ja, siehe [14], aber die Konstruktion
ubersteigt leider den Rahmen dieser Vorlesung
143
. . .
9.5 Subdivision oder die Kunst, ein Wavelet zu plotten
Um Wavelets oder, allgemeiner, Linearkombinationen von verfeinerbaren Funktionen zu plot-
ten, verwendet man ein Verfahren, das sich parallel zu den Wavelets entwickelt hat, n amlich
station are Subdivision [9]. In gewissem Sinne ist dies genau die Umkehrung des Prozesses, den
wir gerade betrachtet haben: wir starten jetzt mit einer Datenfolge c = (c
j
: j Z) und wollen
daraus durch sukzessive Verfeinerung eine Funktion generieren.
Die Grundidee f ur das SubdivisionSchema sieht man schon in der Rekonstruktionsformel
(9.18), wenn man alle Waveletkoefzienten auf den Wert 0 setzt.
Denition 9.18 Zu einer Maske a = (a
j
: j Z) ist der SubdivisionOperator S
a
deniert
als
S
a
c =
_

kZ
a
j2k
c
k
: j Z
_
, c = (c
j
: j Z) . (9.19)
Denition 9.19 Zu einem Vektor c = (c
j
: j Z) und einer Funktion f deniert man die
(halbdiskrete) Faltung
144
als
[c, f] =

jZ
c
j
f ( j) .
Sei nun eine averfeinerbare Funktion. Dann ist
[c, ] =

jZ
c
j
( j) =

jZ
c
j

kZ
a
k
(2 2j k)
kk2j
=

kZ

jZ
a
k2j
c
j
. .
(Sac)
k
(2 k) = [S
a
c, ] (2) .
Also, so lautet die Heuristik, entsprechen die Eintr age von S
a
c den Werten einer Funktion an
den Stellen j/2, j Z, und entsprechend, f ur r N
0
, entsprechen die Eintr age von S
r
a
c den
Werten an den Stellen j/2
r
, j Z. Ausgehend von dieser Vorstellung k onnen wir den Begriff
der Konvergenz f ur ein SubdivisionSchema denieren.
143
Einige Koefzienten f ur Skalierungsfunktionen zu den sogenannten DaubechiesWavelets aus [14] nden sich
aber im Programm auxDaub.m, so da die Theorie nicht ganz und gar in der Luft h angt.
144
Die Faltung zweier integrierbarer Funktionen f, g ist deniert als f g =
_
f(t)g( t)dt ist der Zusam-
menhang jetzt klar?
190 9 WAVELETS
%% Subdivide.m (Numerik 1)
%% --------------------------------------------------------
%% Stationaere Subdivision
%% Eingabe:
%% v Datenvektor
%% a Maske
%% alle: 2 x [n,N] - Matrizen, zweite Zeile Index
function c = Subdivide( v,a )
n = length( a );
nv = length( v );
jmin = 2*v( 2,1 ) + a( 2,1 );
jmax = 2*v( 2,nv ) + a( 2,n );
c = zeros( 2,jmax - jmin + 1 );
for j = jmin:jmax
cc = 0;
for k = fix( (j-a( 2,n )) / 2 ) - 1 : fix( (j-a( 2,1 )) / 2 ) + 1
cc = cc + auxIndex( a,j-2*k ) * auxIndex( v,k );
end
c( 1,j-jmin+1 ) = cc;
c( 2,j-jmin+1 ) = j;
end
%endfunction
Programm 9.3 Subdivide.m: Das SubdivisionSchema, basierend auf einer beliebigen
Maske a. Achtung: f ur die Konvergenz ist es nicht notwendig (aber hinreichend), da es
eine L osung der Verfeinerungsgleichung mit orthogonalen Translaten gibt.
9.5 Subdivision oder die Kunst, ein Wavelet zu plotten 191
Denition 9.20 Ein SubdivisionSchema heit gleichm aig konvergent, wenn es zu jedemvern unf-
tigen Anfangsvektor
145
c eine gleichm aig stetige
146
Funktion f
c
gibt, so da
lim
r
sup
jZ

(S
r
a
c)
j
f
_
j
2
r
_

= 0.
Die wichtigsten Eigenschaften von SubdivisionSchemata listet der n achste Satz auf einen
Beweis m ussen wir uns aus Zeitgr unden verkneifen.
Satz 9.21 Es sei a = (a
j
: j Z).
1. Wenn das SubdivisionSchema konvergiert, dann gibt es eine averfeinerbare , so da
lim
r
S
r
a
c = [c, ] .
2. Wenn das SubdivisionSchema konvergiert, dann ist

jZ
a
2j
=

jZ
a
2j+1
= 1.
3. Hat die averfeinerbare Funktion stabile Translate, dann konvergiert das Subdivision
Schema S
a
.
Dieser Satz sagt uns, wie wir nun eine Skalierungsfunktion und das zugeh orige Wavelet
plotten k onnen: Wir iterieren das SubdivisionSchema auf die Anfangsvektoren
c
j
=
j0

c
j
= (1)
j
a
1j

und erhalten so Plots der beiden Funktionen. Die letzte Aussage von Satz 9.21 sagt uns, da das
SubdivisionSchema gleichm aig konvergiert, sofern nur die Skalierungsfunktion (und damit
auch das Wavelet) stetig sind.
Da das alles auch wirklich funktioniert, zeigen Abb. 9.4 und Abb. 9.5, die mit den bei-
den Funktionen auxPlotScaling und auxPlotWavelet erstellt wurde, und zwar mit
Au osungsstufe N = 6.

Ubrigens: Bei einer verfeinerbaren Funktion gen ugt es, deren Werte (j), j Z, an den
ganzzahligen Stellen zu k onnen, denn dann kann man mittels

_
x
2
_
=

jZ
a
j
(x j)
den Wert auf dem Gitter Z/2 bestimmen (dabei m ussen die Werte an Z erhalten bleiben
147
),
daraus den Wert auf dem Gitter Z/4, und so weiter. Aber, wie gesagt, zuerst einmal m usste
man den Wert von auf Z kennen! Die Frage, wie sich Maske und Werte der zugeh origen
verfeinerbaren Funktion auf Z zueinander verhalten m ussen, damit alles passt, wird in [16]
beantwortet.
145
In unserem Fall: sup
jZ
[c
j
[ < .
146
Auf R mu man Gleichm aigkeit extra fordern!
147
Das heit, man k onnte den Vektor ((j) : j Z) als L osung eines Eigenwertproblems bestimmen!
192 9 WAVELETS
%% auxPlotScaling.m (Numerik 1)
%% --------------------------------------------------------
%% Plotte Skalierungsfunktion bzgl Maske
%% Eingabe:
%% a Maske
%% N Subdivision-Schritte
function auxPlotScaling( a,N )
c = [ 0,1,0 ; -1,0,1 ];
for j = 1:N
c = Subdivide( c,a );
end
plot ( c( 2,: ) ./ 2N, c( 1,: ) );
%endfunction
Programm 9.4 auxPlotScaling.m: Hilfprogramm zum Plotten einer Skalierungsfunk-
tion. Die Au osungsstufe N sollte auf 5 oder 6 gesetzt werden, denn bei niedrigerer
Au osung ist das Resultat noch ziemlich zackig, bei h oherer Au osung wird der Re-
chenaufwand zu gro.
9.5 Subdivision oder die Kunst, ein Wavelet zu plotten 193
%% auxPlotScaling.m (Numerik 1)
%% --------------------------------------------------------
%% Plotte Wavelet bzgl Maske via Subdivision
%% Eingabe:
%% a Maske
%% N % Subdivision-Iterationen
function auxPlotWavelet( a,N )
n = length( a );
c = zeros( 2,n );
amin = 1-a( 2,n ); amax = 1-a( 2,1 );
for k = amin:amax
c( 1,k-amin+1 ) = (-1)k * auxIndex( a,1-k );
c( 2,k-amin+1 ) = k;
end
for j = 1:N
c = Subdivide( c,a );
end
plot ( c( 2,: ) ./ 2(N+1), c( 1,: ) );
%endfunction
Programm 9.5 auxPlotWavelet.m: Hilfprogramm zum Plotten eines Wavelets. Macht
aber nur Sinn, wenn die zugeh orige Skalierungsfunktion orthogonale Translate hat.
194 9 WAVELETS
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
-1 0 1 2 3 4 5 6
line 1
-1.5
-1
-0.5
0
0.5
1
1.5
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
line 1
Abbildung 9.4: Das DaubechiesWavelet D
3
(rechts) zusammen mit seiner Skalierungs-
funktion (links).
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
-1 0 1 2 3 4 5 6 7 8
line 1
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3 4
line 1
Abbildung 9.5: Das DaubechiesWavelet D
4
(rechts) zusammen mit seiner Skalierungs-
funktion (links).
LITERATUR 195
Uns ist in alten mren
wunders viel geseit
von Helden lobebren
von gr ozer arebeit
Das Nibelungenlied
Literatur
[1] A. G. Aitken, On interpolation by iteration of proportional parts, without the use of diffe-
rences, Proc. Edinburgh Math. Soc. 3 (1932), 5676.
[2] E. Anderson, Z. Bai, C. Bischof, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum,
S. Hammarling, A. McKenney, S. Ostrouchov, and D. Sorensen, LAPACK users guide,
second ed., SIAM, 1995.
[3] S. N. Bernstein, D emonstration du th eor` eme de Weierstrass, fond ee su le calcul des pro-
babiliti es, Commun. Soc. Math. Kharkov 13 (1912), 12.
[4] C. de Boor, On calculating with Bsplines, J. Approx. Theory 6 (1972), 5062.
[5] , A practical guide to splines, SpringerVerlag, New York, 1978.
[6] , Splinefunktionen, Lectures in Mathematics, ETH Z urich, Birkh auser, 1990.
[7] P. L. Butzer, M. Schmidt, and E. L. Stark, Observations on the history of central Bsplines,
Archive for History of Exact Sciences 39 (1988), no. 2, 137156.
[8] P. de Casteljau, Formes ` a p oles, Hermes, Paris, 1985.
[9] A. S. Cavaretta, W. Dahmen, and C. A. Micchelli, Stationary subdivision, Memoirs of the
AMS, vol. 93 (453), Amer. Math. Soc., 1991.
[10] C. K. Chui, Multivariate splines, CBMS-NSF Regional Conference Series in Applied Ma-
thematics, vol. 54, SIAM, 1988.
[11] , An introduction to wavelets, Academic Press, 1992.
[12] M. G. Cox, The numerical evaluation of Bsplines, J. Inst. Math. Appl. 10 (1972), 134
149.
[13] H. B. Curry and I. J. Schoenberg, On P olya frequency functions IV: The fundamental
spline functions and their limits, J. dAnalyse Math. 17 (1966), 71107.
[14] I. Daubechies, Ten lectures on wavelets, CBMS-NSF Regional Conference Series in App-
lied Mathematics, vol. 61, SIAM, 1992.
196 LITERATUR
[15] P. J. Davis, Interpolation and approximation, Dover Books on Advanced Mathematics,
Dover Publications, 1975.
[16] J. M. DeVilliers, C. A. Micchelli, and T. Sauer, Building renable functions from their
values at integers, Calcolo 37 (2000), no. 3, 139158.
[17] R. T. Farouki and T. N. T. Goodman, On the optimal stability of the bernstein basis, Math.
Comp. 65 (1996), 15531566.
[18] R. T. Farouki and V. T. Rajan, On the numerical condition of polynomials in Bernstein
form, Comput. Aided Geom. Design 4 (1987), 191216.
[19] W. Gautschi, Numerical analysis. an introduction, Birkh auser, 1997.
[20] D. Goldberg, What every computer scientist should know about oatingpoint arithmetic,
ACM Computing Surveys 23 (1991), 548.
[21] G. Golub and C. F. van Loan, Matrix computations, The Johns Hopkins University Press,
1983.
[22] G. H. Golub (ed.), Studies in numerical analysis, MAA Studies in Mathematics, vol. 24,
The Mathematical Association of America, 1984.
[23] N. J. Higham, Accuracy and stability of numerical algorithms, SIAM, 1996.
[24] B. B Hubbard, The world according to wavelets, A.K. Peters, 1996.
[25] E. Isaacson and H. B. Keller, Analysis of Numerical Methods, John Wiley & Sons, 1966.
[26] S. Karlin, Total positivity, Stanford University Press, Stanford CA, 1968.
[27] K. S. Kunz, Numerical Analysis, McGraw-Hill Book Company, 1957.
[28] A. K. Louis, P. Maa, and A. Rieder, Wavelets, 2. ed., B. G. Teubner, 1998.
[29] S. Mallat, A wavelet tour of signal processing, 2. ed., Academic Press, 1999.
[30] Y. Meyer, Wavelets algorithms and applications, SIAM, 1993.
[31] C. A. Micchelli, Mathematical aspects of geometric modeling, CBMS-NSF Regional Con-
ference Series in Applied Mathematics, vol. 65, SIAM, 1995.
[32] E. H. Neville, Iterative interpolation, J. Indian Math. Soc. 20 (1934), 87120.
[33] G. N urnberger, Approximation by spline functions, SpringerVerlag, 1989.
[34] J. M. Pe na (ed.), Shape preserving representations in Computer Aided Geometric Design,
Nova Science Publishers, 1999.
LITERATUR 197
[35] J. M. Pe na and T. Sauer, On the multivariate Horner scheme, SIAM J. Numer. Anal. 37
(2000), 11861197.
[36] , On the multivariate Horner scheme II: Running error analysis, Computing 65
(2000), 313322.
[37] L. Ramshaw, Blossoming: A connectthe-dots approach to splines, Tech. report, Digital
Systems Research Center, Palo Alto, 1987.
[38] , Blossoms are polar forms, Comp. Aided Geom. Design 6 (1989), 352378.
[39] T. Sauer, Ein algorithmischer Zugang zu Polynomen und Splines, Mathem. Semesterbe-
richte 43 (1996), 169189.
[40] I. J. Schoenberg, Contributions to the problem of approximation of equidistant data by
analytic functions. part A. on the problem of of smoothing or graduation. a rst class of
analytic approximation formulae, Quart. Appl. Math. 4 (1949), 4599.
[41] , Contributions to the problem of approximation of equidistant data by analytic
functions. part B. on the second problem of osculatory interpolation. a second class of
analytic approximation formulae, Quart. Appl. Math. 4 (1949), 112141.
[42] , Cardinal spline interpolation, CBMS-NSF Regional Conference Series in App-
lied Mathematics, vol. 12, SIAM, 1973.
[43] L. L. Schumaker, Spline funtions: Basic theory, Pure and Applied Mathematics: A Wiley
Interscience Series of Texts, Monographs and Tracts, John Wiley & Sons, 1981.
[44] H. R. Schwarz, Numerische Mathematik, B. G. Teubner, Stuttgart, 1988.
[45] H. P. Seidel, A new multiafne approach to Bsplines, Comp. Aided Geom. Design 6
(1989), 2332.
[46] J. Stoer, Einf uhrung in die Numerische Mathematik I, 4 ed., Heidelberger Taschenb ucher,
Springer Verlag, 1983.
[47] J. Stoer and R. Bulirsch, Einf uhrung in die Numerische Mathematik II, 2 ed., Heidelberger
Taschenb ucher, Springer Verlag, 1978.
[48] K. Weierstra,

Uber die analytische Darstellbarkeit sogenannter willk uhrlicher Funktio-
nen reller Argumente, Sitzungsber. Kgl. Preuss. Akad. Wiss. Berlin (1885), 633639,789
805.
[49] J. H. Wilkinson, Error analysis of oating point computation, Numer. Math. 2 (1960),
319340.
Index
ops , 37
Abgebrochene Potenz, 164
Abstieg
steilster, 99
Adelson, 182
Aitken, 123
Algebra, 109
Arithmetik
alternatives Modell, 54
Standardmodell, 17
B orse von Vancouver, 9
B ezier, 116
Banach, 86
Basis
eines Zahlensystems, 10
hierarchische, 175
Riez, 178
Boehm, 163
Burt, 182
Butzer, 171
Cox, 172
Curry, 158, 171
de Boor, 143, 154, 171
de Casteljau, 116, 172
Determinante, 39
Differentiation, 34
Differenz
dividierte, 127, 129131, 133, 164
Doolittle, 41
Einheit
Rundungsfehler-, 11
Elimination
Gau f ur total nichtnegative Matrizen,
82
Gau, 48, 84
Gau, mit Pivotsuche, 60
Rechenaufwand, 44
Erwartungswert, 6
Euler, 171
Faktor
Wachstums-, 66, 69
obere Schranke, 68
Faltung
diskrete, 186
halbdiskrete, 189
Fehler
absoluter, 10
bei der Subtraktion, 15
Fortpanzung, 18
R uckw arts-, 21, 22
f ur de CasteljauAlgorithmus, 120
f ur GauElimination, 56, 66
f ur GauElimination mit Pivotsuche,
63
f ur L osung von Gleichungssystemen,
54
f ur R ucksubsitution, 55
f ur Vorw artselimination, 55
fur KahanSummation, 24
HornerSchema, 113
relativer, 10, 34
Skalarprodukt, 20
Vorw arts-, 34
f ur GauElimination bei total nicht-
neg. Matrizen, 84
f ur GauElimination mit Skalierung,
70
f ur KahanSummation, 24
f ur L osung von Gleichungssystemen,
66
f ur lineare Gleichungssysteme, 58
f ur Nachiteration, 76
f ur Polynomauswertung, 122
Filter, 186
Hochpass-, 186
Tiefpass-, 186
198
INDEX 199
Fixpunkt, 85
Fixpunktsatz
Banachscher, 86
Galerkin, 29
Gleichungssystem, 28
direktes L osungsverfahren, 52
Gleitkommazahl, 10
normalisierte, 11
subnormale, 11
Gradient, 99
Gradienten
konjugierte, 102
Hermite, 171
Hilbertraum, 178
Interpolation, 122, 123
mit Polynomen, 123, 126
Fehler, 133, 134
mit Splines, 147, 150
Intervall
dyadisches, 174
Invarianz
Verschiebungs-, 178
Kahan, 24
Karlin, 81
Knoten, 142
-einf ugen, 163
-folge, 142
innere, 142, 148
Rand-, 142, 145
Verfeinerung, 162, 166
Vielfachheit, 142
Kombination
afne, 115
Konvex-, 115
Konditionszahl, 22, 22, 32
einer BernsteinB ezierBasis, 122
einer Matrix, 32, 34
nach Skalierung, 70
einer Monombasis, 122
einer Polynombasis, 121
Kontraktion, 85
Kontroll
-polygon, 116
-punkt, 116
Koordinaten
baryzentrische, 115
LeibnizFormel, 164
Mallat, 177
Mantisse, 10
Maske, 179, 186
Verfeinerungs-, 179
Matlab, 34, 101, 129, 130, 137, 146, 182
Matrix
badierte, 147
bandierte-, 69
Betrags-, 53
diagonaldominante, 68, 95
Dreiecks-, 36
Gau, 44, 47, 60
hermitesche, 78
Iterations-, 86, 89
Kollokations-, 147, 164, 168
nichtnegative, 147
obere Hessenberg-, 68
Pascal, 82
Permutations-, 59, 60
positiv denite, 77, 91, 97
Spektrum, 87
symmetrische, 77
total nichtnegativ, 84
total nichtnegative, 82, 168
total positive, 82
Tridiagonal-, 69
Vandermonde, 28
Vertauschungs-, 59
Micchelli, 171
Minoren, 38, 47
Monom, 108
MRA, 177, 178
Multiresolution Analysis, siehe MRA 177
N urnberger, 172
200 INDEX
Nachiteration, 7276
Neville, 123
Norm
Energie-, 151
Frobenius-, 31
Konsistenz, 31
Matrix-, 30
monotone, 58
Operator-, 31, 89
Operator, 87
Vektor-, 29
Vertr aglichkeit, 31, 35
Normalform
Jordan, 88
Nullstelle
isolierte, 167
Octave, 34, 101, 129, 130, 137, 146, 182
Operationen
Gleitomma-, 13
Operator
Interpolations-, 126, 135
Subdivision, 189
Orthogonalit at, 180
notwendige Bedingung, 180
Parallelisierung, 91
Pe na, 71
Peano, 171
Pivotelement, 59
Pivotsuche, 60
Miverst andnisse, 63
relative, 71
Spalten-, 63
Total-, 63, 69
Zeilen-, 63
Polynom, 108
-kurve, 111
-raum, Dichtheit, 109
Auswertung, 112, 116, 131
B ezierKurve, 116, 119
Bernstein-, 109, 116
BernsteinB ezierBasis-, 116
Grad, 108
Interpolations-, 123
Konditionszahl, 121
LagrangeDarstellung, 123
Monom, 108
NewtonDarstellung, 126, 129
st uckweises, 157
Tschebyscheff-, 134, 135
Produkt
inneres, siehe Skalarprodukt 19
R ucksubstitution, 37, 38, 52
Ramshaw, 172
Raum
Skalen-, 178
Wavelet-, 179
Regel
Cramersche, 4
Leibniz, 5
Residuum, 72
Schoenberg, 147, 158, 171
Schumaker, 172
Seidel, 172
Signatur, 165, 166
Skalarprodukt, 19
Skalierung, 70
implizite, 71
Skalierungsfunktion, 178, 179
Spektralradius, 87, 89
Spline
-kurve, 145
-raum, 157, 160
Dimension, 161
Abbildung, 152
Ableitung, 160
Auswertung, 143
BSpline, 147, 157, 158, 160
Ableitung, 158
der Ordnung 0, 155
lineare Unabh angigkeit, 161
Rekursion, 155
Tr ager, 156
Basis, 158
Differenzierbarkeit, 158
INDEX 201
Interpolation, 148
kubischer, 171
linearer, 148
Minimalit at, 153
nat urlicher, 150
nat urlicher, 153
Nullstellen, 167
Ordnung, 145, 147
Randbedingung, 153
Stabilit at, 178, 180
Standard
IEEE 754, 14
IEEE 854, 14
Statistiker, 9
Straklatte, 152
Subdivision, 189
Konvergenz, 191
Subsampling, 186
Summation, 2427
compensated, 24
Kahan, 24
Symbole
Landau-, 20
Tschebyscheff, 134
Unterlauf, 11
Varianz, 69
Vefahren
Cholesky, 78, 79
Vektor
konjugierter, 102, 103
Verfahren
AitkenNeville, 124
CG, siehe konjugierte Gradienten 105
de BoorAlgorithmus, 143, 144
de CasteljauAlgorithmus, 116, 118, 146
dividierte Differenzen, 128
Doolittle, 41, 45, 78, 84
Einzelschritt-, 90
GauElimination, 48
GauElimination f ur bandierte Matri-
zen, 81
GauElimination mit Nachiteration, 73
GauElimination mit Spaltenpivotsuche,
64
GauSeidel, 94
GauSeidelIteration, 94
GauSeidel, 90
Konvergenzkriterium, 91, 95
Gesamtschritt-, 90
HornerSchema, 112, 113, 131
iteratives, 85, 86, 99
Konvergenzgeschwindigkeit, 89
Konvergenzkriterium, 89
Jacobi, 90, 93
Konvergenzkriterium, 95
JacobiIteration, 92
konjugierte Gradienten, 105, 107
L osung von Gleichungssystemen, 52, 65
NewtonKoefzienten, 130
Pyramidenschema, 182, 183
Relaxations-, 9697
Subdivision, 190
Wavelet
Rekonstruktion, 183, 188
Verfeinern
iteratives, 7276
Volksbetrug, 155
Vorw artselimination, 37, 38, 52, 53
mit Permutation, 74
Vorzeichenwechsel, 165
Wavelet
-darstellung, 186
-funktion, 180, 181
-koefzienten, 184
-raum, 181
Haar, 177, 180
Plots, 194
Rekonstruktion, 187
Zerlegung, 186
Weierstrass, 109
Whitney, 147
Zerlegung
LDL
T
, 78
202 INDEX
LDU, 77
LU, 38, 39, 46, 52, 60, 82
bandierte, 80
Cholesky, 78
Zweiskalenbesziehung, 179