Sie sind auf Seite 1von 231

Numerische Mathematik

Konstruktion und Analyse von Algorithmen


Weiterbildung fr Ingenieure



K. TAUBERT
WS05/06









Universitt Hamburg
Fachbereich Mathematik
Schwerpunkt Differentialgleichungen
und Dynamische Systeme
Prof. Dr. Klaus Taubert
Bundesstr. 55
20146 Hamburg
Deutschland


Tel.: 040/428 38 5127
Fax: 040/428 38 5117
E-Mail: taubert@math.uni-hamburg.de








An der Universitt Hamburg gibt es eine Arbeitsstelle fr wissenschaftliche Weiterbildung.
Das vorliegende Skript zur Vorlesung

Numerische Mathematik
Konstruktion und Analyse von Algorithmen

entstand im WS05/06 im Rahmen der berufsbezogenen Weiterbildungsstudien und seminare
insbesondere Ingenieurmathematik.
Dieses war die fnfte Vorlesung des Autors in diesem Zusammenhang. Weitere Vorlesungen
waren:

Elemente der Numerik elektrischer Netzwerke, WS96/97
SIMULINK und Differentialgleichungen, WS00/01
Numerische Methoden mit MATLAB und ihre Toolboxen, WS01/02
Numerische Methoden fr Differentialgleichungen WS03/04

Die diesen Skript zugrunde liegende Vorlesung ist auf Wunsch eines Hrers entstanden und hat
als Thema die numerische Mathematik.
Die Numerik beschftigt sich mit der Konstruktion und Analyse von Algorithmen fr die
Auflsung mathematischer Problemstellungen. Die Notwendigkeit solcher Algorithmen und das
Interesse daran ergeben sich insbesondere dann, wenn fr ein gegebenes Problem keine explizite
Darstellung der Lsung bekannt ist oder diese zu komplex ist. Schon Archimedes
beschftigte sich im Rahmen der Numerik mit Algorithmen zur nherungsweise Berechnung
von Flchen oder der Kreiszahl .
Moderne Computertechnik hat inzwischen dafr gesorgt, dass numerische Methoden massiv in
allen technischen und naturwissenschaftlichen Disziplinen eingesetzt werden. Trotz steigender
CPU-Leistungen ist der Bedarf an schnellen, robusten und neuartigen Algorithmen ungebrochen.
Erst dadurch knnen heute Probleme von auerordentlicher Komplexitt behandelt und simuliert
werden.
Wichtige Teilgebiete der Numerik werden in der zugrunde liegenden Vorlesung in praxisnaher
Form vermittelt. Es werden u.a. numerische Methoden fr lineare Gleichungssysteme,
Interpolationsaufgaben, FFT, Anfangswertaufgaben, Randwertaufgaben und vieles mehr.
behandelt. Insbesondere werden auch dnnbesetzte Matrizen, das semiglatte Newton-Verfahren
und Variationsungleichungen betrachtet. Im Vordergrund steht dabei stets das Prinzip und
weniger der Beweis.
Zu den einzelnen Kapiteln gehren Aufgaben und zugehrige Lsungen mit nicht unbedingt
optimalen MATLAB-Programmen.
Mein besonderer Dank gilt den Studentinnen R. Drbecker und C. Zimmermann. Sie haben
zuverlssig und kompetent dem Autor bei der Erstellung des Skriptes geholfen, die Programme
getestet und die Hrer untersttzt.
Mein Dank gilt auch Herrn Dr. S. Heitmann, der die Hrer whrend der bungen untersttzte.

Im Februar 2006
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06
K. Taubert

INHALTSVERZEICHNIS


1. ELEMENTARES 1-13
1.1 Einfhrung
1.2 Werteermittlung und Darstellung von Polynomen oder das Horner Schema
1.3 Das Nullstellenproblem f(x) = 0
1.4 Fixpunktaufgaben
1.5 Kondition eines Problems
Aufgaben

2. POLYNOMINTERPOLATION 14-22
2.1 Grundlegendes
2.2 Das Interpolationspolynom nach Newton
2.3 Das Neville-Schema
2.4 Zur Wahl der Sttzstellen
Aufgaben

3. LINEARE GLEICHUNGSSYSTEME 23-36
3.1 Zur Auflsbarkeit
3.2 Das Gauss-Eliminationsverfahren (GEV)
3.3 GEV mit Pivotsuche
3.4 GEV und Faktorisierung
3.5 Das Cholesky-Verfahren
3.6 Kondition eines Gleichungssystems
Aufgaben

4. SPLINES 37-46
4.1 Kubische Splines
4.2 Parametrische Interpolation
4.3 Bezier-Kurven
Aufgaben

5. NUMERISCHE INTEGRATION 47-57
5.1 Newton-Cotes Formeln
5.2 Zusammengesetzte Mittelpunkts-, Trapez- und Simpson-Formeln
5.3 Das Romberg-Verfahren
5.4 Adaptive Integrationsverfahren
Aufgaben

6. AUSGLEICHSRECHNUNG 58-69
6.1 Beispiele. Die Normalgleichungen
6.2 Eine geometrische Deutung des Ausgleichsproblems. Projektionssatz
6.3 Numerisches Verfahren zur Auflsung der Ausgleichsaufgabe. Householder-
Verfahren



6.4 Zur Kondition des Ausgleichsproblems
6.5 Das Householder-Verfahren fr lineare Gleichungssysteme
Aufgaben

7. DNNBESETZTE LINEARE GLEICHUNGSSYSTEME 70-80
7.1 Speicherung dnnbesetzter Matrizen
7.2 Das Markowitz-Kriterium
7.3 Ein graphentheoretischer Zusammenhang
7.4 Fill-in Minimierung mit besonderer Besetzungsstruktur
7.5 Spezielle Strukturen
Aufgaben

8. ITERATIVE VERFAHREN FR LINEARE GLEICHUNGSSYSTEME 81-90
8.1 Der Fixpunktsatz fr kontrahierende Abbildungen
8.2 Iterative Lsung von linearen Gleichungssystemen
8.3 Konvergenzresultate
8.4 Das Extrapolationsverfahren von Richardson
Aufgaben

9. TRIGONOMETRISCHE POLYNOME 91-101
9.1 Zur Approximation periodischer Funktionen
9.2 Die Diskrete Fast Fourier Transformation (FFT)
9.3 Trigonometrische Interpolation und die IFFT
9.4 Was macht MATLAB?
Aufgaben

10. NICHTLINEARE NULLSTELLENPROBLEME 102-112
10.1 Das eindimensionale Newton-Verfahren
10.2 Das Newton-Verfahren in mehreren Dimensionen
10.3 Das semiglatte Newton-Verfahren
10.4 Parameterabhngige nichtlineare Gleichungssysteme. Pfadverfolgung
Aufgaben

11. MATRIXEIGENWERTAUFGABEN 113-123
11.1 Geometrische Lage der Eigenwerte
11.2 Potenzmethoden
11.3 Die QR-Iteration
11.4 Der QR-Algorithmus
11.5 QR-Iteration mit Spektralverschiebung
Aufgaben

12. GEWHNLICHE ANFANGSWERTAUFGABEN 124-136
12.1 Gewhnliche Anfangswertaufgaben
12.2 Elementare Differenzenverfahren fr gewhnliche Anfangswertaufgaben.
Konvergenzstze
12.3 Stabilittsbedingungen fr Differenzenverfahren
12.4 Anfangswertaufgaben mit Unstetigkeiten
Aufgaben

13. GEWHNLICHE LINEARE RANDWERTAUFGABEN 137-149
13.1 Kontinuierliche und diskrete Aufgaben von monotoner Art
13.2 Variationsgleichungen und Variationsaufgaben




13.3 Variationsungleichungen
Aufgaben

14. LINEARE OPTIMIERUNG 150-157
14.1 Ein Austauschritt
14.2 Graphische Lsung linearer Optimierungsaufgaben
14.3 Der Simplex-Algorithmus
Aufgaben



1
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert










1.1 Einfhrung

Im Zusammenhang mit einer gegebenen (skalaren) Funktion

f : R R

knnen sehr unterschiedliche Aufgaben auftreten:

1. Die Frage nach einer effizienten Werteermittlung.
2. Das Verlangen nach anderen Darstellungen von f.
3. Die Bestimmung von Nullstellen von f oder die Bestimmung von Argumenten x* mit
der Eigenschaft f(x*) = 0.
4. Die Bestimmung von Fixpunkten von f oder x* mit f(x*) = x*.
5. Empfindlichkeitsanalysen oder die Untersuchung der Auswirkungen von
Vernderungen von f.

Absicht dieses Kapitels ist es, exemplarisch auf die oben genannten Punkte einzugehen und
einen ersten Einblick in Probleme und numerische Methoden zu geben.


1.2 Werteermittlung und Darstellung von Polynomen
oder
das Horner Schema

Eine besondere Klasse von Funktionen f : R R sind die Polynome

p
n
(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ .. + a
n
x
n


a
i
R, vom Hchstgrad n.
Bei dieser Klasse von Funktionen kann der Frage nach einer effizienten Werteermittlung und
nach dem Wechsel in verschiedene Darstellungen besonders einfach nachgegangen werden.
Die naive Ermittlung des Wertes eines Polynoms n-ten Grades an einer Stelle x
0
erfordert
regelhaft n Additionen und 2n-1 Multiplikationen.
1
Elementares
EINIGE KONZEPTE und AUFGABEN
Werteermittlung, Darstellungen, Fixpunkte, Nullstellen, Kondition
2
Am folgenden Beispiel (n=4) ist ersichtlich, dass geeignete Umformungen des Polynoms dazu
fhren, dass die Ermittlung eines Wertes mit lediglich n Additionen und n Multiplikationen
erfolgen kann. Es ist

p
4
(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ a
4
x
4

= a
0
+ x ( a
1
+ a
2
x + a
3
x
2
+ a
4
x
3
)
= a
0
+ x ( a
1
+ x (a
2
+ a
3
x

+ a
4
x
2
))
= a
0
+ x ( a
1
+ x (a
2
+ x (a
3

+ a
4
x))).

Dasselbe Vorgehen fhrt bei einem Polynom vom Grad n auf die Darstellung

1. p
n
(x) = a
0
+ x ( a
1
+ x (a
2
+ + x (a
n-1

+ a
n
x) )).

und kann damit ebenfalls durch n Additionen und n Multiplikationen ausgewertet werden.
Wie die etwas unbersichtliche Darstellung von p
n
in ein bersichtliches Auswertungsschema
berfhrt werden kann, soll wieder am Fall n = 4 gezeigt werden:

Die Umbenennungen
p
4
(x)) = a
0
+ x ( a
1
+ x (a
2
+ x (a
3

+ xa
4
)))
(a
3
+ xb
3
)
(a
2
+ x b
2
)
( a
1
+ x b
1
)
a
0
+ x b
0
b
-1

fhren zu dem Schema

a
4
a
3
a
2
a
1
a
0

(+) (+) (+) (+) (+)
x xb
3
xb
2
xb
1
xb
0

(=) (=) (=) (=) (=)
b
3
= a
4
b
2
b
1
b
0
b
-1



Werden die berflssigen Zeilen gestrichen und wird ein allgemeines Polynom n-ten Grades
zugrunde gelegt, dann ergibt sich das Schema (Horner Schema)


a
n
a
n-1
a
n-2
a
2
a
1
a
0

x xb
n-1
xb
n-2
xb
2
xb
1
xb
0

b
n-1
=a
n
b
n-2
b
n-3
b
1
b
0
b
-1




Beispiel
Das Polynom
p
4
(x) = 1 - 2x + 3x
2
- 4x
3
+ 5x
4


soll an der Stelle x = 2 ausgewertet werden. Das Horner Schema hat dann die Form



3
5

-4 3 -2

1
2 10 12 30 56
5 6 15 28 57

und es ist p(2) = 57.

Fr eine Programmierung ist es zweckmig, das Horner Schema in der Form

b
n-1
= a
n

b
i-1
= a
i
+ xb
i
i = n-1, ,2,1
b
-1
= a
0
+ xb
0


zu schreiben.

Neben den bisherigen Darstellungen fr ein Polynom knnen noch die Faktorzerlegung

2. p
n
(x) = a
n

n
1 i
i
) x x ( ,
wobei x
i
, i = 1,2, ,n, die Nullstellen von p
n
(x) mit ihrer zugehrigen
Vielfachheit sind

und die Taylorentwicklung

3. p(x) = p(x
0
) +
! 1
) x ( p
0

(x-x
0
) +
! 2
) x ( p
0
) 2 (
(x-x
0
)
2
+ . +
! n
) x ( p
0
) n (
(x-x
0
)
n


fr jedes x
0
R

von praktischer Bedeutung sein.

Bemerkenswert ist, dass auch diese Darstellungen ber eine Verallgemeinerung des Horner
Schemas ermittelt werden knnen. Den Schlssel hierzu liefert der folgende


Satz
Sei p
n
(x) =

=
n
0 i
i
i
x a ein beliebiges Polynom n-ten Grades und x
1
C beliebig, aber fest.
Dann ist das Polynom
p
n-1
(x) =

=
1 n
0 i
i
i
x b ,
deren Koeffizienten b
i
durch das Horner Schema an der Stelle x = x
1
bestimmt sind, vom
Grad n-1 und es gilt

p
n
(x) = p
n
(x
1
) + (x-x
1
)p
n-1
(x).


Beweis:
Der Beweis ergibt sich, indem im Polynom p
n
(x) die Koeffizienten a
i
durch b
i-1
x
0
b
i
ersetzt
werden.
4

Ausgehend von diesem Satz kann nun die Faktorzerlegung und eine Taylorentwicklung des
Polynoms p
n
entwickelt werden.

Zur Faktorzerlegung:
Ist x
1
eine Nullstelle von p
n
(x), dann gilt

p
n
(x) = (x-x
1
)p
n-1
(x).

Ist x
2
eine Nullstelle von p
n-1
(x), dann liefert der obige Satz ein zugehriges Polynom p
n-2
(x)
mit
p
n-1
(x) = (x-x
2
)p
n-2
(x)

und damit insgesamt die Darstellung

p
n
(x) = (x-x
1
)(x-x
2
)p
n-2
(x).

Eine geeignete Anzahl von Wiederholungen dieses Prozesses liefert das gewnschte Ergebnis

p
n
(x) = a
n
(x-x
1
)(x-x
2
)(x-x
3
)..(x-x
n
).

Zur Taylorentwicklung:
ber eine wiederholte Ausfhrung des Horner Schemas an einer Stelle x
0
lassen sich auch die

Koeffizienten der Taylorentwicklung von p
n
(x) um die Stelle x
0
bestimmen.
Die Differentiation von
p
n
(x) = p
n
(x
0
) + (x-x
0
)p
n-1
(x)
an der Stelle x
0
liefert
= ) x ( p
0
) 1 (
n
p
n-1
(x
0
).
Aus der Darstellung

p
n
(x) = p
n
(x
0
) + (x-x
0
)( p
n-1
(x
0
) + (x-x
0
)p
n-2
(x))
ergibt sich hnlich
! 2
) x ( p
0
) 2 (
n
= p
n-2
(x
0
)
und allgemein
!
) x ( p
0
) (
n

= ) x ( p
0 n
fr = 0,1,2, ,n.

Beispiel
Gesucht sei die Taylorentwicklung von

p(x) = 1 - 2x + 3x
2
- 4x
3
+ 5x
4

um x = 1.


5 -4 3 -2 1
x
0
=1 5 1 4 2
5 1 4 2 3 = p(1)
x
0
=1 5 6 10
5 6 10 12=p
(1)
(1)/1!
5
x
0
=1 5 11
5 11 21 = p
(2)
(1)/2!
x
0
=1 5
5 16 =p
(3)
(1)/3!
x
0
=1
5 = p
(4)
(1)/4!

Damit ist
p(x) = 3 + 12(x-1) + 21(x-1)
2
+ 16(x-1)
3
+ 5(x-1)
4
.


Bemerkung (Bestimmung der Werte der Ableitungen eines Polynoms)
Die obigen Ausfhrungen zeigen, dass auch die Werte der Ableitungen eines Polynoms mit
einer entsprechenden Anzahl von Wiederholungen des Horner Schemas ermittelt werden
knnen. Die mit dem wiederholten Horner Schema erzielten Werte ) x (
! i
p
0
) i (
mssen
schlielich nur mit dem entsprechenden Faktor i! multipliziert werden.



1.3 Das Nullstellenproblem f(x) = 0

Gegeben sei eine stetig differenzierbare Funktion

f : [a,b] R R.

Das Nullstellenproblem f(x) = 0 besteht darin, ein x* [a,b] zu finden mit

f(x*) = 0.

Im Folgenden nehmen wir an, dass das Nullstellenproblem hchstens eine Lsung in [a,b]
besitzt. Eine Aussage zur Existenz einer Nullstelle macht der folgende

Satz
Gilt f(a)f(b) <0, dann besitzt f (mindestens) eine Nullstelle in (a,b).

Wohl auch aus didaktischen Grnden werden in der Literatur immer wieder viele
geometrische Verfahren zur Bestimmung von Nullstellen behandelt. Dazu gehren:

Die Intervallhalbierung oder Bisektionsmethode,
Die Regula falsi,
Das Sekanten-Verfahren,
Das Newton-Verfahren.

In professionellen Tools (fzero von MATLAB) wird zur Bestimmung von Nullstellen skalarer
Gleichungen das Dekker-Brent-Verfahren eingesetzt. Dabei handelt es sich um eine
Mischung des Sekanten-Verfahrens und der Bisektionsmethode.
Bei allen genannten Methoden wird aus einer bekannten Nherung x
n
der Nullstelle, ber eine
geeignete Vorschrift (Funktion) g, eine neue Nherung x
n+1
6

x
n+1
= g(x
n
)

konstruiert (berechnet) und die Erwartung ist, dass dieser neue Wert besser ist.
Fr die Beurteilung der Verfahren spielen sehr unterschiedliche Aspekte eine Rolle. Dazu
gehren

Konvergenzgeschwindigkeit
Mgliche Prfungen fr die Gte von Nherungen
Uneingeschrnke Konvergenz der Verfahren
Aufwand
Regularittsforderungen an f

und vieles mehr. Auf einige dieser Punkte soll hier eingegangen werden.

Liefert ein Verfahren konvergente Folgen und zwar gegen die Lsung des Problems, dann ist
deren Konvergenzgeschwindigkeit sicherlich ein Faktor zur Beurteilung des Verfahrens. Es
hat sich bewhrt, den Begriff der Konvergenzordnung einer Folge (x
k
) einzufhren.

Definition
Eine Folge (x
k
), x
k
R, konvergiert mit der Ordnung p 1 gegen x*, falls es eine Konstante
K 0 gibt, so dass
| x
k+1
x* | K | x
k
x*|
p
,

wobei im Fall p = 1 zustzlich K <1 verlangt wird.

Sofern die genannten Verfahren gegen die Nullstelle konvergente Folgen liefern, haben diese
regelhaft die folgende Konvergenzordnung

Verfahren Bisektion Regula falsi Sekanten-Verfahren Newton
Ordnung keine 1
(1+ 5 )/2
2

Damit sollte dem Newton-Verfahren der Vorzug gewhrt werden.

Von unbersehbarer Bedeutung ist aber auch die Frage, ob ein Verfahren fr jede Nherungs-
lsung x
0
[a,b] auch zu einer gegen die Nullstelle konvergierenden Folge fhrt.
Das Ergebnis zeigt die folgende Tabelle

Verfahren Bisektion Regula falsi Sekantenverfahren Newton
Konvergenz Ja Ja Nein Nein

In der Regel liefern das Sekanten-Verfahren und das Newton-Verfahren nur konvergente
Folgen, wenn die Startnherungen in hinreichender Nhe der Nullstelle liegen. Womit die
Regula falsi vorzuziehen wre.

Obwohl das Bisektionsverfahren immer gegen die Nullstelle konvergente Folgen liefert,
mssen diese nicht die Ordnung p = 1 haben. Dennoch gibt es Situationen, bei der auch dieses
Verfahren der Regula falsi vorzuziehen ist. Das Newton-Verfahren bentigt die Ableitung der
Funktion f. Der Aufwand zur Ermittlung dieser Ableitungen kann so gro sein, dass das
Sekanten-Verfahren ein zeitlich gnstigeres Verhalten aufweist.

7
Sieht man von den bisherigen Fragen einmal ab und wird beachtet, dass eine Iteration ja in der
Praxis nicht unendlich oft durchgefhrt werden kann, dann bleibt die Frage nach geeigneten
Abbruchkriterien. Dafr werden hufig Toleranzen vorgegeben und eine oder mehrere der
folgenden Forderungen an den Abbruch gestellt:

1. | x
n+1
x
n
|

2. | x
n+1
x
n
|/| x
n
|

3. | f(x
k+1
) |

Was allerdings zu sehr unterschiedlichen Ergebnissen fhren kann.

Es wurde bereits oben erwhnt, dass das Sekanten- und das Newton-Verfahren nicht
notwendig fr jeden Startwert x
0
aus [a,b] zu einer konvergenten Folge fhren. Auch hier sind
dann gegebenenfalls Abbruchkriterien ntig. Einige sind

1. | f(x
k+1
) | | f( x
k
) |

2. | x
k+1
x
k
| | x
k
x
k-1
|

fr ein < 1 und insbesondere = .


Es sollen nun die einzelnen Verfahren kurz erlutert werden:


Die Bisektionsmethode

Neben den bisherigen Voraussetzungen wird noch angenommen, dass f(a)f(b) 0 ist.
Das Bisektionsverfahren basiert auf einer Halbierung des Intervalls [a,b].
Mit c = (a+b)/2 ergeben sich die zwei Intervalle [a,c] und [c,b] und mit der gemachten
Annahme muss dann f(a)f(c) 0 oder f(c)f(b) 0 sein.
Damit liegt die gesuchte Nullstelle in einem der Intervalle [a,c] oder [c,b] und die Lnge des
Intervalls, in dem die Nullstelle liegt, ist halbiert worden.
Fr das neue Intervall wird der Prozess dann wiederholt.
Man berzeugt sich schnell: Wird z.B. als neuer Nherungswert stets der Wert der rechten
Seite des neuen Intervalls gewhlt, dann liegt eine gegen die Nullstelle konvergente Folge
vor. Natrlich muss diese konvergente Folge nicht die Ordnung p = 1 haben.












a b (a+b)/2
8

Regula falsi

Es seien dieselben Voraussetzungen wie bei der Bisektionsmethode erfllt.
Bei der Regula falsi werden ausgehend vom Intervall [a,b], wie bei der Bisektionsmethode,
auch wieder zwei neue Intervalle [a,c] und [c,b] erzeugt. In einem dieser beiden Intervalle
muss dann wieder die gesuchte Nullstelle liegen.
Als c wird die Nullstelle der Geraden durch (a,f(a)) und (b,f(b)) oder

c =
) a ( f ) b ( f
b ) a ( f a ) b ( f


gewhlt.
Das Verfahren liefert gegen die Nullstelle konvergente Folgen mit der Ordnung 1. In
Einzelfllen kann die zugehrige Konstante K aber sehr nahe an 1 liegen, was eine sehr
langsame Konvergenz zur Folge haben kann.











Sekanten-Verfahren

Das Sekanten-Verfahren startet mit zwei Punkten (x
0
,f(x
0
)) und (x
1
,f(x
1
)) fr die im Gegen-
satz zu den bisherigen Fllen nicht f(x
0
)f(x
1
) 0 gelten muss.
Die Nullstelle der Verbindungsgerade zwischen (x
0
,f(x
0
)) und (x
1
,f(x
1
)) ist die neue
Nherung x
2
.
Die nchste Nherung x
3
ergibt sich aus der Wiederholung der obigen Konstruktion, jedoch
jetzt mit den Punkten (x
1
,f(x
1
)) und (x
2
,f(x
2
)).
Das weitere Vorgehen ist damit klar.
Es kann passieren, dass x
2
auerhalb von [a,b] liegt oder berhaupt nicht existiert. Aber auch
wenn diese beiden Flle nicht eintreten, muss keine Konvergenz der entstehenden Folge
vorliegen.












a b c
x
1
b=x
0
x
2
9
Das Newton-Verfahren

Das Newton-Verfahren erfordert (hier) noch 0 ) x ( f in [a,b].
Ist eine Nherung x
k
fr die Nullstelle von f gegeben, dann liefert das Newton-Verfahren eine
neue Nherung x
k+1
durch die folgende Konstruktion:
Die Funktion f wird zunchst durch eine lineare Funktion (Gerade) ersetzt, welche an der
Stelle x
k
den Wert f(x
k
) hat und deren Steigung mit der Ableitung ) x ( f
k
bereinstimmt.
Diese Gerade ist
y f(x
k
) = ) x ( f
k
( x x
k
).

Die neue Nherung ist dann die Nullstelle dieser Geraden. Diese ist gegeben durch

x
k+1
= x
k

) x ( f
) x ( f
k
k

.

Liefert das Verfahren eine konvergente Folge, dann hat diese die Ordnung 2. Einfache
Beispiele zeigen, dass nicht jeder Startwert x
0
zu einer konvergenten Folge fhren muss.













Bemerkung
Die beiden letzten Verfahren sind Stellvertreter fr eine groe Klasse hnlicher Verfahren.
Das ursprngliche nichtlineare Nullstellenproblem durch eine Folge linearer Nullstellen-
probleme (Geraden) ersetzt. Die Nullstellen der Geraden knnen einfach bestimmt werden.
Offenbar knnen diese sukzessiven Linearisierungen zur Lsung des ursprnglichen
Problems fhren.


1.4 Fixpunktaufgaben

Gegeben sei eine (hier) stetig differenzierbare Funktion

f : R R

und gesucht ist ein Fixpunkt von f oder ein x* mit der Eigenschaft f(x*) = x*.
Zur Ermittlung eines Fixpunktes von f wird sich hufig, schon durch die Herkunft des
Problems, die Iterationsvorschrift
x
k+1
= f(x
k
)

anbieten. Die Erwartung ist dann, dass die Folge (x
k
) fr k der gewnschten Lsung
beliebig nahe kommt.
x
1
x
0
10
Bei einer Fixpunktaufgabe f(x) = x muss die Funktion f mit der Winkelhalbierenden in
Einklang gebracht werden und die folgenden Bilder machen klar, dass die Erwartung fr
jeden Startwert berechtigt ist, wenn | ) x ( f | < K <1 ist.












Es gilt brigens der

Satz
Es sei f eine stetig differenzierbare Funktion

f : R R
mit | ) x ( f | < K <1 .
Dann hat die Aufgabe f(x) =x genau einen Fixpunkt x* und fr jedes x
1
R liefert die Folge

x
k+1
= f(x
k
), k = 0,1,2, ......

eine gegen den Fixpunkt x* konvergente Folge.
Die Folgen sind von der Ordnung 1, denn es gilt

| x
k+1
x* | K| x
k
x*| .

Beweis
Spter in einem allgemeineren Kontext.


1.5 Kondition eines Problems

Durch den Begriff der Kondition wird der Versuch unternommen, Vernderungen eines
Systems bei Vernderungen seiner (ueren) Daten zu quantifizieren.
Als Beispiel sei die Gleichung
f(x) = 0

mit einer stetig differenzierbaren Funktion f : R R und der Lsung x* gegeben.

Die folgenden Bilder machen klar, dass sich die Lsungen von f(x) = auch bei kleinen
R stark von der Lsung von f(x) = 0 unterscheiden knnen oder dass kleine
Vernderungen von nicht unbedingt auch zu kleinen Vernderungen in den Lsungen
fhren.
Das Bild 1 zeigt, dass, im Gegensatz zu Bild 2, kleine Vernderungen von f zu groen
Vernderungen in den Lsungen fhren. Offensichtlich hngt dieses mit der Steigung f (x)
zusammen.
x
0
x
1
x
2
11
Bild 3 zeigt, dass wenn die Ableitung von f an einer Lsung nicht nur klein ist, sondern sogar
Null wird, sogar ganz gravierende Lsungsnderungen eintreten knnen. Das System hat
pltzlich keine oder sogar mehrere Lsungen.











Als Ma fr diese Phnomene, in der Umgebung einer Lsung x* von f(x) = 0, bietet sich
1/ f (x*) oder besser
K |
) x ( f
1
| sup
| * x x |
=

.

an.

Dieses intuitiv gewonnene Ergebnis kann auch mathematisch begrndet werden:

Es sei x* die Lsung von f(x) = 0 und x* +x* die Lsung von f(x) = .
Nach dem Mittelwertsatz ist

f(x* +x*) - f(x* ) = *) x )( ( f

mit einem geeigneten aus dem Intervall mit den Rndern x* und x* + * x .
Diese Gleichung kann umgeschrieben werden in die Form

= *) x )( ( f oder * x = (1/ ) ( f ) .

Der Proportionalittsfaktor zwischen * x und ist also 1/ ) ( f .
Der Ausdruck

K |
) x ( f
1
| sup
| * x x |
=

,

wobei durch die zulssigen Strungen bestimmt wird, wird als absolute Konditionszahl
der zugehrigen Aufgaben bezeichnet.

Der aufmerksame Leser wird bemerkt haben, dass bei den bisherigen berlegungen ein
Nullstellenproblem zugrunde gelegt wurde.
Allgemeiner wird die relative Kondition einer Aufgabe f(x) = b mit der Lsung x*

f(x*) = b

ber seine benachbarten Aufgaben f(x*+ x ) = b + b definiert.





1 2 3
12
Die relative Kondition ist dann
K
*) x ( f
1
| * x |
| b |

.

Ist K gro dann spricht man von einer schlechten Kondition des Problems.
Ein numerisches Verfahren fr ein schlecht konditioniertes Problem kann schlecht sein,
erfreulicherweise muss es aber nicht immer so sein!
13
bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(26.10.05)

Aufgabe 1.1
Die 4 reellen Nullstellen von

p(x) = 2401x
4
- 41846x
3
+ 100597x
2
+ 712236x + 693792

sollen mit einem maximalen Fehler von 10
-3
bestimmt werden.
Verschaffen Sie sich zunchst einen berblick ber die Funktion auf dem Intervall [-30,30].
Dieser gelingt (?) mit dem (MATLAB)-Programm

x = linspace(-30,30,600) ;
p = [2401 -41846 100597 712236 693792];
y = polyval(p,x)
plot(x,y)

% Unterteilt das Intervall [-30,30] in 600 quidistante Punkte
% p stellt das Polynom dar
% Mit plot wird die Funktion gezeichnet

(Falls keine klare Aussage erzielt wird, muss das Intervall gendert werden.)

Mit dem Befehl pa = polyval(p,a) wird der Wert des Polynoms an der Stelle a bestimmt.
Fr vorgegebene Punkte a und b ergibt sich der Mittelpunkt c mit dem Befehl c=(a+b)/2.

Aufgabe 1.2
Die Wurzel aus 2 ist eine Nullstelle von p(x) = x
2
-2 = 0. Diese soll auf 6 Stellen
mit dem Newton-Verfahren oder der Iteration

x
n+1
= x
n
p(x
n
)/ ) x ( p
n
, x
0
= 2
bestimmt werden.
Eine Wurzel von p(x) = x
2
4x +4 = 0 ist x* = 2. Fhren Sie die Newton Iteration mit
x
0
= 10 durch und berechnen Sie die Quotienten
| * x x |
| * x x |
n
1 n

+

fr ausreichend viele n. Passiert etwas Unerwartetes?

Aufgabe 1.3
Stellen Sie mit Hilfe des Horner Schemas das Polynom x
4
- 2x
3
- 3x+5 in der Form

0 1
2
2
3
3
4
4
) 2 x ( ) 2 x ( ) 2 x ( ) 2 x ( + + + +
dar.

Aufgabe 1.4
Bestimmen Sie die einzige Nullstelle von x
3
-x
2
-1 = 0 in [1,2] bis auf einen Fehler von 10
-4

mit der Bisektionsmethode, der Regula falsi und dem Newton-Verfahren. Testen Sie dabei
gleichzeitig unterschiedliche Abbruchkriterien.

Lsungen zur bung 1
Konstruktion und Analyse von Algorithmen
WS 05/06
(26.10.05)

K. Taubert

Aufgabe 1.1
Das Programm

x = linspace(-30,30,600),
p = [2401 -41846 100597 712236 693792];
y = polyval(p,x)
plot(x,y)

liefert



und mithin noch keine klare Aussage ber die gesuchten Nullstellen.
Erst eine weitere Verfeinerung liefert eine Nullstelle in den Intervallen

[-1.75,-1,70], [-1.60,-1.55], [10.25,10.30] und [10.40,10.45].

Nullstellen mit der gesuchten Genauigkeit sind dann

-1.71, -1.57, 10.28, 10.42.




Aufgabe 1.2
Erster Teil
Das Programm

x0 = 2;
p = [1 0 -2];
dp = [2 0];
fprintf('\n')
for i = 1:4 % 4 Schritte gengen
x0 = x0 -polyval(p,x0)/polyval(dp,x0);
fprintf('%2.0f %1.7f\n', i,x0)
end

liefert

1 1.5000000
2 1.4166667
3 1.4142157
4 1.4142136

und es wre noch zu prfen, ob die Genauigkeitsforderung gegeben ist.

Teil 2
Das Programm

x0 = 10;
p = [1 -4 4];
dp = [2 -4];
fprintf('\n')
for i = 1:20
x1 = x0 -polyval(p,x0)/polyval(dp,x0);
fprintf('%2.0f %1.4f %1.4f\n', i,x1,(x1-2)/(x0-2))
x0 = x1;
end

liefert

1 6.0000 0.5000
2 4.0000 0.5000
3 3.0000 0.5000
4 2.5000 0.5000
5 2.2500 0.5000
6 2.1250 0.5000
7 2.0625 0.5000
8 2.0313 0.5000
9 2.0156 0.5000
10 2.0078 0.5000
11 2.0039 0.5000
12 2.0020 0.5000
13 2.0010 0.5000
14 2.0005 0.5000
15 2.0002 0.5000
16 2.0001 0.5000
17 2.0001 0.5000
18 2.0000 0.5000
19 2.0000 0.5000
20 2.0000 0.5000

D.h. die Folge ist konvergent, jedoch nur von der Ordnung 1. (2 ist eine doppelte Nullstelle)

Aufgabe 1.3
Das MATLAB-Programm

a = [5 -3 0 -2 1]
n=5
for k = 1:n-1
for j = n-1:-1:k
a(j) = a(j)+2*a(j+1)
end
end
s = sprintf('p hat die Gestalt')
fprintf('%\n')
p = sprintf('%2.0g(x-2)^4 + %2.0g(x-2)^3 + %2.2g(x-2)^2 + %2.0g(x-2) + %2.0g', a(1), ...
a(2),a(3),a(4),a(5))

liefert

p =

-1(x-2)^4 + 5(x-2)^3 + 12(x-2)^2 + 6(x-2) + 1.


Aufgabe 1.4
function bisektion(a,b,tol,n)
%Bisektionsmethode fr das Polynom x^3-x^2-1 = 0
%auf dem Intervall [a,b]. tol ist die vorgegebene Toleranz und n die maximale
%Anzahl der Halbierungen.

fprintf('\n')
Schritt = 1;
f = [1 -1 0 -1];
u = polyval(f,a);
v = polyval(f,b);
c = (b+a)/2;
fehler= 0.5*abs(b-a);
w = polyval(f,c);
if (u*v>0)
disp ('Voraussetzung f(a)f(b)<=0 nicht erfllt')
else
disp(' a b c f(c) Fehler Schritt')
fprintf('\n')
fprintf('%10.6f %10.6f %10.6f %10.6f %10.6f %3.f\n', a,b,c,w,fehler,Schritt)
while(fehler>tol)&(Schritt<=n)
if (w*u<=0)
b=c;
v=w;
else
a=c;
u=w;
end;
Schritt = Schritt+1;
if (Schritt>n)
fprintf('\n')
disp('Methode konvergiert in der angegebenen Anzahl von Schritten n nicht')
else
c = (b+a)/2;
w = polyval(f,c);
fehler = fehler/2;
fprintf('%10.6f %10.6f %10.6f %10.6f %10.6f %3.0f', a,b,c,w,fehler,Schritt)
fprintf('\n')
end;
end;
end;


Der Aufruf Bisektion(1,2,0.0001,10) liefert

a b c f(c) Fehler Schritt

1.000000 2.000000 1.500000 0.125000 0.500000 1
1.000000 1.500000 1.250000 -0.609375 0.250000 2
1.250000 1.500000 1.375000 -0.291016 0.125000 3
1.375000 1.500000 1.437500 -0.095947 0.062500 4
1.437500 1.500000 1.468750 0.011200 0.031250 5
1.437500 1.468750 1.453125 -0.043194 0.015625 6
1.453125 1.468750 1.460938 -0.016203 0.007813 7
1.460938 1.468750 1.464844 -0.002554 0.003906 8
1.464844 1.468750 1.466797 0.004310 0.001953 9
1.464844 1.466797 1.465820 0.000875 0.000977 10

Die Methode konvergiert in der angegebenen Anzahl von Schritten n nicht.

Das Programm

function regulafalsi(a,b,tol,n)
%Regula Falsi Methode fr das Polynom x^3-x^2-1 = 0
%auf dem Intervall [a,b]. tol ist die vorgegebene Toleranz und n die maximale
%Anzahl der Schritte. a ungleich b.

fprintf('\n')
p = [1 -1 0 -1];
Schritt = 1;
if (a==b)
disp ('Voraussetzung a ungleich b nicht erfllt')
else
u = polyval(p,a);
v = polyval(p,b);
fehler= abs(b-a);
c = (a*v-b*u)/(v-u);
w = polyval(p,c);
defekt = abs(w);
if (u*v>0)
disp ('Voraussetzung f(a)f(b)<=0 nicht erfllt')
else
disp(' a b c f(c) |b-a| Schritt')
fprintf('\n')
fprintf('%10.6f %10.6f %10.6f %10.6f %10.6f %3.f\n', a,b,c,w,fehler,Schritt)
while(fehler>tol)&(defekt>tol)&(Schritt<=n)
w = polyval(p,c);
if (w*u<=0)
b=c;
v=w;
else
a=c;
u=w;
end;
Schritt = Schritt+1;
if (Schritt>n)
fprintf('\n')
disp('Vorgegebene Toleranz kann fr das gegebene n nicht unterschritten werden')
else
c = (a*v-b*u)/(v-u);
w = polyval(p,c);
fehler = abs(b-a);
defekt = abs(w);
fprintf('%10.6f %10.6f %10.6f %10.6f %10.6f %3.f\n', a,b,c,w,fehler,Schritt)
%fprintf('\n')
end;
end;
end;
end;

mit dem Aufruf Regulafalsi (1,2,0.0001,10) liefert

a b c f (c) |b-a| Schritt

1.000000 2.000000 1.250000 -0.609375 1.000000 1
1.250000 2.000000 1.376623 -0.286264 0.750000 2
1.376623 2.000000 1.430925 -0.117660 0.623377 3
1.430925 2.000000 1.452402 -0.045671 0.569075 4
1.452402 2.000000 1.460613 -0.017331 0.547598 5
1.460613 2.000000 1.463712 -0.006520 0.539387 6
1.463712 2.000000 1.464875 -0.002445 0.536288 7
1.464875 2.000000 1.465310 -0.000916 0.535125 8
1.465310 2.000000 1.465474 -0.000343 0.534690 9
1.465474 2.000000 1.465535 -0.000128 0.534526 10

Die vorgegebene Toleranz kann fr das gegebene n nicht unterschritten werden.




Das Programm

function Newton(x0,tol,N)
% Newton Verfahren fr die Gleichung x^3-x^2-1 = 0
% tol ist die vorgegebene Toleranz und N die maximale
% Anzahl der Schritte. x0 ist ein Startwert

fprintf('\n')
n = 0;
p = [1 -1 0
1];
dp = polyder(p);
u = polyval(p,x0);
v = polyval(dp,x0);
z = u/v;
x1 = x0 - z;
disp(' n xn f(xn) |xn+1-xn| ')
fprintf('\n')
fprintf('%3.0f %10.4f %10.4f %10.4f\n', n, x0, u);
fprintf('\n')
while ((abs(x1-x0)>tol)& (n<N))
n=n+1;
x1 = x0 - u/v;
w = polyval(p,x1);
fprintf('%3.0f %10.4f %10.4f %10.4f\n', n, x1, w, abs(u/v))
x0 = x1;
u = polyval(p,x0);
v = polyval(dp,x0);
x1 = x0 -u/v;
end

liefert mit dem Aufruf Newton(1 0.0001, 10)

n xn f(xn) |xn+1-xn|

0 1.1000 -0.8790
1 1.7147 1.1013 0.6147
2 1.5104 0.1644 0.2043
3 1.4674 0.0065 0.0430
4 1.4656 0.0000 0.0018

14
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Gegeben seien n+1 Paare von Punkten (x
j
,y
j
), j = 0,1,2, . ,n, x
j
,y
j
R, nN mit paarweise
verschiedenen x
j
x
i
und es sei
n
die Klasse der Polynome vom Grade kleiner oder gleich
n.
Die Polynominterpolation besteht darin, ein Polynom p(x) aus der Klasse
n
von mglichst
kleinem Grade so zu bestimmen, dass

p(x
i
) = y
i
, i = 0,1,2, ,n.

Die Punkte x
j
werden hufig auch als Interpolationsknoten oder Sttzstellen bezeichnet.
Eine Polynominterpolationsaufgabe kann z.B. dann entstehen, wenn die Ergebnisse einer
physikalischen oder chemischen Messreihe durch eine glatte Kurve verbunden werden sollen.


2.1 Grundlegendes

Es sollen in diesem Abschnitt zunchst einige Aussagen ber

die Existenz eines Interpolationspolynoms
die Eindeutigkeit des Interpolationspolynoms
die Abhngigkeiten von Strungen
das Verhalten bei zunehmender Anzahl von Sttzstellen

gemacht werden.
Der Ansatz
p(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ . + a
n
x
n


fhrt auf das Gleichungssystem

a
0
+ a
1
x
0
+ +
n
0 n
x a = y
0

a
0
+ a
1
x
1
+ +
n
1 n
x a = y
1
. . . . (*)
. . . .
a
0
+ a
1
x
n
+ +
n
n n
x a = y
n
.

2
Polynominterpolation
POLYNOMINTERPOLATION
15
Eine Antwort auf die Frage nach der Existenz und Eindeutigkeit einer Lsung der
Interpolationsaufgabe oder dem zugehrigen Gleichungssystem liefert der folgende

Satz
Es seien x
0
,x
1
, x
2
, ,x
n
n+1 verschiedene Punkte aus R und y
0
,y
1
,y
2
, y
n
zugehrige
Werte aus R. Dann gibt es ein eindeutig bestimmtes Polynom p
n

n
mit p
n
(x
i
) = y
i
,
i= 0,1, ,n.


Dass die Polynominterpolationsaufgabe eine Lsung in
n
besitzt, kann durch die Angabe
des Interpolationspolynoms nach Lagrange sofort eingesehen werden:
Es sei
l
i
(x) =

n
i j
0 j j i
j
) x x (
) x x (
, i = 0,1,2, ,n.
Die Beobachtung, dass
l
i
(x
j
) =
ij

ist, liefert durch
p
n
(x) =

=
n
0 i
l
i
(x)y
i

sofort das gewnschte Ergebnis
p
n
(x
i
) = y
i
, i = 0,1,2, ,n.

Auch die eindeutige Lsbarkeit der Interpolationsaufgabe lsst sich schnell begrnden:
Angenommen, es gbe neben
n
1
n
p noch ein weiteres Interpolationspolynom
n
2
n
p .
Dann ist
2
n
1
n
p p ein Polynom vom Grad kleiner oder gleich n mit n+1 Nullstellen

) x ( p ) x ( p
i
2
n i
1
n
= 0, i = 0,1, , n.

Damit muss
2
n
1
n
p p das Nullpolynom sein und deshalb
2
n
1
n
p p = .

Bemerkung
Mit dem vorangegangenen Nachweis der eindeutigen Lsbarkeit der Polynominterpolations-
aufgabe ist im brigen auch der Nachweis erbracht, dass das Gleichungssystem (*) eine
eindeutige Lsung besitzt oder die Matrix

n
n n
n
1 1
n
0 0
x x 1
x x 1
x x 1
L
M L M M
L
L


invertierbar bzw. regulr ist.

Interessant und von praktischer Bedeutung ist es noch zu wissen, wie sich das Interpolations-
polynom bei einer Vernderung der Daten y
i
verhlt (Kondition) und zu welchem Ergebnis
eine zunehmende Anzahl von Sttzstellen fhrt.



16
Neben den n+1 Paaren (x
i
,y
i
), i = 0,1, ,n, seien jetzt auch noch die n+1 Paare (x
i
,z
i
),
i = 0,1, ,n, gegeben. Auerdem seien
y
n
p und
z
n
p die zugehrigen Interpolationspolynome.
Die Darstellung der Interpolationspolynome nach Lagrange liefert

) x ( p
y
n
- ) x ( p
z
n
=

=

n
0 i
i i
) z y ( l
i
(x).

Auf einem Intervall [a,b] ergibt sich dadurch

=


n
0 j
] b , a [ x
z
n
y
n
] b , a [ x
| (
Max
| ) x ( p ) x ( p |
Max
l
i
(x)| ) | z y |
Max
i i
i
.

Es kann bewiesen werden, dass - z.B. bei quidistanten Sttzstellen - der Ausdruck

n
0 j
] b , a [ x
| (
Max
l
i
(x)| )

sich wie
) n log( n e
2
1 n+


verhlt und mithin fr n auch gegen unendlich geht.
D.h. mit grer werdender Anzahl von Sttzstellen muss mit empfindlichen Reaktionen auf
Vernderungen der Daten gerechnet werden. Es ist in der Tat auch so!

Gegeben sei eine stetige Funktion f : [a,b] R und die (hier) quidistanten Sttzstellen

a = x
0
, x
1
, x
2
, ,x
n
= b

Es sei p
n
(x) das zu (x
i
,f(x
i
)), i = 0,1, ,n, gehrige Interpolationspolynom.
Dann stellt sich die Frage nach dem Verhalten der p
n
in Bezug auf f bei zunehmender
Anzahl n und insbesondere, ob fr alle x [a,b]

) x ( f ) x ( p
lim
n
n
=


gilt.
Das berhmte Gegenbeispiel von Runge

f(x) =
2
x 1
1
+
, -5 x 5

zeigt, dass die obige Frage verneint werden muss.

Von praktischem Interesse ist auch noch, dass die Interpolationspolynome mit zunehmendem
n regelhaft zu starken Oszillationen am Rande des Intervalls [a,b] neigen (Aufgabe).


2.2 Das Interpolationspolynom nach Newton

Die Bestimmung eines Interpolationspolynoms ber das Gleichungssystem (*) oder die
Darstellung nach Lagrange sind vom praktischen Standpunkt her meistens nicht geeignet.
Fr praktische Zwecke ist eine Darstellung des Interpolationspolynoms nach Newton
manchmal besser.

17
Das Newtonsche Interpolationspolynom ergibt sich aus dem Ansatz

p
n
(x) = c
0
+ c
1
(x-x
0
) + c
2
(x-x
0
)(x-x
1
)+ + c
n
(x-x
0
)(x-x
1
)(x-x
n-1
).

Die Konstanten c
i
knnen dann nacheinander aus dem Gleichungssystem

p
n
(x
0
) = c
0
= y
0

p
n
(x
1
) = c
0
+ c
1
(x
1
-x
0
) = y
1

p
n
(x
2
) = c
0
+ c
1
(x
2
-x
0
) + c
2
(x
2
-x
0
)(x
2
-x
1
) = y
2
. . . . .
p
n
(x
n
) = c
0
+ c
1
(x
n
-x
0
) + c
2
(x
n
-x
0
)(x
n
-x
1
) + + c
n
(x
n
-x
0
)(x
n
-x
1
)(x
n
-x
n-1
) = y
n

berechnet werden.
Dafr ist es zweckmig, im Zusammenhang mit den Sttzstellen x
j
die folgenden
Beziehungen oder dividierten Differenzen

f[x
j
] = y
j
j = 0,1,2, ,n
und
f[x
i
,x
i+1
, ,x
i+k
] =
i k i
1 k i 1 i i k i 2 i 1 i
x x
] x , ... , x , x [ f ] x , ... , x , x [ f

+
+ + + + +
, 0 i < k n
einzufhren.
In einem etwas mhsamen Prozess kann dann gezeigt werden, dass die gesuchten c
i
die
Darstellung

c
0
= f[x
0
]
c
1
= f[x
0
,x
1
]
c
2
= f[x
0
,x
1
,x
2
]
. .
c
n
= f[x
0
,x
1
,x
2
, ,x
n
]

haben.
Die Ermittlung dieser dividierten Differenzen erfolgt zweckmig ber das so genannte
Schema der dividierten Differenzen und zwar

x
0
y
0
= f[x
0
]
x
1
-x
0
x
1
y
1
= f[x
1
] f[x
0
,x
1
]
x
2
-x
0
x
2
-x
1
x
2
y
2
= f[x
2
] f[x
1
,x
2
] f[x
0
,x
1
,x
2
]
x
4
-x
0
x
3
-x
1
x
3
-x
2
x
3
y
3


=f[x
3
]

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

usw.

Die gesuchten Koeffizienten sind in den schattierten Kstchen.
Die nchsten Zeilen machen klar, wie bei vorgegebenen (x
i
,y
i
) die Elemente des Schemas
systematisch berechnet werden knnen:
Aus f[x
0
] und f[x
1
] ergibt sich
f[x
0
,x
1
] =
0 1
0 1
x x
] x [ f ] x [ f

.
Aus dieser dividierten Differenz und
f[x
2,
x
1
] =
1 2
1 2
x x
] x [ f ] x [ f


18


ergibt sich dann
f[x
2,
x
1,
x
0
] =
0 2
0 1 1 2
x x
] x , x [ f ] x , x [ f


usw.

Beispiel
Durch die Punkte (-1,2), (0,1) und (2,2) soll eine Parabel gelegt werden. Das zugehrige
Schema der dividierten Differenzen hat dann die Form

-1 2
1 0 1 -1
3 2 2 2 0.5 0.5

und die gesuchte Parabel hat die Darstellung

p
2
(x) = 2 -1(x+1)+1.5(x+1)x.

Aufgabe
Geben Sie einen Algorithmus an, mit dem das Newtonsche Interpolationspolynom durch n
Additionen und n Multiplikationen ausgewertet werden kann.

Bemerkungen
Ein weiterer Vorteil des Schemas der dividierten Differenzen ist, dass eine Ergnzung
des Interpolationspolynoms durch einen weiteren Interpolationspunkt (x
n+1
,y
n+1
) lediglich
erfordert, das Schema der dividierten Differenzen durch eine weitere Zeile zu erweitern.

Gegeben sei nun eine beliebige Funktion

f : [a,b] R

und Punkte (x
i
,f(x
i
)), i = 0,1,2, . , n, mit paarweise verschiedenen Punkten x
i
[a,b]. Es sei
p
n
(x) das zugehrige Interpolationspolynom.
Eine feinsinnige Beobachtung zeigt, dass fr jedes x[a,b] und x x
i
die Beziehung

f(x) p
n
(x) = f[x
0
,x
1
,x
2
, ,x
n
,x](x-x
0
)(x-x
1
) . (x-x
n
)
gilt.
Ist f n+1- mal stetig differenzierbar, dann gibt es sogar ein
x
- aus dem kleinsten Intervall,
welches x
0
,x
1
,x
2
, ..,x
n
und x enthlt - mit der Eigenschaft

f[x
0
,x
1
,x
2
, ,x
n
,x] =
)! 1 n (
) ( f
x
1 n
+

+
.

Die Ergebnisse aus den Bemerkungen werden in dem folgenden Satz zusammengefasst und
ergnzt.

Satz
Das Polynom p
n
interpoliere die Funktion f : [a,b] R in den Punkten (x
i
,f(x
i
)) mit den
Sttzstellen x
i
[a,b], i = 0,1,2, ,n.


19

Dann gilt fr jedes x[a,b] mit x x
i

f(x) p
n
(x) = f[x
0
,x
1
,x
2
, ,x
n
,x](x-x
0
)(x-x
1
) . (x-x
n
).

Ist zustzlich f C
n+1
[a,b], dann gibt es ein
x
, aus dem kleinsten Intervall, welches
x
0
,x
1
,x
2
, ..,x
n
und x enthlt, mit der Eigenschaft

f(x) p
n
(x) =
)! 1 n (
) ( f
x
1 n
+

+
(x-x
0
)(x-x
1
) . (x-x
n
).

Fr jedes x[a,b] gilt die Abschtzung

| f(x) p
n
(x) |
Max
] b , a [ z
|
)! 1 n (
) z ( f
1 n
+
+
| |(x-x
0
)(x-x
1
) . (x-x
n
)|
oder auf [a,b]
Max
] b , a [ x
| f(x) p
n
(x) |
Max
] b , a [ z
|
)! 1 n (
) z ( f
1 n
+
+
|
Max
] b , a [ x
|(x-x
0
)(x-x
1
) . (x-x
n
)|.


Bemerkung
Das Schema der dividierten Differenzen kann durch Rundungsfehler zu verflschten
Ergebnissen fhren (Aufgabe 2.4).



2.3 Das Neville-Schema

Das Neville-Schema gestattet eine Ermittlung des Wertes eines Interpolationspolynoms ohne
Kenntnis des Interpolationspolynoms.
Gegeben seien also wieder Punkte (x
i
,y
i
), i = 0,1,2, . ,n, mit paarweise verschiedenen
Sttzstellen x
i
.
hnlich wie bei der Newton Interpolation sei jetzt

P
i
(x) = y
i
i = 0,1,2, ,n
und
P
i
,
i+1
, ,
i+k
(x) =
i k i
1 k i 1 i i k i k i 2 i 1 i i
x x
) x ( , ... , , P ) x x ( ) x ( , ... , , P ) x x (


+
+ + + + + +
, 0 i < k n.

Offensichtlich gilt Folgendes:

Ist P
i+1
, ,
i+k
(x) das Interpolationspolynom zu (x
j
,y
j
), j = i+1,i+2, . ,i+k, und
P
i
, ,
i+k-1
(x) das Interpolationspolynom zu (x
j
,y
j
), j = i,i+1, . ,i+k-1, dann ist das Polynom
P
i
, ,
i+k
(x) das Interpolationspolynom zu (x
j
,y
j
), j = i,i+1, . ,i+k.


Mit dem folgenden Schema kann dann, hnlich wie beim Schema der dividierten Differenzen,
der Wert eines Interpolationspolynoms P
i,i+1,..,i+k
an der Stelle x berechnet werden.



20

usw.


Beispiel
Der Wert einer Parabel, die durch die Punkte (1,1), (2,2), (4,1) geht, soll an der Stelle x = 3
berechnet werden.

3-x
i
x
i
y
i

2 1 1
1 2 2 3
1 2
1 * 1 2 * 2
=


-1 4 1
2
3
2 4
2 * 1 1 * 1
=

+
2
3
3 * 1 ) 2 / 3 ( * 2
=
+


Der Wert ist also 2.

2.4 Zur Wahl der Sttzstellen

In einem der vorangegangenen Abschnitte wurde die Differenz zwischen einer vorgegebenen
Funktion f C
n+1
[a,b] und einem zugehrigen Interpolationspolynom p
n
(x) angegeben:

Max
] b , a [ x
| f(x) p
n
(x) |
Max
] b , a [ z
|
)! 1 n (
) z ( f
1 n
+
+
|
Max
] b , a [ x
|(x-x
0
)(x-x
1
) . (x-x
n
)|.

Offenbar kann durch die Wahl der Sttzstellen x
i
Einfluss auf diese Abschtzung genommen
werden und es ist zweckmig, der Frage nachzugehen, wie die Sttzstellen zu whlen sind,
damit
Max
] b , a [ x
|(x-x
0
)(x-x
1
) . (x-x
n
)|

einen mglichst kleinen Wert annimmt.

Bemerkung
Es soll bereits hier erwhnt werden, dass obige Frage gleichwertig zur Aufgabe ist, ein
Polynom p*
n
zu finden mit der Eigenschaft


x-x
0
x
0
y
0
=P
0
(x)





x-x
1
x
1
y
1
= P
1
(x)
0 1
0 1 1 0
x x
) x ( P ) x x ( ) x ( P ) x x (


= P
0,1
(x)

x-x
2
x
2
y
2
= P
2
(x)
1 2
1 2 2 1
x x
) x ( P ) x x ( ) x ( P ) x x (


= P
1,2
(x)
P
0,1,2
(x)
x-x
3
x
3

y
3
= P
3
(x)

2 3
2 3 3 2
x x
) x ( P ) x x ( ) x ( P ) x x (


= P
2,3
(x)
P
1,2,3
(x) P
0,1,2,3
(x)
21
Max
] b , a [ x
| x
n+1
p*(x) |
Max
] b , a [ x
| x
n+1
p(x) | p
n
.

Diese Aufgabe besitzt eine eindeutig bestimmte Lsung welche, erstaunlicherweise, auch
explizit angegeben werden kann.

Zur Vereinfachung betrachte man das Intervall [a,b] = [-1,1] und das Produkt

=

1 n
0 j
j
) x x ( mit n 1.

Satz
Der Ausdruck
Max
] 1 , 1 [ x
|

=

1 n
0 j
j
) x x ( | = ||

=

1 n
0 j
j
) x x (

||
wird mit der Wahl
x
j
= cos( )
2 n
) 1 j 2 ( +
), j = 0,1, . , n-1
minimal und es gilt
||

=

1 n
0 j
j
) x x (

|| =
1 n
2
1

.

Bemerkungen
Wird beachtet, dass cos( ) der Realteil von
) sin( i ) cos( e
i
+ =



ist, dann kann man sich schnell einen berblick ber die Lage der gesuchten Sttzstellen
verschaffen.
Als Beispiel werde n = 4 gewhlt. Dann wird der obere Teil des Einheitskreises in der
komplexen Ebene in n*2 = 8 gleiche Teile aufgeteilt. Die Realteile der ungeraden
Kuchenstcke liefern dann die Sttzstellen.

Man beachte insbesondere, dass die Sttzstellen nicht quidistant sind und sich am Rand
verdichten.
Fr den Fall, dass ein Intervall [a,b] [-1,1] vorliegt, ergeben sich die bentigten
Sttzstellen durch
v
j
= a + ) a b (
2
1 x
j

+
, j= 0,1, ,n-1,

(oder der linearen Transformation
v = a + ) a b (
2
1 u

+
,
welche das Intervall [-1,1] in [a,b] berfhrt).
22

bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(2.11.05)



Aufgabe 2.1
Bestimmen Sie ein Interpolationspolynom p
n
fr die Exponentialfunktion e
x
auf dem Intervall
[0,3]. Als Sttzstellen sollen die Werte x
i
= 0, 1, 1.5, 2, 2.5,3 gewhlt werden.
Fertigen Sie eine Zeichnung der Funktion e
x
und dem Betrag des Fehlers | e
x
p
n
(x)|
an.

Aufgabe 2.2
Die Runge Funktion r(x) = 1/(1+x
2
) soll durch Interpolationspolynome angenhert und der
entstehende Fehler beobachtet werden.
Bestimmen Sie auf dem Intervall [-5,5] die zugehrigen Interpolationspolynome mit n = 5,
10 und 15 bei gleichmig verteilten Sttzstellen und fertigen Sie eine Zeichnung von r(x),
p
n
(x) und r(x) p
n
(x) an.

Aufgabe 2.3
Fertigen Sie auf dem Intervall [-1,1] , fr verschiedene n, eine Zeichnung der Polynome

=

1 n
0 i
i
) x x ( an. Dabei sei x
i
= cos )
2 n
1 i 2
(
+
, i = 0, 1, 2, , n-1. Die Bilder werden zeigen,
dass die Funktionen ein sehr einheitliches Verhalten in Abhngigkeit von n haben. Welches?

Aufgabe 2.4
Gegeben sei die Funktion y = sin(6x). Bestimmen Sie das zugehrige Schema der dividierten
Differenzen mit den Sttzstellen x = [0, 0.1, 0.2, 0.3, 0.4, 0.6].
Bestimmen Sie anschlieend das zugehrige Schema der dividierten Differenzen mit den
Sttzstellen x = [0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0006]. Was beobachten Sie? Wieso
muss davon ausgegangen werden, dass die letzten Terme beim zweiten Schema verflscht
sind?


Lsungen zur bung 2
Konstruktion und Analyse von Algorithmen
WS 05/06
(2.11.05)

K. Taubert

Aufgabe 2.1





%Interpolation von exp(x)
clear all
x = [0,1,1.5,2,2.5,3];
y = exp(x);
n = 6;
d = zeros(n,n);
d(:,1) = y'
for j = 2:n
for i = j:n
d(i,j) = (d(i-1,j-1)-d(i,j-1))/(x(i-j+1)-x(i));
end
end
u = linspace(0,3,60);
v = exp(u);
subplot(1,2,1)
plot(u,v)
pn = d(1,1)+ d(2,2).*u + d(3,3)*u.*(u-1)+d(4,4)*u.*(u-1).*(u-1.5)+d(5,5)*u.*(u-1).*(u-
1.5).*(u-2)...
+d(6,6)*u.*(u-1).*(u-1.5).*(u-2).*(u-2.5);
subplot(1,2,2)
plot(u,abs(v-pn))
Aufgabe 2.2




%Runge Funktion
% x Sttzstellen
% z Stellen, an denen ausgewertet wird
clear all
n0 = 5
for i = 1:n0
x(i) = -5 + (i-1)*10/(n0-1)
end
for i = 1:100
z(i) = -5 + (i-1)*10/(100-1)
end
y = 1./(1+x.*x)
u = 1./(1+z.*z)
h=size(y)
n=h(1,2)
a(:,1) = y(1,:)'
for i = 2:n
a(i:n,i) = (a(i:n,i-1)-a(i-1,i-1))./(x(i:n)-x(i-1))'
end
f(1,:) = a(n,n).*(z-x(n-1))+a(n-1,n-1);
for i = 2:n-1
f(1,:) = f(1,:).*(z-x(n-i))+a(n-i,n-i)
end
subplot(3,1,1)
plot(z,u)
%Runge Funktion
subplot(3,1,2)
plot(z,f)
%Intepolationspolynom
subplot(3,1,3)
plot(z,f-u)
% Fehler
Aufgabe 2.3




%function p = TPolynom(n)
% n Grad des T-Polynoms
k=0
for n= [2,3,7,10]
k=k+1
for i = 1:n
x(i) = cos(((2*i-1)/n)*pi/2)
end
u = linspace(-1,1,50)
T1 = ones(1,50);
for i=1:n
S1 = u-x(i)
T1 = T1.*S1
end
subplot(4,1,k)
plot(u,T1)
end


Aufgabe 2.4

clear all
x = [0,0.0001,0.0002,0.0003,0.0004,0.0006];
%x = [0,0.1,0.2,0.3,0.4,0.6];
y = sin(6*x);
n = 6;
d = zeros(n,n);
d(:,1) = y';
for j = 2:n
for i = j:n
d(i,j) = (d(i-1,j-1)-d(i,j-1))/(x(i-j+1)-x(i));
end
end
z=d

Im zweiten Fall ergibt sich das vllig unsinnige Tableau

z =

0 0 0 0 0 0
0.0006 6.0000 0 0 0 0
0.0012 6.0000 -0.0108 0 0 0
0.0018 6.0000 -0.0216 -36.0000 0 0
0.0024 6.0000 -0.0324 -36.0000 0.0647 0
0.0036 6.0000 -0.0468 -35.9999 0.1037 65.0097

23

Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Viele Aufgaben fhren unmittelbar auf lineare Gleichungssysteme oder zu Teilaufgaben,
bei denen lineare Gleichungssysteme zu lsen sind. Die Auflsung von linearen
Gleichungs-systemen

Ax = b

gehrt deshalb mit zu den wichtigsten Aufgaben in der Numerik.
Zu den verbreiteten Verfahren zur Auflsung linearer Gleichungssysteme gehren das
Gauss Eliminationsverfahren (GEV) und seine vielen Varianten.
Dennoch kann es zweckmig sein, unterschiedliche Typen von linearen
Gleichungssystemen auch mit speziellen angepassten Methoden zu lsen. Die Vielfalt der
angebotenen Methoden ist beeindruckend.

Beispiel 1
Die Polynominterpolation fhrte auf das Gleichungssystem

n
2
1
0
n
2
1
0
n
n
2
n n
n
2
2
2 2
n
1
2
1 1
n
0
2
0 0
f
f
f
f
a
a
a
a
x x x 1
x x x 1
x x x 1
x x x 1
M M
L
M L M M M
L
L
L


Erfreulicherweise konnte im Kapitel 1 eine Methode zur Bestimmung des Interpolations-
polynoms angegeben werden, bei der eine Auflsung dieses Gleichungssystems unntig
wurde.

Beispiel 2
Das aus einer Stromquelle und linearen Widerstnden bestehende elektrische Netz mit
Baumstruktur liefert fr die Potentialverteilung an den Knoten das folgende System von
Gleichungen



3
Lineare Gleichungssysteme
DAS GAUSS ELIMINATIONSVERFAHREN (GEV)
24


+ +
+
+ +
0
0
0
0
0
E
G 0 0 G 0 0
0 G 0 G 0 0
0 0 G 0 G 0
G G 0 G G G 0 G
0 0 G 0 G G G
0 0 0 G G G G G
1
6
5
4
3
2
1
6 6
5 5
4 4
6 5 6 5 3 3
4 4 2 2
3 2 3 2 1




Beispiel 3
Die Interpolationsaufgabe mit natrlichen kubischen Splines und n+1 Sttzstellen fhrt
zunchst auf ein lineares Gleichungssystem mit 4(n+1) Unbekannten. Weitergehende
berlegungen reduzieren die wesentliche Arbeit auf die Auflsung eines linearen
Gleichungssystems mit n+1 Unbekannten der Gestalt

2 1 . 0 0 0
2 . 0 0 0
. . . . . .
0 0 . 2 0
0 0 . 2
0 0 . 0 1 2
1 n
2
1 1

n
1 n
2
1
0
M
M
.
M
M
M
=

n
1 n
2
1
0
d
d
.
d
d
d


Dabei sind die Eintrge
i i
und grer als Null und es gilt 1
i i
= + .

Beispiel 4
Bei der Approximation im Mittel von skalaren Funktionen mit Polynomen kann ein
Gleichungssystem Hx = b mit der unangenehmen (deshalb auch beliebten) Hilbert-
Matrix

H = (h
ij
) mit h
ij
= 1/(i+j-1), i,j = 1,2, ,n,
entstehen.


Eine unerschpfliche Quelle fr lineare Gleichungssysteme sind schlielich die Diskreti-
sierungsmethoden (Differenzenverfahren, Finite Elemente) fr lineare gewhnliche und
partielle Differentialgleichungen.


3.1 Zur Auflsbarkeit

Gegeben sei ein System von n linearen Gleichungen in n Unbekannten

=
=
n
1 j
i j ij
b x a , i = 1,2, ... ,n
oder krzer
Ax = b

mit der Koeffizientenmatrix A = (a
ij
), dem Vektor der rechten Seite b = (b
i
) und dem
Vektor der Unbekannten x = (x
i
).
1
3
5 4 6
G
1
G
2 G
3
G
4
G
5
G
6
25


Es soll, ohne grere Einschrnkung, angenommen werden, dass die Koeffizienten a
ij
und

die Komponenten der rechten Seite aus R sind. Darber hinaus sei das Gleichungssystem
eindeutig lsbar, d.h. es gilt eine der folgenden gleichwertigen Bedingungen

A ist invertierbar
det(A) 0
Rang(A) = n oder
Ax = 0 besitzt nur die triviale Lsung.

Bekanntlich kann die Lsung eines solchen Gleichungssystems mit Hilfe der
Cramerschen Regel angegeben werden:
x
j
=
) A det(
j

, j = 1,2, ... ,n.


Dabei ist
j
die Determinante der Matrix, die entsteht, wenn die j-te Spalte von A durch
b ersetzt wird.
Leider ist die Cramersche Regel fr praktische Zwecke meistens untauglich.


3.2 Das Gauss Eliminationsverfahren (GEV)

Angenommen, ein lineares Gleichungssystem hat die obere Dreiecksgestalt

a
11
x
1
+ a
12
x
2
+ .. + a
1n-1
x
n-1
+ a
1n
x
n
= b
1


22
a x
2
+ .. + a
2n-1
x
n-1
+
n 2
a x
n
=
2
b

..
..

a
n-1n-1
x
n-1
+ a
n-1n
x
n
= b
n-1


nn
a x
n
= b
n


mit Koeffizienten a
ii
ungleich Null, dann kann dieses durch Rckwrtssubstitution
gelst werden:
x
n
= b
n
/a
nn

x
n-1
= (b
n-1
- a
n-1n
x
n
)/a
n-1n-1



x
2
= (b
2
a
2n
x
n
- .. a
23
x
3
)/a
22
x
1
= (b
1
a
1n
x
n
- .. a
13
x
3
a
12
x
2
)/a
11


In seiner ursprnglichen Fassung besteht das Gauss Eliminationsverfahren (GEV) darin,
ein vorgegebenes Gleichungssystem
Ax = b

in ein quivalentes Gleichungssystem von oberer Dreiecksgestalt zu berfhren.
Um dieses zu erreichen, wird ausgenutzt, dass die folgenden regulren und linearen
Transformationen die Lsungsmenge eines linearen Gleichungssystems invariant lassen:
26

Multiplikation einer Zeile mit einem Faktor ungleich Null
Addition eines Vielfachen einer Zeile zu einer anderen
Vertauschung von Zeilen oder Variablen

Wie eine solche berfhrung in ein gleichwertiges Gleichungssystem von oberer
Dreiecksform erfolgen kann, soll an dem 3x3 Fall


14 - 8 - 5 - 1 -
8 4 3 1
6 3 2 1
kurz oder
14 x 8 x 5 x
8 x 4 x 3 x
6 x 3 x 2 x

3 2 1
3 2 1
3 2 1

=
= + +
= + +


gezeigt werden.

Addition des 1-fachen bzw. 1-fachen der ersten Zeile zur zweiten bzw. dritten Zeile
liefert


8 - 5 - 3 - 0
2 1 1 0
6 3 2 1
kurz oder
8 - 5x - 3 -
2 x x
6 3x 2x x

3 2
3 2
3 2 1

=
= +
= + +
.

Addition des 3-fachen der zweiten Zeile zur dritten Zeile liefert schlielich ein
Gleichungs-system in der gewnschten oberen Dreiecksform:


2 - 2 - 0 0
2 1 1 0
6 3 2 1
kurz oder
2 - 2x -
2 x x
6 3x 2x x

3
3 2
3 2 1

=
= +
= + +


mit der Lsung x = (1,1,1).


Liegt nun der allgemeine Fall

a
11
x
1
+ a
12
x
2
+ .. + a
1n
x
n
= b
1

a
21
x
1
+ a
22
x
2
+ .. + a
2n
x
n
= b
2
..
..

a
n1
x
1
+ a
n2
x
2
+ .. + a
nn
x
n
= b
n


vor, dann kann - wie im Beispiel auch dieses System (falls a
11
0 ist) in ein gleich-
wertiges System der Form

a
11
x
1
+ a
12
x
2
+ .. + a
1n
x
n
= b
1


) 2 (
22
a x
2
+ .. +
) 2 (
n 2
a x
n
=
) 2 (
2
b

..
..


) 2 (
2 n
a x
2
+ .. +
) 2 (
nn
a x
n
=
) 2 (
n
b
berfhrt werden.

27

Ist 0 a
) 2 (
22
, dann kann dieses fr die neu entstandenen n-1 Zeilen wiederholt werden
und die Koeffizienten
) 2 (
2 j
a , 3 n j , zum Verschwinden gebracht werden.
Dieser Prozess kann immer dann wiederholt werden, wenn das neu entstandene
Pivotelement
) k (
kk
a ungleich Null ist.
Sind alle im Laufe des Prozesses entstehenden Pivotelemente ungleich Null, dann
entsteht schlielich ein gleichwertiges Gleichungssystem in der gewnschten oberen
Dreiecksform,

a
11
x
1
+ a
12
x
2
+ .. + a
1n
x
n
= b
1


) 2 (
22
a x
2
+ .. +
) 2 (
n 2
a x
n
=
) 2 (
2
b

..
..


) n (
nn
a x
n
=
) n (
n
b ,

das durch Rckwrtssubstitution aufgelst werden kann.


Bemerkungen

1. Die bentigte Eigenschaft 0 a
) k (
kk
ist, z.B. bei Matrizen mit (stark)
diagonaldominanten Zeilen, d.h.
| a
ii
| >

=
n
i j
1 j
j i
| a | fr i =1,2, ,n
stets erfllt.
2. Wird eines der Pivotelemente 0 a
) k (
kk
= , dann gibt es (wegen det(A) 0) mindestens
eine Zeile p, k < p n, mit einem Element 0 a
) k (
k p
. Die Vertauschung der Zeilen k
und p fhrt dann weiter.
3. Fr die Durchfhrung des GEV sind natrlich nur die Koeffizienten (a
ij
) und die
Komponenten von b = (b
i
) ntig. Siehe hierzu auch das obige (3x3) Beispiel.

.

3.3 GEV mit Pivotsuche

Wird das GEV manuell oder auf einem Rechner durchgefhrt, dann sind Rundungsfehler
regelhaft unvermeidlich. In ungnstigen Fllen kann dieses dazu fhren, dass das neu
entstandene Gleichungssystem zwar einfach lsbar ist, aber dessen Lsung kaum noch
etwas mit der Lsung des ursprnglichen Systems zu tun hat.

Beispiel
Die katastrophale Auswirkung von Rundungsfehlern kann am folgenden Beispiel gezeigt
werden:
Gegeben sei das System Ax = b der Gestalt

11x
1
+ 44x
2
+ x
3
= 1
0.1x
1
+ 0.4x
2
+ 3x
3
= 1
x
2
- x
3
= 1.

MATLAB liefert durch die Anweisung x = (A\b) die Lsung

28
x = ( -5.2644, 1.3313, 0.3313).

Man betrachte nun die zum System gehrige Matrix (A,b)

1 1 1 0
1 3 4 . 0 1 . 0
1 1 44 11


und fhre das GEV manuell mit Hilfe von MATLAB durch. Die neu entstehenden Zeilen
sollen dabei wieder mit MATLAB berechnet werden und die angezeigten Werte
(blicher- weise 5 wesentliche Stellen) in den neu entstehenden Matrizen notiert werden.
Im ersten Schritt entsteht


1 1 1 0
9909 . 0 9909 . 2 07 e 5511 . 5 0
1 1 44 11
. (*)

Im zweiten Schritt entsteht

+ +

16 e 7980 . 1 1 16 e 4270 . 5 0 0
9909 . 0 9909 . 2 07 e 5511 . 5 0
1 1 44 11
.

Rckwrtssubstitution liefert dann

x
3
= 0.3313, x
2
= -2.6715e+11 und schlielich x
1
= 1.0686e+12.

Ein Ergebnis, welches mit der wahren Lsung wenig zu tun hat.

Was uns widerfahren ist, kann natrlich auch bei einer direkten Auflsung mit MATLAB
passieren. Die von MATLAB intern gespeicherten Werte mssen lediglich
problemrelevant von den eigentlichen Werten abweichen.

Im vorliegenden Fall kann das entstandene Problem durch eine totale Pivotsuche
entschrft werden:

Wird in der Matrix (*) die dritte Spalte mit der zweiten Spalte vertauscht, dann ergibt sich


1 1 1 0
9909 . 0 7 e 5511 . 5 9909 . 2 0
1 44 1 11
.

Der nchste Schritt beim GEV ergibt


3313 . 1 1 0 0
9909 . 0 7 e 5511 . 5 9909 . 2 0
1 44 1 11


29
und die Auflsung dieses Gleichungssystems liefert (unter Beachtung der Variablen-
vertauschung) das gewnschte Ergebnis

x = ( -5.2644, 1.3313, 0.3313).

Das Beispiel zeigt, dass der Austausch des ursprnglichen Pivotelements -5.5511e-7
durch
2.9909 zu einem gnstigen Ergebnis fhrt.

Die Suche nach einem geeigneten Pivotelement wird als Pivotsuche bezeichnet.
Mehrere Strategien der Pivotsuche sind denkbar:

Spaltenpivotsuche
Zeilenpivotsuche
Totale Pivotsuche
Schwellenwertmethode

Beim GEV mit Zeilenpivotsuche wird das Pivotelement
k
kk
a durch den betragsgrten
Koeffizient | a
k
kp
| | a
k
kr
| , r = k,k+1, ,n, ersetzt und die zugehrige
Spaltenvertauschung vorgenommen. Die drei anderen Mglichkeiten brauchen nicht mehr
erlutert werden.

Es kann trotzdem passieren, dass ein GEV mit Pivotsuche nicht unbedingt zu besseren
Ergebnissen fhren muss. Dieses zeigt das aus dem Buch von A. Jennings, Matrix
Computation for Engineers and Scientists, entnommene

Beispiel
Gegeben sei das Gleichungssystem

9 . 329
367 . 1
11 . 27
x
x
x
1000 041 . 2 0
041 . 2 041 . 2 1000
0 1000 1000000
2
1
.

Wird mit vier signifikanten Dezimalstellen gerechnet, dann liefert das GEV mit
Spaltenpivotsuche das Ergebnis

x = (-0.00005608, 0.5879, 0.3287).

Rechnen ohne Pivotsuche liefert das richtige Resultat

x = (-0.00006159, 0.6430, 0.3286).


Theoretische Ergebnisse (und die bisherigen Beispiele) fhren zu den folgenden
Ergebnissen:

Ist A symmetrisch und positiv definit oder (strikt) diagonaldominant, dann kann
die Pivotsuche kontraproduktiv sein.
Die Erfahrung zeigt, dass die Rundungsproblematik besonders auffllig ist, wenn
die Koeffizienten von unterschiedlicher Grenordnung sind.

30
Neben der Pivotsuche kann eine Skalierung der Matrix

A DAD

oder eine Umwandlung des Gleichungssystems Ax = b in

DADD
-1
x = Db
hilfreich sein.

Es soll nicht unerwhnt bleiben, dass das GEV-Verfahren ursprnglich regulre Systeme
durch Rundungsfehler in singulre Systeme berfhren kann.

Aufgabe
Gegeben sei die Matrix
A =


000004 . 0 004 . 0 1000
004 . 0 004 . 0 1
1 1 001 . 0


und ein zugehriges Gleichungssystem Ax =b. Mit wie vielen signifikanten Stellen muss
gerechnet werden, damit beim GEV kein singulres Gleichungssystem entsteht?



3.4 GEV und Faktorisierung

Das Gauss-Eliminationsverfahren kann als Faktorisierung der Matrix A angesehen
werden. Das GEV liefert fr die Matrix A eine Darstellung LR = A mit einer unteren
Dreiecks-matrix L und einer oberen Dreiecksmatrix R.
Dieses soll exemplarisch wieder am obigen 3x3-Fall gezeigt werden. Das
Gleichungssystem hat die Gestalt

14
8
6
x
x
x
8 5 1
4 3 1
3 2 1
3
2
1
oder Ax = b.

Multiplikation dieses System mit einer nichtsingulren unteren Dreiecksmatrix
1
, liefert

14
8
6
1 0 1
0 1 1
0 0 1
x
x
x
8 5 1
4 3 1
3 2 1
1 0 1
0 1 1
0 0 1
3
2
1
oder b Ax
1 1
= .

Dieses entspricht dem ersten Schritt beim GEV, nmlich Addition des 1-fachen bzw.
1-fachen der ersten Zeile zur zweiten bzw. dritten Zeile des zugehrigen
Gleichungssystems, und ergibt erwartungsgem

8
2
6
x
x
x
5 3 0
1 1 0
3 2 1
3
2
1
.

31
Addition des dreifachen der zweiten Zeile zur dritten, ausgedrckt durch die
Multiplikation dieses System mit der dieses realisierende nichtsingulren unteren
Dreiecksmatrix
2
, liefert

8
2
6
1 3 0
0 1 0
0 0 1
x
x
x
5 3 0
1 1 0
3 2 1
1 3 0
0 1 0
0 0 1
3
2
1
oder b Ax
1 2 1 2
= .

Dieses entspricht der Durchfhrung des GEV und liefert das gewnschte
Gleichungssystem
in oberer Dreiecksform

2
2
6
x
x
x
2 0 0
1 1 0
3 2 1
3
2
1
.

Insgesamt wurde das 3x3 Gleichungssystem also mit zwei nichtsingulren unteren
Dreiecksmatrizen multipliziert

Ax = b b Ax
1 2 1 2
=

mit dem Ergebnis, dass A R
1 2
= eine obere Dreiecksmatrix ist. Bisher nichts Neues!
Die folgenden Beobachtungen fhren jetzt weiter:
Fr die Matrizen
1
und
2
knnen die zugehrigen inversen Matrizen
1
1

und
1
2


sofort hingeschrieben werden. Die inversen Matrizen ergeben sich dadurch, dass in den
Auer-diagonalelementen der ursprnglichen Matrizen die Vorzeichen gendert werden

1
1

1 0 1
0 1 1
0 0 1
und
1
2

1 3 0
0 1 0
0 0 1
.

Auch das Produkt der Matrizen
1
1

1
2

kann sofort hingeschrieben werden. Es ergibt


sich durch entsprechende Auffllung der Einheitsmatrix mit den Elementen von
1
2

und
1
1

, die unterhalb der Diagonalen stehen:



L =
1
1

1
2

1 3 1
0 1 1
0 0 1
.

Multiplikation der oberen Dreiecksmatrix A R
1 2
= mit der unteren Dreiecksmatrix
L=
1
1

1
2

liefert
LR = A L
1 2
= A
1 2
1
2
1
1


= A

oder eine Darstellung von A als Produkt LR einer oberen und einer unteren
Dreiecksmatrix.

32

Liegt einmal eine LR-Zerlegung einer Matrix A vor, dann kann das Gleichungssystem

Ax = LRx = b
in zwei Schritten gelst werden

Ly = b und anschlieend Rx = y.
.

Bemerkungen
Nachteile sind mit einer LR-Zerlegung nicht verbunden:

Der Aufbau der Matrizen L und R erfordert nicht mehr Aufwand als das klassische
GEV.
Die Speicherung der Matrizen L und R erfordert keinen zustzlichen Speicherplatz.
(Beachte: l
ii
= 1)

Der Vorteil einer LR-Zerlegung zeigt sich, wenn das Gleichungssystem Ax = b fr
mehrere vorgegebene b gelst werden soll!


Die bisherigen berlegungen bertragen sich, ohne Schwierigkeiten, auf ein beliebiges
Gleichungssystem Ax = b mit einer nichtsingulren Matrix A.

Wir nehmen zunchst an, dass die im Laufe des GEV entstehenden Pivotelemente
) k (
kk
a
ungleich Null sind.
Die Durchfhrung des GEV liefert dann sukzessive die Eintrge fr die Matrizen
1 n 2 1
, ....... , ,

und schlielich die obere Dreiecksmatrix R

=

Ax .......
1 2 n 1 n
Rx = Rb b .......
1 2 n 1 n
=

.

Die untere Dreiecksmatrix L mit LR = A ergibt sich durch

L =
1
1 n
1
2
1
1
.......


,

wobei die einzelnen Faktoren, wie oben, durch eine Vorzeichennderung entstehen. Das
Produkt
1
1 n
1
2
1
1
.......


muss nicht gesondert ausgerechnet werden. Es ergibt sich, wie
oben, durch eine entsprechende Auffllung.

Damit ist eine Darstellung A = LR gegeben und die Auflsung von Ax = b kann wieder in
den zwei Schritten
Ly= b und Rx = y
erfolgen.



Einige Bemerkungen mit technischem Hintergrund sind vielleicht noch angebracht:
Natrlich ist es nicht ntig die Matrizen
i
bzw.
1
i

vollstndig auszuschreiben.
Wichtig sind lediglich die Komponenten - l
ij
= l
1
ij

,
i = j+1, , n.
Bei der Speicherung von L und R ist zu beachten, dass im Laufe des Verfahrens die
Elemente unterhalb der Diagonalen der ursprnglichen Matrix A verschwinden. Dort
werden dann die Komponenten l
1
ij

eingetragen.
33
Soll gleichzeitig eine Spaltenpivotsuche durchgefhrt werden oder entsteht im Laufe des
Verfahrens ein Element 0 a
) k (
kk
= , dann mssen lediglich die entsprechenden Indizes
permutiert werden.

3.5 Das Cholesky-Verfahren

Die Anwendung des GEV mit Pivotsuche auf Gleichungssysteme mit symmetrischen
Matrizen ist kontraproduktiv, weil es die Symmetrie zerstrt, mit einem unntigen
Aufwand verbunden ist und mglicherweise auch noch rundungsfehleranflliger wird.

Wir betrachten jetzt die Gauss Elimination auf der eingeschrnkten Klasse von
Gleichungs-systemen mit symmetrischen und positiv definiten Matrizen.
Gegeben sei also ein lineares Gleichungssystem

Ax = b mit A = A
T
und (x,Ax) > 0 fr alle x 0.

Die Matrix A kann dargestellt werden in der Form

=
1
T
11
B z
z a
A ,

wobei zu beachten ist, dass bei symmetrischen und positiv definiten Matrizen die
Diagonalelemente a
ii
> 0 sind.
Der erste Schritt bei der Faktorisierung (ber das GEV) liefert

A
1
=

C 0
z a
T
11

und wegen der Symmetrie
T
1 1
A =

2
11
B 0
0 a
.

Dabei ist B
2
wieder eine symmetrische und positiv definite Matrix. Die Fortfhrung des
Verfahrens liefert schlielich

=

nn
11
T
1 n
T
2 n
T
1 1 2 n 1 n
b . 0
. . .
0 . a
........ A ....... = D
und damit

A = L
T
DL .

Wird noch beachtet, dass die Diagonalelemente von D alle positiv sind, dann kann D in
der Form D
1/2
D
1/2
geschrieben werden und mit
2 / 1 T
D L L
~
= ergibt sich

A =
T
L
~
L
~
.

Es zeigt sich, dass L
~
mit einem halbierten Aufwand - gegenber der bisherigen
LR-Zerlegung - bestimmt werden kann.

34

3.6 Kondition eines Gleichungssystems

Bereits in den ersten beiden Kapiteln wurde auf den Einfluss von Vernderungen von
Daten auf die Lsungen von Aufgaben hingewiesen.
Auch bei einem linearen Gleichungssystem Ax = b kann eine Vernderung von b zu
gravierenden nderungen der zugehrigen Lsung x fhren. Dieses zeigt das folgende
Bild mit den zwei durch Null gehenden fast parallelen Geraden


Eine kleine Verschiebung von einer Geraden fhrt zu einer groen nderung der Lsung
des Systems.

Um ein Ma fr die Vernderung von Lsungen bei Vernderungen der Daten zu
erzielen, ist es zweckmig, Normen auf dem R
n
einzufhren.
Eine Abbildung
|| . || : R
n
R
heit Norm auf dem R
n
, wenn

1. || x || 0 fr alle x 0
2. || x || = | | || x || fr alle R und alle x R
n

3. || x + y || || x || + || y || fr alle x,y R
n

4. || x || = 0 x = 0

Die bekanntesten Beispiele sind:

|| x || = | x | Max
i
i
Maximum-Norm.
1
|| x || =
i
n
1 i
i
| x |

=
L
1
-Norm
2
|| x || =
i
2
n
1 i
i
| x |

=
L
2
-Norm

Auf der Menge der linearen Abbildungen A von R
n
in den R
n
kann durch eine gegebene
Vektornorm ebenfalls eine Norm eingefhrt werden

|| A || =
|| x ||
|| Ax ||
sup
0 x
,

fr die noch zustzlich || Ax || || A |||| x || und || A*B || || A || || B || gilt.



35
Fr die oben angegebenen Vektornormen ergibt sich

|| A || = |) a | ( Max
ij
n
1 j
i

=

1
|| A || = |) a | ( Max
ij
n
1 i
j

=

2
|| A || =
T
AA von Eigenwert esster Betragsgro

Gegeben sei nun ein Gleichungssystem
Ax = b

mit einer regulren Matrix A.
Es sei b
~
R
n
eine Rundung von b R
n
und x bzw. x
~
die Lsungen von

Ax
~
= b
~
bzw. Ax = b.

Ist b 0, dann fhren die folgenden berlegungen zu einer Abschtzung des relativen
Fehlers:

Es gilt || x- x
~
|| = || A
-1
(b- b
~
) || || A
-1
|| || b- b
~
||.

Aus || b || = || Ax || || A || || x || folgt
|| b ||
|| A ||
|| x ||
1
.
Aus den beiden Ungleichungen folgt dann

|| b ||
|| b
~
b ||
|| A || || A ||
|| x ||
|| x
~
x ||
1


.

Definition
Die Zahl (A) = Kond(A) = || A
-1
|| || A || heit Kondition der (regulren) Matrix A.

Die Bestimmung von Kond(A) erfordert auf den ersten Blick die Bestimmung der
inversen Matrix zu A!
Dieses kann in der Praxis umgangen werden durch die Bestimmung einer unteren
Schranke
|| Ax || K|| x ||.


In der 2-Norm und fr symmetrische positiv definite Matrizen A gilt,

|| A
-1
||
2
|| A ||
2

| |
| |
1
n

,

wobei
n
der grte und
1
der kleinste Eigenwert von A ist.
36
bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(9.11.05)

Aufgabe 3.1
Gegeben sei das lineare Gleichungssystem Ax = b mit
A = (a
ij
), a
ij
= 1/(i+j-1), i,j = 1,2, ,n, b
i
=

=
+
n
1 j
) 1 j i /( 1 .
Die Lsung dieses Gleichungssystems ist bekannt!
Bestimmen Sie fr verschiedene n, die Lsung des Gleichungssystems mit der MATLAB
Anweisung A\b und durch eine LR-Faktorisierung.
Ab welchem n liefern die Methoden unsinnige Lsungen?

Aufgabe 3.2
Die Kondition bezglich der 2-Norm der beiden n*n Bandmatrizen

B =

2 5 . 0 . 0 0 0
5 . 0 2 . 0 0 0
. . . . . .
0 0 . 2 5 . 0 0
0 0 . 5 . 0 2 5 . 0
0 0 . 0 5 . 0 2
A =



2 1 . 0 0 0
1 2 . 0 0 0
. . . . . .
0 0 . 2 1 0
0 0 . 1 2 1
0 0 . 0 1 2


soll bestimmt werden. Dabei soll 1 n 100 gewhlt werden. Die Eigenwerte knnen mit
der MATLAB-Anweisung eig(A) bestimmt werden.
Die erste Klasse von Matrizen entsteht bei der kubischen Spline Interpolation und die zweite
Klasse z.B. bei der Diskretisierung der Randwertaufgabe - y = f, y(0) = y(1) = 0.

Aufgabe 3.3
Bestimmen Sie mit Hilfe einer LR-Faktorisierung die Inverse Matrix von

+ +
+
+ +
6 6
5 5
4 4
6 5 6 5 3 3
4 4 2 2
3 2 3 2 1
G 0 0 G 0 0
0 G 0 G 0 0
0 0 G 0 G 0
G G 0 G G G 0 G
0 0 G 0 G G G
0 0 0 G G G G G


Dabei sollen als Leitwerte (in S) G
i
einmal G
i
= 1 fr i = 1,2,3,4,5 und 6 und ein anderes Mal
G
1
= 100, G
2
= 10, G
3
= 0.001, G
4
= 200, G
5
= 20, G
6
= 2 gewhlt werden.

Aufgabe 3.4
Die Matrizen aus Aufgabe 3.2 sind von so genannter Bandstruktur. Wie sehen deren LR-
Faktorisierungen aus? Schreiben Sie ein (speicherkonomisches) Programm zur
Bestimmung einer LR-Faktorisierung einer Matrix mit Bandstruktur.
Lsungen zur bung 3
Konstruktion und Analyse von Algorithmen
WS 05/06
(9.11.05)

K. Taubert


Aufgabe 3.1

Bis n = 9 liefert sowohl H/b als auch die LR-Faktorisierung gute Ergebnisse. Ab n =10 ndert
sich dieses, wobei MATLAB mit H/b etwas besser abschneidet.

% LR-Zerlegung und Hilbert Matrix
format short
clear all
n = 11
for i = 1:n
for j = 1:n
A(i,j) = 1/(i+j-1);
end
end
b = A*ones(n,1);
H = A;
z=H\b;
for k = 1:n-1
A(k+1:n,k) = A(k+1:n,k)/A(k,k);
for j = k+1:n
for i = k+1:n
A(i,j) = A(i,j)-A(i,k)*A(k,j);
end
end
end
%Die berschriebene Matrix A enthlt die LR-Zerlegung
y(1) = b(1);
for i = 2:n
y(i) = b(i)-A(i,1:i-1)*(y(1:i-1))';
end
x(n) = y(n)/A(n,n);
for j = n-1:-1:1
x(j) = (y(j)-A(j,j+1:n)*(x(j+1:n))')/A(j,j);
end
% Auflsung ist erfolgt
u = [z,x']
% z ist das Ergebnis durch A\b, x ist das Ergebnis ber die LR-Zerlegung.





n = 9
u =

1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000
1.0000 1.0000

n = 14

Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.708191e-019.
(Type "warning off MATLAB:nearlySingularMatrix" to suppress this warning.)
> In C:\MATLAB6p5\work\Weiterbildung\Aufgabe9.m at line 17

u =

1.0000 1.0000
1.0000 1.0000
1.0007 0.9996
0.9888 1.0041
1.0934 0.9939
0.5344 0.8437
2.4581 2.3438
-1.9055 -4.4785
4.5456 14.5284
-1.2070 -20.5726
0.8969 23.4019
2.1972 -13.6607
0.2294 6.4980
1.1679 0.0985




Aufgabe 3.2
Die Konditionen der Matrizen in Abhngigkeit von der Dimension n haben markante
Unterschiede. Die Spline Approximation ist ein gut konditioniertes Problem. Die
Diskretisierung der Randwertaufgabe fhrt zu Gleichungssystemen mit schlechter
Kondition.








Aufgabe 3.3

clear all
n = 6
G = zeros(n)
G(1,1) = 3;
G(2,2) = 2;
G(3,3) = 3;
G(4,4) = 1;
G(5,5) = 1;
G(6,6) = 1;
G(2,1) = -1;
G(1,2) = -1;
G(3,1) = -1;
G(1,3) = -1;
G(2,4) = -1;
G(4,2) = -1;
G(3,5) = -1;
G(5,3) = -1;
G(3,6) = -1;
G(6,3) = -1;
A =G
for k = 1:n-1
A(k+1:n,k) = A(k+1:n,k)/A(k,k);
for j = k+1:n
for i = k+1:n
A(i,j) = A(i,j)-A(i,k)*A(k,j);
end
end
end
B = A
%Die berschriebene Matrix A enthlt die LR-Zerlegung
for i = 1:n
d(1:n,i) = zeros(n,1)
d(i,i)= 1
end
for p = 1:6
for q = 1:n
b(q) = d(q,p)
end
y(1) = b(1);
for i = 2:n
y(i) = b(i)-A(i,1:i-1)*(y(1:i-1))';
end
x(n) = y(n)/A(n,n);
for j = n-1:-1:1
x(j) = (y(j)-A(j,j+1:n)*(x(j+1:n))')/A(j,j);
end
for k = 1:n
R(k,p) = x(k)
end
end
% In R steht die Inverse Matrix


Im ersten Fall ergibt sich das vllig richtige Ergebnis:

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 2.0000 1.0000 2.0000 1.0000 1.0000
1.0000 1.0000 2.0000 1.0000 2.0000 2.0000
1.0000 2.0000 1.0000 3.0000 1.0000 1.0000
1.0000 1.0000 2.0000 1.0000 3.0000 2.0000
1.0000 1.0000 2.0000 1.0000 2.0000 3.0000

Im zweiten Fall ergibt das nicht sachgerechte Format short das Resultat:

1.0e+003 *

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0001 0.0000 0.0001 0.0000 0.0000
0.0000 0.0000 1.0000 0.0000 1.0000 1.0000
0.0000 0.0001 0.0000 0.0001 0.0000 0.0000
0.0000 0.0000 1.0000 0.0000 1.0001 1.0000
0.0000 0.0000 1.0000 0.0000 1.0000 1.0005

(Dennoch liefert R*G die Einheitsmatrix)
37
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Einfache Beispiele zeigten, dass die Polynominterpolation nicht immer zu befriedigenden
Ergebnissen fhren muss. Es sind deshalb Methoden entwickelt worden, um diese Nachteile
zu berwinden. Gleichzeitig wurden auch weitergehende Interpolationsaufgaben in Angriff
genommen.
Zu den Methoden gehren die Spline-Interpolation und insbesondere die kubische Spline-
Interpolation, aber auch die B-Splines.
Fr die Approximation von Kurven wurden die parametrischen Splines, die Bezier-Kurven
und die parametrischen B-Splines eingefhrt.
Hier sollen die kubischen Splines, die parametrischen Splines und die Bezier-Kurven
behandelt werden. Fr die (parametrischen) B-Splines soll z.B. auf das Buch Numerische
Mathematik von Deuflhard/Hohmann hingewiesen werden.

4.1 Kubische Splines

Gegeben seien erneut n+1 Paare von Punkten, j = 0,1,2, . ,n, x
j
,y
j
R, nN, mit paarweise
verschiedenen x
j
x
i
.
Die Polynominterpolation besteht darin, ein Polynom p(x) aus der Klasse
n
von mglichst
kleinem Grade so zu bestimmen, dass

p(x
i
) = y
i
, i = 0,1,2, ,n.

Bei vorgegebenen quidistanten Sttzstellen a = x
0
< x
1
< x
2
< .. < x
n
= b musste in
vielen Fllen festgestellt werden, dass das zugehrige Interpolationspolynom ein oszillato-
risches Verhalten aufweist, das zu den Rndern immer ausgeprgter wird.
Sind die Werte y
j
= f(x
j
) Werte einer gegebenen Funktion f : [a,b] R, dann kann nicht
damit gerechnet werden, dass eine Zunahme der Sttzstellen zu einer besseren Approximation
von f durch die Interpolationspolynome fhrt.
Als weiterer Nachteil der Polynominterpolation sei noch erwhnt, dass z.B. die Approxima-
tion von x in [0,1] durch ein Interpolationspolynom mit quidistanten Sttzstellen und
einer maximale Abweichung von 0.001 ein Polynom vom Grade 1000000 erfordern wrde.
Dieses heit, dass im Zusammenhang mit einigen Aufgaben andere Lsungen fr das
Interpolationsproblem gesucht werden mssen.


4
Splines
Kubische Splines, Parametrische Splines und Bezier-Kurven
38

Eine weitere Mglichkeit, die Interpolationsaufgabe zu lsen, bieten die kubischen Splines.
Dabei wird eine gegebene Funktion durch eine zweimal stetig differenzierbare Funktion
approximiert, welche die Interpolationsbedingungen erfllt. Abschnittsweise besteht der
kubische Spline aus Polynomen bis zum Grade 3.

Gegeben sei eine Unterteilung
n
von [a,b]

a = x
0
< x
1
< x
2
< .. < x
n
= b
eine Funktion
f : [a,b] R

und zugehrige Punkte (x
j
,f
j
) mit f
j
= f(x
j
).
Zur Unterteilung
n
seien
I
j
= [x
j-1
,x
j
], j = 1,2, ,n

zugehrige Teilintervalle und

h
j
= x
j
- x
j-1
, j = 1,2, ,n
die Lngen der Teilintervalle.

Definition
Ein kubischer Spline zur Unterteilung
n
ist eine reelle Funktion S : [a,b] R mit den
Eigenschaften

S C
2
[a,b]

Auf jedem Teilintervall I
j
= [x
j-1
,x
j
] stimmt S mit einem Polynom vom Hchstgrad 3
berein.

Erfllt der kubische Spline die Bedingungen S(x
j
) = f
j
, dann spricht man von interpolato-
rischen Splines.

Fr jedes der Teilintervalle I
j
wird der Ansatz

S
j
(x) = a
j
+ b
j
(x x
j-1
) + c
j
(x x
j-1
)
2
+ d
j
(x x
j-1
)
3
gewhlt.
Damit entsteht auf dem Intervall [a,b] eine Funktion

S : [a,b] R

mit 4n freien Parametern.
Um eine zweimal stetig differenzierbare und interpolierende Funktion S zu erhalten, sind die
folgenden 4n-2 Bedingungen zu stellen:

Interpolationsbedingungen
S
j
(x
j-1
) = f
j-1
fr j = 1,2, ,n
S
j
(x
j
) = f
j
fr j = 1,2, ,n

Stetigkeit der Ableitungen in den inneren Punkten
) x ( S ) x ( S
j
) 1 (
1 j j
) 1 (
j +
= fr j = 1,2, ,n-1


39
Stetigkeit der zweiten Ableitungen in den inneren Punkten
) x ( S ) x ( S
j
) 2 (
1 j j
) 2 (
j +
= fr j = 1,2, ,n-1.

Die 2 noch fehlenden Bedingungen werden und knnen sehr unterschiedlich festgelegt
werden.

Interpolatorische Splines mit den folgenden Zusatzbedingungen heien

Natrliche Splines, falls S
(2)
(a) = S
(2)
(b) = 0
Allgemeine Splines, falls S
(1)
(a) = ) a ( f
) 1 (
und S
(1)
(b) = ) b ( f
) 1 (

Periodische Splines, falls S
(j)
(a) = S
(j)
(b) fr j=0,1,2 und f
o
= f
n

Knot a Knot Splines falls ) x ( S ) x ( S
1
) 3 (
2 1
) 3 (
1
= und ) x ( S ) x ( S
1 n
) 3 (
n 1 n
) 3 (
1 n
=

Bemerkung
Durch die angegebenen Bedingungen entsteht jeweils ein 4n*4n Gleichungssystem fr die 4n
unbekannten Koeffizienten (a
i
,b
i
,c
i
,d
i
) i = 1, ,n.

Die folgenden berlegungen reduzieren die Arbeit erheblich (Siehe z.B. auch das Buch
Einfhrung in die Numerische Mathematik I von J. Stoer).

Geht man davon aus, dass die Momente

M
i
= S
(2)
(x
i
), i = 0,1, . , n

bekannt sind, dann ergeben sich nach einer etwas mhsamen Rechnung - die Koeffizienten
(a
j
,b
j
,c
j,
d
j
)

aus den folgenden Beziehungen

a
j
= f
j-1

b
j
= ) M M 2 (
6
h
h
f f
j 1 j
j
j
1 j j
+


c
j
=
2
M
1 j
j = 1,2, ,n
d
j
=
j
1 j j
h 6
M M



Fr die Momente M
j,
j=1,2, ,n, lassen sich die folgenden Beziehungen nachweisen:

1 j
j 1 j
j
M
h h
h

+
+
+ 2M
j
+
1 j
j 1 j
1
j
M
h h
h
+
+
+
+
= )
h
f f
h
f f
(
h h
6
j
1 j j
1 j
j 1 j
j 1 j

+
+
+

+


oder

j
M
j-1
+ 2M
j
+
j
M
j+1
= d
j

Bei einem natrlichen Spline ist zustzlich M
0
= M
n
= 0 und damit

40



0
d
.
d
d
0
M
M
.
M
M
M
2 0 0 . 0 0 0
2 . 0 0 0
. . . . . . .
0 0 0 . 2 0
0 0 0 . 2
0 0 0 . 0 0 2
1 n
2
1
n
1 n
2
1
0
1 n 1 n
2
1 1



Fr den allgemeinen Spline ergibt sich


)
h
f f
f (
h
6
d
.
d
d
) f
h
f f
(
h
6
M
M
.
M
M
M
2 1 0 . 0 0 0
2 . 0 0 0
. . . . . . .
0 0 0 . 2 0
0 0 0 . 2
0 0 0 . 0 1 2
n
1 n n ) 1 (
n
n
1 n
2
1
) 1 (
o
1
0 1
1
n
1 n
2
1
0
1 n 1 n
2
1 1


Fr den periodischen Spline ergibt sich schlielich




n
1 n
3
2
1
n
1 n
3
2
1
n n
1 n 1 n
3
2 2
1 1
d
d
.
d
d
d
M
M
.
M
M
M
2 0 . 0 0
2 . 0 0 0
. . . . . . .
0 0 0 . 2 0
0 0 0 . 2
0 0 . 0 2



Einige Bemerkungen zu den Gleichungssystemen sind angebracht:

Wegen der starken Diagonaldominanz der Matrizen ( ) 0 , 0 , 1
j j j j
= + sind die
Gleichungssysteme eindeutig lsbar, die Kondition der Gleichungssyteme ist gutartig und der
Aufwand zur Auflsung der Gleichungssysteme ist proportional zu n.

Eine wichtige Bemerkung ist noch die Folgende:

Bei gegebenen Werten x
j
,y
j
R, j = 0,1,2, . ,n, mit paarweise verschiedenen x
j
, liefert
MATLAB durch den Aufruf ( x = (x
i
), y = (y
i
))

pp = spline (x,y)

smtliche Daten fr den zugehrigen Knot a Knot-Spline.


41
Die Werte des Splines an den Stellen z = (z
i
) liefert der Befehl

r = ppval(pp,z)

und plot(z,r) liefert gegebenenfalls die entsprechende Kurve.

Im Gegensatz zu der Polynominterpolation liegt bei der allgemeinen kubischen Spline-
Interpolation Konvergenz, und zwar einschlielich der dritten Ableitungen, gegen die
interpolierte Funktion vor, sofern die Unterteilungen immer feiner gewhlt werden. Ein
vereinfachter Satz lautet:

Satz
Es sei f C
4
[a,b] und es liege eine quidistante Unterteilung von [a,b] mit der Lnge h vor.
Es sei S(x) der zugehrige allgemeine Spline. Dann gilt

| f
(i)
(x) S
(i)
(x) | C
i
h
4-i

] b , a [ x
Max

| f
(4)
(x) | i =0,1,2,3

mit geeigneten Konstanten C
i
.

Der interpolierende natrliche Spline erfllt auerdem eine bemerkenswerte Minimal-
eigenschaft:
Es sei g : [a,b] R eine beliebige Funktion, deren zweite Ableitung fast berall existiert,
quadratisch integrierbar ist und die Interpolationsaufgabe g(x
i
) =f(x
i
) erfllt. Es sei S der zu
(x
i
,f(x
i
)) gehrige interpolierende natrliche Spline. Dann gilt



b
a
2 ) 2 (
b
a
2 ) 2 (
dx )) x ( g ( dx )) x ( S ( .


4.2 Parametrische Interpolation

Eine Anwendung der kubischen Spline-Interpolation besteht in der Konstruktion von glatten
Kurven durch gegebene (n+1) Punkte mit Koordinaten (x
j
,y
j
), j = 0,1, , n, die sich in so
allgemeiner Lage befinden, dass eine Darstellung der Form y = f(x) nicht mglich ist.
In diesem Fall ist fr die gesuchte Kurve eine Parameterdarstellung

x = x(t), y = y(t)

mit t als Kurvenparameter zu verwenden.
Eine vernnftige Wahl der Parametrisierung ergibt sich ber die Lnge jedes Segmentes
((x
i-1
,y
i-1
), (x
i
,y
i
))

l
i
=
2
1 i i
2
1 i i
) y y ( ) x x (

+ , i = 1,2, ,n.

Zu den einzelnen Punkten (x
k
,y
k
) gehren dann die Lngen

t
0
= 0, t
k
= t
k-1
+
2
1 k k
2
1 k k
) y y ( ) x x (

+ , k = 1,2, ,n.



42
Die parametrische Spline-Interpolation besteht dann darin, jede Komponente der in
parametrischer Form geschriebenen Kurve durch einen (kubischen) Spline zu approximieren.

Die Ergebnisse sind zufriedenstellend (Siehe auch Aufgabe 4.2).


4.3 Bezier-Kurven

Im Zusammenhang mit dem CAD sind in den letzten 25 Jahren neue Wege in der
Interpolationstheorie beschritten worden. Eine Kurve muss so in einem Rechner dargestellt
werden, dass sie schnell zu zeichnen und zu manipulieren ist. Aus dem Bereich der
polynomialen Kurven bilden die Bezier-Kurven - mit dem Algorithmus von de Casteljau -
ein besonders schnes Beispiel. Bei richtiger Interpretation liefern die Bezier-Kurven auch
einen Einblick in die Theorie weitergehender Methoden.
Wir gehen nicht darauf ein, dass bei einer vorgegebenen Kurve die Bezier-Kurven
Informationen ber die Ableitungen liefern und bei geeigneter Verfeinerung zu einer
extrem schnellen Konvergenz gegen die Kurve fhren.

Es seien a
0
, a
1
, a
2
, .. ,a
n
n+1 vorgegebene und geordnete Punkte aus dem R
2
, sie werden
hier als Bezier-Punkte bezeichnet.
Werden jeweils zwei benachbarte Punkte a
i
, a
i+1
durch eine Gerade verbunden

a
i1
= (1-t)a
i
+ ta
i+1
t [0,1],

dann entsteht das orientierte charakteristische Polygon oder Bezier-Polygon.



Das Verfahren von de Casteljau glttet dieses Polygon und beruht auf der wiederholten
Konvexkombination von Punkten.

Das Verfahren von de Casteljau

Gegeben seien die n+1 Bezier-Punkte a
0
, a
1
, a
2
, .. ,a
n
aus R
2
.
Zu jedem festen t werden zunchst die folgenden n Punkte bestimmt

a
i1
= (1-t)a
i
+ ta
i+1
i = 0,1, ,n-1.

Eine Wiederholung des Prozesses mit diesen n Punkten liefert n-1 Punkte

a
i2
i = 0,1, ,n-2

und die n-1-malige Wiederholung schlielich einen Wert

a
0,n-1
.



43

Das Verfahren liefert also fr jedes t ein Schema

a
0
a
1
a
2
a
3
.. a
n

a
01
a
11
a
21
a
31
. a
n-1,1

a
02
a
12
a
22
a
32
a
n-2,2




a
0,n-2
a
1,n-2

a
0,n-1

und den Wert a
0,n-1
. Dieses ist der Wert, der durch s [0,1] parametrisierten Bezier-Kurve
an der Stelle t. Schnell sieht man ein, dass fr t = 0 der Punkt a
0
und fr t = 1 der Punkt a
n

entsteht.
Die folgenden Bilder veranschaulichen das Verfahren fr vier vorgebenene Punkte (0,1),
(1,2), (2,2) und (3,1) und t = . Wird der Prozess fr alle t wiederholt, dann entsteht die
durchgehende Kurve.



Das Verhalten der Bezier-Kurven bei einer Vernderung der Bezier-Punkte kann aus dem
folgenden Satz entnommen werden:

Satz
Es seien a
0
, a
1
, a
2
, .. ,a
n
aus R
2
vorgegebene Bezier-Punkte und B
n
(a
0
,a
1
,a
2
, .. ,a
n
,t)
die zugehrige Bezier-Kurve.
Wird einer der Punkte a
k
in
k
a
~
verschoben, dann gilt fr die Differenz der zugehrigen
Bezier-Kurven
B
n
(a
0
,a
1
, , a
k
, ,a
n
,t) - B
n
(a
0
,a
1
, ,
k
a
~
, ... ,a
n
,t) = ( a
k
-
k
a
~
)

k
n
(1 t)
n-k
t
k
.



Bemerkung
Der Satz besagt, dass zu jedem Zeitpunkt t eine gleichgerichtete und gewichtete Verschiebung
der Bezier-Kurve erfolgt.

Eine Einsicht in dieses Ergebnis und weitergehende theoretische Hintergrnde liefert der
folgende Abschnitt:




44


Etwas Theoretisches

Fr das Weitere ist es zweckmig, das Verfahren von de Casteljau einmal mit den
entsprechenden Formeln aufzuschreiben. Der Einfachheit halber soll dieses hier mit vier
Bezier-Punkten erfolgen.

Gegeben seien die vier Bezier-Punkte
a
0
, a
1
, a
2
, a
3
.

Im ersten Schritt des de Casteljau Verfahrens sind zu bilden

(1-t)a
0
+ta
1
, (1-t)a
1
+ta
2
, (1-t)a
2
+ta
3
.

Im zweiten Schritt

(1-t)((1-t)a
0
+ta
1
) + t((1-t)a
1
+ta
2
) und (1-t)((1-t)a
1
+ta
2
) + t((1-t)a
2
+ta
3
).

Der dritte Schritt liefert schlielich

B
3
(a
0
,a
1
,a
2
,a
3
,t) = (1-t)
3
a
0
+ 3(1-t)
2
ta
1
+ 3t
2
(1-t)a
2
+ t
3
a
3
.

Die Koeffizienten der a
i
werden als Bernstein-Polynome bezeichnet

B
3,k
=

k
3
(1 t)
3-k
t
k
=
! k )! k 3 (
! 3

(1 t)
3-k
t
k
k = 0,1,2,3.

Wrde der Prozess fr n+1 Bezier-Punkte wiederholt, dann entstnde die Bezier-Kurve

B
n
(a
0
,a
1
,a
2
, ,a
n
,t) =

=
n
0 k
k , n k
B a

mit den Bernstein-Polynomen ( n 1 )

B
n,k
=

k
n
(1 t)
n-k
t
k
k = 0,1, 2, . ,n.

Bemerkung
Durch die Darstellung der Bezier-Kurve mit den Bernstein-Polynomen ist natrlich sofort der
Beweis des letzten Satzes erbracht.


Die Bernstein-Polynome haben offensichtlich(!) die Eigenschaften

B
n,k
0 und

=
=
n
0 k
k , n
1 ) t ( B .

Man spricht in diesem Fall von einer Zerlegung der Einheit. Ein wichtiges Konzept in der
angewandten und reinen Mathematik (!).

45


Die Bernstein-Polynome spielen auch in der Approximationstheorie eine wichtige Rolle:

Es sei f C[0,1] und

(B
n
f)(t) = ) t ( B )
n
k
( f
k , n
n
0 k

=
.

Dann liegt eine polynomiale Approximation von f vor, fr die im Gegensatz zur
Interpolation mit Polynomen und quidistanten Sttzstellen - gilt

0 || f f B || lim
n
n
=


.

Bemerkung
So schn auch die Bezier-Kurven mit ihren vielen praktischen Anwendungen sind, haben sie
auch einen Nachteil.
Wir hatten gesehen, dass eine Vernderung in einem Bezier-Punkt zu Vernderungen der
Bezier-Kurven im gesamten Definitionsbereich fhrte.
Wnschenswert ist manchmal, dass eine solche Vernderung sich auch nur lokal auswirkt.
Dieses kann mit den so genannten B-Splines erreicht werden. Theoretisch liefern diese
brigens auch wieder Zerlegungen der Einheit.
46
bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(16.11.05)



Aufgabe 4.1
Approximieren Sie die Runge Funktion auf dem Intervall [-5,5] durch kubische Splines.
Benutzen Sie 5,11 und 21 quidistante Sttzstellen und zeichnen Sie jeweils die Runge
Funktion, den zugehrigen kubischen Spline und die Fehlerkurve.

Aufgabe 4.2
Ein Abschnitt der logarithmischen Spirale soll durch einen parametrischen kubischen Spline
approximiert werden. Der Abschnitt sei gegeben durch

x(t) = exp(-0.1t)cos(t)
y(t) = exp(-0.1t)sin(t)

und t [0,20].
Als Interpolationspunkte whlen Sie die Punkte (x(t
i
),y(t
i
)), t
i
= 0,1,2, . , 19 und fhren als
neue Parametrisierung den aufsummierten euklidischen Abstand zwischen den Punkten ein.
Zeichnen Sie den Abschnitt der logarithmischen Spirale, die Interpolationspunkte,
den entstehenden parametrischen kubischen Spline und eine bersicht ber die Differenz
zwischen Kurve und Spline.
Vergrern und verkleinern Sie das Intervall und die Sttzstellen.

Aufgabe 4.3
Zeichnen Sie die Bernstein-Polynome fr einige n und k = 0,1, ,n und verifizieren Sie
durch optische Inspektion die Eigenschaft

=
=
n
0 k
k , n
1 ) t ( B .
Aufgabe 4.4
Zeichnen Sie die zu den Punkten

(0,0), (2,0), (2,1), (1,1), (1,0.5), (1.5,0.5), (1.5,0.75)

die dazugehrige Bezier-Kurve.
Wiederholen Sie die Aufgabe mit anderen Punkten.

Lsungen zur bung 4
Konstruktion und Analyse von Algorithmen
WS 05/06
(16.11.05)

K. Taubert

Aufgabe 4.1

%Approximation der Runge-Funktion mit kubischen Splines
clear all
n0 = 5%11%21 %Anzahl der Sttzstellen
for i = 1:n0
x(i) = -5 + (i-1)*10/(n0-1) %Sttzstellen
end
for i = 1:100
u(i) = -5 + (i-1)*10/(100-1) %Punkte an denen der kubische Spline ausgewertet wird
soll
end
y = 1./(1+x.*x) %Werte an den Sttzstellen
v = 1./(1+u.*u) %Werte der Funktion an den Auswertungsstellen
pp = spline(x,y)
r = ppval(pp,u)
subplot(2,1,1)
plot(u,r,'r',u,v)
title('Runge Funktion (blau) und Spline Approximation (rot)')
subplot(2,1,2)
plot(u,(v-r),'g')
Title('Fehlerkurve')





Aufgabe 4.2





% Approximation der logarithmischen Spirale durch parametrische Splines
clear all
time = 20 %Definitionsbereich der Kurve [0,20]
t = linspace(0,time,100); %Diskretes Zeitintervall
x = exp(-0.1*t).*cos(t);
y = exp(-0.1*t).*sin(t);
subplot(2,2,1)
plot(x,y);
title('Die Kurve')
m = 20; %Anzahl der Sttzstellen
ti = linspace(0,time,m); %Sttzstellen der Kurve
u = exp(-0.1*ti).*cos(ti); %Punkte in der Ebene
v = exp(-0.1*ti).*sin(ti);
subplot(2,2,2)
plot(u,v)
title('Die Interpolationspunkte')
n = size(ti);
ts(1) = 0; %Neue Parametrisierung durch Abstand der Punkte
for k = 2:n(2)
ts(k) = ts(k-1)+ sqrt((u(k)-u(k-1))^2+(v(k)-v(k-1))^2);
end
up = spline(ts,u); %Die Splines
vp = spline(ts,v);
tneu = linspace(0,ts(n(2)),100); %Zeitpunkte des parametrischen Spline
rt = ppval(up,tneu)
st = ppval(vp,tneu)
subplot(2,2,3)
plot(rt,st)
title('Die Nherung')
subplot(2,2,4)
plot(rt,st,'r',x,y)
title('Nherung (rot) und Kurve')


Aufgabe 4.3

Bernstein Polynome zu n=3




% Bernstein Polynome Bnk, n groesser gleich 1, 0<=k<=n
clear all
t = 0:0.01:1
for n=3 % n groesser oder gleich 1
for m=1:n+1 % geht bis n+1, k = m-1
k = m-1
if k == 0
C = 1;
else
C = prod([1:n])/(prod([1:n-k])*prod([1:k]))
end
bnk = C*t.^k.*(1-t).^(n-k)
subplot(n+1,1,m)
plot(t,bnk)
end
end
Aufgabe 4.4





%Bezier Kurve
clear all
%x = [0 0 1 2 2];
%y = [0 1 1 1 2];
%n = 5-1; %Anzahl der Punkte -1
x = [0 2 2 1 1 1.5 1.5];
y = [0 0 1 1 0.5 0.5 .75];
n = 7-1;
i = 0;
k = 0;
for t=0:0.01:1
i = i+1;
bnk = bernstein(n,k,t);
ber(i) = bnk;
end
bezx = ber*x(1);
bezy = ber*y(1);
for k = 1:n
i = 0;
for t = 0:0.01:1
i=i+1;
bnk= bernstein(n,k,t);
ber(i) = bnk;
end
bezx = bezx+ber*x(k+1);
bezy = bezy+ber*y(k+1);
end
plot(bezx,bezy,x,y,'pentagram')


function[bnk] = bernstein(n,k,x)
if k==0
C=1;
else
C = prod([1:n])/(prod([1:k])*prod([1:n-k]));
end
bnk = C*x^k*(1-x)^(n-k);

47
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Gegenstand dieses Abschnittes ist die Angabe von Methoden zur Ermittlung von Nherungs-
werten fr das Integral

b
a
dx ) x ( f . (*)
Mit geeigneten Definitionen und zugehrigen Voraussetzungen an die Funktionen f ist die
Existenz des Integrals stets gewhrleistet. Eine explizite Angabe des Wertes muss aber nicht
immer mglich sein.
Wir beschrnken uns auf den Fall, dass [a,b] ein endliches (kompaktes) Intervall ist und
nehmen auerdem an, dass f eine stetige reellwertige Funktion auf [a,b] ist. Der
Riemannsche Integrationsbegriff gewhrleistet dann die Existenz von (*).
Zur Ermittlung von Nherungswerten des Integrals sind sehr unterschiedliche Anstze
gemacht worden. Hier sollen etwas ausfhrlicher

Newton-Cotes und die zugehrigen zusammengesetzten Formeln
Extrapolationsverfahren oder das Romberg-Verfahren
Adaptive Quadraturmethoden

behandelt werden.


5.1 Newton-Cotes Formeln

Um Nherungswerte fr ein Integral zu bestimmen, ist es nahe liegend, den Integranden f(x)
zunchst durch ein Interpolationspolynom p
n
(x) zu ersetzen und das Interpolationspolynom
dann anschlieend exakt zu integrieren

b
a
n
dx ) x ( p

b
a
. dx ) x ( f

Da die Differenz zwischen einer Funktion f und seinem Interpolationspolynom mit n+1
paarweise verschiedenen Sttzstellen x
i
aus
n
abgeschtzt werden kann, kann auch der
Fehler bei der approximativen Integration abgeschtzt werden. Ist f C
n+1
[a,b], dann gilt

5
Numerische Integration
Newton-Cotes Formeln. Das Romberg-Verfahren. Adaptive
Quadratur
48



=
+


+

b
a
n
0 i
i
1 n
] b , a [
b
a
n
b
a
n
dx | ) x x ( | | ) ( f | Max
)! 1 n (
1
dx | ) x ( p ) x ( f | | dx )) x ( p ) x ( f ( | .

Die geschlossenen Newton-Cotes Formeln basieren auf Polynominterpolation mit in [a,b]
quidistanten Sttzstellen. Zu einem vorgegebenen n 1, x
0
= a und h = (b-a)/n sind die
Sttzstellen x
k
gegeben durch x
k
= x
0
+kh, k = 0,1,2, ,n.
Bei den offenen Newton-Cotes Formeln sind fr n 0 und h = (b-a)/(n+2) die Sttzstellen
gegeben durch x
0
= a+h, x
n
= b-h und x
k
= x
0
+kh, k =1,2, ,n-1.

Die einfachste offene Newton-Cotes Formel ergibt sich mit n=0 und heit Mittelpunkts- oder
Rechtecksregel. Die Formel hat die Gestalt

b
a
dx ) x ( f

b
a
0
dx ) x ( p =

+
b
a
dx )
2
b a
( f = I
0
(f) = (b-a)f( )
2
b a +
.

Bereits an dieser Integrationsformel kann eine Besonderheit erkannt werden:
Nach Konstruktion werden mit dieser Formel konstante Funktionen exakt integriert. Es ist
sofort einsehbar, dass die Mittelpunktsregel zu einem erfreulicheren Ergebnis fhrt: nicht nur
alle konstanten Funktionen werden exakt integriert, sondern auch alle Polynome bis zum
Grade 1. Dieses fhrt i.A. auch zu einer gnstigeren Fehlerabschtzung:

Ist f C
2
[a,b], dann gilt mit x
0
= (a+b)/2

f(x) = f(x
0
) + ) x x )( x ( f
0 0
+ (1/2)
2
0
) x x ))( x ( ( f

und somit
| ) ( f | Max
24
) a b (
| ) f ( I dx ) x ( f |
] b , a [
3 b
a
0

.

Sehr bekannte Quadraturformeln sind die geschlossenen Newton-Cotes Formeln fr die
Fllen n= 1,2 und 3.
Fr n=1 ergibt sich die Trapezregel, fr n = 2 die Simpson-Regel und fr n= 3 die 3/8-Regel.

Die Trapezregel
Fr n=1 sind die Knoten der geschlossenen Newton-Cotes Formel x
0
= a und x
1
= b.
Die Lagrange-Interpolation liefert das Polynom

p
1
(x) = ) b ( f )
) a b
a x
( ) a ( f )
b a
b x
(

.
Damit entsteht die Trapezregel

b
a
dx ) x ( f I
1
(f) =

b
a
1
dx ) x ( p = )) b ( f ) a ( f )(
2
a b
( +



und fr f C
2
[a,b], h = b-a die Fehlerabschtzung

| ) ( f | Max
12
h
| ) f ( I dx ) x ( f |
] b , a [
3 b
a
1

.


49
Die Simpson-Regel
Fr n = 2 sind die Knoten der geschlossenen Newton-Cotes Formel x
0
= a, x
1
= (a+b)/2 und
x
2
= b. Das zugehrige Interpolationspolynom hat die Gestalt

p
2
(x) = ) x ( f )
x x
x x
)(
x x
x x
( ) x ( f )
x x
x x
)(
x x
x x
( ) x ( f )
x x
x x
)(
x x
x x
(
2
1 2
1
0 2
0
1
2 1
2
0 1
0
0
2 0
2
1 0
1



und es entsteht die Simpson-Regel

b
a
dx ) x ( f I
2
(f) =

b
a
2
dx ) x ( p = )) b ( f )
2
b a
( f 4 ) a ( f )(
6
a b
( +
+
+

.

Nach Konstruktion integriert die Simpson-Regel Polynome bis zum Grade 2 exakt. Es zeigt
sich auch hier ein hnliches Phnomen wie bei der Mittelpunktsformel. Mit der Regel werden
sogar Polynome bis zum Grade 3 exakt integriert. Dieses ergibt sich aus dem folgenden

Hilfssatz
Es sei p
2
das Interpolationspolynom zu f mit den Sttzstellen a,(a+b)/2,b und p
3
das
Interpolationspolynom fr f an den Stellen a,(a+b)/2,b und z aus (a,b) und z . 2 / ) b a ( +
Dann gilt

b
a
2
dx ) x ( p =

b
a
3
dx ) x ( p .
Beweis
Es sei x
0
= a, x
1
= (a+b)/2 und x
2
= b. Dann gilt

p
3
(x) = p
2
(x) + f[x
0
,x
1
,x
2
,z](x-x
0
)(x-x
1
)(x-x
2
)

b
a
3
dx ) x ( p =

b
a
2
dx ) x ( p + f[x
0
,x
1
,x
2
,z]


+

b
a
dx ) b x )(
2
b a
x )( a x ( .

Aus Symmetriegrnden ist aber das letzte Integral gleich Null.

Ist f C
4
[a,b] und h = (b-a)/2, dann gilt durch den obigen Hilfssatz

| ) ( f | Max
2880
) a b (
| ) f ( I dx ) x ( f |
) 4 (
] b , a [
5 b
a
2



= | ) ( f | Max
90
h
) 4 (
] b , a [
5


.

Die 3/8 Regel
Fr n = 3 ist

b
a
dx ) x ( f I
3
(f) =

b
a
3
dx ) x ( p = )) x ( f ) x ( f 3 ) x ( f 3 ) x ( f )(
8
x x
(
3 2 1 0
0 3
+ + +




mit der Fehlerabschtzung (fC
4
[a,b] und h = (b-a)/3)

50
| ) ( f | Max
2160
) a b (
| ) f ( I dx ) x ( f |
) 4 (
] b , a [
5 b
a
3



= | ) ( f | Max
80
h 3
) 4 (
] b , a [
5


.

Bemerkungen
Die Newton-Cotes Formeln fhren zu Formeln der Gestalt

b
a
dx ) x ( f

=
n
0 i
i i
) x ( f A .

Die x
i
,

i = 0,1,2, , n, werden im Zusammenhang mit Quadraturformeln als Knoten und
die Koeffizienten A
i
als Gewichte bezeichnet.

Fr ein vorgegebenes n hat die zugehrige Newton-Cotes Formel (nach Konstruktion) die
Eigenschaft, alle Polynome bis zum Grad n exakt zu integrieren. Dieses fhrt zwangslufig
dazu, dass die Summe der Gewichte fr jedes n gleich b-a sein muss.

Das gnstige Verhalten der Mittelpunktsformel und der Simpson-Regel ist kein Zufall.
Die Newton-Cotes Formeln fr m=2n integrieren nicht nur Polynome bis zum Grade m exakt,
sondern sogar Polynome bis zum Grade m+1.

Bei den geschlossenen Newton-Cotes Formeln knnen fr n > 6 Formeln mit negativen
Gewichten entstehen. Bei der Auswertung kann sich dieses durch Auslschung negativ
bemerkbar machen. Bei den offenen Formeln passiert dieses bereits fr n > 1.

Unabhngig von den numerischen Schwierigkeiten, die sich mit zunehmendem n ergeben
knnen, gilt fr die Newton-Cotes Formeln nicht fr jedes f



b
a
n
n
dx )) x ( p ) x ( f ( | lim | = 0.



5.2 Zusammengesetzte Mittelpunkts-, Trapez- und Simpson-Formeln

Die drei bisher etwas ausfhrlicher behandelten Quadraturformeln werden oft in zusammen-
gesetzter Form benutzt.
Das gegebene Intervall [a,b] werde fr diesen Zweck in m1 gleichlange Intervalle
unterteilt. Auf jedem dieser Teilintervalle werde das zugehrige Integral durch die
Mittelpunktsformel, die Trapezregel oder die Simpson-Regel ersetzt. Die entstehenden
zusammengesetzten Formeln knnen aus der folgenden Tabelle entnommen werden:




Zusammengesetzte Formeln H = (b-a)/m
Mittelpunkt
M(H)f = H

=
1 m
0 k
k
) x ( f
51
Trapezregel
T(H)f = ) ) x ( f
2
1
) x ( f ) x ( f
2
1
( H
m
1 m
1 k
k 0

=
+ +
Simpson
S(H)f = ) ) x ( f ) x ( f 4 ) x ( f 2 ) x ( f (
6
H
1 m
0 k
m 2 1 k 2
1 m
1 k
k 2 0

=
+

=
+ + +


Bei der Mittelpunktsformel sind als Knoten zu whlen x
i
= a +(2i+1)H/2, i =0,1, ,m-1,



bei der Trapezregel x
i
= a +iH, i =0,1, ,m

und bei der Simpsonregel x
i
= a +iH/2, i =0,1, ,2m.


Fehlerabschtzungen (bei entsprechender Regularitt von f) fr die angegebenen
zusammengesetzten Formeln knnen aus der folgenden Tabelle entnommen werden:


Fehlerabschtzungen fr zusammengesetzte Formeln
Mittelpunkt
|


b
a
f ) H ( M dx ) x ( f |
] b , a [
2
| ) ( f | Max H
24
a b


Trapezregel
|


b
a
f ) H ( T dx ) x ( f |
] b , a [
2
| ) ( f | Max H
12
a b


Simpson
|


b
a
f ) H ( S dx ) x ( f |
] b , a [
) 4 ( 4
| ) ( f | Max H
2880
a b




Bemerkungen
Die auftretende Potenz von H wird als die Ordnung der zusammengesetzten Formel
bezeichnet. Es bleibt natrlich dabei, dass die ersten beiden Formeln stets Polynome bis zum
Grade 1 exakt integrieren. Die zusammengesetzte Simpson-Regel integriert Polynome bis
zum Grade 3 exakt.

Die Entstehung der Fehlerabschtzungen soll einmal am Fall der zusammengesetzten
Trapezregel demonstriert werden:

Fr jedes einzelne Teilintervall der Lnge H = (b-a)/m gilt die Fehlerabschtzung

| ) ( f | Max
12
H
| ) f ( I dx ) x ( f |
] x , x [
3
x
x
1
1 i
1 i
i

+
+

| ) ( f | Max
m
a b
12
H
] b , a [
2


.
52

Die m-malige Addition dieses Fehlers liefert die gewnschte Abschtzung.

Fr alle angegebenen zusammengesetzten Formeln R(H)f gilt offensichtlich

=

b
a
m
0 | f ) H ( R dx ) x ( f | lim .

5.3 Das Romberg-Verfahren

Mit dem Romberg-Verfahren knnen Nherungen fr das Integral

b
a
dx ) x ( f
berechnet werden. Es erlaubt - bei ausreichender Regularitt der Funktion f - eine
konomische und Bedarfsorientierte kontinuierliche Verbesserung der Nherungen.

Das Romberg-Verfahren ist ein Beispiel fr ein so genanntes Extrapolationsverfahren und
basiert auf der zusammengesetzten Trapezregel.
Fr H = (b-a)/m, m 1, hat die zusammengesetzte Trapezregel die Gestalt

T(H)f = ) ) x ( f
2
1
) x ( f ) x ( f
2
1
( H
m
1 m
1 k
k 0

=
+ + .

Sind T(H)f und T(H/2)f bekannt, dann liegt es nahe, durch die Punkte (H,T(H)f) und
(H/2,T(H/2)f) ein Polynom zu legen und den Wert dieses Polynoms an der Stelle H= 0
(Extrapolation) zu berechnen. Die Hoffnung, dass sich dabei ein besseres Ergebnis ergibt, ist
sicherlich nicht ganz unberechtigt(!). Als besonders wirkungsvoll hat sich allerdings eine
Extrapolation durch die Punkte (H
2
,T(H)f) und ((H/2)
2
,T(H/2)f) erwiesen.










Der Wert des Interpolationspolynoms durch die Punkte (H
2
,T(H)f) und ((H/2)
2
,T(H/2)f)
an der Stelle H = 0 kann mit dem Neville-Schema einfach ermittelt werden:

0-H
2
H
2
T(H)f
0-(H/2)
2
(H/2)
2
T(H/2)f
2 2
2 2
H ) 2 / H (
f ) H ( T ) 2 / H ( f ) 2 / H ( T H

+
=
1 4
f ) H ( T f ) 2 / H ( T 4




Den Vorteil dieser Vorgehensweise zeigen die folgenden berlegungen:



H
2
(H/2)
2
53

Angenommen, es gilt
f ) H ( T dx ) x ( f
b
a

= ) H ( R H H
4
4
2
2
+ +

mit | R(H) | CH
4+1
, dann gilt

b
a
dx ) x ( f -
1 4
f ) H ( T f ) 2 / H ( T 4

= (1/3)( )) H ( R ) 2 / H ( R 4 H ) 2 / H (
4
4
4
4
+
oder
|

b
a
dx ) x ( f -
1 4
f ) H ( T f ) 2 / H ( T 4

| KH
4


mit einer geeigneten Konstanten K. D.h. es liegt eine Methode der Ordnung 4 vor.

Das Romberg-Schema geht von einer Folge von Schrittweiten

H
i
= (b-a)/2
i
, i = 0,1,2, ,

und den zu diesen Unterteilungen gehrigen zusammengesetzten Trapezregeln

T
i0
= T(H
i
)f, i = 0,1,2,
aus und hat die Gestalt

2
0
H T(H
0
)f = T
00

2
0
) 2 / H ( T(H
0
/2)f = T
10
T
01

2
0
) 4 / H ( T(H
0
/4)f = T
20
T
11
T
02

2
0
) 8 / H ( T(H
0
/8)f = T
30
T
21
T
12
T
03

usw.

Die einzelnen Eintrge ergeben sich entsprechend dem Neville-Schema. Erfreulicherweise
haben diese Eintrge sogar noch eine sehr einheitliche Darstellung:

T
i1
=
1 4
T T 4
0 , i 0 , 1 i

+
, i = 0,1,2,

T
i2
=
1 4
T T 4
2
1 , i 1 , 1 i
2

+
, i = 0,1,2,
T
i3
=
1 4
T T 4
3
2 , i 2 , 1 i
3

+
, i = 0,1,2,

usw.

oder allgemein
T
i,j
=
1 4
T T 4
j
1 j , i 1 j , 1 i
j

+
, i = 0,1,2,


54

Bemerkung
In der zweiten Spalte des Romberg-Schemas stehen mit der zusammengesetzten Trapez-
regel Quadraturformeln der Ordnung 2.
In der dritten Spalte brigens die zusammengesetzte Simpson-Regel Quadraturformeln der
Ordnung 4.
In der m-ten Spalte schlielich Verfahren der Ordnung 2m.
Numerisch werden diese Ordnungen auch ausgeschpft, wenn die zu integrierenden
Funktionen aus C
2m
[a,b] sind. Hat eine zu integrierende Funktion nicht die ntige Regularitt,
dann wird sich die prinzipielle Ordnung i.A. nicht einstellen.


5.4 Adaptive Integrationsverfahren

Die bisherigen Verfahren zur numerischen Quadratur wurden nach unterschiedlichen
Kriterien beurteilt

Grad der Polynome, die exakt integriert werden
Ordnung der Verfahren
Konvergenz

Dabei wurde stets eine quidistante Unterteilung des Grundintervalls vorausgesetzt. Diese
quidistanten Unterteilungen verursachen viele Funktionsauswertungen und nehmen keine
Rcksicht auf das lokale Verhalten der zu integrierenden Funktion.
Bei den adaptiven Verfahren wird versucht, eine Approximation A(f) des Integrals zu
bestimmen, die eine vorgegebene Toleranz > 0 erfllt

| ) f ( A dx ) x ( f |
b
a

und dabei gleichzeitig mit einer geringen Anzahl von Funktionsauswertungen auskommt.

Exemplarisch soll ein adaptives Verfahren auf der Grundlage der Simpson-Regel konstruiert
werden.

Gegeben sei ein Teilintervall I
j
= [x
j
,x
j+1
] [a,b] und es sei

+
=
1 j
j
x
x
j
dx ) x ( f ) f ( I .
Mit den zum Teilintervall I
j
gehrenden h
j
= x
j+1
- x
j
lautet die Simpson-Regel fr f auf dem
Intervall [x
j
,x
j+1
]
S
j
(f) = )) x ( f )
2
x x
( f 4 ) x ( f )(
6
h
(
1 j
1 j j
j
j
+
+
+
+
+
und die wiederholte Simpson-Regel

Q
j
(f) = )) x ( f )
4
h 3
x ( f 4 )
2
h
x ( f 2 )
4
h
x ( f 4 ) x ( f )(
2
h
)(
6
1
(
1 j
j
j
j
j
j
j j
j
+
+ + + + + + + .


Fr die Differenz zwischen dem Integral und den Nherungen gilt ( fC
4
[a,b] )

| I
j
(f) S
j
(f) | = c
j
5
j
h
55

| I
j
(f) Q
j
(f) | = c
j1
5 j
)
2
h
( +
c
j2
5 j
)
2
h
(


mit geeigneten Koeffizienten c
j
, c
j1
und

c
j2
. Die Annahme c
j
= c
j1
= c
j2
liefert

| I
j
(f) Q
j
(f) | = c
j1
5 j
)
2
h
( +
c
j2
5 j
)
2
h
(
= 2c
j
5 j
)
2
h
(
=
16
1
c
j
5
j
h
=
16
1
| I
j
(f) S
j
(f) |.

Die Ungleichung

| I
j
(f) Q
j
(f) | =
16
1
| I
j
(f) S
j
(f) |
16
1
(| I
j
(f) Q
j
(f) | + | Q
j
(f) S
j
(f) |)

liefert schlielich
| I
j
(f) Q
j
(f) |
15
1
| Q
j
(f) S
j
(f) |,

wobei die rechte Seite bekannt ist.
Liegt nun eine Partition des Intervalls [a,b] in L Teilintervalle [x
0
=a,x
1
], [x
1
,x
2
], ,
[x
L-1
,x
L
=b] vor, dann ist

| ) f ( Q dx ) x ( f |
b
a
L
1 j
j


=
= | | )) f ( Q ) f ( I (
j
L
1 j
j

=

15
1
| )) f ( S ) f ( Q (
j
L
1 j
j

=
|.

Die Forderung
| ) f ( Q dx ) x ( f |
b
a
L
1 j
j


=

ist dann gewhrleistet, wenn
| Q
j
(f) S
j
(f) |
a b
h 15
j


ist.

Damit ist das Vorgehen fr eine adaptive Quadratur bei vorgegebener Toleranz klar!

Setze x
0
= a, x
1
= b und h
1
= b-a
Berechne S
1
(f), Q
1
(f) auf [a,b] und prfe die Bedingung

| Q
1
(f) S
1
(f) |
a b
h 15
1


Ist die Bedingung erfllt, dann ist Q
1
(f) eine geeignete Nherung.
Ist die Bedingung nicht erfllt, dann setze x
0
= a, x
1
= (a+b)/2 und x
2
= b. Berechne
S
1,i
(f), Q
1,i,
(f) fr jedes Teilintervall I
i
und prfe die Ungleichung! Ist die Bedingung
im Intervall I
j
erfllt, dann ist Q
1,j
eine geeignete Nherung fr dieses Teilintervall.
Ansonsten muss das Teilintervall erneut halbiert werden usw.
Der Prozess ist beendet, wenn eine Unterteilung von [a,b] erreicht ist, in der fr jedes
Teilintervall die geforderte Ungleichung erfllt ist. Der gesuchte Nherungswert fr
das Integral ergibt sich als Summe der wiederholten Simpson-Regeln auf jedem der
Teilintervalle.

56
Bemerkung
Aus praktischen Erwgungen ist es zweckmig, ein Abbruchkriterium fr die Halbierungen
einzufhren. Auch die Ungleichung sollte verschrft werden.

Bemerkung
Ein adaptives Simpson-Verfahren wird in MATLAB durch

Quad(@fnadel,a,b,Tol)

aufgerufen.
Dabei ist fnadel die als M-File definierte und zu integrierende Funktion, a ist der Intervall-
anfang und b das Intervallende. Tol ist die vorgegebene Toleranz.

[Q,N] = quad( )

liefert den Wert des Integrals und N die Anzahl der Funktionsauswertungen.


57
bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(23.11.05)

K. Taubert


Aufgabe 5.1
Plotten Sie die Funktionen

f
1
(x) = 5(

e -2)
-1
e
2x
cos(x) fr x [0, 2 / ]

f
2
(x) = 1/(10
-4
+x
2
) fr x [-1,1]

f
3
(x) =
3
x fr x [0, 1]

und machen Sie sich Gedanken ber ein geeignetes Integrationsverfahren fr die Funktionen
auf den gegebenen Intervallen.

Aufgabe 5.2
Integrieren Sie die Funktion f
1
ber dem Intervall [0, 2 / ] mit den zusammengesetzten
Mittelpunkts-, Trapez- und Simpsonformeln und den Unterteilungen in m = 1,2,8,32,128 und
512 Teilintervalle.
Tabellieren Sie den Fehler - in Abhngigkeit von m fr alle drei Verfahren und beobachten
Sie, ob die theoretischen Erwartungen erfllt werden.

Aufgabe 5.3
Integrieren Sie die Funktion f
1
und x auf dem Intervall [0,1] mit dem Romberg-Verfahren.
Berechnen Sie jeweils den Fehler bei der Integration. Was beobachten Sie?

Aufgabe 5.4
Integrieren Sie die Funktion f
2
mit der adaptiven Simpson-Regel und den Toleranzen 10^-2,
10^-3, 10^-4, 10^-5 und 10^-6. Beobachten Sie den Wert des Integrals und die Anzahl der
Funktionsauswertungen.
Lsungen zur bung 5
Konstruktion und Analyse von Algorithmen
WS 05/06
(23.11.05)

K. Taubert


Aufgabe 5.1
Die Funktion f
1
ist beliebig oft differenzierbar. Alle Verfahren drften geeignet sein,
insbesondere das Romberg-Verfahren.
Die Funktion f
2
verlangt offenbar ein adaptives Verfahren.
Die Funktion f
3
ist nur einmal differenzierbar, d.h. Verfahren hherer Ordnung lohnen nicht.





% Plots der Funktionen
% Aufgabe 5.1
clear all
x = linspace(0,pi/2,100)
y = 5*((exp(pi)-2)^(-1))*exp(2*x).*cos(x)
subplot(2,2,1)
plot(x,y)
u = linspace(-1,1,1000)
v = 1./(10^(-4)+u.*u)
subplot(2,2,2)
plot(u,v)
z = linspace(0,1,100)
w = sqrt(z.^3)
subplot(2,2,3)
plot(z,w)


Aufgabe 5.2
Entsprechend den Erwartungen ist der Fehler bei der Mittelpunktsformel halb so gro wie
bei der Trapezregel. Die Ordnung bei der Simpson-Regel ist verdoppelt.

%Aufgabe 5.2
%Fehler bei Mittelpunkt, Trapez und Simpson
clear all
disp(' Absoluter Fehler ')
disp(' m Mittpunkt Trapez Simpson ')
a = 0;
b = pi/2;
for m = [1 2 8 32 128 512]
H = (b-a)/m;
MH = 0;
for i = 1:m
x(i)= a+(2*(i-1)+1)*H/2;
MH = MH +f1(x(i));
end
MH = H*MH;
TH = 0;
for j = 1:m+1
y(j) = a+(j-1)*H;
TH = TH +f1(y(j));
end
TH = H*(TH-0.5*f1(y(1))-0.5*f1(y(m+1)));
for k =1:2*m+1
z(k)= a+(k-1)*H/2;
end
v(1) = 1;
v(2*m+1) = 1;
for n = 3:2:2*m-1
v(n) = 2;
end
for n = 2:2:2*m
v(n) = 4;
end
SHH =(H/6)*( v.*f1(z));
SH = 0;
for n=1:2*m+1
SH = SH + SHH(n);
end
fprintf('%3.f%10.6f%10.6f%10.6f\n', m,abs(MH-1),abs(TH-1),abs(SH-1))

end
% Funktion zu Aufgabe 5.2
function f = f1(x)
u = 5*((exp(pi)-2)^(-1))*exp(2*x).*cos(x);
f = u;


>> Absoluter Fehler
m Mittpunkt Trapez Simpson
1 0.263700 0.814245 0.095615
2 0.126403 0.275273 0.007489
8 0.009442 0.018978 0.000031
32 0.000597 0.001193 0.000000
128 0.000037 0.000075 0.000000
512 0.000002 0.000005 0.000000


Aufgabe 5.3
Das erste Integral hat den Wert 1 und das zweite Integral den Wert 2/3. Die Fehler
(Nherung exakter Wert) bei der Integration mit dem Romberg-Verfahren sind aus den
folgenden Tabellen ersichtlich.
Das Verhalten der Fehler ist im Fall von x schlechter. Ein Ausdruck der mangelnden
Regularitt dieser Funktion (nicht stetig differenzierbar).



F1

-0.8142
-0.2753 -0.0956
-0.0744 -0.0075 -0.0016
-0.0190 -0.0005 -0.0000 -0.0000
-0.0048 -0.0000 -0.0000 0.0000 0.0000
-0.0012 -0.0000 -0.0000 0.0000 0.0000 0.0000
-0.0003 -0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000
-0.0001 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000


x

-0.1667
-0.0631 -0.0286
-0.0234 -0.0101 -0.0089
-0.0085 -0.0036 -0.0032 -0.0031
-0.0031 -0.0013 -0.0011 -0.0011 -0.0011
-0.0011 -0.0004 -0.0004 -0.0004 -0.0004 -0.0004
-0.0004 -0.0002 -0.0001 -0.0001 -0.0001 -0.0001 -0.0001
-0.0001 -0.0001 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000




clear all
format short
n = 8;
a = 0;
b = pi/2;
A =ones(n);
%a = 0;
%b = 1;
%A = 2/3*ones(n);
for i = 1:n
m = 2^(i-1);
h = (b-a)/m;
x = linspace(a,b,m+1);
y = f1(x);
% y = sqrt(x);
wtrap = h*(0.5*y(1)+sum(y(2:m))+0.5*y(m+1));
A(i,1)=wtrap;
end
for j = 2:n
for i = j:n
A(i,j) = (4^(j-1)*A(i,j-1)-A(i-1,j-1))/(4^(j-1)-1);
end
end
M=A-ones(n)
%M=A-(2/3)*ones(n)


Aufgabe 5.4

Es ist
a / 1
a / 1
1
1
2
| y arctan
a
1
dx
x a
1

=
+



Der Aufruf [Q, N] = quad(@fnadel,-1,1, 10^-i) liefert

i = 2 3 4 5 6
Q = 312.1744 312.1618 312.1594 312.1593 312.1593
N = 65 113 177 265 449

Um ein hnliches Ergebnis zu erzielen bentigt das Romberg Verfahren mit einer optimierten
Schrittfolge (Siehe Numerische Mathematik/ Deuflhard/Hohmann) 4097 Funktions-
auswertungen

% Zur Aufgabe 5.4
function f = fnadel(x)
u = 1./(10^-4+x.*x);
f = u;





58

Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert










Eines der ltesten Anwendungsgebiete mathematischer Statistik ist die von Gauss weiter-
entwickelte Ausgleichsrechnung nach der Methode der kleinsten Quadrate. Inzwischen ist
die Ausgleichsrechnung eine weitgehend selbststndige und von der Statistik unabhngige
Theorie.
Schon elementare Analysis liefert eine notwendige Bedingung fr die Lsung des (linearen)
Ausgleichsproblems, nmlich die Normalgleichungen.
Eine spezielle Einsicht in die lineare Ausgleichsrechnung liefert seine Interpretation als
lineares Approximationsproblem im euklidischen Raum. Der so genannte Projektionssatz
liefert ebenfalls die Normalgleichungen, aber auch noch Aussagen zur Lsbarkeit.
Im Zusammenhang mit der numerischen Lsung von Ausgleichsproblemen wird regelhaft
auf das gutartige Householder-Verfahren verwiesen. Dieses Verfahren geht nicht von den
Normalgleichungen aus. Einige Entscheidungshilfen gibt der Abschnitt 6.4.
Nicht unwichtig ist, dass das Householder-Verfahren auch zur Auflsung quadratischer
Gleichungssysteme verwendet werden kann. Das Kapitel schliet mit einigen Bemerkungen
dazu ab.

6.1 Beispiele. Die Normalgleichungen

Gegeben sei das System

a
11
x
1
+ a
12
x
2
= b
1

a
21
x
1
+ a
22
x
2
= b
2
a
ij
, b
i
R, oder Ax = b
a
31
x
1
+ a
32
x
2
= b
3


mit mehr Gleichungen als Unbekannten.
Als berbestimmtes Gleichungssystem wird die Gleichung i.A. keine Lsung besitzen.
Berechtigt ist allerdings die Frage nach einem x* mit

|| Ax* - b ||
2
|| Ax b ||
2
fr alle xR
2
.



6
Ausgleichsrechnung
Ausgleichsrechnung, Householder-Verfahren und Lsung linearer
Gleichungssysteme
59

Elementare Analysis liefert sofort eine notwendige Bedingung fr das gesuchte x*. Es sei

F : R
2
R,

F(x) = || Ax b ||
2
2
.

F ist eine stetig differenzierbare Funktion, und es ist offenbar ein x*R
2
gesucht, an dem F
ein Minimum annimmt. Notwendig fr ein solches Extremum ist

0 ) x ( F
x
1
=

und 0 ) x ( F
x
2
=

.
Das angegebene F

F(x) = || Ax b ||
2
2
= (a
11
x
1
+a
12
x
2
-b
1
)
2
+(a
21
x
1
+a
22
x
2
-b
2
)
2
+(a
31
x
1
+a
32
x
2
-b
3
)
2

fhrt zu

=

) x ( F
x
1
2(a
11
x
1
+a
12
x
2
-b
1
)a
11

+2(a
21
x
1
+a
22
x
2
-b
2
)a
21
+2(a
31
x
1
+a
32
x
2
-b
3
)a
31
= 0,
=

) x ( F
x
2
2(a
11
x
1
+a
12
x
2
-b
1
)a
12

+2(a
21
x
1
+a
22
x
2
-b
2
)a
22
+2(a
31
x
1
+a
32
x
2
-b
3
)a
32
= 0.

Die beiden Gleichungen knnen zusammengefasst werden in der Form

A
T
Ax A
T
b = 0

und heien Normalgleichungen.


Ein Beispiel fr das Auftreten von berbestimmten Gleichungssystemen ist:

Zur Bestimmung des Elastizittsmoduls E und der Querkontraktionszahl eines elastischen
Materials werde eine quaderfrmige Probe in achsenparalleler Lage mit den Normal-
spannungen
z y x
, , belastet, und es werden die resultierenden Dehnungen
z y x
, ,
gemessen. Das Ergebnis zweier Messungen seien (Spannungen in N/mm
2
)


Zu bestimmen seien E und so, dass das Hookesche Gesetz

)) ( )( E / 1 (
z y x x
+ =
)) ( )( E / 1 (
z x y y
+ =
)) ( )( E / 1 (
y x z z
+ =

im Sinne der Ausgleichsrechnung erfllt ist.

x y z
1000 1000 0.0
1. Versuch
1.59*10
-3
1.60*10
-3
-2.19*10
-3

0.0 0.0 1000
2. Versuch
-1.10*10
-3
-1.08*10
-3
2.71*10
-3

60

Mit x
1
= 1/E , x
2
= E / und

A =
|
|
|
.
|

\
|
+
+
+
) (
) (
) (
y x z
z x y
z y x
, x =
|
|
.
|

\
|
2
1
x
x
, b =
|
|
|
.
|

\
|

z
y
x


entsteht ein Ausgleichsproblem.

Ein weiteres Beispiel fr das Auftreten von berbestimmten Gleichungssystemen liefern
Messreihen und eine vermutete Gesetzmigkeit zwischen den Daten:
Gegeben sei die Messreihe







Eine Zeichnung legt einen quadratischen Zusammenhang zwischen t und z nahe.
Der Ansatz

z = a
0
+ a
1
t + a
2
t
2


fhrt zu
A =
|
|
|
|
|
|
|
|
|
|
.
|

\
|
2
7 7
2
6 6
2
5 5
2
4 4
2
3 3
2
2 2
2
1 1
t t 1
t t 1
t t 1
t t 1
t t 1
t t 1
t t 1
, x =
|
|
|
.
|

\
|
2
1
0
a
a
a
, b =
|
|
|
|
|
|
|
|
|
.
|

\
|
7
6
5
4
3
2
1
z
z
z
z
z
z
z
.

Gesucht ist dann eine Parabel derart, dass || Ax-b ||
2
mglichst klein wird.

Gegeben sei nun ein allgemeines berbestimmtes (m>n) reelles lineares Gleichungssystem

|
|
|
|
|
.
|

\
|
=
|
|
|
.
|

\
|
|
|
|
|
|
.
|

\
|
m
2
1
n
1
mn 1 m
n 2 21
n 1 11
b
.
b
b
x
.
x
a . a
. . .
a . a
a . a
oder Ax = b.

Gesucht ist dann ein x*R mit der Eigenschaft

|| Ax* - b ||
2
|| Ax b ||
2
fr alle xR
n
. (*)


i 1 2 3 4 5 6 7
t
i
0.04 0.32 0.51 0.73 1.03 1.42 1.60
z
i
2.63 1.18 1.16 1.54 2.65 5.41 7.47
61

Auch in diesem allgemeinen Fall kann gezeigt werden - mit etwas mehr Schreibaufwand -,
dass das gesuchte x* notwendig die Normalgleichungen

A
T
Ax A
T
b = 0

erfllen muss.
Allgemein gilt der folgende

Satz
Der Vektor x* ist eine Lsung des Ausgleichsproblems (*) genau dann, wenn

A
T
Ax* A
T
b = 0.

Die Gleichungen A
T
Ax A
T
b = 0 heien Normalgleichungen. Diese Gleichungen sind
genau dann eindeutig lsbar, wenn der Rang von A gleich n ist, d.h. die Spalten von A linear
unabhngig sind.


Beispiel
Die Ausgleichsgerade y = ax+b (lineare Regression) durch die Messpunkte

x
i
-1 0 1 2
y
i
-2 0 1 3

ergibt sich als Lsung des Gleichungssystems

|
|
.
|

\
|
=
|
|
.
|

\
|
|
|
.
|

\
|
9
2
b
a
6 2
2 4
.

Die Lsung ist a = -0.3 und b = 1.6




6.2 Eine geometrische Deutung des Ausgleichsproblems. Projektionssatz

Das Ausgleichsproblem lsst eine schne und einprgsame geometrische Deutung zu:

Die Aufgabe, ein x* zu finden mit der Eigenschaft, dass

|| Ax* - b ||
2
|| Ax b ||
2
fr alle xR
n
(*)

ist, fhrt auf die folgende Aufgabe:

62
Gesucht ist ein y* aus der Menge V = { y / y = Ax, xR
n
} mit der Eigenschaft

|| y* - b ||
2
|| y b ||
2
fr alle yV .

Wir bemerken, dass V ein linearer Raum ist.
Fr das Weitere und zur Veranschaulichung nehmen wir nun an, dass b in der Ebene liegt
und V eine Gerade durch den Nullpunkt in der Ebene ist. Liegt b nicht auf der Geraden, dann
ist die beste Approximation aus V fr b im Sinne der euklidischen Norm - die Projektion
von b auf V. Das macht das folgende Bild klar:


Wird der R
2
mit dem blichen Skalarprodukt (.,.) versehen, dann zeigt das Bild, dass die
beste Approximation y* charakterisiert ist durch

(y*-b,y) = 0 fr alle yV,

d.h. der Vektor y*-b muss senkrecht auf allen Elementen aus V stehen.
Dieselben berlegungen gelten auch fr die Menge y =Ax, d.h es muss gelten

(Ax*-b,Ax) = 0 fr alle x (A
T
Ax*-A
T
b,x) = 0 fr alle x.

Der einzige Vektor, der aber senkrecht auf allen x liegen kann, ist der Nullvektor, d.h.

A
T
Ax*-A
T
b= 0.


Dieses durch die Anschauung erzielte Ergebnis ist sehr allgemein richtig und in einem
allgemeinen Rahmen als Projektionssatz bekannt. Dieser Satz wird uns bei den
Variationsungleichungen und in der Approximationstheorie auch wieder begegnen und sehr
ntzlich sein.

Es sei (X, (.,.)) ein unitrer Raum ber R, VX ein linearer Teilraum, bX und bV.
Gesucht sei eine beste Approximation aus V fr b d.h. ein v* mit

|| v*-b || || v-b || fr alle vV.

Projektionssatz
Es sei (X, (.,.)) ein unitrer Raum ber R, VX ein linearer Teilraum, bX und bV.
Dann gilt
Ist die Dimension von V endlich, dann gibt es eine beste Approximation.
Wenn es eine beste Approximation gibt, dann ist diese eindeutig bestimmt.
v* ist beste Approximation aus V fr b genau dann, wenn

(b-v*,v) = 0 fr alle vV.


V

y*
b
63
Aufgabe
Ordnen Sie das allgemeine Ausgleichsproblem in den Projektionssatz ein und untersuchen
Sie insbesondere die Frage nach der eindeutigen Lsbarkeit.



6.3 Numerisches Verfahren zur Auflsung der Ausgleichsaufgabe.
Householder-Verfahren

Das lineare Ausgleichsproblem fhrte auf die Normalgleichungen
A
T
Ax - A
T
b= 0.

Sind die Spalten von A linear unabhngig, dann ist A
T
A eine symmetrische und positiv
definite Matrix. Nach unseren bisherigen Kenntnissen bietet sich das Cholesky-Verfahren
als numerische Methode zur Auflsung der Normalgleichungen an.
Fr die numerische Behandlung von Ausgleichsproblemen wird hufig empfohlen, den
Normalgleichungen auszuweichen und eine Lsung durch das Householder-Verfahren an-
zustreben (Siehe hierzu auch Aufgabe 6.4).
Beim Householder-Verfahren wird das ursprngliche Ausgleichsproblem in ein einfach
lsbares Problem berfhrt. Dafr wird ausgenutzt, dass die Lsung des Ausgleichsproblems
invariant gegenber speziellen linearen Transformationen ist.

Gegeben sei das eindeutig lsbare lineare Ausgleichsproblem Ax = b (m>n) oder

Gesucht ist ein x*R
n
mit
(*)
|| Ax* - b ||
2
|| Ax b ||
2
fr alle xR
n
.

Es sei F eine m*m-Matrix und betrachte dazu die Aufgabe

Gesucht ist ein x*R
n
mit
(**)
|| FAx* - Fb ||
2
|| FAx Fb ||
2
fr alle xR
n
.

Im Allgemeinen werden die beiden Aufgaben (*) und (**) nicht dieselbe Lsung haben.
Beide Aufgaben werden aber dieselbe Lsung haben, wenn die Matrix F lngentreu ist, d.h.
die Gleichung || Fy ||
2
= || y ||
2
fr alle yR
m
gilt.

Gibt es eine lngentreue Abbildung F, die Ax = b in die Gestalt

FAx = Fb
|
|
|
|
|
|
|
|
.
|

\
|
0 0 0 0
. . . .
c . 0 0
. . . .
c . c 0
c . c c
nn
n 2 22
n 1 12 11

|
|
|
|
|
|
.
|

\
|
n
2
1
x
.
x
x
=
|
|
|
|
|
|
|
|
.
|

\
|
m
n
2
1
d
.
d
.
d
d


berfhrt, dann ist die gesuchte Lsung x* offenbar gegeben durch die Lsung von

64
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
|
|
|
|
|
.
|

\
|
n
2
1
n
2
1
nn
n 2 22
n 1 12 11
d
.
d
d
x
.
x
x
c . 0 0
. . . .
c . c 0
c . c c


und der Defekt || Ax* - b ||
2
ist
2
m
2
1 n
d d + +
+
L .


Eine solche lineare Transformation F kann konstruiert werden. Die Konstruktion von F basiert
auf einer Folge von Spiegelungen, die durch Householder-Matrizen realisiert werden. Nach
Konstruktion sind diese Matrizen und ihr Produkt lngentreu.

Zur Konstruktion der Householder-Matrizen

Nach den bisherigen Ausfhrungen ist es naheliegend, eine lngentreue Transformation zu
suchen, die den ersten Spaltenvektor u von A in ein Vielfaches eines Einheitsvektors v
berfhrt

u =
|
|
|
|
|
.
|

\
|
1 m
21
11
a
.
a
a
v =
|
|
|
|
|
.
|

\
|
0
.
0
c
11
mit || u ||
2
= || v ||
2
.

Anschaulich kann eine solche Transformation durch eine Spiegelung von u an der Ebene, die
senkrecht zu dem Vektor (u-v) steht, realisiert werden:









Erfreulicherweise kann die dazugehrige lineare Transformation explizit angegeben werden.
Sie wird als Householder-Transformation bezeichnet und hat die Gestalt

H = E
m
- 2
T


mit der m-ten Einheitsmatrix E
m
und .
|| v u ||
v u
2

=

Die Konstruktion der Householder-Matrix ist bemerkenswert:

Eine Hyperebene im R
m
ist ein Unterraum der Dimension m-1 und kann deshalb ber einen
geeigneten Vektor
1
aus R
m
(mit ||
1
||
2
= 1) oder durch eine lineare Gleichung

v
u
u-v Spiegelungs-
Ebene
65

= { x R
m
/ 0 x
T 1
= }
beschrieben werden.
Es sei nun (
1
,
2
,
3
, ,
m
) eine Orthonormalbasis des R
m
, d.h.

(
i
, )
j
=
ij
.

Die gewnschte Spiegelung ist gegeben durch

x =

=

m
1 i
i
i
-

=
+
m
2 i
i
i
1
1
= H(x).

Damit kann die Spiegelung H dargestellt werden in der Form

H(x) = x - 2
1
1
= x 2(
1 1
) x , = (E
m
- 2 x )
T 1 1
.

Wird
1
= gewhlt, dann ergibt sich das gewnschte Ergebnis

H = E
m
- 2
T

mit
T
=
|
|
|
.
|

\
|


m m 1 m
m 1 1 1
.
. . .
.
und
|
|
|
.
|

\
|

=
n
1
. .


Das Householder-Verfahren besteht darin, die m*n Matrix A durch eine Folge von
Spiegelungen P = H
n-1
H
n-2
H
2
H
1
in die Gestalt einer oberen Dreiecksform zu bringen

|
|
|
|
|
|
|
|
.
|

\
|
0 . 0 0
. . . .
r . 0 0
. . . .
r . r 0
r . r r
nn
n 2 22
n 1 12 11
.

Die bisherigen berlegungen geben bereits ausreichende Hinweise auf die Durchfhrung
des Householder-Verfahrens:

Im ersten Schritt wird die Matrix A durch eine Householder-Transformation H
1
in die Gestalt

H
1
A =
|
|
|
|
|
|
|
|
.
|

\
|
1
mn
1
2 m
1
nn
1
2 n
1
n 2
1
22
1
n 1
1
12
1
11
a . a 0
. . . .
a . a 0
. . . .
a . a 0
a . a a

gebracht.
66

Sofern die Matrix A nicht schon eine solche Gestalt hat, ergibt sich H
1
aus

H
1
= E
m
-2
T
,
2
|| v u ||
v u

= und

1
2
1
e || u || v
a u
=
=

ktor Einheitsve erster e
A von Spalte erste a
1
1



(Um Auslschung zu vermeiden, wird man zweckmig v = -sgn(a
11
)||u||
2
e
1
whlen.)

Im zweiten Schritt wird vernnftiger Weise die erste Zeile von H
1
A unverndert gelassen und
nur der Spaltenvektor a
2
= ( ) a , , a , a
1
2 m
1
32
1
22
L
T
als Ausgangspunkt fr eine Spiegelung gewhlt
und dieser Vektor in ein Vielfaches eines Einheitsvektors berfhrt.

Die zugehrige Matrix H
2
hat dann die Gestalt

H
2
=
|
|
.
|

\
|
2
H
~
0
0 1
,

wobei die (m-1)*(m-1) Matrix
2
H
~
entsprechend des Schrittes 1 konstruiert wird usw.

Nach n-1 hnlichen Schritten ist das Ziel erreicht. Die Transformationen mssen natrlich
gleichzeitig auch auf den Vektor b angewendet werden und der Auflsung des Ausgleichs-
problems steht dann nichts mehr im Wege.



6.4 Zur Kondition des Ausgleichsproblems

Wie blich stellt sich die Frage, wie sich die Lsung des Ausgleichsproblems ndert, wenn
sich die Matrix A und der Vektor b ndern. Es sollen hier nur einige Ergebnisse angegeben
werden und auf die ausfhrliche Behandlung im Text: Einfhrung in die Numerische
Mathematik I von J.Stoer, verwiesen werden.

Gegeben sei das Ausgleichsproblem Ax = b mit m>n und eindeutiger Lsung. Es sei x*
die Lsung des Ausgleichsproblems Ax* - b = r* und aus dem Householder-Verfahren sei
die Matrix HA =
|
|
.
|

\
|
0
R
mit einer oberen n*n Dreiecksmatrix R bekannt.

Die Abhngigkeit der relativen nderung der Lsung x* von der relativen nderung der
Matrix A und der relativen nderung von b - im Sinne der euklidischen Norm - hngt von
drei Faktoren ab:

1. der Kondition Kon(R) von R

und den beiden Ungleichungen

2. (1/2)
2
2
2
2
|| * r || || b ||
3.
2 2 2
|| * x || || A || || b ||

67
Je grer die Kondition von R und je besser die Ungleichungen erfllt sind, umso schlechter
ist die Kondition der Ausgleichsaufgabe.

Hinsichtlich einer Bestimmung der Lsung des Ausgleichsproblems ber das Householder-
Verfahren oder ber die Normalgleichungen kann folgendes gesagt werden:

Das Householder-Verfahren ist gutartig.
Bei einer Berechnung der Lsung ber die Normalgleichungen werden
Rundungsfehler in der Matrix A mit dem Faktor Kon (R
2
) verstrkt. Was schlecht ist!
Ist jedoch
2 2 2
|| * x || || A || || * r || , dann kann auch von einem gutartigen Verhalten bei
den Normalgleichungen ausgegangen werden.

Theorie und Beispiele im oben genannten Text belegen das angegebene Verhalten!


6.5 Das Householder-Verfahren fr lineare Gleichungssysteme

Gegeben sei jetzt ein quadratisches Gleichungssystem

Ax = b

mit einer regulren und reellen n*n-Matrix A.
Bei der Auflsung dieses Gleichungssystems mit dem GEV wird das Gleichungssystem in ein
quivalentes von oberer Dreiecksform berfhrt, und es kann methodisch bedingt zu einer
problematischen Addition von Rundungsfehlern kommen.
hnlich wie bei der Ausgleichsrechnung kann das Gleichungssystem aber auch durch n-1
Spiegelungen in ein Gleichungssystem von oberer Dreiecksform umgeformt werden, d.h.

PAx = H
n-1
H
n-2
H
2
H
1
Ax = Rx =
|
|
|
|
|
.
|

\
|
nn
n 2 22
n 1 12 11
r . 0 0
. . . .
r . r .
r . r r
x = Pb.

Da die Spiegelungen (in der euklidischen Norm) die Kondition 1 haben, muss bei diesem
Verfahren nicht mit einer durch die Methode bedingten problematischen Addition von
Rundungsfehlern gerechnet werden. Das Verfahren ist zwar aufwendiger, aber auch
gutmtiger.
Man spricht in diesem Zusammenhang auch vom Householder-Verfahren fr lineare
Gleichungssysteme.

Im Zusammenhang mit dem GEV wurde auf eine Faktorisierung der Matrix A = LR
hingewiesen. Auch das Householder-Verfahren fhrt zu einer Faktorisierung der Matrix A:

Nach Konstruktion sind die Matrizen H
i
symmetrisch und zu sich selber invers, d.h. H
i
H
i
= E
n
.
Mit der zu P inversen Matrix P
T
= Q ergibt sich die angekndigte Faktorisierung von A

A = QR.


68
bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(30.11.05)



Aufgabe 6.1
Die Hhe des Wasserstandes in der Nordsee wird hauptschlich durch die so genannte M
2
-
Tide bestimmt, deren Periode etwa 12 Stunden betrgt und die daher durch eine Funktion

h(t) = x
1
+ x
2
sin(
12
t 2
) + x
3
cos(
12
t 2
)

( t in Stunden ) beschrieben werden kann. Zur Bestimmung von x
1
, x
2
, x
3
sind bei Helgoland
folgende Messungen durchgefhrt worden:

t
i
0 2 4 6 8 10 Std
h
i
1.9 3.0 2.6 1.1 0.4 1.4 Meter

Man formuliere das Problem als (berbestimmtes) lineares Gleichungssystem Ax = b, gebe
die Normalgleichungen und die Lsung des Problems an. Liegt hier eine besondere Situation
vor? Plotten Sie das Ergebnis.

Aufgabe 6.2
Das Gleichungssystem

4
3
2
1
x
x
x
x
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
4
3
2
1


soll mit dem Householder-Verfahren gelst werden.
Geben Sie die zugehrigen Householder-Transformationen an. Verifizieren Sie, dass die
Householder-Matrizen zu sich selber invers sind. Beobachten Sie die Auswirkung der
Vorzeichenwahl bei v(!).
Berechnen Sie die Lsung des Gleichungssystems.

Aufgabe 6.3
Gegeben sei das lineare Gleichungssystem Ax = b mit der Hilbert-Matrix
A = (a
ij
), a
ij
= 1/(i+j-1), i,j = 1,2, ,n, b
i
=

=
+
n
1 j
) 1 j i /( 1 .
Die Lsung dieses Gleichungssystems ist bekannt!
Bestimmen Sie, fr verschiedene n, die Lsung des Gleichungssystems durch die MATLAB-
Anweisung A\b und durch das Householder-Verfahren. Ab wann wird es kritisch?



69
Aufgabe 6.4
Lsen Sie das Ausgleichsproblem

b x
eps 0 0 0 0
0 eps 0 0 0
0 0 eps 0 0
0 0 0 eps 0
0 0 0 0 eps
1 1 1 1 1
Ax =

=

(mit dem Format long) ber die Normalgleichungen und mit dem Householder-Verfahren.
Dabei sei eps = 0.00000001 und b das Bild von A fr x = [1 1 1 1 1 ].

Lsungen zur bung 6
Konstruktion und Analyse von Algorithmen
WS 05/06
(30.11.05)

K. Taubert

Aufgabe 6.1
Die Normalgleichung hat Diagonalgestalt, etwas durchaus ungewhnliches.



format short
clear all
A = ones([6 3]);
a = sqrt(3);
c = 1/2;
A(1,2) = 0;
A(2,2) = a*c;
A(3,2) = a*c;
A(4,2) = 0;
A(5,2) = -a*c;
A(6,2) = -a*c;
A(2,3) = c;
A(3,3) = -c;
A(4,3) = -1;
A(5,3) = -c;
A(6,3) = c;
b = [1.9 3.0 2.6 1.1 0.4 1.4]';
D = A'*A
e = A'*b;
x = (D\e)'
t = linspace(0,12,120);
h = x(1) + x(2)*sin(2*pi*t/12) + x(3)*cos(2*pi*t/12);
r = [0 2 4 6 8 10];
s = b';
plot(t,h,r,s,'square')


Aufgabe 6.2

clear all
A = tril(ones(4));
b = [1 2 3 4]';
A = [A b]
u = A(1:4,1);
v = -norm(u)*sign(A(1,1))*eye(1,4)';
omega = (u-v)/norm(u-v);
H1 = eye(4)-2*omega*omega'
A1 = H1*A
u = A1(2:4,2);
v = -norm(u)*sign(A1(2,2))*eye(1,3)';
omega = (u-v)/norm(u-v);
H2 = eye(4);
H2(2:4,2:4)= eye(3)-2*omega*omega'
A2 = H2*A1
u = A1(3:4,3);
v = -norm(u)*sign(A2(3,3))*eye(1,2)';
omega = (u-v)/norm(u-v);
H3 = eye(4);
H3(3:4,3:4)= eye(2)-2*omega*omega'
A3 = H3*A2
x = A3(1:4,1:4)\A3(1:4,5)

A =

1 0 0 0 1
1 1 0 0 2
1 1 1 0 3
1 1 1 1 4


H1 =

-0.5000 -0.5000 -0.5000 -0.5000
-0.5000 0.8333 -0.1667 -0.1667
-0.5000 -0.1667 0.8333 -0.1667
-0.5000 -0.1667 -0.1667 0.8333


A1 =

-2.0000 -1.5000 -1.0000 -0.5000 -5.0000
0.0000 0.5000 -0.3333 -0.1667 0.0000
0.0000 0.5000 0.6667 -0.1667 1.0000
0.0000 0.5000 0.6667 0.8333 2.0000


H2 =

1.0000 0 0 0
0 -0.5774 -0.5774 -0.5774
0 -0.5774 0.7887 -0.2113
0 -0.5774 -0.2113 0.7887


A2 =

-2.0000 -1.5000 -1.0000 -0.5000 -5.0000
-0.0000 -0.8660 -0.5774 -0.2887 -1.7321
0.0000 0 0.5774 -0.2113 0.3660
0.0000 0 0.5774 0.7887 1.3660


H3 =

1.0000 0 0 0
0 1.0000 0 0
0 0 -0.7071 -0.7071
0 0 -0.7071 0.7071


A3 =

-2.0000 -1.5000 -1.0000 -0.5000 -5.0000
-0.0000 -0.8660 -0.5774 -0.2887 -1.7321
-0.0000 0 -0.8165 -0.4082 -1.2247
0.0000 0 0.0000 0.7071 0.7071


x =

1.0000
1.0000
1.0000
1.0000






Aufgabe 6.3

%Householder Verfahren vs MATLAB A\b
% n = 11 beide noch akzeptable Ergebnisse, n = 12 Householder noch akzeptabel
% n = 13 kein Ergebnis mehr akzeptabel
format long
clear all
n= 13;
A = hilb(n);
b = A*ones(n,1);
y = A\b
A = [A b];
for i=1:n-1
H = eye(n);
u = A(i:n,i);
v = -norm(u)*sign(A(i,i))*eye(1,n-i+1)';
omega = (u-v)/norm(u-v);
H(i:n,i:n) = eye(n-i+1)-2*omega*omega';
A = H*A;
end
x = A(1:n,1:n)\A(1:n,n+1)


Aufgabe 6.4
Die Normalgleichungen liefern keine Lsung (MATLAB6.5). Das Householder-Verfahren
liefert das richtige Ergebnis.

B =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

Warning: Matrix is singular to working precision.
(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
> In C:\MATLAB6p5\work\Weiterbildung\Aufgabe6_4.m at line 11

y =

Inf
Inf
Inf
Inf
Inf


A =

Columns 1 through 4

-1.00000000000000 -1.00000000000000 -1.00000000000000 -1.00000000000000
0 0.00000001414214 0.00000000707107 0.00000000707107
0 -0.00000000000000 0.00000001224745 0.00000000408248
0 -0.00000000000000 0.00000000000000 0.00000001154701
0 0.00000000000000 -0.00000000000000 0.00000000000000
0 0 0 0

Columns 5 through 6

-1.00000000000000 -5.00000000000000
0.00000000707107 0.00000003535534
0.00000000408248 0.00000002041241
0.00000000288675 0.00000001443376
-0.00000000500000 -0.00000000500000
0.00000001000000 0.00000001000000


x =

1.00000000000000
1.00000000000000
1.00000000000000
1.00000000000000
1.00000000000000

format long
clear all
a = ones(1,5);
eps = 0.00000001*a;
A = diag(eps);
A = [a;A];
b = A*a';
%Normalgleichungen
B = A'*A
y = B\(A'*b)
%Householder Verfahren
n = size(A,2);
m = size(A,1);
A = [A b];
for i=1:n-1
H = eye(m);
u = A(i:m,i);
v = -norm(u)*sign(A(i,i))*eye(1,m-i+1)';
omega = (u-v)/norm(u-v);
H(i:m,i:m) = eye(m-i+1)-2*omega*omega';
A = H*A;
end
A
x = A(1:n,1:n)\A(1:n,n+1)

70
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Bei linearen Gleichungssystemen Ax = b beobachtet man vielfach, dass die Matrix A mit
relativ vielen Null-Elementen besetzt ist. Solche Matrizen werden in deutscher Bezeichnung
als dnn besetzt und in englischer Sprache als Sparse Matrices bezeichnet.
Wenn eine Matrix hinreichend dnn besetzt ist, kann es sich lohnen, nur noch die Matrix-
elemente abzuspeichern, deren Werte ungleich Null sind. In MATLAB stehen solche
Speichertechniken standardmig zur Verfgung. Dazu gehrt insbesondere das
Koordinatenformat. Hier wird auch noch auf die verketteten Listen eingegangen.
Ein Problem im Laufe einer LR- oder Cholesky-Zerlegung entsteht dadurch, dass an Stellen,
die ursprnglich mit Null-Elementen besetzt waren, Nicht-Null-Elemente entstehen knnen.
Man spricht von Fill-in. Mit vielen Heuristiken wird eine Minimierung dieses Fill-in
angestrebt. Zu den Heuristiken gehren das Markowitz- und das Minimum-Degree-Kriterium.
Bei der Lsung eines dnnbesetzten, linearen Gleichungssystems kann Rechenzeit gespart
werden, indem Operationen mit Null-Elementen ausgelassen werden. Die zugehrigen
Methoden werden als Sparse-Matrix-Techniken bezeichnet. Es ist keine Seltenheit, dass bei
einer LR-Zerlegung einer dnnbesetzten Matrix A die Grenordnung der Gleitkomma-
operationen von n
3
auf n
1.5
reduziert werden kann.
MATLAB untersttzt Sparse-Matrix-Techniken durch viele Anwendungen. Den Befehlen ist
hufig ein sp vorangestellt.
Bei dem Verfahren von Cuthill-McKee wird eine Vorsortierung des Gleichungssystems
angestrebt, damit das entstehende Gleichungssystem eine Matrix mit mglichst schmaler
Bandbreite hat. Da bei einer LR-Zerlegung fr Bandmatrizen Fill-in nur innerhalb des Bandes
auftreten kann, garantiert man auf diesem Umweg einen mglichst kleinen zustzlichen Fill-
in.
Besondere Rechentechniken zur Auflsung groer Systeme von Gleichungen (z.B. paralleles
Rechnen) erfordern wieder andere und passende Formen der Gleichungssysteme. Diese
Formen ergeben sich hufig in natrlicher Weise aus den Aufgabenstellungen. Hierzu gehrt
die Nested-Dissection von George.


7.1 Speicherung dnnbesetzter Matrizen

Eine n*n Matrix A wird als sparse oder dnnbesetzt bezeichnet, wenn die Anzahl der Nicht-
Null-Elemente (NNE) sehr viel kleiner ist als die Gesamtzahl der Matrixelemente. Der
Besetzungsgrad p(A) wird als

7
Dnnbesetzte lineare Gleichungssysteme
Dnnbesetzte Matrizen
71
p(A) =
2
n
NNE der Anzahl


definiert. Bei groen integrierten elektrischen Netzwerken (VLSI) liegt der Besetzungsgrad
entstehender Gleichungssysteme meist unter 3%.
Die Besetzung einer Matrix mit Nicht-Null-Elementen kann mit MATLAB durch den Befehl
spy(A)
angezeigt werden.
Um Speicherplatz und Rechenzeit einzusparen, kann es sinnvoll sein, nur die Nicht-Null-
Elemente der Matrix A abzuspeichern. Es wurden dazu spezielle Sparse-Matrix-
Speicherungstechniken entwickelt. Dazu gehren das Koordinatenformat, verkettete Listen
und so genannte komprimierte Formate.
Es soll hier auf das Koordinatenformat und verkettete Listen eingegangen werden. Die
einzelnen Techniken sollen anhand der Beispielmatrix A, in der nur die NNE eingetragen
sind, verdeutlicht werden

5
4
3
2
1
e k j i
h d
c g
b
f a
5 4 3 2 1
A

= .

Koordinatenformat
Die Matrix A wird im Koordinatenformat folgendermaen beschrieben:

4 2 1 5 2 4 5 4 3 2 1 S
5 5 5 4 3 1 5 4 3 2 1 Z
k j i h g f e d c b a W


Von Vorteil bei dieser Darstellung ist, dass ohne Probleme Matrixelemente hinzugefgt oder
weggelassen werden knnen. Ein Nachteil ist, dass ein kompakter Zugriff auf Zeilen oder
Spalten der Matrix nicht mglich ist.
In MATLAB kann eine solche Umwandlung durch die Befehle

sparse(A)
spconvert(A)
[Z,S,W] = find(A)

erfolgen.

Verkettete (Zeilen-)Listen
Bei der verketteten Zeilenliste wird jede Matrixzeile durch eine verkettete Liste gespeichert,
wobei jedes Listenelement

den Wert W des Matrixelementes,
die Spalte S dieses Elementes,
den Listenplatz des Nachfolgers (Adresse)

umfasst.
72


Anstelle der Liste aus obigem Beispiel entstehen 5 Listen:

4 2 1 5 2 4 5 4 3 2 1 S
5 11 10 0 3 0 0 8 0 0 6 NF
k j i h g f e d c b a W
11 10 9 8 7 6 5 4 3 2 1


Die einzelnen Zeilenlisten werden dann durch einen zustzlichen Zeigervektor
zusammengefasst, der jeweils den Listenplatz angibt, auf dem diese beginnen:

Zpos : 1,2,7,4,9.

Entsprechendes kann auch auf der Basis der Spalten gemacht werden.

Das Hinzufgen weiterer NNE in der Matrix bereitet keine Schwierigkeiten. Weil die
Zeilenelemente ungeordnet in der Liste stehen, muss beim Einfgen eines neuen Eintrags nur
der Nullzeiger des letzten Eintrages der entsprechenden Zeile verndert werden. Das neue
Element wird dann letzter Eintrag. Wenn in A in der Zeile 3 und Spalte 4 der Wert z eingefgt
wird, dann verndert sich die verkettete Liste wie nachfolgend:


4 4 2 1 5 2 4 5 4 3 2 1 S
0 5 11 10 0 3 0 0 8 12 0 6 NF
z k j i h g f e d c b a W
12 11 10 9 8 7 6 5 4 3 2 1




7.2 Das Markowitz-Kriterium

Mit einer LR-Zerlegung einer vollbesetzten Matrix geht gewhnlich eine Umsortierung des
Gleichungssystems einher (Pivotierung). Bei Sparse-Matrizen kommt ein weiterer Gesichts-
punkt hinzu, nmlich die Dnnbesetztheit der Matrix zu erhalten. Wie wichtig die richtige
Pivotwahl ist, um die Anzahl der hinzukommenden NNE (Fill-in) mglichst klein zu halten,
zeigt folgendes Beispiel, wobei die Positionen der NNE der Matrix A mit * gekennzeichnet
sind. Die untere Dreiecksmatrix von B stellt dabei die Struktur von L und die obere die von R
dar.

=
* *
* *
* *
* * * *
B
* *
* *
* *
* * * *
A

Es entstehen 6 Fill-in () und damit eine vollbesetzte Matrix. Vertauscht man Reihe und
Spalte 1 mit Reihe und Spalte 4 ergibt sich:


73

=
* * * *
* *
* *
* *
B
* * * *
* *
* *
* *
A


Es entstehen keine Fill-in.
Das Beispiel belegt, dass es sinnvoll ist, eine Sortierungsstrategie anzuwenden, um die Anzahl
der Fill-in mglichst klein zu halten.

Das Markowitz-Kriterium
Das Markowitz-Kriterium ist ein heuristisches Verfahren zur Sortierung eines Gleichungs-
systems, um den Fill-in bei der LR-Zerlegung mglichst gering zu halten, und wurde 1957
eingefhrt. Mit einigen Varianten gehrt es auch noch heute zum Standard bei der VLSI-
Simulation.
Zu diesem Zweck wird zunchst jedem Element z
ij
der Matrix A eine Markowitz-Zahl

Mz
ij
= (r (i)-1)*(c(j)-1)
zugewiesen.
Dabei gibt r (i) die Anzahl der NNE in der i-ten Zeile und c (j) die Anzahl der NNE in der
j-ten Spalte an.
Im ersten Schritt der Zerlegung wird als Pivotelement jenes Element z
ij
gewhlt, das in
diesem Schritt die kleinste Anzahl von Fill-in liefert, d.h ein Element mit minimaler
Markowitz-Zahl. Als Pivotelement fr den nchsten Zerlegungsschritt wird dann aus allen
NNE z
ij
der Restmatrix jenes Element gewhlt, fr das das Produkt

Mz
ij
= (r (i)-1)*(c(j)-1)

minimal gegenber allen restlichen Markowitz-Zahlen Mz
ij
ist.

Beispiel
Der Fall

5
4
3
2
1
e k j i
h d
c g
b
f a
5 4 3 2 1
A

= MA =

3 6 6 3
1 2
0 2
0
2 1


fhrt im ersten Schritt zu einer Vertauschung der ersten Spalte mit der zweiten Spalte und der
ersten Zeile mit der zweiten Zeile.

Wir beschrnken uns auf den Fall von symmetrischen und positiv definiten Matrizen. In
diesen Fllen entfllt die klassische Pivotierung bei der zunchst die betragsgrten Elemente
in die Diagonale gebracht werden (kontraproduktiv). Die Berechnung der Markowitz-
Produkte reduziert sich dann auf die Diagonalelemente und wegen der Symmetrie muss nur
eine der Zahlen r(i) bzw. c(i) bestimmt werden. In dieser Situation spricht man vom
Minimum-Degree-Kriterium


74
Wie unterschiedlich die Ergebnisse mit dem Minimum-Degree-Kriterium sein knnen,
zeigen die folgenden Beispiele:
Das linke Bild stellt jeweils die Besetzung der Matrix vor der Anwendung der Minimum-
Degree-Heuristik dar. Das dritte Bild zeigt das Ergebnis der Minimum-Degre-Heuristik und
das zweite und vierte Bild liefern die Besetzung nach der jeweiligen Cholesky-Faktorisierung
(nz ist die Anzahl der NNE).








In beiden Fllen entsteht kein zustzlicher Fill-in. Im ersten Fall entsteht ein Gleichungs-
system mit Bandstruktur. Im zweiten Fall entsteht zwar auch kein Fill-in, jedoch ist die
Bandbreite grer und ungnstiger als bei der ursprnglichen Aufgabe.
In MATLAB fhrt brigens der Aufruf

p = Symmmd (S)
S = S(p,p)

zur Durchfhrung der Minimum-Degree-Heuristik.




75



7.3 Ein graphentheoretischer Zusammenhang

Auch durch Anwendungen begrndet lsst sich ein Zusammenhang zwischen Gleichungs-
systemen und Graphen herstellen. Folgerichtig hat dann eine LR-Zerlegung oder ein
Eliminationsschritt auch eine graphentheoretische Interpretation. Nicht selten liefern erst
diese Interpretationen einen besonders klaren Einblick in die Struktur der Probleme.
Wie oben betrachten wir erneut nur symmetrische Gleichungssysteme. Das meiste kann aber
auch fr unsymmetrische Gleichungssysteme durchgefhrt werden.

Ein Graph ist ein Paar (K, k), wobei K eine Menge von Punkten und k eine Menge
von geordneten Paaren von Elementen aus K ist.

Definition
Ist A eine symmetrische reelle n*n Matrix, so wird der zugeordnete Graph G(A) gegeben
durch die Knoten 1 bis n und die Kanten zwischen i und j genau dann, wenn a
ij
0.


Beispiele:
Zu der (symmetrischen) Matrix

* *
*
* *
gehrt ein Graph mit 3 Knoten und 4 Kanten:








Zur Leitwertmatrix aus Kapitel 3 gehrt ein Graph mit 6 (1,2,3,4,5,6) Knoten und 5 + 6
Kanten. Lsst man die 6 Kanten (i,i) weg, dann hat der Graph die Form des Widerstandnetzes
(3, Beispiel 2), aus dem die Leitwertmatrix entstanden ist.


+ +
+
+ +
6 6
5 5
4 4
6 5 6 5 3 3
4 4 2 2
3 2 3 2 1
G 0 0 G 0 0
0 G 0 G 0 0
0 0 G 0 G 0
G G 0 G G G 0 G
0 0 G 0 G G G
0 0 0 G G G G G



Umgekehrt fhrt der Graph mit den 8 Knoten (bei dem die 8 Kanten (i,i) wieder unterdrckt
wurden)





2 1
3
4 6 5
3 2
1
76











auf eine symmetrischen Matrix mit der folgenden Besetzungsstruktur:

8
7
6
5
4
3
2
1
*
* * *
* * * *
* *
* * *
* * *
* * * *
* * * *
8 7 6 5 4 3 2 1



Die Beziehung zwischen den Matrizen und den Graphen erklrt brigens auch die
Bezeichnung Minimum-Degree-Kriterium. Ist G ein Graph mit Knoten K und Kanten k, dann
wird die Anzahl der zu einem Knoten K
i
inzidenten Kanten k als Grad des Knoten K
i

bezeichnet. Nach dem Minimum-Degree-Kriterium wird jeweils der Knoten mit minimalem
Grad zuerst gewhlt!


7.4 Fill-in Minimierung mit besonderer Besetzungsstruktur

Eine Reihe von Sortierkriterien strebt eine spezielle Form der sortierten, dnnbesetzten
Matrix an. Die Sortierung nach Cuthill-McKee (1969) und die umgekehrte Sortierung nach
Cuthill-McKee (George 1971) streben eine mglichst schmale Bandbreite der umsortierten
Matrix an. Beide Kriterien sind fr symmetrische Matrizen definiert. Da bei Bandmatrizen
Fill-in nur innerhalb des Bandes auftreten knnen, garantiert man auf diesem Umweg eine
mglichst kleine Fill-in Anzahl.

Beim Cuthill-McKee Algorithmus wird zunchst der Grad der Knoten bestimmt und

als Ausgangspunkt ein Knoten mit mglichst geringem Grad gewhlt (Minimum-
Degree-Kriterium) und als Knoten 1 bezeichnet.
die mit diesem Knoten verbundenen Knoten werden dann aufsteigend entsprechend
ihres Grades umnummeriert (2,3,4, .).
die mit Knoten 2 verbundenen Knoten werden an die vorangegangene Nummerierung
anschlieend und fortlaufend entsprechend ihres Grades nummeriert, wobei bereits
umnummerierte Knoten unbercksichtigt bleiben.


1 2
3 4
5 6
7
8
77
Dieser Prozess wird dann mit dem neuen Knoten 3 wiederholt usw., bis alle Knoten
eine neue Nummerierung haben.

Es war eine Beobachtung von George (1972), dass eine Umkehrung der Nummerierung
i n-i+1 hufig zu besseren Ergebnissen fhrt. Man spricht in diesem Fall vom Reverse-
Cuthill-McKee.

Als Beispiel betrachten wir den folgenden Graphen mit den Knoten 1-10:











Aus der folgenden Tabelle knnen die Knoten, der Grad der einzelnen Knoten, seine
Verbindungen und die neue Nummerierung nach Cutthill-McKee und Revers-Cuthill-McKee
entnommen werden (Rechnen Sie es nach(!)):


1 3 2,3,4 4 7
2 3 1,4,5 7 4
3 4 1,4,6,7 2 9
4 7 1,2,3,5,7,8,9 5 6
5 4 2,4,9,10 8 3
6 2 3,7 1 10
7 4 3,4,6,8 3 8
8 3 7,9,4 6 5
9 4 4,5,8,10 9 2
10 2 5,9 10 1


Die Besetzungen der zugehrigen symmetrischen Matrizen mit erkennbar geringeren Fill-in
bei einer LR-Zerlegung - haben dann die Gestalt:

* * *
* * * * *
* * * *
* * * * *
* * *
* * * * *
* * * * * * * *
* * * * *
* * * *
* * * *



* * *
* * * * *
* * * *
* * * *
* * * *
* * * * * * * *
* * * *
* * * *
* * * *
* * *

* * *
* * * * *
* * * * *
* * * *
* * * * * * * *
* * * *
* * * *
* * * * *
* * * * *
* * *
8
(6)
(4) 1
(2) 3
(1) 6
(4) 5
2 (7)
5 (8)
10 (10)
7
(7)
9
(9)
78
7.5 Spezielle Strukturen

Im Abschnitt 7.3 wurde auf einen Zusammenhang zwischen der Graphentheorie und linearen
Gleichungssystemen hingewiesen. Die bisherigen Verfahren zur Umformung der Gleichungs-
systeme knnen als Umnummerierung der Gleichungen und Variablen angesehen werden.

Am Beispiel der Leitwertmatrix konnte erkannt werden, dass schon der physikalische
Hintergrund der Aufgabe auf die Form des zugehrigen Graphen fhrte. Eine
Umnummerierung kann dann natrlich a priori schon auf der physikalischen Ebene
durchgefhrt werden. Zu welchen augenscheinlich erstaunlichen Resultaten und Methoden
dieses fhren kann, soll ber ein einfaches elektrisches Netzwerk gezeigt werden.
Entsprechendes wird auch massiv bei der Methode der Finiten Elemente eingesetzt.

Ein passives lineares elektrisches Netzwerk fhre auf den folgenden Graphen (die Endknoten
seien z.B. mit der Masse verbunden, die auftretenden Kanten mgen fr Leitwerte zwischen
den Knoten stehen und an irgendeinen Knoten werde Strom gefhrt).
Das gleiche Netzwerk kann unterschiedlich nummeriert werden.


Im ersten Fall fhrt dieses zu einem Gleichungssystem Ax = b, wobei A symmetrisch und
positiv definit ist und eine Bandstruktur besitzt.

* *
* * *
* * *
* * * *
* * *
* *
* * * * * * * *
* * *
* * *
* * * *
* *
* *
* *
* * *
* * * *
* * * *



11
4 5 6
2 3
7
1
8 9
10
12 14 15
16 13
7
4 5 6
2 3
13
1
14 15
16
10 11
12 9

* * * * * * *
* * *
* * *
* * * *
* *
* * * *
* * *
* * *
* * *
* *
* *
* *
* *
* * *
* * * *
* * * *

79

Im zweiten Fall kann die ebenfalls symmetrische und positiv definite Matrix als
blockgerndert aufgefasst werden:

A =

33 23 13
23 22
13 11
A A A
A A 0
A 0 A
.

Die zugehrigen Gleichungssysteme knnen immer ber eine Cholesky-Zerlegung behandelt
werden. Im ersten Fall bieten sich auch spter zu behandelnde iterative Verfahren an. Im
zweiten Fall ist eine Gestalt des Gleichungssystems erreicht, die fr eine parallele
Bearbeitung angestrebt wird(!). Auch das Schur-Komplement ist ein Stichwort in diesem
Zusammenhang.

Hier wurden die Beispiele ber den Umweg elektrischer Netzwerke erzeugt. Es wurde bereits
oben erwhnt, dass eine Quelle fr hnliche Gleichungssysteme und Aufgabenstellungen die
Methode der Finiten Elemente bei elliptischen Aufgaben ist. Unterschiedliche
Nummerierungen der Knoten oder Gebietszerlegungen (Nested-Dissection/George) fhren
auf Gleichungssysteme von unterschiedlichster Gestalt mit anschlieenden passenden
numerischen Methoden.













80




bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(7.12.05)




Aufgabe 7.1
Durchlaufen Sie die Demonstrationsprogramme von MATLAB fr dnnbesetzte Matrizen
und Graphen und Matrizen.
Zu den Programmen kommt man durch den Befehl (MATLAB 6.5)

> demo

und anschlieenden Aufrufen in dem linken Men: MATLAB, Matrices, Sparse Matrices,
Run the Demo bzw. MATLAB, Matrices, Graphs and Matrices, Run the Demo.

Aufgabe 7.2
Durch den Befehl sprand(n,n,0.01) wird eine dnnbesetzte Matrix mit ungefhr n*n*0.01
NNE erzeugt. Eine Addition des vielfachen einer Einheitsmatrix vermeidet regelhaft die
Singularitt der Matrix. Ein zugehriges Gleichungssystem soll einmal mit dem Sparse-
Matrix-Solver von MATLAB und ein anderes Mal als normales Gleichungssystem mit
MATLAB gelst werden. Rufen Sie mehrmals sprand(n,n,0.01) auf und prfen Sie, welche
der angegebenen Methoden schneller ist. Ein Vorschlag fr n ist 200.

Aufgabe 7.3
Schreiben Sie ein MATLAB-Programm fr den Minimum-Degree-Algorithmus. Das
Programm soll die alte und neue Besetzungsstruktur der Matrix, die Reihenfolge der
Austauschschritte und ein Vergleich mit der LR-Faktorisierung liefern. Whlen Sie vier
signifikante Beispiele.


Lsungen zur bung 7
Konstruktion und Analyse von Algorithmen
WS 05/06
(7.12.05)

K. Taubert


Aufgabe 7.2

clear all
for i= 1:5
n = 200;
S = sprand(n,n,0.01);
S = S+eye(n);
S = sparse(S);
b = S*ones(n,1);
%x = S\b;
%spy(S)
tic, x=S\b; , num1=toc;
R = full(S);
%spy(R);
%x = R\b;
tic, x=R\b; , num2 =toc;
res(i,1:2) = [num1 num2];
end
s = res

Regelhaft wird die Sparse-Matrix-Technik schneller zum Ergebnis fhren. Dass es
Ausnahmen gibt, zeigt eines der unteren Flle (Zeit in Sekunden):

s =

0.0200 0.0810
0.0100 0.1100
0.0100 0.0600
0.0100 0.0600
0.0100 0.0700

Beachten Sie: Sie knnen nicht die gleichen Ergebnisse erzielen (!). Dieses liegt an den
Befehl sprand. Dieser liefert bei jedem Aufruf eine andere Matrix.


Aufgabe 7.3

Beispiel 1 und 4 sind im Text ausgedruckt


clear all
%Beispiel1

0.0300 0.0600
0.1500 0.0600
0.0100 0.0700
0.0200 0.0600
0.0100 0.0500
%n=5
%A = 10*eye(n);
%A(4,2)=3;
%A(2,4)=3;
%A(1,4)=5;
%A(4,1)=5;
%A(1,5)=1;
%A(5,1)=1;
%Ende Beispiel1
%Beipiel2
n=12
i = [1 2 3 6 12 1 2 3 4 5 6 1 2 3 5 2 4 6 2 3 5 1 2 4 6 7 12 6 7 8 11 12 7 8 10 11 12 9 10 ...
11 8 9 10 11 7 8 9 10 11 1 6 7 8 12];
j = [1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 4 4 4 5 5 5 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 10 10 10 10 ...
10 11 11 11 11 12 12 12 12 12];
s = ones(1,54);
A = sparse(i,j,s);
A = full(A)
A = A+A'+10*eye(12)
%Ende Beispiel2
%Beispiel3
%n=9
%i = [1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9];
%j = [1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 5 4 5 6 5 6 7 8 9 6 7 8 9 6 7 8 9 6 7 8 9];
%s = ones(1,37);
%A = sparse(i,j,s);
%A = full(A)
%A = A+A'+10*eye(9)
%Ende Beispiel3
%Beispiel4
%n=8
%i = [1 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 8 8 8];
%j = [1 2 3 4 2 3 4 3 1 4 4 3 1 5 3 6 6 5 7 8 7 6 8 8 7 6];
%s = ones(1,26);
%A = sparse(i,j,s)
%A = full(A)
%A = A+A'+10*eye(8)
%Ende Beispiel4
subplot(1,4,2)
spy(chol(A)'+chol(A))
title('Cholesky')
subplot(1,4,1)
spy(A)
title('Unbearbeitet')
subplot(1,4,1)
p = symmmd(A)
A = A(p,p);
subplot(1,4,3)
spy(A)
title('Minimum Degree')
subplot(1,4,4)
spy(chol(A)'+chol(A))
title('Cholesky')


Beispiel 2

p =

9 8 10 11 4 3 5 1 2 6 7 12




Beispiel 3
p =

1 2 3 5 7 6 8 9 4


81
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert









Gegeben sei wieder ein lineares Gleichungssystem

Ax = b (*)

mit einer reellen, regulren n*n Matrix A und einem Spaltenvektor b der Lnge n.
Iterative Verfahren zur Auflsung eines Gleichungssystems bestehen zunchst darin, die
Gleichung (*) in ein quivalentes System der Gestalt

x = Bx + d (**)

umzuschreiben und ein Iterationsverfahren der Form

x
k+1
= Bx
k
+d, x
0
R
n
, k = 0,1,2, .

anzusetzen. Die Erwartung ist dann, dass die Folge (x
k
) gegen die einzige Lsung x* des
ursprnglichen Gleichungssystems konvergiert und zwar schnell.
Es gibt einen augenscheinlichen Vorteil dieser Methode. Die Auflsung eines vollbesetzten
Gleichungssystems (*) mit dem GEV erfordert im Wesentlichen - (2/3)n
3
Operationen,
ein Schritt beim Iterationsverfahren lediglich n
2
. D.h. bei entsprechender Konvergenz-
geschwindigkeit knnen diese Verfahren weniger aufwendig sein.
Hufig kann bei den iterativen Verfahren auch die Differenz zwischen der Nherung x
k

und der Lsung x* abgeschtzt werden. Damit knnen diese Verfahren auch fr eine
Nachiteration und Beurteilung einer ber das GEV - mit seinen unvermeidlichen Rundungs-
fehlern - erzielten Lsung benutzt werden.
Die obigen Bemerkungen bertragen sich auch auf das GEV fr dnnbesetzte Matrizen.
Ein Nachteil iterativer Methoden ist, dass nicht immer erkennbar ist, ob es eine geeignete
Umschreibung in eine Fixpunktaufgabe gibt bzw. welche Umschreibung besonders gnstig
sein wird.
Zu den klassischen iterativen Verfahren gehren das Jacobi- oder Gesamtschrittverfahren,
das Gauss-Seidel- oder Einzelschrittverfahren und das SOR-Verfahren, aber auch die
Richardson-Methode.
Auch die im Zusammenhang mit der Diskretisierung von elliptischen Randwertaufgaben
eingefhrten Mehrgitterverfahren gehren wohl inzwischen zu dem klassischen Bestand
iterativer Verfahren.
Aussagen zur Konvergenz bzw. zum Verhalten dieser iterativen Verfahren knnen fr
bestimmte Klassen von Matrizen A sofort angegeben werden. Dazu gehren die
symmetrischen, positiv definiten Matrizen und die diagonaldominanten Matrizen.
8
Iterative Verfahren fr lineare Gleichungssysteme
Iterative Verfahren
82
Weitergehende Literatur und Hinweise knnen dem Buch Iterative Solutions Methods von
Owe Axelson entnommen werden.



8.1 Der Fixpunktsatz fr kontrahierende Abbildungen


Grundlegend fr die Konvergenz der Iteration (**) fr jedes x
0
R
n
sind die Eigenwerte der
Matrix B, d.h. es liegt genau dann Konvergenz der Folge (x
k
) gegen x* fr alle x
0
vor, wenn
die Eigenwerte von B dem Betrage nach kleiner als Eins sind.
Die Bestimmung aller Eigenwerte einer Matrix B kann ein sehr aufwendiger Prozess sein. Es
kann deshalb vernnftig sein, die obige notwendige und hinreichende Bedingung fr die
Konvergenz der Folge zunchst durch eine hinreichende Bedingung zu ersetzen. Diese
Bedingung liefert die folgende vereinfachte Fassung des Fixpunktsatzes fr kontrahierende
Abbildungen.

Satz
Es sei ( R
n
, || .|| ) der mit der Norm || . || versehene lineare Raum R
n
, B eine reelle n*n Matrix
und dR
n
. Die Matrix B sei kontrahierend, d.h. es gibt ein L, 0 L <1, mit

|| Bx || L || x || fr alle x R
n
.

Dann hat die Aufgabe x = Bx + d genau eine Lsung x* (Fixpunkt) und die Folge

x
k+1
= Bx
k
+d, x
0
R
n
, k = 0,1,2, .

konvergiert fr jeden Startwert x
0
R
n
gegen x*.
Auerdem gilt die Fehlerabschtzung

|| x* - x
k
|| )
L 1
L
(

|| x
k
x
k-1
|| )
L 1
L
(
k

|| x
1
x
0
||.

Beweis
Fr beliebiges i gilt

|| x
i+1
x
i
|| = || Bx
i
Bx
i-1
|| L || x
i
x
i-1
|| L
2
|| x
i-1
x
i-2
|| .. L
i
|| x
1
x
0
||.

Fr beliebiges j > i ist dann

|| x
j
x
i
|| = ||x
j
x
j-1
+ x
j-1
x
j-2
+ . + x
i+1
x
i
|| = || ) x x (
k
1 j
i k
1 k

=
+
|| || x x ||
k
1 j
i k
1 k

=
+

|| x x || L
0
1 j
i k
1 k

=
= L
i
|| x
1
x
0
||

1 j
i k
i k
L L
i
|| x
1
x
0
||

=0 k
k
L
)
L 1
L
(
i

|| x
1
x
0
||.

Also ist (x
i
) eine Cauchy-Folge und hat als solche einen Grenzwert x* im R
n
. Aus der
Beziehung

x
i+1
= Bx
i
+ d folgt x* = Bx* + d

83


und x* ist ein Fixpunkt der Aufgabe x = Bx + d.
Angenommen, es gbe einen zweiten Fixpunkt x x*, dann wre

|| x - x* || = || Bx - Bx* || < || x - x* ||

und dadurch ein Widerspruch gegeben.
Wird in einer der obigen Ungleichungen i = k gesetzt und lsst man j gehen, dann
ergeben sich die gewnschten Ungleichungen

|| x* - x
k
|| )
L 1
L
(

|| x
k
x
k-1
|| )
L 1
L
(
k

|| x
1
x
0
||.



Es wurde oben erwhnt, dass die Konvergenz von (**) fr alle x
0
R
n
genau dann gewhr-
leistet ist, wenn die Eigenwerte der Matrix B dem Betrage nach kleiner als Eins sind.
Ein interessanter Zusammenhang mit dem Fixpunktsatz fr kontrahierende Abbildungen soll
nicht unerwhnt bleiben:

Sind die Eigenwerte der Matrix B alle dem Betrage nach kleiner als Eins, dann gibt es eine
Vektornorm || . || auf dem R
n
mit der Eigenschaft

|| Bx || L || x || fr alle x R
n
und 0 L <1.


Ein Problem besteht damit offenbar darin, auch diese Norm zu finden (!). Dieses kann unter
Umstnden aufwendiger sein als die Auflsung des ursprnglichen Gleichungssystems.
Eine praktische Anwendung des Fixpunktsatzes fr kontrahierende Abbildungen besteht
deshalb darin, fr Klassen von Matrizen A Iterationsvorschriften und zugehrige Normen
anzugeben, welche die Konvergenz der Iterierten fr alle mglichen Startvektoren
gewhrleisten.





8.2 Iterative Lsung von linearen Gleichungssystemen

Es sollen jetzt drei (ganz) klassische iterative Verfahren fr eine Auflsung des Gleichungs-
systems Ax = b eingefhrt werden. Natrlich mssen diese Verfahren nicht immer zum
Erfolg fhren.



Das Jacobi- oder Gesamtschrittverfahren (GSV)

Das Gesamtschrittverfahren hat die Gestalt



84


a
11
x
k+1
+ a
12
x

k
+ a
13
x
k
+ + a
1n-1
x
k
+ a
1n
x
k
= b
1

a
21
x
k
+ a
22
x

k+1
+ a
23
x
k
+ + a
2n-1
x
k
+ a
2n
x
k
= b
2

. . . .
. . . .

a
n-11
x
k
+ a
n-12
x

k
+ a
n-13
x
k
+ + a
n-1n-1
x
k+1
+ a
n-1n
x
k
= b
n-1

a
n1
x
k
+ a
n2
x

k
+ a
n3
x
k
+ + a
nn-1
x
k
+ a
nn
x
k+1
= b
n


und ist fr jedes x
0
R
n
durchfhrbar, wenn a
ii
0 fr alle i ist.
In Kurzschreibweise ergibt sich

) x a b (
a
1
x
k
j
n
i j
1 j
ij i
ii
1 k
i

=
+
= , i = 1, ,n.


Das Gauss-Seidel- oder Einzelschrittverfahren (ESV)

Hat man beim GSV die Gre
1 k
1
x
+
berechnet, so liegt es im Falle der Konvergenz nahe,
zu vermuten, dass dieser Wert besser als
k
1
x ist und man wird diesen Wert gleich in die zweite
Gleichung einsetzen. Diese berlegung fhrt zum Einzelschrittverfahren


a
11
x
k+1
+ a
12
x

k
+ a
13
x
k
+ + a
1n-1
x
k
+ a
1n
x
k
= b
1

a
21
x
k+1
+ a
22
x

k+1
+ a
23
x
k
+ + a
2n-1
x
k
+ a
2n
x
k
= b
2

. . . .
. . . .

a
n-11
x
k+1
+ a
n-12
x

k+1
+ a
n-13
x
k+1
+ + a
n-1n-1
x
k+1
+ a
n-1n
x
k
= b
n-1

a
n1
x
k+1
+ a
n2
x

k+1
+ a
n3
x
k+1
+ + a
nn-1
x
k +1
+ a
nn
x
k+1
= b
n
,


welches ebenfalls fr jedes x
0
R
n
durchfhrbar ist, sofern a
ii
0 fr alle i ist.
In Kurzschreibweise ergibt sich

) x a x a b (
a
1
x
k
j
n
i j
1 j
ij
1 i
1 j
1 k
j ij i
ii
1 k
i

=
+ +
= , i = 1, ,n.


Das Verfahren der sukzessiven Overrelaxation (SOR)

Hat man beim ESV die Gre
1 k
1
x
+
berechnet, so liegt es nahe, zu vermuten, dass dieser Wert
zusammen mit
k
1
x eine Tendenz fr das zuknftige Verhalten beinhaltet und man wird
versuchen, diese Tendenz zu bercksichtigen bzw. auszunutzen. Diese berlegung fhrt zu
dem SOR-Verfahren.



85


Das SOR-Verfahren luft wie das ESV, jedoch wird nach jedem Einzelschritt (i) noch

=
+1 k
i
x
1 k
i
x
+
+ (1-
k
i
x )

mit einem geeigneten Relaxationsfaktor berechnet und als neue Nherung angesehen.
In Kurzschreibweise ergibt sich

k
i
k
j
n
i j
1 j
ij
1 i
1 j
1 k
j ij i
ii
1 k
i
x ) 1 ( ) x a x a b (
a
x +

=
+ +
, i = 1, ,n.

In der Einleitung wurde angedeutet, dass zur Konstruktion von iterativen Verfahren ein
Gleichungssystem

Ax = b

in eine gleichwertige Fixpunktaufgabe
x = Bx + d

umgeschrieben wird und diese als Ausgangspunkt fr die Iterationsvorschrift

x
k+1
= Bx
k
+d, x
0
R
n
, k = 0,1,2, .

genutzt wird.
Den Zusammenhang zwischen diesem Konzept und den konkret angegebenen Verfahren
erschlieen die folgenden berlegungen:

Die einfachste Form, das Gleichungssystem Ax = b in eine gleichwertige Fixpunktaufgabe
umzuschreiben, besteht darin, die Matrix A additiv zu zerlegen. Die Matrix A lsst sich
darstellen in der Form

A = L + D + R.

Dabei sei

L =

0 a a
..
0 0 a
0 0
1 nn 1 n
21
L
M O O
L
L L
, R =

0 0
a 0
a a 0
1 nn
n 1 12
L L
M
M O O M
L
, D = diag(A) =

nn
11
a 0 0
0
0
0 0 a
L L
O M
M O
L



und es werde vorausgesetzt, dass die Elemente a
ii
allesamt ungleich Null sind.

Bemerkung
Ist die Matrix A regulr, so kann durch geeignete Zeilen- oder Spaltenvertauschungen immer
erreicht werden, dass die Diagonalelemente der neuen Matrix ungleich Null sind.

Mit der Zerlegung gilt

Ax = b (L+D+R)x = b.

86
Dieses fhrt unmittelbar zu den (Fixpunkt-) Aufgaben

Dx =- (L+R)x + b x = -D
-1
(L+R)x + D
-1
b

(L+D)x = -Rx + b x = - (L+D)
- 1
Rx + (L+D)
-1
b.

Aber auch die folgenden Vernderungen fhren zu einer Fixpunktaufgabe

(L + D + R)x = b (L+D)x = -Rx + b (I+D
-1
L)x = -D
-1
Rx + D
-1
b.


Bercksichtigung der Einheitsmatrix I, Multiplikation mit und Addition von x liefern

Ix + (I+D
-1
L)x = Ix - ( D
-1
Rx ) + D
-1
b (I+D
-1
L)x = (1- )Ix - ( D
-1
Rx ) + D
-1
b

oder
x = (I+D
-1
L)
-1
((1- )I - ( D
-1
R ))x + (I+D
-1
L)
-1
D
-1
b.


Der aufmerksame Leser wird nun bereits ahnen, dass es sich bei den angegebenen Fixpunkt-
aufgaben um jene Aufgaben handelt, die zu den drei oben angegebenen Iterationsverfahren
fhren. Gleichzeitig merkt man aber auch, dass die konkrete Herleitung der Verfahren nahe-
liegender ist als die Angabe der zugehrigen Matrizen B.

In der folgenden Tabelle sind die Ergebnisse zusammengefasst:

Ax = b
x = Bx +d
GSV ESV SOR
B = = -D
-1
(L+R) B = - (L+D)
- 1
R B =(I+D
-1
L)
-1
((1- )I - ( D
-1
R ))
Konvergenz, falls die Eigenwerte von B dem Betrage nach kleiner als Eins sind


8.3 Konvergenzresultate

Obwohl eine notwendige und hinreichende Bedingung fr die Konvergenz der Verfahren

x
k+1
= Bx
k
+d, x
0
R
n
, k = 0,1,2, .

bekannt ist, kann deren Nachweis schwierig sein. Es sollen deshalb - ohne Beweis - einige
hinreichende Konvergenzbedingungen angegeben werden. Entscheidend ist, dass diese
Bedingungen bereits an der Matrix A abgelesen werden knnen.

Satz
Ist A eine stark diagonaldominante Matrix, d.h. | a
ii
| > | a |
n
i j
1 j
ij

=
fr alle i, dann ist sowohl das
GSV als auch das ESV konvergent.
Das SOR-Verfahren ist konvergent fr 0 < 1.


Bemerkung.
Der Beweis dieses Satzes kann (sehr einfach) mit Hilfe der Maximum-Norm erbracht werden.

87

Satz
Ist A symmetrisch und positiv definit, dann konvergiert das ESV

Satz
Ist A symmetrisch und positiv definit, dann konvergiert das SOR-Verfahren genau dann,
wenn 0 < < 2 ist.


Die Beweise der letzten beiden Stze werden ber die von A induzierte Norm
|| x || = ) Ax , x ( erbracht.


Es knnen Beispiele dafr angegeben werden, dass fr ein Gleichungssystem das Jacobi-
Verfahren konvergent ist, aber nicht das Gauss-Seidel -Verfahren und umgekehrt. Es gilt
jedoch auch der folgende

Satz
Ist A symmetrisch und positiv definit und ist A eine Tridiagonal-Matrix, dann ist sowohl das
Gauss-Seidel- als auch das Jacobi-Verfahren konvergent. Fr den Spektralradius (betrags-
grter Eigenwert) der zugehrigen Matrizen B
GS
und B
J
gilt

(B
GS
) =
2
(B
J
).


Bemerkung
Der Satz besagt in diesem Fall, dass die Konvergenz des Gauss-Seidel-Verfahrens auch
schneller als die des Jacobi-Verfahrens ist. Der Beweis nutzt aus, dass die Eigenwerte der
einen Matrix durch die Eigenwerte der anderen Matrix ausgedrckt werden knnen.



8.4 Das Extrapolationsverfahren von Richardson

Ein Ausgangspunkt fr viele gute iterative Verfahren ist die Methode nach Richardson.
Beim Richardson-Verfahren wird das Gleichungssystem

Ax = b

in die Fixpunktaufgabe

x = x - (Ax-b), R

umgeschrieben. Als Iterationsvorschrift bietet sich dann

x
k+1
= x
k
- (Ax
k
-b)

an.
Die Fixpunktaufgabe kann natrlich auch in der Form

x = (I - A)x + b

dargestellt werden.
88
Nach den Bemerkungen aus Abschnitt 8.1 kommt es fr die Konvergenz dieses Verfahrens
auf die Eigenwerte von (I - A) an. Diese mssen dem Betrage nach kleiner als Eins sein.
Die Eigenwerte von (I - A) haben die Gestalt

1 -
i
, i = 1,2 , . ,n ,

wobei
i
die Eigenwerte von A sind. Diese Beobachtung fhrt zu dem folgenden

Satz
Es sei A symmetrisch und positiv definit und es sei
1
der grte Eigenwert von A und
n

der kleinste Eigenwert von A.
Dann konvergiert das Richardson-Verfahren fr alle 0 < < 2 /
1
.
Der Spektralradius der Matrix (I - A) ist minimal fr = 2/(
n 1
+ ) und hat den Wert
=
n 1
n 1
+

.

Bemerkungen
Je nher die Norm der Iterationsmatrix B bei Eins liegt, desto langsamer wird die
Konvergenzgeschwindigkeit der Iteration sein. Oben wurde auf den Zusammenhang
zwischen den Eigenwerten von B und einer Norm von B hingewiesen. Liegen die Eigenwerte
also nahe, aber unterhalb des Betrags 1, dann wird die Konvergenz der Iteration langsam sein.
Beim Richardson-Verfahren wird die Konvergenz also dann besonders langsam sein,
wenn die Eigenwerte
1
und
n
besonders weit auseinander liegen.
Es soll noch auf einen interessanten Zusammenhang zwischen dem Richardson-Verfahren
und dem GSV und demESV hingewiesen werden:

Die Aufgabe
Ax = b

kann auch in die quivalente Form

x = x P(Ax b) (***)

- mit einer nichtsingulren Matrix P - umgeschrieben werden. Die Matrix P wird hufig als
Prkonditionierer bezeichnet.

Mit der Wahl = 1 und P = D
-1
entspricht das Richardson-Verfahren zu (***) dem
Jacobi-Verfahren. Mit der Wahl = 1 und P = (D+L)
-1
entsteht das Gauss-Seidel -
Verfahren (!) und so hngt auf wundersame Weise alles mit allem zusammen (!)
89

bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(14.12.05)




Aufgabe 8.1
Gegeben seien die Matrizen

A1 =




4 1 0 0
1 4 1 0
0 1 4 1
0 0 1 4
, A2 =

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
, A3 =

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0


und das zugehrige Gleichungssystem

b x
1 A 2 A 3 A 3 A
2 A 1 A 2 A 3 A
3 A 2 A 1 A 2 A
3 A 3 A 2 A 1 A
=



mit b
T
= (0.36, 0.64, 0.84, 1.76, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.40, 0.00, 0.00, 0.00, 0.20).

Man berechne die Lsung dieses linearen Gleichungssystems mit

1. dem Gesamtschrittverfahren
2. dem Einzelschrittverfahren und
3. dem SOR-Verfahren mit den Parametern

= 1.00, 1,10, 1.20, 1.25, 1.30, 1.40

und breche die Iteration ab, wenn sich zwei aufeinander folgende Nherungsvektoren in der
Maximum Norm || . ||

um weniger als 10
-6
unterscheiden.
Fr die Ausgangsnherungen x0 = (0,0, ... ,0)
T
und x0 = (1,1, ....,1)
T
vergleichen Sie die
Anzahl der ntigen Iterationsschritte fr die verschiedenen Verfahren und Parameter.

(Die Aufgabe entsteht aus der Diskretisierung der elliptischen Randwertaufgabe

0 u = , 0<x,y<1

u(x,0) = u(0,y) = 0
u(x,1) = 2x x
2

u(1,y) = y.


90

Aufgabe 8.2
Gegeben seien die Matrizen

A =




2 4 4
4 2 1
4 1 2
, B =

2 2 2
2 2 1
2 1 2
und b =

0
0
0
.

Fr die Gleichungssysteme Ax = b prfen Sie bitte numerisch nach, ob Konvergenz des ESV
oder GSV (mit dem Startvektor x
0
= (1,1,1)) vorliegt. Welches in der Vorlesung angegebene
Konvergenzkriterium liegt gegebenenfalls vor?
Gegeben sei die Tridiagonal-Matrix

A = 4*eye(21)- diag(ones(20,1),-1)- diag(ones(20,1),1).

Prfen Sie das Verhalten der Eigenwerte der Iterationsmatrizen beim GSV und ESV.
Verifizieren Sie numerisch die schnellere Konvergenz des ESV fr das Gleichungssystem
Ax = 0 und den Startvektor x
0
= ones(21,1).


Aufgabe 8.3
Das Gleichungssystem




5859 . 17
27
15
1
x
x
x
x
2 4142 . 1 12 1
17 1 2 2
1 1 2 20
3 15 3 2
4
3
2
1


soll mit dem Startwert [1 1 1 1] und dem SOR-Verfahren in maximal 4 Schritten gelst
werden!
Tipp: ndern Sie die Reihenfolge der Gleichungen und whlen Sie einen geeigneten
Parameter .


Aufgabe 8.4 (Hammarling/Wilkinson)
Gegeben sei A = 1.5*eye(100)+ diag(linspace(1,1,99),-1) und b = 2.5*ones(1,n). Das
Gleichungssystem Ax = b hat die Lsung x
i
= 1-(-2/3)
i
.
Berechnen Sie mit dem SOR und = 1.5 eine Nherungslsung fr das Gleichungssystem
mit MATLAB. Um die Sache zu vereinfachen, starten Sie mit der exakten Lsung.


Lsungen zur bung 8
Konstruktion und Analyse von Algorithmen
WS 05/06
(14.12.05)

K. Taubert


Aufgabe 8.1
Es zeigt sich das bliche. Es muss aber nicht immer so sein.
Das ESV ist schneller als das GSV. Die SOR-Variante liefert fr einen geeigneten Parameter
sehr gute Ergebnisse. Diesen optimalen Parameter a-priori zu bestimmen ist schwer (!)

Verfahren omega x0= ( ,1, ) x0= ( ,0, )

GSV 59 55
ESV/SOR 1.00 32 30
1.10 26 24
1.20 20 18
1.25 16 15
1.30 14 13
1.40 19 18


(ESV und SOR. ESV ist SOR mit omega =1)

SOR und insbesondere auch das ESV

clear all
n=16;
A1 = 4*eye(4)-diag(linspace(1,1,3),-1)-diag(linspace(1,1,3),1);
A2 = -eye(4);
A3 = zeros(4);
A = [A1 A2 A3 A3;A2 A1 A2 A3;A3 A2 A1 A2;A3 A3 A2 A1];
b = zeros(1,n);
b(1)= 0.36;
b(2)= 0.64;
b(3) = 0.84;
b(4) = 1.76;
b(8) = 0.6;
b(12)= 0.4;
b(16)= 0.2;
b = b';
eps = 10^(-6);





omega = 1; %1.1 % 1.2 1.25 1.30 1.40
x0 = ones(n,1);
%x0 = zeros(n,1);
x1 = x0;
for i= 1:n

x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-omega)*x0(i);
end
p = 1;
while max(abs(x1-x0))>=eps
p=p+1;
x0 = x1;
for i= 1:n
x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-
omega)*x0(i);
end
end
p

GSV
Beachten Sie, dass ein Teil des vorangegangenen Programms bernommen werden kann.

clear all
n=16;
A1 = 4*eye(4)-diag(linspace(1,1,3),-1)-diag(linspace(1,1,3),1);
A2 = -eye(4);
A3 = zeros(4);
A = [A1 A2 A3 A3;A2 A1 A2 A3;A3 A2 A1 A2;A3 A3 A2 A1];
b = zeros(1,n);
eps = 10^(-6);
b(1)= 0.36;
b(2)= 0.64;
b(3) = 0.84;
b(4) = 1.76;
b(8) = 0.6;
b(12)= 0.4;
b(16)= 0.2;
b = b';
x0 = ones(n,1);
%x0 = zeros(n,1);
D = 4*eye(n);
B = D-A;
p=1;
x1 = (1/4)*(B*x0 + b);








while max(abs(x1-x0))>=eps
p=p+1;
x0 = x1;
x1 = (1/4)*(B*x0 + b);
end
p

Aufgabe 8.2

Teil 1
Bestimmen Sie die Eigenwerte der zum GSV und ESV gehrigen Iterationsmatrizen B
(Siehe Tabelle)
Lediglich die zweite Matrix fhrt mit dem ESV zu einer Iterationsmatrix B mit Eigenwerten
deren Betrag alle kleiner als 1 ist. Keines der anderen angegebenen Kriterien liegt vor.
Bei allen anderen Fllen hat die Iterationsmatrix mindestens einen Eigenwert mit dem Betrag
grer als 1. Die Nichtkonvergenz erlebt man durch Probieren sofort.


Teil 2
clear all
n = 21;
BGSV = -inv(4*eye(n))*(diag(ones(n-1,1),-1)+diag(ones(n-1,1),1));
BESV = -inv(4*eye(n)+ diag(ones(n-1,1),-1))* diag(ones(n-1,1),1);
eigGSV = eig(BGSV);
eigESV = eig(BESV);
r = [eigGSV,eigESV]
r1 = max(eigGSV)
r2 = max(eigESV)
s = [r1,r2]
probe= r1*r1-r2
x0 = ones(n,1); %GSV
x = zeros(n,1);
k = 0;
while max(abs(x0-x))> .00001
k = k+1;
x0 = BGSV*x0;
end
x0 = ones(n,1); %ESV
x = zeros(n,1);
j = 0;
while max(abs(x0-x))> .00001
j = j+1;
x0 = BESV*x0;
end
[k,j] %Anzahl der Schritte






Lsung
n = 21

r = (Eigenwerte)

-0.4949 0
-0.4797 0.2449
-0.4548 0.2302
-0.4206 0.2069
-0.3779 0.1769
-0.3274 0.1428
-0.2703 0.1072
-0.2077 0.0731
-0.1409 0.0431
-0.0712 0.0198
-0.0000 0.0051
0.0712 -0.0023
0.1409 -0.0018 + 0.0015i
0.2077 -0.0018 - 0.0015i
0.2703 -0.0005 + 0.0023i
0.3274 -0.0005 - 0.0023i
0.3779 0.0011 + 0.0022i
0.4206 0.0011 - 0.0022i
0.4548 0.0024 + 0.0010i
0.4797 0.0024 - 0.0010i
0.4949 0.0000


s = 0.4949 0.2449 Wert des Betragsgrten Eigenwertes


probe = 0

ans 17 9 Anzahl der Schritte GSV ESV

>>


Aufgabe 8.3
Die Lsung der Aufgabe ist x = [1 2 1 2]. Eine Permutation der Gleichungen (Matrix P)
liefert eine Form des Gleichungssystems die SOR fhig ist. Der Parameter = ?
liefert die Lsung in der geforderten Anzahl von Schritten.

clear all
n=4;




A = [ -2 -3 15 -3;
20 -2 1 -1;
2 2 1 -17;
1 -12 1.4141 2]
A
omega = 1. % 1.5 1.4 usw.
b = [ 1 15 -27 -17.5859]'
v = A\b % Die Lsung
P =zeros(4); % Die Reihenfolge der Gleichungen wird gendert!
P(1,2)=1;
P(2,4)=1;
P(3,1)=1;
P(4,3)=1;
A =P*A;
b = P*b;
x0 = [1 1 1 1]';
x1 = x0;
for i= 1:n
x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-omega)*x0(i);
end
k = 1;
while k <= 4
k=k+1;
x0 = x1;
for i= 1:n
x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-
omega)*x0(i);
end
end
u=x1
k-1


Aufgabe 8.4
Das konvergente SOR-Verfahren liefert

Iterationen Fehler in x(100)
10 0.1067*10
-4

20 6.1092
30 5.0296*10
+4


Ein bemerkenswertes Resultat fr ein Gleichungssystem von guter Kondition und ein
konvergentes Verfahren mit dem Spektralradius 0.5 (!)

clear all
n=100;






A = 1.5*eye(n)+diag(linspace(1,1,n-1),-1) ;
b = 2.5*ones(1,n);
for i =1 :n
z(i) = 1-(-2/3)^i;
end
A; %Probe
B = A*z'; %Probe
omega = 1.5;
x0 = z';
x1 = x0;
for i= 1:n
x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-omega)*x0(i);
end
p = 1;
while p <= 10
p=p+1;
x0 = x1;
for i= 1:n
x1(i) = (omega/A(i,i))*(b(i)- A(i,1:i-1)*x1(1:i-1)-A(i,i+1:n)*x0(i+1:n))+(1-
omega)*x0(i);
end
end
u=x1-z'
91


Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert












Gegenstand dieses Kapitels sind trigonometrische Polynome n-ten Grades

t
n
(x) =

=
+ +
n
1 k
k k
0
) kx sin( b ) kx cos( a
2
a


mit reellen Koeffizienten a
0
,a
1
,b
1
, , a
n,
b
n
.
Von Interesse dabei sind

die Approximation im Mittel von periodischen Funktionen,
eine Werteermittlung
eine Interpolationsaufgabe

Obwohl es anschaulich von Vorteil ist, die Aufgaben aus der Sicht der trigonometrischen
Polynome zu behandeln, kann es analytisch zweckmiger sein, die genannten Aufgaben ber
den Umweg der komplexen trigonometrischen Polynome

t
N
(x) =

=
1 N
0 k
k
) ikx exp( c

mit komplexen Koeffizienten c
k
zu behandeln. Die fr die komplexen trigonometrischen
Polynome erzielten Ergebnisse knnen dann anschlieend auf die reellen trigonometrischen
Polynome bertragen werden.
Auffallend in der Literatur ist auerdem, dass die drei Aufgabenstellungen hufig im
Zusammenhang mit den Argumenten

x
j
= 2 N / j fr j = 0,1, , N-1

untersucht werden. Es zeigt sich, dass mit dieser Wahl der Argumente die drei oben
genannten Aufgaben in einem engen Zusammenhang stehen und damit elegant gelst werden
knnen.
9
Trigonometrische Polynome
AUSWERTUNG TRIGONOMETRISCHER FUNKTIONEN,
TRIGONOMETRISCHE INTERPOLATION, FFT und IFFT
92



Im ersten Abschnitt wird die Approximation im Mittel von periodischen Funktionen durch
trigonometrische Polynome behandelt und auf Besonderheiten der approximierenden
Funktionen hingewiesen.

Ist N = 2
n
, dann knnen die Werte des komplexen trigonometrischen Polynoms an den
Stellen x
j
mit der Diskreten-Fast-Fourier-Transformation (FFT) sehr effizient ermittelt
werden. Auch die komplexe trigonometrische Interpolationsaufgabe kann fr N = 2
n
sehr
effizient gelst werden und zwar mit der Inversen-Diskreten-Fast- Fourier-Transformation
(IFFT).
Eine naive Lsung dieser beiden Aufgabenstellungen wrde N*N Multiplikationen erfordern.
Deren effiziente Lsung erfordert lediglich N*n Multiplikationen.

MATLAB untersttzt sowohl die FFT als auch die IFFT. Einige Bemerkungen dazu werden
im letzten Abschnitt gemacht.



9.1 Zur Approximation periodischer Funktionen

Gegeben sei eine reellwertige Funktion

f : R R,

die 2 -periodisch und quadratisch integrierbar ist und es sei D
n
die Menge der
trigonometrischen Polynome vom Hchstgrad n

D
n
= { +
2
a
0
} R b , a / ) ) kx sin( b ) kx cos( a (
j j
n
1 k
k k
+

=
.

Beispiele fr trigonometrische Polynome sind die Sinus-Polynome (ungerade Funktionen)

t
n
(x) =

=
n
1 k
k
) kx sin( b
und die Kosinus-Polynome (gerade Funktionen)

t
n
(x) =

=
+
n
1 k
k
0
) kx cos( a
2
a
.

Gesucht ist eine Funktion
op
n
t D
n
mit der Eigenschaft

2
0
2 op
n
dx )) x ( t ) x ( f (

2
0
2
n
dx )) x ( t ) x ( f ( (*)
fr alle t
n
D
n
.
Dieses ist die klassische Fourier-Approximations-Aufgabe und die Koeffizienten des
optimalen trigonometrischen Polynoms knnen explizit angegeben werden:


93

=
2
0
0
dx ) x ( f
1
a ,

=
2
0
k
dx ) kx cos( ) x ( f
1
a , k = 1,2, . ,n,

=
2
0
k
dx ) kx sin( ) x ( f
1
b , k = 1,2, ,n.

Es mssen also nur noch die Integrale ausgewertet werden.

Es ist zweckmig, diese Integrale mit der zusammengesetzten Trapezregel und der
Schrittweite 2 /N und N = 2n+1 nherungsweise zu berechnen. Dadurch ergeben sich fr
die Koeffizienten die Nherungen

=
1 N
0 k
0
)
N
k 2
( f
N
2
a
~
,

) j
N
k 2
cos( )
N
k 2
( f
N
2
a
~
1 N
0 k
k

=

=
, k = 1,2, ,N, (**)

) j
N
k 2
sin( )
N
k 2
( f
N
2
b
~
1 N
0 k
k

=

=
, k = 1,2, ,N.


Eine gute Nherung fr die Minimallsung oder beste Approximation
op
n
t ist dann

op
n
t
~
(x) = +
2
a
~
0
) ) kx sin( b
~
) kx cos( a
~
(
n
1 k
k k
=
+



Bemerkungen

1. Typisch fr die trigonometrische Approximationsaufgabe ist im Gegensatz zur
Approximation mit Polynomen - das Auftreten von hohen Zahlen N.
2. Regularittsmngel der zu approximierenden Funktion fhren zu einem
nichtsachgerechten oszillatorischen Verhalten der approximierenden
trigonometrischen Polynome. Dieser Sachverhalt ist unter dem Namen Gibbssche
Erscheinung bekannt. Siehe hierzu auch die Aufgabe 9.1. Das nicht gewnschte
oszillatorische Verhalten kann auch positiv gesehen werden: Es zeigt ein singulres
Verhalten der zu approximierenden Funktion an.
3. Die gesuchten Koeffizienten
k k
b
~
, a
~
knnen ber die FFT effizient ermittelt werden.
4. Ein nichtsachgerechtes Verhalten der Koeffizienten
k k
b
~
, a
~
kann gegebenenfalls durch
so genannte Abminderungsfaktoren behoben werden.
5. Je regulrer f ist, umso schneller fallen die Koeffizienten a
k
, b
k
mit k ab.



94

9.2 Die Diskrete Fast Fourier Transformation (FFT)

Man betrachte das Polynom

t
N
(x) =

=
1 N
0 k
k
) ikx exp( c .
Die Wertebestimmung eines Polynoms

=
1 N
0 k
k
k
z c

mit komplexen Koeffizienten erfordert bekanntlich N-1 komplexe Multiplikationen.
Soll der Wert dieses Polynoms gleichzeitig an den N = 2
n
komplexen Stellen


j
N
= exp(i2j/N) = cos(2j/N) + i sin(2j/N), j = 0,1,2, ,N-1

berechnet werden, dann ist es mglich, die Anzahl der Multiplikationen von N*N auf N*n
zu reduzieren. Realisiert wird dieses durch die Diskrete-Fast-Fourier-Transformation (FFT).

Ausgangspunkt fr die FFT ist der folgende


Satz
Es sei N gerade und

=
=
1 N
0 k
k j
N k j N
) ( c ) x ( t
gegeben.
Dann gilt mit M = N/2

=
=
1 M
0 k
k
N k 2 N
) ( d ) x ( t
l
l

k M k k
c c d
1 M , ... , 1 , 0
+
+ =
= l

=
+
=
1 M
0 k
k
N k 1 2 N
) ( d ) x ( t
l
l

k
N k M k k
) c c ( d
1 M , ... , 1 , 0
=
=
+
l




Bemerkung
Der Satz zeigt, dass die Auswertung von t
N
(x
j
) ersetzt werden kann durch die Auswertung
von zwei Formeln gleicher Bauart mit halber Lnge.
Die Diskrete-Fast-Fourier-Transformation (FFT) besteht darin, diesen Reduktionsschritt fr
jede der neu entstehenden Formeln so lange zu wiederholen, bis M = 1 ist. Am Ende stehen
dann die gesuchten Werte.

Zum besseren Verstndnis betrachten wir die folgende Tabelle, in der exemplarisch eine
schnelle Fouriertransformation fr den Fall N= 8 = 2
3
durchgefhrt wird.



95

Schnelle Fouriertransformation fr N= 8 = 2
3



Binr
Adresse
k c
k
) 1 (
k
c
) 2 (
k
c
) 3 (
k
c j
Binr
Adresse
000 0 c
0
c
0
+c
4

) 1 (
2
) 1 (
0
c c +
) 2 (
1
) 2 (
0
c c + 0 000
001 1 c
1
c
1
+c
5

) 1 (
3
) 1 (
1
c c +
0
2
) 2 (
1
) 2 (
0
) c c ( 4 100
010 2 c
2
c
2
+c
6
(
) 1 (
2
) 1 (
0
c c )
0
4

) 2 (
3
) 2 (
2
c c + 2 010
011 3 c
3
c
3
+c
7
(
) 1 (
3
) 1 (
1
c c )
1
4

0
2
) 2 (
3
) 2 (
2
) c c ( 6 110
100 4 c
4
(c
0
-c
4
)
0
8

) 1 (
6
) 1 (
4
c c +
) 2 (
5
) 2 (
4
c c + 1 001
101 5 c
5
(c
1
-c
5
)
1
8

) 1 (
7
) 1 (
5
c c +
0
2
) 2 (
5
) 2 (
4
) c c ( 5 101
110 6 c
6
(c
2
-c
6
)
2
8
(
) 1 (
6
) 1 (
4
c c )
0
4

) 2 (
7
) 2 (
6
c c + 3 011
111 7 c
7
(c
3
-c
7
)
3
8
(
) 1 (
7
) 1 (
5
c c )
1
4

0
2
) 2 (
7
) 2 (
6
) c c ( 7 111


In der sechsten Spalte stehen die gesuchten Werte t
N
(x
j
).


Es sei nun wieder

x
j
= 2 N / j fr j = 0,1, , N-1,
dann heit
t
N
(x
j
) =

=
+ +
N
1 k
j k j k
0
) kx sin( b ) kx cos( a
2
a

diskretes Fourierpolynom.

Mit den Bezeichnungen (Siehe hierzu auch 9.4)

k k k
ib a = , c
0
= (1/2)a
0
+ a
N
, c
k
= (1/2)( )
k N k
+ k = 1,2, ,N-1 und

) N / i 2 exp(
N
=

hat das diskrete Fourierpolynom die quivalente Darstellung

=
=
1 N
0 k
k j
N k j N
) ( c ) x ( t j = 0,1,2, ,N-1.


Durch diese Umschreibung des diskreten Fourierpolynoms knnen auch dessen Werte
effizient mit Hilfe der FFT berechnet werden.


96
Als abschlieendes Beispiel soll das trigonometrische Polynom vom Grade 4

t
4
(x) = ) ) kx sin(
k
4
) kx cos(
k
4
(
3
4
4
1 k
2
2


an den Stellen
x
j
= 2 4 / j fr j = 0,1,2,3

ausgewertet werden.
Die Koeffizienten des zugehrigen diskreten (komplexen) Fourierpolynoms

=
=
1 4
0 k
k j
k j 4
) ) 4 / i 2 (exp( c ) x ( t j = 0,1,2,3
ergeben sich aus

k k k
ib a = , c
0
= (1/2)a
0
+ a
4
, c
k
= (1/2)( )
k 4 k
+ k = 1,2,3

und knnen aus der folgenden Tabelle entnommen werden.


k 0 1 2 3 4
a
k 8
2
/3 4 1 4/9 1/4
b
k
- -4 -2 -4/3
k
- 4+i4 1+i2 4/9+i4/3
c
k
4
2
/3+1/4 20/9+i4/3 1 20/9-i4/3


Die FFT liefert damit


k c
k
) 1 (
k
c
) 2 (
k
c j
0 = 00
2 4
2
/3+1/4
c
0
+c
2
4
2
/3+5/4
) 1 (
1
) 1 (
0
c c +
4
2
/3+205/36
0 = 00
2
1 = 01
2
20/9+i4/3
c
1
+c
3
40/9
) 1 (
1
) 1 (
0
c c
4
2
/3-115/36
2 = 10
2
2 = 10
2
1
c
0
-c
2
4
2
/3-3/4
) 1 (
3
) 1 (
2
c c +
4
2
/3-8/3-3/4
1 = 01
2
3 = 11
2
20/9-i4/3
(c
1
-c
3
)i
-8/3
) 1 (
3
) 1 (
2
c c
4
2
/3+8/3-3/4
3 = 11
2


9.3 Trigonometrische Interpolation und die IFFT

Wir betrachten die komplexen trigonometrischen Polynome vom Hchstgrad N-1

=

1 N
0 k
k k
c ) ikx exp( c C.

Gegeben seien N Paare von Punkten (x
j
,
j
) mit
97

x
j
= 2 N / j und
j
C fr j = 0,1,2, . ,N-1.


Die (komplexe) trigonometrische Interpolationsaufgabe besteht dann darin, komplexe Zahlen

c
0
, c
1
, c
2
, . , c
N


zu finden mit der Eigenschaft

=
=
1 N
0 k
j k j
), ikx exp( c j = 0,1,2, ,N-1.

Die Bestimmung dieses Interpolationspolynoms wrde mit dem Schema der dividierten
Differenzen N Divisionen erfordern.

Erfreulicherweise kann aber die Lsung der Interpolationsaufgabe explizit angegeben
werden.

Es gilt der

Satz
Die trigonometrische Interpolationsaufgabe besitzt eine eindeutig bestimmte Lsung.
Die Koeffizienten c
j
sind gegeben durch

c
j
=

=

1 N
0 k
j k
) ikx exp(
N
1
, j = 0,1,2, ,N-1.



Bemerkungen
Die gesuchten Koeffizienten c
j
der Interpolationsaufgabe ergeben sich offenbar durch einen
Austausch mit
j
, einen Vorzeichenwechsel in den Exponenten (!) und eine Multiplikation
mit 1/N.
Sieht man einmal von dem Vorzeichenwechsel in der Exponentialfunktion ab, dann liegt
wieder die Aufgabe vor, ein diskretes Fourierpolynom auszuwerten.
Es zeigt sich, dass dieses Polynom an den vorgegebenen Stellen auch mit N*n Multiplika-
tionen ausgewertet werden kann. Dieses leistet die Inverse-Diskrete-Fast-Fourier-Transfor-
mation (IFFT). Nicht berraschend ist sicherlich, dass die IFFT aus einer leichten
Abwandlung der FFT abgeleitet werden kann:

Die Inverse IFFT entsteht aus der FFT durch folgende nderungen

d
k
d
k
=
k
N k M k
) c c (

+
(Beachte den negativen Exponenten)
Multiplikation der Koeffizienten mit 1/N


Es muss jetzt noch der Zusammenhang zwischen dieser (komplexen) Interpolationsaufgabe
und einer Interpolationsaufgabe mit (reellen) trigonometrischen Polynomen hergestellt
werden.

Gegeben seien N = 2m+1 Paare reeller Zahlen (x
j
,t
j
), j = 0,1, , N-1, mit x
j
= 2 N / j .
98


Gesucht ist dann ein trigonometrisches Polynom

t
m
(x) =

=
+ +
m
1 k
k k
0
) kx sin( b ) kx cos( a
2
a


von mglichst geringem Grade mit der Eigenschaft

t(x
j
) = t
j
fr j = 0,1,2,3, , N-1.


Den gesuchten Zusammenhang liefert der

Satz
Zu gegebenen (x
j
,t
j
), j = 0,1, , N-1, mit t
j
reell und x
j
= 2 N / j seien

c
j
=
2
ib a
j j

,
j = 0,1,2,3, .N-1

die Koeffizienten des zugehrigen (komplexen) trigonometrischen Interpolationspolynoms.
Dann ist
a
j
=

=
1 N
0 k
j k
) kx cos( t
N
2
und b
j
=

=
1 N
0 k
j k
) kx sin( t
N
2
.

und fr ungerades N = 2m+1 erfllt das Polynom

t(x) =

=
+ +
m
1 k
k k
0
) kx sin( b ) kx cos( a
2
a


die Interpolationsbedingungen

t(x
j
) = t
j
, j = 0,1,2, ,N-1.


Bemerkung
Einer Interpolationsaufgabe mit reellen trigonometrischen Polynomen wird offenbar (und
zweckmig) eine Interpolationsaufgabe mit komplexen trigonometrischen Polynomen
vorangestellt. Diese (komplexe) Interpolationsaufgabe wird mittels IFFT gelst und ergibt
schlielich das passende reelle Interpolationspolynom.




9.4 Was macht MATLAB?

Zu einem vorgegebenen Vektor aus C
N


f = ( f(0), f(1), f(2) , , f(N-1))



99

heit
F(j) = )
N
kj 2
i exp( ) k ( f
1 N
0 k

j = 0,1,2, ,N-1

diskrete Fouriertransformation von f

f F.

Der MATLAB Aufruf fft(f) wertet das Polynom

T
N
(x) = ) ikx exp( ) k ( f
1 N
0 k

=


an den Stellen x
j
= N / j 2 , j = 0,1,2, , N-1 aus, d.h. es bestimmt die diskrete
Fouriertransformation von f.

Soll ein trigonometrisches Polynom

t
N
(x) =

=
+ +
N
1 k
k k
0
) kx sin( b ) kx cos( a
2
a


an den Stellen x
j
= N / j 2 , j = 0,1,2, , N-1 berechnet werden, dann mssen den
Koeffizienten a
j
, b
j
entsprechende Koeffizienten f(j) zugewiesen werden.
Mit
k k k
ib a + =
ergibt sich der Vektor f durch
f(0) =
N
0
a
2
a
+
und
f(k) =
2
k N k
+
k = 1,2, ,N-1.

Letzteres zeigen die folgenden Gleichungen

T
N
(x
j
) =

=
+ +
N
1 k
j k j k
0
) kx sin( b ) kx cos( a
2
a


= )) ikx exp( Re(
2
a
N
1 k
j k
0

=
+

= ) ikx exp( Re
2
a
N
1 k
j k
0

=
+
= )} ikx exp( ) ikx exp( {
2
1
2
a
N
1 k
j k j
N
1 k
k
0

= =
+ + .

Zusammen mit der Identitt exp(-iNx
j
) = 1 ergibt sich

100
T
N
(x
j
) = )} ikx exp( ) iNx exp( ) ikx exp( {
2
1
2
a
j
N
1 k
k j j
N
1 k
k
0

= =
+ +


= )} x ) j N ( i exp( ) ikx exp( {
2
1
2
a
j
N
1 k
k j
N
1 k
k
0
+ +

= =


und damit
t
N
(x
j
) = T
N
(x
j
) = ) ikx exp( ) k ( f
1 N
0 k
j

=
fr j = 0,1,2, ,N-1

Durch den Vektor f liefert fft(f) die gewnschten Werte t
N
(x
j
) . Ist N =2
n
, dann berechnet
fft die Werte nach der Methode FFT. Ansonsten durch verwandte Methoden.

Fr die Inverse IFFT (ifft) gilt hnliches und es soll hier lediglich auf das Help Men von
MATLAB verwiesen werden.


















101

bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(21.12.05)



Aufgabe 9.1
Berechnen Sie mit Hilfe der zusammengesetzten Trapezregel (Schrittweite 1/N, N = (2*n+1))
eine Approximation des n-ten Abschnittes der Fourierreihen von

f
1
(t) =

+

) / t ( 2
/ t

<
<
2 t
t 0


f
2
(t) = | sin(t) |

f
3
(t) = cos
2
(t)

Ermitteln Sie die Werte der Abschnitte der Fourierreihen an den N Stellen x
j
= 2j/N,
j = 0,1,2, ,N-1 und vergleichen Sie die Werte mit den zugehrigen Werten von f
i
.
Ermitteln Sie die Werte der Abschnitte der Fourierreihen an den k*N Stellen x
j
= 2j/kN,
j = 0,1,2, ,kN-1 und vergleichen Sie das Resultat mit den zugehrigen Funktionen f
i
.
Whlen Sie k = 2,3,
Beobachten Sie insbesondere das Fehlerverhalten. Was beobachten Sie an den Stellen mit
mangelhafter Regularitt?

Aufgabe 9.2
Berechnen Sie mit der FFT so viele Werte des trigonometrischen Polynoms

f
1
(t) = (2/ )( sin(t) (1/2)sin2t + (1/3)sin3t - + ),
f
4
(t) = (8/
2
)( sin(t) (1/3
2
)sin3t + (1/5
2
)sin5t - + ),
f
5
(t) = 1/ + (1/2)sint (2/ )( (1/1*3)cos2t +(1/3*5)cos4t + + ),

bis die Form der Funktion f klar durch diese Werte wiedergegeben wird.

Aufgabe 9.3
Bestimmen Sie mit Hilfe der FFT approximativ den Betrag | F(p) | = | (1+p)/((p+1)
2
+2
2
) | der
Fouriertransformierten von e
-t
cos2t. Vergleichen Sie das Resultat mit der exakten Lsung.
Was beobachten Sie fr hohe Frequenzen und welche Konsequenz ziehen sie daraus?


Wir wnschen Ihnen eine gute Weihnachtszeit
und alles Gute fr das neue Jahr!

R. Drbecker, C. Zimmermann, S. Heitmann, K. Taubert

Lsungen zur bung 9
Konstruktion und Analyse von Algorithmen
WS 05/06
(21.12.05)

K. Taubert

Aufgabe 9.1

clear all
n =128 % ndern Sie auch n (Potenz von 2)
N= 2*n+1
t = linspace(0,2*pi,N)
a0 = trapz(t,saegezahn(t));
for j = 1:N
a(j) = (1/(pi))*trapz(t,saegezahn(t).*cos(j*t));
b(j) = (1/(pi))*trapz(t,saegezahn(t).*sin(j*t));
end
ft = a0/(2*pi);
t = linspace(0,2*pi,N); %Beobachten Sie das Verhalten mit zunehmenden Faktor 1,2,3 vor N
for j = 1:n
ft = ft + a(j)*cos(j*t)+b(j)*sin(j*t);
end
subplot(3,1,2)
plot(t,ft)
subplot(3,1,1)
plot(t,saegezahn(t))
subplot(3,1,3)
plot(t,saegezahn(t)-ft)

function f = saegezahn(t)
n = size(t,2);
for i = 1:n
if t(i)<pi
u(i) =t(i)/pi;
end
if t(i)==pi
u(i)=0;
end
if t(i)>pi
u(i) = -2+t(i)/pi;
end
end
f=u;





Auswertung mit N Stellen Auswertung mit 3*N Stellen (Gibbs)



funktion f
2
= | sint | (n = 64)

Setzen Sie fr saegezahn die Funktion abs(sin(t)) ein.



funktion f
3
= cos
2
(t) (n = 64)

Setzen Sie fr abs(sint) jetzt cos(t).*cos(t) ein









Aufgabe 9.2

%Beachten Sie die Verschiebung der Indizes
%MATLAB zhlt erst ab 1
clear all
N = 64;
p = 0;
b = zeros(1,N+1);
a = zeros(1,N+1);
%-------------------------------------------------------------------
%for i=2:1:N+1 %Fall mit Funktion f(1)
% p = p+1
% b(i) = (2/pi)*((-1)^p)*(1/(i-1));
%end %Ende Funktion f(1)
%-------------------------------------------------------------------
%p = 1 %Fall mit Funktion f(4)
%for i=2:2:N+1
% p = p+1;
% b(i) = ((-1)^p)*(8/pi^2)*(1/(i-1)^2);
%end %Ende Funktion f(4)
%-------------------------------------------------------------------
for i=3:2:N+1 %Fall mit Funktion f(5)
a(i) = -2/(pi*((i-1)^2-1));
end
a(1) = 1/pi;
b(2) =1/2;
for k = 2:N
gamma(k) = a(k)+j*b(k);
end % Ende Funktion f(5)
%-------------------------------------------------------------------
f(1) = a(1)/2 +a(N+1); % Fall f(1) oder f(4) oder f(5)
for k= 2:N
f(k)= (1/2)*(gamma(k)+conj(gamma((N+2)-k)));
end
F = fft(f);
F(N+1) = F(1);
x = linspace(0,2*pi,N+1);
plot(x,F)















Der Fall f
1
mit N=64 Der Fall f
4
mit N = 64



Der Fall f
5
mit N=64




Im ersten und im dritten Fall werden die Funktionen nicht korrekt wiedergegeben(!)


Aufgabe 9.3

clear all
N =128;
t = linspace (0,5,N);
f = exp(-t).*cos(2*t)
Zi = t(2)-t(1) %Zeitspanne
Ws = 2*pi/Zi
subplot(3,1,1)
plot(t,f)
xlabel('Zeitfunktion')
F=fft(f)*Zi
W = Ws*(0:N-1)/N





subplot(3,1,2)
plot(W,abs(F))
xlabel('Betrag vom Frequenzverhalten')
Fa = (1+j*W)./((1+j*W).^2+4);
subplot(3,1,3)
plot(W,abs(F)-abs(Fa))
xlabel('Fehler Einheit=Rad/s')




102


Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert











10.1 Das eindimensionale Newton-Verfahren

Hufig besteht Interesse an den Nullstellen in D einer gegebenen Funktion

F : DR
n
R
n
.

Gesucht sind dann x*D mit der Eigenschaft F(x*) = 0.
Ist F eine reellwertige Funktion

F : (a,b) R R


mit 0 ) x ( F in (a,b), dann wurde bereits frher vorgeschlagen, diese Nullstellen mit dem
Newton-Verfahren zu ermitteln.
Ist eine Nherung x
k
fr die Nullstelle von F gegeben, dann liefert das Newton-Verfahren eine
neue Nherung x
k+1
durch die folgende Konstruktion:
Die Funktion F wird zunchst durch eine lineare Funktion (Gerade) ersetzt, die an der Stelle
x
k
den Wert F(x
k
) hat und deren Steigung mit der Ableitung ) x ( F
k
bereinstimmt. Diese
Gerade ist

y F(x
k
) = ) x ( F
k
( x x
k
).

Als neue Nherung x
k+1
fr die Nullstelle von F wird dann die Nullstelle dieser Geraden
gewhlt. Diese Nherung ist gegeben durch

x
k+1
= x
k

) x ( F
) x ( F
k
k

. (*)

Ist F stetig differenzierbar und liefert das Verfahren eine gegen die Nullstelle konvergente
Folge (x
k
), dann hat diese die Ordnung 2.



10
Nichtlineare Nullstellenprobleme
Das Newton-Verfahren
103
Fr das einfache Beispiel

F : (0, ) R R


mit F(x) = x -2 liefert (*) die Vorschrift

x
k+1
= (1/2)(x
k
-2/x
k
),

welche fr jedes x
0
> 0 eine gegen 2 konvergente Folge liefert.

Das Beispiel
F : R R


mit F(x) = sign(x) | x | , mit der einzigen Nullstelle x* = 0, zeigt aber auch, dass das Newton-
Verfahren nicht fr alle Startwerte x
0
konvergieren muss. Es knnen Zyklen entstehen oder
sogar Divergenz vorliegen. (Fertigen Sie eine entsprechende Zeichnung an, die dieses zeigt.)

Der folgende Satz zeigt, dass im eindimensionalen Fall sogar eine einfache Abschtzung fr
eine Nullstelle angegeben werden kann.

Satz
Es sei F eine stetig differenzierbare Abbildung

F : [x
k
- ,x
k
+ ] R R, >0


mit 0 ) x ( F und F(x
k
- )F(x
k
+ ) < 0. Dann besitzt F genau eine Nullstelle im Intervall
[x
k
- ,x
k
+ ] und es gilt

| x
k
x*| < 2 .

Die folgende Zeichnung veranschaulicht den Beweis des Satzes


In diesem Paragraph soll das Newton-Verfahren in einer umfassenderen Form behandelt
werden. Dazu gehren

der mehrdimensionale Fall,
der Verzicht auf die stetige Differenzierbarkeit von F,
das Newton-Verfahren fr Parameter abhngige Aufgaben.


Natrlich muss auch eine umfassendere Definition fr die Ordnung eines Verfahrens oder die
Konvergenzgeschwindigkeit einer Folge eingefhrt werden.



x
k
+
x
k
-
F(x
k
- )
F(x
k+
)
X*
104
10.2 Das Newton-Verfahren in mehreren Dimensionen

Es sei D eine offene Teilmenge aus R
n
und F eine differenzierbare Abbildung

F : DR
n
R
n

x =
|
|
|
.
|

\
|
n
1
x
x
M F(x) =
|
|
|
.
|

\
|
) x ( F
) x ( F
n
1
M .

Es ist vielleicht zweckmig, noch einmal an die Jacobi- oder Funktionalmatrix von F zu
erinnern. Fr eine differenzierbare Funktion F heit DF(x)

DF(x) = DF(x
1
,x
2
, ,x
n
) = F
x
(x) =
|
|
|
|
|
.
|

\
|

n
n
1
n
n
1
1
1
x
) x ( F
x
) x ( F
x
) x ( F
x
) x ( F
L
M O M
L


Jacobi- oder Funktionalmatrix von F an der Stelle x.
Fr eine differenzierbare Funktion F kann der folgende Darstellungssatz (Taylor) angegeben
werden

Satz 10.1
Es sei F eine differenzierbare Funktion auf einer offenen Menge DR
n


F : DR
n
R
n
.
Dann gilt fr alle x, x
0
D und fr beliebige Normen || . ||

F(x) = F(x
0
) + DF(x
0
)(x-x
0
) + o(|| x-x
0
||).

Dabei steht o(||x-y||) fr eine Funktion ) y , x ( mit den Eigenschaften
0 ) x , x ( = und 0
|| y x ||
) y , x (
lim
0 || y x ||
=


.

Bemerkung
Durch obigen Satz wird nahe gelegt, F in einer Umgebung von x
0
durch die lineare Funktion

F(x
0
) + DF(x
0
)(x-x
0
) F(x)

zu approximieren. Man spricht auch von einer Linearisierung von F an der Stelle x
0
.

hnlich wie im eindimensionalen Fall hat das allgemeine Newton-Verfahren dann die Form

x
k+1
= x
k
(DF)
-1
(x
k
)F(x
k
).

Zur Durchfhrung des Verfahrens berechnet man aber nicht etwa in jedem Schritt die Inverse
DF
-1
(x
k
), sondern die Newton-Korrektur
k 1 k
x x x =
+
als Lsung des Gleichungssystems



105
DF(x
k
) x = - F(x
k
)
und anschlieend
x
k+1
= x
k
+ x .


Definition (Konvergenzgeschwindigkeit, Ordnung)
Sei (x
k
) eine konvergente Folge aus R
n
mit dem Grenzwert x*. Die Folge heit linear
konvergent, wenn es ein c, 0c<1 gibt mit

|| x
k+1
x*|| c|| x
k
x* || fr alle k.

Die Folge heit superlinear konvergent, wenn es eine nichtnegative Nullfolge (c
k
) gibt mit

|| x
k+1
x*|| c
k
|| x
k
x* || fr alle k.

Die Folge heit konvergent von der Ordnung q >1, wenn es ein c 0 gibt mit

|| x
k+1
x*|| c
k
|| x
k
x* ||
q
fr alle k.

(Im Falle q = 2 spricht man von quadratischer Konvergenz).


Der nachfolgende Satz liefert eine Konvergenzaussage fr das Newton-Verfahren und wurde
aus dem Buch von Numerische Mathematik von Deuflhard und Hohmann entnommen. Die
dort gemachten Voraussetzungen gestatten einen besonders durchsichtigen Beweis unter
schwachen Voraussetzungen. Die Beweistechnik hat auerdem den Vorzug, dass Sie spter
unter noch schwcheren Bedingungen auch zum Erfolg fhren wird (10.3).

Satz 10.2
Es sei D eine offene und konvexe Teilmenge aus R
n
und F : D R
n
R
n
eine stetig
differenzierbare Funktion. Es sei x*D eine Nullstelle von F. DF(x) sei regulr fr alle
xD und genge mit einem L > 0 der Lipschitzbedingung

|| (DF)
-1
(x)(DF(y) DF(x)) || L || y x ||

fr alle x,yD.
Dann gilt: Fr jedes x
0
D mit

|| x
0
x* || = r < 2/L und K
r
(x*) = { xR
n
/ || x x* || r } D

ist die Newton-Folge wohldefiniert und x
k
K
r
(x*). Die Newton-Folge konvergiert
quadratisch gegen x*. Auerdem ist x* die einzige Nullstelle von F in K
r
(x*).

Beweis:
Betrachte die Hilfsfunktion
: [0,1] R
n


mit (t) = (DF)
-1
(x)F(x+t(y-x)).

Die Funktion ist wohldefiniert, denn wegen der Konvexitt von D ist mit x,y D auch
x+t(y-x) D fr alle t[0,1].





106
Fr die (rechtseitigen) Ableitungen gilt

) t ( = (DF)
-1
(x)DF(x+t(y-x))(y-x)
und damit die Abschtzung

|| = || ) 0 ( ) t ( || (DF)
-1
(x)(DF(x+t(y-x))-DF(x))(y-x) ||
|| (DF)
-1
(x)(DF(x+t(y-x))-DF(x)) || || y-x ||
L || x + t(y-x)-x || || y-x ||
= Lt || y-x ||
2
.

Auerdem gilt

|| (DF)
-1
(x)(F(y) F(x) DF(x)(y-x)) || = || || ) 0 ( ) 0 ( ) 1 (
= ||


1
0
|| ) 0 ( dt ) t ( = ||


1
0
|| dt )) 0 ( ) t ( (



1
0
dt || )) 0 ( ) t ( ( || dt || x y || Lt
1
0
2

=
2
|| x y ||
2
L
.

Aus der folgenden Gleichung

x
k+1
x* = x
k
- (DF)
-1
(x
k
)F(x
k
) - x* = (DF)
-1
(x
k
)( -F(x
k
) + F(x*)) + x
k
- x*

= - (DF)
-1
(x
k
)( F(x
k
) - F(x*) - (DF)(x
k
)(x
k
-x*))

folgt dann die Abschtzung

|| x
k+1
x* ||
2
L
|| x
k
x* ||
2
= (
2
L
|| x
k
x* ||)|| x
k
x* ||.

Nach Voraussetzung ist || x
0
-x* || = r <
L
2
und aus der letzten Abschtzung folgt dann
|| x
k+1
x* || < || x
k
x* ||
und damit auch x
k+1
K
r
(x*).

Es muss nun nur noch die Konvergenz der Folge (x
k
) gegen x* gezeigt werden:
Die Folge ( )
k
mit
k
= || x
k
x* || ist streng monoton fallend und hat deshalb einen
Grenzwert . 0 Wegen
2
k 1 k
2
L

+
gilt
2
2
L
.
Wre nun > 0, dann wre 1
2
L
. Dieses kann aber nicht sein, denn ( )
k
ist monoton
fallend und nach Voraussetzung ist
0
<
L
2
.


Bemerkungen
Es stellt sich die Frage ob die im Satz gemachten Voraussetzungen einschrnkend sind.
Die Antwort ist nein.
Ist die Funktionalmatrix von F an der Stelle x* nichtsingulr und stetig differenzierbar in D,
dann besagt der Satz, dass fr jedes x
0
in einer hinreichenden kleinen Umgebung von x*
quadratische Konvergenz des Newton-Verfahrens vorliegt. Die Umgebung kann allerdings
sehr klein sein und sie wird durch die i.a. schwer zu bestimmende Zahl L festgelegt.


107
Die blichen Beweise erfordern regelhaft nicht nur die stetige Differenzierbarkeit von F,
sondern sogar hhere Differenzierbarkeitseigenschaften.


10.3 Das semiglatte Newton-Verfahren

Die Funktion
F : ) , ( R

F(x) =

> +
0 x fr x 2
0 x fr x x


mit der einzigen Nullstelle x* = 0 ist ein Beispiel dafr, dass das Newton-Verfahren fr alle
x
0
0 konvergieren wird, obwohl die Funktion F nicht stetig differenzierbar ist. Dieses ist
eine ntzliche Feststellung, keine besondere Ausnahme und Gegenstand vieler Untersuchun-
gen in den vergangenen Jahren gewesen.
Das Resultat dieses Abschnittes ist schnell angegeben, erfordert allerdings die Einfhrung
einiger Begriffe:
Auch wenn F nur lokal Lipschitzstetig und Richtungsdifferenzierbar ist, liegt lokale
Konvergenz eines Verallgemeinerten Newton-Verfahrens vor. Die Konvergenz-
geschwindigkeit ist i.a. nicht mehr quadratisch sondern nur superlinear.


Definition (Verallgemeinerte Ableitung nach Clarke)
Gegeben sei eine lokal Lipschitzstetige Funktion

F : DR
n
R
n

auf einer offenen Teilmenge DR
n
.
Fr xD sei

B
F(x) = { M / MR
nxn
, (x
k
) D mit x
k
x und DF(x
k
) M}.

Die konvexe abgeschlossene Hlle von
B
F(x)

) x ( F = con{
B
F(x)}

heit verallgemeinerte Ableitung (nach Clarke) von F an der Stelle x.


Beispiel
Die verallgemeinerte Ableitung von F(x) an der Stelle x = 0 ist die Menge der Punkte aus dem
abgeschlossenen Intervall [1,2].

Beispiele fr nicht stetig differenzierbare Funktionen mit verallgemeinerten Ableitungen
sind lokal lipschitzstetige Funktionen die konvex oder stckweise stetig differenzierbar sind.

Mit den verallgemeinerten Ableitungen von F kann nun eine Verallgemeinerung des Newton-
Verfahrens eingefhrt werden:




108

hnlich wie im mehrdimensionalen Fall hat das verallgemeinerte Newton-Verfahren die
Form

x
k+1
= x
k
(V
k
)
-1
F(x
k
), V
k
F(x
k
)

Zur Durchfhrung des Verfahrens berechnet man auch hier nicht etwa in jedem Schritt die
Inverse von (V
k
)
-1
,

sondern die Newton-Korrektur
k 1 k
x x x =
+
als Lsung des
Gleichungssystems

(V
k
) x = - F(x
k
)
und anschlieend
x
k+1
= x
k
+ x .



Definition
Eine in xD lokal lipschitzstetige Funktion

F : DR
n
R
n

heit semiglatt in x, wenn F richtungsdifferenzierbar in x ist, d.h.

) s x ( F M
Max
+
|| F(x+s) - F(x) - Ms || = o(|| s ||) fr alle s 0.

Bemerkung
Eine Analyse des Beweises von Satz 10.1 zeigt, dass es fr eine lokale quasilineare
Konvergenz des Newton-Verfahrens lediglich auf

|| (DF)
-1
(x)(F(y) F(x) DF(x)(y-x)) || = o(|| y- x ||)

ankommt.
Ist also F semiglatt ( y = x+s, s = y-x , DF(x) = M) und kann die gleichmige Beschrnkt-
heit der Inversen von F in einer Umgebung von x* gewhrleistet werden, dann sind die
Aussichten fr ein quasilinear konvergentes verallgemeinertes Newton-Verfahren gut.


Satz 10.3
Es sei D eine offene Teilmenge aus R
n
, F : D R
n
R
n
und x*D eine Nullstelle von F.
F sei lipschitzstetig in einer Umgebung von x* und semiglatt in x*. Alle V *) x ( F seien
regulr.
Dann gibt es eine Umgebung von x*, so dass das verallgemeinerte Newton-Verfahren fr alle
x
0
aus dieser Umgebung die Lsung x* liefert.

Beweis
Fr den Beweis des Satzes wird nur noch die gleichmige Beschrnktheit der Inversen von
V ) x ( F in einer Umgebung von x* bentigt. Ist F Lipschitzstetig in einer Umgebung von
x* und alle V *) x ( F regulr, dann existieren in einer Umgebung von x* auch die Inversen
von V ) x ( F und diese sind gleichmig beschrnkt.




109
Bemerkung
Man beachte, dass der Satz 10.2 die offensichtliche Konvergenz des Newton-Verfahrens bei
der Funktion F(x) = x nicht liefert. Der Satz 10.3 liefert auch nicht die Konvergenz des
verallgemeinerten Newton-Verfahrens bei F(x) = | x | . Die Konvergenzaussagen fr diese
Grenzflle knnen aber schnell selber erarbeitet werden oder aus der Literatur entnommen
werden.

Bemerkung
Der Satz 10.3 findet alltgliche Anwendung in der VLSI-Simulation und bei den
Variationsungleichungen (14).


10.4 Parameterabhngige nichtlineare Gleichungssysteme
Pfadverfolgung

Oft sucht man nicht nur die Lsung eines nichtlinearen Gleichungssystems F(x) = 0, sondern
die Lsungen einer ganzen Schar von Gleichungssystemen

F(x, ) = 0.

Der folgende Satz (ber implizite Funktionen) liefert eine erste Aussage ber die Lsungen
dieser Gleichungen.


Satz ber implizite Funktionen
Es sei D eine offene Teilmenge aus R
n+1
und F : D R
n+1
R
n
eine stetig differenzierbare
Funktion. Es sei ferner F
x
(x, ) regulr fr alle (x, )D und F(x
0
,
0
) = 0.
Dann gibt es genau eine, fr alle aus einer Umgebung von
0
, definierte Funktion ) ( x
mit den Eigenschaften
0 0
x ) ( x = , (x( ), ) D und F( ) ( x , ) = 0. Die Funktion
) ( x ist stetig differenzierbar.


Das berschaubare Beispiel

F(x, ) = x(x-x- ) = 0, [-1,1],

zeigt, dass mit dem Satz ber implizite Funktionen keineswegs alle Mglichkeiten
ausgeschpft werden. Die Gleichung wird gelst durch die triviale Lsung x = 0 und der
kubischen Parabel x-x =. An drei Punkten sind jedoch die Voraussetzungen des Satzes
ber implizite Funktionen nicht erfllt. Fr weitergehende Aussagen verweisen wir auf die
Verzweigungstheorie.



110
Fr die Berechnung einer Lsungskurve ) ( x mit F( ) ( x , ) = 0 haben sich das Newton-
Verfahren und die Pfadverfolgung als grundlegend erwiesen.

Wir betrachten hier zwei Arten von Pfadverfolgungen:

die klassische Pfadverfolgung,
die tangentiale Pfadverfolgung.

Man beginnt zunchst damit, bei festem
0
, eine Lsung des nichtlinearen Gleichungsystems

F(x,
0
) = 0

mit Hilfe des Newton-Verfahrens zu berechnen. Konvergiert das Newton-Verfahren, dann hat
man eine zugehrige Lsung x
0
. Variiert man nun den Parameter um ein kleines , so
kann man davon ausgehen, das die gesuchte Lsung nicht wesentlich von x
0
abweicht.

Die klassische Pfadverfolgung verwendet als Startwert fr das nchste Newton Verfahren
zum Parameter
0
+ den Lsungsvektor x
0
.
Die tangentiale Fortsetzungsmethode hingegen whlt einen anderen, gnstigeren Startwert.
Wie der Name schon sagt, wandert man bei der tangentialen Fortsetzungsmethode nicht wie
beim klassischen Verfahren nur auf der -Achse ein Stck weiter, sondern entlang der
Tangente an die Lsungskurve im Punkt (x
0
,
0
).
Als Startwert whlt man in diesen Fall folglich x = x
0
+ ) ( x
0
. Das gesuchte ) ( x
0

ergibt sich aus der Differentiation der Gleichung

F(x( +
0
),
0
+ )) = 0
nach an der Stelle =0.
Dies ist ein lineares Gleichungssystem

F
x
(x
0
,
0
) ) ( x
0
=

F (x
0
,
0
)

fr das gesuchte ) ( x
0
.

Bemerkung
Unter geeigneten Voraussetzungen liegt bei der klassischen Pfadverfolgung eine lineare
Approximation der Lsungskurve vor. Bei der tangentialen Pfadverfolgung eine Approxima-
tion der Ordnung 2.
Unerfreulich bei den Pfadverfolgungen kann ein berspringen in einen anderen
Lsungszweig sein.





111

bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(11.01.06)


Aufgabe 10.1
Die Simulation eines Nand-Gatters in der DTL-Technologie mit dem Ebers-Moll Modell
und einer Versorgungsspannung von 24 Volt fhrt auf die Gleichungen

f
1
(x
1
,x
2
,x
3
,e
1
,e
2
) = 0
f
2
(x
1
,x
2
,x
3
,e
1
,e
2
) = 0
f
3
(x
1
,x
2
,x
3
,e
1
,e
2
) = 0

mit den Eingangsspannungen 0e
1
,e
2
12 in Volt, der Ausgangsspannung 0x
3
12 und den
internen Spannungen x
1
,x
2
. Dabei ist

f
1
= (12-x
1
)/R
0
+(x
2
-x
1
)/R
1
-f
D
(x
1
-e
1
)-f
D
(x
1
-e
2
)
f
2
= -(x
2
-x
1
)/R
1
+(-12-x
2
)/R
2
-((1-
F F
/ ) )f
D
(x
2
-0)-((1-
R R
/ ) )f
D
(x
2
-x
1
)
f
3
= (12-x
3
)/R
C
- f
D
(x
2
-0)-f
D
(x
2
-x
3
)/
R

.
und f
D
( )
1 2
= I
S
(exp(
T 1 2
U / ) -1).
Nach seiner Funktionalitt muss das NAND-Gatter fr e
1
=e
2
= 0 Volt einen Wert x
3

annehmen der in der Nachbarschaft von 12 Volt liegt.
Finden Sie die entsprechende Lsung des nichtlinearen Gleichungssystems.
Die noch nicht festgelegten Parameter haben die Werte R
0
= 1000 , R
C
= 1000,
R
1
= 18000, R
2
= 200000, Is = 10^(-12) A und U
T
= 1/40 V,
R
= 0.5 und
F
=0.99.

Tipp:
Sie werden schnell merken, dass die Aufgabe nicht ganz trivial ist. Die verschiedenen
Grenordnungen der Parameter verursachen erhebliche Schwierigkeiten. Mit der Wahl
U
T
=1 und I
S
= 10^(-3) kann jedoch schnell eine Lsung des entsprechenden nichtlinearen
Gleichungssystems gefunden werden. Ausgehend von dieser Nherung knnen dann
sukzessive Lsungen (Einbettung) fr U
T
1/40 und I
S
10^(-12) berechnet und
schlielich die geforderte Lsung bestimmt werden.

Aufgabe 10.2
Mit den Eingangsspannungen 0e
1=
e
2
12 (in Volt) entsteht ein Inverter. Fr alle
0e
1=
e
2
12 soll die zugehrige Ausgangsspannung 0x
3
12 ermittelt werden.
Berechnen Sie, ausgehend von der aus Aufgabe 10.1 bekannten Lsung fr e
1
= e
2
= 0, die
weiteren Lsungen fr 0e
1=
e
2
12 mit Hilfe der klassischen Fortsetzungsmethode.
Zeichnen Sie die Komponente x
3
der Lsungen in Abhngigkeit von e
1
auf. Geben Sie
gleichzeitig die Determinante und die Kondition der Funktionalmatrix an der Lsung in
Abhngigkeit von e
1
an.
Berechnen Sie die Lsung mit der tangentialen Fortsetzungsmethode und vergleichen Sie den
Aufwand.


112

Aufgabe 10.3
Das Lsungsverhalten der parameterabhngigen Aufgabe

x(x^3-x- ) = 0
fr -1 1 ist bekannt.
Fhren Sie eine klassische Pfadverfolgung fr eine Lsungskurve, die in einer Umgebung von
(-0.5, 0,25) anfngt, fr -.75 0.25 durch.
Fhren Sie eine klassische Pfadverfolgung fr eine Lsungskurve, die in der Umgebung von
(1,1) anfngt, fr -1 1 durch.
Beobachten Sie in beiden Fllen das falsche oder unerwartete Verhalten!

Lsungen zur bung 10
Konstruktion und Analyse von Algorithmen
WS 05/06
(11.01.06)

K. Taubert

Aufgabe 10.1
clear all
x(1) = Geben Sie einen Startwert fr das Newton Verfahren ein;
x(2) = Geben Sie einen Startwert fr das Newton Verfahren ein;
x(3) = Geben Sie einen Startwert fr das Newton Verfahren ein;
x = x';
R0 = 1000;
RC = 1000;
R1 = 18000;
R2 = 200000;
ar = 0.5;
af = 0.99;
e1 = 0;
e2 = e1;
IS = 10^(-3);
UT = 1;
%m = Geben Sie eine geeignete Anzahl von Schritten fr UT und IS ein,
% nachdem Sie eine Lsung fr UT = 1 und IS = 10^(-3) gefunden haben
%A = logspace(-3,-12,m) ;
%B = linspace(1,1/40,m);
%for j = 1:m
%IS = A(j);
%UT = B(j);
for k = 1:? % Legen Sie eine ausreichende Anzahl von Newton-Schritte fest
f = zeros(3,1);
f(1) = (12-x(1))/R0+(x(2)-x(1))/R1-IS*(exp((x(1)-e1)/UT)-1)-IS*(exp((x(1)-e2)/UT)-1);
f(2) = -(x(2)-x(1))/R1+(-12-x(2))/R2-((1-af)/af)*IS*(exp((x(2)-0)/UT)-1) ...
-((1-ar)/ar)*IS*(exp((x(2)-x(3))/UT)-1);
f(3) = (12-x(3))/RC-IS*(exp((x(2)-0)/UT)-1)+IS*(exp((x(2)-x(3))/UT)-1)/ar;
f
Df = zeros(3);
Df(1,1) =-1/R0-1/R1-(IS/UT)*exp((x(1)-e1)/UT)-(IS/UT)*exp((x(1)-e2)/UT);
Df(1,2) = 1/R1;
Df(1,3) = 0;
Df(2,1) = 1/R1;
Df(2,2) = -1/R1-1/R2-((1-af)/af)*(IS/UT)*exp((x(2)-0)/UT);
Df(2,3) = ((1-ar)/ar)*(IS/UT)*exp((x(2)-x(3))/UT);
Df(3,1) = 0;
Df(3,2) = -(IS/UT)*exp((x(2)-0)/UT)+(IS/UT)*exp((x(2)-x(3))/UT)/ar;
Df(3,3) = -1/RC - (IS/UT)*exp((x(2)-x(3))/UT)/ar;
x = x - inv(Df)*f
end
%end



Aufgabe 10.2
Klassische Fortsetzung Klassische Fortsetzung
(Schrittweite 0.01, 6 Newton Schritte) (Schrittweite 0.1, 2 Newton Schritte)
Gute Ergebnisse Schlechte Ergebnisse




Beachten Sie die starke lineare Abhngigkeit der Vektoren in der Funktionalmatrix und die
schlechte Kondition fr gewisse Eingangsdaten.

%Aufgabe 10.2. Klassische Fortsetzung
%Beachten Sie, dass das meiste vom Programm aus Aufgabe 10.1 bernommen werden kann
%Klassische Fortsetzung mit Schrittweite 0.01 und 6 Newton Schritte
%liefert akzeptable Ergebnisse.
%Klassische Fortsetzung mit der Schrittweite 0.1 (in Zeile 21 0.01 durch 0.1 ersetzen) und
%k = 2 (k =2 in Zeile 23) unakzeptable Ergebnisse.
clear all
x(1) = Geben Sie den richtigen Startwert ein;
x(2) = Geben Sie den richtigen Startwert ein;
x(3) = Geben Sie den richtigen Startwert ein;
x = x';
R0 = 1000;
RC = 1000;
R1 = 18000;
R2 = 200000;
ar = 0.5;
af = 0.99;
IS = 10^(-12);
UT = 1/40;
p = 1;
for e1 = 0:0.01:12
e2 =e1;
for k = 1:6
f = zeros(3,1);
f(1) = (12-x(1))/R0+(x(2)-x(1))/R1-IS*(exp((x(1)-e1)/UT)-1)-IS*(exp((x(1)-e2)/UT)-1);
f(2) = -(x(2)-x(1))/R1+(-12-x(2))/R2-((1-af)/af)*IS*(exp((x(2)-0)/UT)-1) ...
-((1-ar)/ar)*IS*(exp((x(2)-x(3))/UT)-1);
f(3) = (12-x(3))/RC-IS*(exp((x(2)-0)/UT)-1)+IS*(exp((x(2)-x(3))/UT)-1)/ar;
Df = zeros(3);
Df(1,1) =-1/R0-1/R1-(IS/UT)*exp((x(1)-e1)/UT)-(IS/UT)*exp((x(1)-e2)/UT);
Df(1,2) = 1/R1;
Df(1,3) = 0;
Df(2,1) = 1/R1;
Df(2,2) = -1/R1-1/R2-((1-af)/af)*(IS/UT)*exp((x(2)-0)/UT);
Df(2,3) = ((1-ar)/ar)*(IS/UT)*exp((x(2)-x(3))/UT);
Df(3,1) = 0;
Df(3,2) = -(IS/UT)*exp((x(2)-0)/UT)+(IS/UT)*exp((x(2)-x(3))/UT)/ar;
Df(3,3) = -1/RC - (IS/UT)*exp((x(2)-x(3))/UT)/ar;
x = x - inv(Df)*f;
end
z(p) = x(3);
e(p) = e1;
de(p) = det(Df);
d(p) = cond(Df);
p=p+1;
end
subplot(1,3,1)
plot(e,z)
subplot(1,3,2)
plot(e,d)
subplot(1,3,3)
plot(e,de)



Tangentiale Fortsezung
Schrittweite 0.1, 2 Newton Schritte
Gute Ergebnisse



Beachten Sie, dass das meiste vom vorangegangenen Programm bernommen werden kann.

%Aufgabe 10.2. Tangentiale Fortsetzung
%Tangentiale Fortzetzung mit Schrittweite 0.1 und zwei Newton Schritte
clear all
x(1) = Geben Sie den richtigen Startwert ein;
x(2) = Geben Sie den richtigen Startwert ein;
x(3) = Geben Sie den richtigen Startwert ein;
x = x';
R0 = 1000;
RC = 1000;
R1 = 18000;
R2 = 200000;
ar = 0.5;
af = 0.99;
IS = 10^(-12);
UT = 1/40;
p = 1;
deltae1 = 0.1;
for e1 = 0:deltae1:12
e2 =e1;
for k = 1:2
f = zeros(3,1);
f(1) = (12-x(1))/R0+(x(2)-x(1))/R1-IS*(exp((x(1)-e1)/UT)-1)-IS*(exp((x(1)-e2)/UT)-1);
f(2) = -(x(2)-x(1))/R1+(-12-x(2))/R2-((1-af)/af)*IS*(exp((x(2)-0)/UT)-1) ...
-((1-ar)/ar)*IS*(exp((x(2)-x(3))/UT)-1);
f(3) = (12-x(3))/RC-IS*(exp((x(2)-0)/UT)-1)+IS*(exp((x(2)-x(3))/UT)-1)/ar;
Df = zeros(3);
Df(1,1) =-1/R0-1/R1-(IS/UT)*exp((x(1)-e1)/UT)-(IS/UT)*exp((x(1)-e2)/UT);
Df(1,2) = 1/R1;
Df(1,3) = 0;
Df(2,1) = 1/R1;
Df(2,2) = -1/R1-1/R2-((1-af)/af)*(IS/UT)*exp((x(2)-0)/UT);
Df(2,3) = ((1-ar)/ar)*(IS/UT)*exp((x(2)-x(3))/UT);
Df(3,1) = 0;
Df(3,2) = -(IS/UT)*exp((x(2)-0)/UT)+(IS/UT)*exp((x(2)-x(3))/UT)/ar;
Df(3,3) = -1/RC - (IS/UT)*exp((x(2)-x(3))/UT)/ar;
if k == 1
Dfe1(1) = (IS/UT)*(exp((x(1)-e1)/UT))+(IS/UT)*(exp((x(1)-e2)/UT));
Dfe1(2) = 0;
Dfe1(3) = 0;
x = x + deltae1*(- inv(Df)*Dfe1');
end
x = x - inv(Df)*f;
end
z(p) = x(3);
p=p+1;
end
plot(z)


Aufgabe 10.3

clear all
x = -0.25;%1;
a0 = 0.25;%1;
for i = 1:100%200
a = a0 -(i-1)*0.01;
for k = 1:7
f = x*(x^3-x-a);
Df = 4*x^3-2*x-a;
x = x - f/Df;
end
z(i) = a;
y(i)=x;
end
plot(z,y)
axis([-1 1 -1.5 1.5])












113



Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert











Zu Matrixeigenwertaufgaben fhren klassische Probleme aus den Ingenieurwissenschaften.
Ein Beispiel dafr ist die Bestimmung der Knicklast eines Balkens oder allgemeiner die
Bestimmung von Eigenfrequenzen von mechanischen oder elektrischen Systemen.
Aber auch die Quantenmechanik und die VLSI-Simulation fhren auf Matrixeigenwert-
aufgaben.
Gegeben sei eine Matrix AC
n*n
. Eine Zahl C heit Eigenwert von A, wenn es einen
nichttrivialen Vektor

xC
n
gibt mit der Eigenschaft

Ax = x, x 0,

der Vektor x heit dann Eigenvektor zu und die Menge der x mit Ax = x Eigenraum
zum Eigenwert .
Gegenstand dieses Kapitels ist vordringlich die Bestimmung von Eigenwerten von A. Die
einzelnen Methoden liefern nicht immer notwendig auch zugehrige Eigenvektoren.


11.1 Geometrische Lage der Eigenwerte

Die Suche nach einem C und ein Vektor x 0 mit der Eigenschaft

Ax = x

ist gleichwertig zum Auffinden eines C und einer nichttrivialen Lsung x des
Gleichungssystems ( E Einheitsmatrix)
(A - E)x = 0.




11
Matrixeigenwertaufgaben
Eigenwerte und Eigenvektoren von Matrizen
114




Bekanntlich kann ein solches Gleichungssystem nur dann eine nichttriviale Lsung haben,
wenn
p( ) = det(A - E) = 0.

Die Eigenwerte von A sind mithin die Nullstellen eines (charakteristischen) Polynoms n-ten
Grades zu A.
Eine einfache Abschtzung fr die Eigenwerte von A liefert

| | ||| A |||

wobei ||| . ||| eine beliebige zu einer Vektornorm || . || zugeordnete Matrixnorm ist.

Bemerkung
Die Abschtzung ergibt sich aus den folgenden Implikationen

Ex = Ax | | || x || ||| A ||| || x || | | ||| A |||


Eine etwas feinere Abschtzung kann mit den Gerschgorin-Kreisen erzielt werden

Satz 11.1
Es sei A = (aij) eine n*n Matrix, dann gilt

Alle Eigenwerte von A liegen in der Vereinigung der Kreise

Z
i
=

=

n
i j
1 j
ij ii
} | a | | a z | / C z { .
Alle Eigenwerte von A liegen in der Vereinigung der Kreise

S
i
=

=

n
j i
1 i
ij ii
} | a | | a z | / C z { .
Jede Zusammenhangskomponente von
U
j
i
Z und
U
i
i
S enthlt genau so viele
Eigenwerte wie Kreise an der Komponente beteiligt sind.


Bemerkung
Ein Beispiel dafr, dass nicht jeder Gerschgorin-Kreis einen Eigenwert enthalten muss ist

A =

0 2
1 0

mit den Eigenwerten 2
2 , 1
= .




115



11.2 Potenzmethoden

Potenzmethoden sind besonders gut geeignet um extremale Eigenwerte einer Matrix A zu
bestimmen. Sie liefern gleichzeitig auch einen zugehrigen Eigenvektor.
Vorausgesetzt wird, dass die Matrix AC
n*n
diagonalisierbar ist oder ein System von n linear
unabhngigen Eigenvektoren besitzt.
Beispiele fr diagonalisierbare Matrizen liefern die folgenden Klassen von Matrizen:
Unitre Matrizen: (A
-1
=
T
A )


Orthogonale Matrizen (reell unitr) (A
-1
= A
T
)
Hermitische Matrizen ( A =
T
A )
Symmetrische (reelle) Matrizen ( A = A
T
)

Eine Methode zu Bestimmung des Betragsgrten Eigenwerts ist das

von Mises Verfahren (Potenzmethode)

Neben der Diagonalisierbarkeit der Matrix wird noch angenommen, dass unter den
Eigenwerten
i
von A ein dominanter Eigenwert
1
vorhanden ist, d.h.

. | | | | | | | |
n 3 2 1
> L

Fr einen beliebig vorgegebenen nichttrivialen Startvektor u
0
C
n
hat das von Mises-
Verfahren die Gestalt:
Fr m = 0,1,2, . , sei

v
m+1
= Au
m

u
m+1
= v
m+1
/|| v
m+1
||
2


1 m+

= ( , u
1 m+
A

u
m+1
)


Fr das Verfahren gilt der folgende

Satz
Es sei A diagonalisierbar mit Eigenwerten
i
und zugehrigen Eigenvektoren x
i
. Es gbe
einen dominanten Eigenwert
1
und es sei u
0
=

=

n
1 i
i i
x mit 0
1
. Dann gibt es eine
Konstante C mit || u
m
x
1
||
2
C
m
1
2
| |

fr m > 1
und es gilt
1 m+

= ( , u
1 m+
A

u
m+1
)

m

1
.

Bemerkungen
Einen Hinweis auf den Beweis dieses Satzes liefern die folgenden Relationen:




116



Aus u
0
=

=

n
1 i
i i
x ,
i
C und Ax
i
=
i
x
i

folgt A
m
u
0
= ) x ) ( x (
i
m
1
i
n
2 i 1
i
1
m
1 1

+

=
, m = 1,2,3,

Wegen 1 | / |
1 i
< , i = 2,3, ,n neigt A
m
u
0
dann immer mehr zur Richtung des
Eigenvektors x
1
.

Bemerkungen
Die Forderung 0
1
ist hufig nur theoretisch von Bedeutung, durch Rundungsfehler tritt
eine solche Komponente im Verlauf des Algorithmus immer auf.
Ist A zustzlich reell, dann gibt es eine Konstante C mit

|
m

1
| C
1 m
1
2
| |

fr m > 1.
und die Konvergenzgeschwindigkeit (gegeben durch | |
1
2

) kann schnell, aber auch langsam


sein.
Die von Mises Iteration wird auch dann noch richtige Ergebnisse liefern, wenn
1
ein
mehrfacher Eigenwert ist. Auch der Fall
2 1
= bereitet durch den bergang AA
2
keine
Schwierigkeiten. Bei einem konjugiert komplexen Paar
2 1
= muss allerdings keine
Konvergenz vorliegen.


Nachteilig bei der von Mises Iteration ist, dass nur der dominante Eigenwert berechnet wird
und die Konvergenzgeschwindigkeit langsam sein kann.
Diese Probleme knnen mit der

Inversen Iteration nach Wielandt (Potenzmethode)

behoben werden.
Es wird wieder angenommen, dass die Matrix A diagonalisierbar ist. Gesucht wird dann der
Eigenwert von A der am nchsten zu C liegt. Die Zahl heit Verschiebung, soll
kein Eigenwert von A sein und es soll ein Index k geben mit

|
k
| < |
i
| bzw. 1/|
k
| >1/ |
i
| i= 1,2, . ,n und i k.

Die folgenden Beziehungen zeigen, dass wenn x
k
ein Eigenvektor zu
k
ist, 1/(
k
) ein
Eigenwert von (A- E)
-1
mit Eigenvektor x
k
sein muss:

Ax
k
=
k
x
k
(A- E)x
k
= (
k
- )x
k
(1/(
k
))x
k
= (A- E)
-1
x
k
.





117


Nach Voraussetzung ist 1/(
k
) der betragsgrte Eigenwert von (A- E)
-1
.

Dieser
Eigenwert kann mithin durch das von Mises-Verfahren ermittelt werden und das Verfahren
heit dann in dieser Situation Inverse Iteration nach Wielandt.

Fr einen beliebig vorgegebenen nichttrivialen Startvektor u
0
C
n
und C hat die
Inverse Iteration nach Wielandt die Gestalt:
Fr m = 0,1,2, . , sei

(A- E)v
m+1
= u
m
v
m+1
= (A- E)
-1
u
m

u
m+1
= v
m+1
/|| v
m+1
||
2


1 m+

= ( , u
1 m+
A

u
m+1
)


Mit hnlichen Argumenten wie bei der von Mises Iteration kann gezeigt werden, dass

|| u
m
x
k
||
2

m
0

1 m+

= (
1 m
u
+
,A

u
m+1
)

m

k
.

Bemerkungen
Durch die Gerschgorin Kreise knnten die Eigenwerte lokalisiert werden und anschlieend
mit der Inversen Iteration bestimmt werden.
Bei der numerischen Durchfhrung der Inversen Iteration nach Wielandt bewhrt sich eine
LR-Zerlegung von (A- E).


10.3 Die QR-Iteration

Wir betrachten die QR-Iteration hier nur fr reelle n*n Matrizen. Gegeben sei also eine
reelle n*n-Matrix A und es sei T
(0)
= A.
Die (Grundform der) QR-Iteration hat die folgende Gestalt:
Fr m = 1,2, bestimme orthogonale Matrizen Q
(m)
, obere Dreiecksmatrizen R
(m)
und neue Matrizen T
(m)
nach folgender Vorschrift:

Q
(m)
R
(m)
= T
(m-1)

T
(m)
= R
(m)
Q
(m)
.

Bemerkung
Die Matrizen T
(m)
sind hnlich zu A und haben mithin dieselben Eigenwerte wie A. Die
QR-Iteration besteht damit offenbar in einer sukzessiven QR-Faktorisierung der T
(m)
.

Es gilt der folgende und bemerkenswerte

Satz
Es sei A eine reelle n*n Matrix mit nur reellen und betragsmig verschiedene Eigenwerten

| | | | | | | |
n 3 2 1
> > > > L .




118



Dann gilt

=

n
n 2 2
n 1 12 1
) m (
m
0 0
t 0
t t
T lim
L
M O M M
L
L
.

mit |
) m (
1 i , i
t

| = O(
m
1 i
i
| |

), i = 2, , n, fr m .
Ist A symmetrisch, dann konvergiert die Folge (T
(m)
) gegen eine Diagonalmatrix.

Bemerkung
Mit dem MATLAB Befehl [Q,R] = qr(A) kann brigens eine QR-Faktorisierung von
A ermittelt werden. Q ist die orthogonale Matrix und R die obere Dreiecksmatrix. Dieses
erleichtert einiges. Allgemein ist aber die QR-Iteration nicht empfehlenswert. Sie ist aber der
Ausgangspunkt fr effizientere Verfahren.


10.4 Der QR-Algorithmus

Es wird hier vorausgesetzt, dass eine reelle symmetrische n*n Matrix A mit (reellen)
betragsmig verschiedenen Eigenwerten vorliegt.
Der eigentliche QR-Algoritmus besteht darin, die Matrix A zunchst durch Ahnlichkeits-
transformationen in eine Tridiagonalform zu berfhren. Dieses wird mit den bereits
bekannten Householder-Transformationen realisiert. Anschlieend wird diese Matrix dann in
eine Diagonalgestalt berfhrt. Dieses erfolgt mit sogenannten Givens-Transformationen.
Diese Vorgehensweise hat hinsichtlich Aufwand und Stabilitt Vorteile.

Definition
Eine reelle n*n Matrix A = (a
ij
) heit von Tridiagonalform, wenn fr die Koeffizienten a
ij
gilt

a
ij
= 0 | i-j | >1

Definition
Fr ein gegebenes Indexpaar (p,q) und einen Winkel ist eine Givens-Transformation
U(p,q, ) eine orthogonale reelle Transformation der nachstehenden Form.


q
p
1 0
1
cos sin
sin cos
1
0 1
q p
) , q , p ( U



=
O
O
O



119



Wie bereits oben erwhnt besteht die erste Phase des QR-Algorithmus in der berfhrung der
Matrix A in Tridiagonalgestalt mit Hilfe von Householdertransformationen:
Im ersten Schritt dieser ersten Phase wird A durch eine Householdertransformation H
1
in die
Form

= =
1
nn
1
3 n
1
2 n
1
n 3
1
33
1
32
2
n 2
1
23
1
22
1
21
1
n 1
1
13
1
12
1
11
1
nn 3 n 2 n 1 n
n 3 33 32 31
n 2 23 22 21
n 1 13 12 11
) 0 (
a a a 0
a a a 0
a a a a
a a a a
A H
a a a a
a a a a
a a a a
a a a a
A A
L
M O M M M
L
L
L
L
M O M M M
L
L
L


berfhrt.
Multiplikation von rechts mit (H
1
)
-1
= (H
1
)
T
liefert die Matrix A
(1)

= =
nn 3 n 2 n
n 3 33 32
n 2 23 22 21
12 11
T 1 ) 0 ( 1 ) 1 (
b b b 0
b b b 0
b b b b
0 0 b b
) H ( A H A
L
M O M M M
L
L
L
.

Wird dieser Prozess n-2-mal wiederholt, dann ergibt sich eine zu A hnliche symmetrische
Tridiagonalmatrix T

= = =


nn 1 n , n
n , 1 n
33 32
23 22 21
12 11
T 2 n T 1 ) 0 ( 1 2 n ) 2 n (
t t 0 0 0
t
0 t t 0
0 t t t
0 0 t t
) H ( ) H ( A H H A T
O O M M
O
L
L
L L .


Die zweite Phase des QR-Algorithmus besteht in einer QR-Iteration fr T
(0)
= T, wobei jeder
Schritt (m 1) der QR-Iteration aus n-1 Givens-Transformationen besteht:

R
(m)
= (Q
(m)
)
T
T
(m-1)
= [U(n-1,n,
1 n
)
T
U(n-2,n-1, )
2 n

T
U(1,2,
1
)
T
] T
(m-1)


T
(m)
= R
(m)
Q
(m)
= R
(m)
[U(1,2,
1
) U(n-2,n-1, )
2 n
U(n-1,n,
1 n
)]

Der Winkel
j
ist dabei so zu whlen, dass der Eintrag der Indizes (j+1,j) der Matrix





120




[U(j,j+1,
j
)
T
U(j-1,j, )
1 j

T
U(1,2,
1
)
T
] T
(m-1)


auf Null gesetzt wird.


Bemerkungen
Die Transformationen in der zweiten Phase des QR-Algorithmus erhalten die Symmetrie der
Matrizen und erzeugen erneut Tridiagonalmatrizen.
Nach dem Satz aus Abschnitt 10.3 muss die Folge der Tridiagonalmatrizen (T
(m)
) dann
gegen eine Diagonalmatrix konvergieren in deren Diagonalen die Eigenwerte von A stehen.


Beispiel
Gesucht sind die Eigenwerte der Matrix

A =

3 2 1
2 3 1
1 1 2
.

Die erste Phase des QR-Algorithmus verlangt nach einer Hessenberg-Form von A. Die
Householder Matrix mit a = 1/ 2

H =


a a 0
a a 0
0 0 1

liefert das gewnschte Ergebnis

T = HAH
T
=


a a 0
a a 0
0 0 1

3 2 1
2 3 1
1 1 2


a a 0
a a 0
0 0 1
=



5 0 0
0 1 2
0 2 2


und zufllig schon einen Eigenwert -5.
Die Givens-Tranformation U(1,2,
1
)
T
fr die erste Zeile und Spalte hat die Gestalt

U(1,2,
1
)
T
=



1 0 0
0 ) cos( ) sin(
0 ) sin( ) cos(
1 1
1 1






121



und die Annullierung des Elementes t
21
verlangt einen Winkel
1
mit

tan(
1
) = - 2/ 2

oder (wenn man es wei) von cos(
1
) =
4
3 2
und sin(
1
) =
4
3 2
.
Die Transformation

U(1,2,
1
)
T
T U(1,2,
1
) =

5 0 0
0 0 0
0 0 3


liefert dann schn das gewnschte Ergebnis. Es ist eher selten so.


10.5 QR-Iteration mit Spektralverschiebung

Es wird vorausgesetzt, dass eine reelle n*n Matrix A vorliegt.
Sind die Eigenwerte von A reell und dem Betrage nach verschieden, dann kann aus dem
Abschnitt 10.3 entnommen werden, dass die Konvergenz der QR-Iteration abhngig vom den
Quotienten | |
1 i
i

ist. Sind die Betrge der Eigenwerte nahezu gleich, dann liegt eine
langsame Konvergenz vor.
hnlich wie beim bergang von der von Mises Iteration zur Inversen Iteration nach Wielandt
ist es naheliegend auch hier eine Verschiebung durchzufhren.

Die QR-Iteration mit Spektralverschiebung hat die Gestalt
Fr m = 1,2, bestimme orthogonale Matrizen Q
(m)
, obere Dreiecksmatrizen R
(m)
und neue Matrizen T
(m)
nach folgender Vorschrift:

Q
(m)
R
(m)
= T
(m-1)
- E
T
(m)
= R
(m)
Q
(m)
+ E

wobei T
(0)
von oberer Hessenberg-Form ist. Die Folge der Matrizen T
(m)
bleibt dabei hnlich
zu A.
Angenommen, dass fest ist und die Eigenwerte von A so angeordnet sind, dass

| | | | | | | |
n 3 2 1
> > > > L

dann kann gezeigt werden, dass die Unterdiagonalelemente von T
(m)
mit einer Rate gegen
Null gehen, die proportional zu




122

| |
1 i
i

m
ist.
Man wird nun versuchen ein so zu whlen, dass

| | | |
i n
<< i = 1,2, ,n-1.

In der Praxis wird das dem Schritt m angepat. Der QR-Iteration mit Spektralverschiebung
lautet dann fr m=1,2, ..

Q
(m)
R
(m)
= T
(m-1)
- E
m

T
(m)
= R
(m)
Q
(m)
+ E
m

} t { Min
m
ii
i
m
= .

Abschlieende Bemerkungen
Die Forderung nach der Symmetrie der Matrix A ist nicht notwendig. Sie gewhrleistet reelle
Eigenwerte und garantiert die Konvergenz gegen eine Diagonalmatrix. Auf die Forderung von
Betragsungleichen Eigenwerten kann nicht ohne weiteres verzichtet werden.
Um allgemeinere Flle zu erfassen muss die Verschiebung-Technik ausgebaut werden. Die
Konvergenz der QR-Iteration mit Verschiebungen fr alle Matrizen ist ein ungelstes
Problem.
Liegt eine Matrix von oberer Hessenberg-Form vor, dann kann mit der Methode von
Hyman oder einer Anwendung des Newton-Verfahrens versucht werden die Eigenwerte zu
bestimmen.
Allumfassende Informationen ber eine Matrix A (auch nicht quadratische) knnen ber die
Singulrwertzerlegung (SVD) der Matrix erzielt werden.






123

bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(18.01.06)


Aufgabe 11.1
Gegeben seien die Matrizen


=
19 10 10
9 1 9
29 10 20
A und


=
3 2 2
9 1 9
13 2 12
B .

mit den Eigenwerten (10,-9,1) und (10,-1,1).
Berechnen Sie fr beide Matrizen mit der Potenzmethode und den Startvektoren
u
0
= [1 0 0], u
0
= [1 1 1] den Betragsgrten Eigenwert ( mit einer Genauigkeit von 10
-4
)
und einen zugehrigen Eigenvektor. Beobachten Sie dabei auch die theoretisch vorhergesagte
unterschiedliche Konvergenzgeschwindigkeit.
Berechnen Sie mit der Inversen Iteration nach Wielandt alle Eigenwerte der Matrix A und B.
mit der oben geforderten Genauigkeit. Whlen Sie = 10.1, -9.1 und 1.1 und erneut die
beiden oben angegebenen Startvektoren. Geben Sie die Anzahl der ntigen Iterationen an.

Aufgabe 11.2
Berechnen Sie durch eine QR-Iteration die Eigenwerte von A und B. Wie viele Iterationen
werden bentigt um die Eigenwerte von A mit einer Genauigkeit von 10
-4
zu ermitteln?
Wieso passiert merkwrdiges bei der Matrix B? Bestimmen Sie trotzdem die Eigenwerte
mit Hilfe der QR-Iteration.

Aufgabe 11.3
Berechnen Sie mit dem QR-Algorithmus die Eigenwerte von

4 2 2
2 3 1
2 1 6


und beobachten Sie, wie mit zunehmender Anzahl von Iterationen die Nebendiagonal-
elemente dem Betrage nach immer kleiner werden.
Lsungen zur bung 11
Konstruktion und Analyse von Algorithmen
WS 05/06
(18.01.06)

K. Taubert

Aufgabe 11.1

Matrix A mit Startvektor [1 0 0] Matrix A mit Startvektor [1 1 1]



109 Iterationen 499 Iterationen, keine Konvergenz
Eigenwert 10 Eigenwert 1 ???
Eigenvektor [1 -1 0] Eigenvektor [1 1 1] ???
Beachte : Quotient (9/10) gro Der Startvektor enthlt keinen Anteil des
Eigenvektors von A zum Eigenwert 10 !!!!



Matrix B mit Startvektor [1 0 0] Matrix B mit Startvektor [1 1 1]



4 Iterationen 20 Iterationen
Eigenwert 10 Eigenwert 10
Eigenvektor [1 -1 0] Eigenvektor [1 -1 0]
Beachte : Quotient (1/10) klein Nach ca. 14 Iterationen machen sich
Rundungsfehler bemerkbar und fhren
schlielich zum richtigen Ergebnis


%Aufgabe 11.1a
clear all
%A = [20 10 -29;-9 1 9;10 10 -19];
A = [12 2 -13;-9 1 9;2 2 -3]
%u = [1 0 0]';
u = [1 1 1]';
e = 1;
p = 0;
while (abs(10-e)>=0.0001&p<500)
v = A*u;
u = v/norm(v);
e(p) = u'*(A*u);
p=p+1;
end
plot(e)
u
p = p

%Aufgabe 11.1b
clear all
A = [20 10 -29;-9 1 9;10 10 -19];
%A = [12 2 -13;-9 1 9;2 2 -3]
u = [1 0 0]';
%u = [1 1 1]';
u = cat(3,u,u,u);
E = eye(3);
a = 10.1*E;
b = -9.1*E;
c = 1.1*E;
D = cat(3,a,b,c);
en = [10.1 -9.1 1.1];
e = [10 -9 1];
for j = 1:3
p(j) = 0;
while (abs(e(j)-en(j))>=0.0001&p(j)<50)
v(:,j) = inv(A-D(:,:,j))*u(:,j); % Sollte man nicht so machen!!!
u(:,j) = v(:,j)/norm(v(:,j));
en(j) = u(:,j)'*(A*u(:,j));
p(j) = p(j)+1;
end
end
p(:)' %Anzahl der Iterationsschritte
en(:)' %Eigenwerte
u(:,:) %Spaltenvektoren = Eigenvektoren


Fr die Matrix A mit u
0
= [1 0 0]

p = 3 3 3
Eigenwerte 10.0000 -9.0000 1.0000

Eigenvektoren -0.7071 -0.7071 -0.5773
0.7071 0.0000 -0.5774
-0.0000 -0.7071 -0.5774

Mit dem Startvektor [1 1 1] werden mehr Iterationen bentigt. Ein bemerkenswertes
Resultat gibt es fr die Matrix B und den Startvektor [1 1 1].

Aufgabe 11.2
Fr die Matrix A ergeben 121 (!) Iterationen

T =

10.0000 -10.9697 31.0269
-0.0000 -9.0000 28.2842
0.0000 0.0000 1.0000

Bei der Matrix B ergeben auch noch so viele Iterationen keine obere Dreiecksmatrix. Die
Matrix hat keine Betragsmig verschiedene Eigenwerte. Die QR-Iteration liefert etwas von
der Gestalt

T =

10.0000 -2.6679 18.8648
-0.0000 0.1765 5.8232
0.0000 0.1664 -0.1765

Dieses ist trotzdem informativ. Wieso?


Aufgabe 10.3

clear all
% Matrix in Tridiagonalgestalt durch Householder ---
A = [-6 1 2;1 -3 2; 2 2 -4]
H = eye(3);
u = A(2:3,1);% Elemente unterhalb der Diagonalen zu 0
v = -norm(u)*sign(A(2,1))*eye(1,2)';
omega = (u-v)/norm(u-v);
H(2:3,2:3) = eye(2)-2*omega*omega';
T = H*A*H
% -------------------------------------------------
% Bearbeitung mit Givens-Transformationen
% Elemente unterhalb der Diagonalen zu 0
for m=1:2% 40
% Elemente unterhalb der Diagonalen von T zu 0
% Natrlich programmiert man dieses Allgemein nicht so, hier jedoch aus
% didaktischen Grnden
U12 = eye(3);
phi12 = atan(-T(2,1)/T(1,1));
U12(1:2,1:2) = [cos(phi12) -sin(phi12);sin(phi12) cos(phi12)];
T = U12*T;
U23 = eye(3);
phi23 = atan(-T(3,2)/T(2,2));
U23(2:3,2:3) = [cos(phi23) -sin(phi23);sin(phi23) cos(phi23)];
T = U23*T;
%Wiederherstellung der hnlichkeit
T = T*U12'*U23'
end

A =

-6 1 2
1 -3 2
2 2 -4


T
(0)
= Hessenberg Form

-6.0000 -2.2361 0.0000
-2.2361 -2.2000 1.6000
0.0000 1.6000 -4.8000


T
(1)
=

-7.0000 -0.7157 0.0000
-0.7157 -4.8571 1.4279
0.0000 1.4279 -1.1429


T
(2)
=

-7.1227 -0.5054 0.0000
-0.5054 -5.2198 0.1973
0.0000 0.1973 -0.6575


T
(40)
=

-7.2489 -0.0000 0.0000
-0.0000 -5.1022 0.0000
0.0000 -0.0000 -0.6489

124

Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert












Einfhrung

Die numerische Integration von Anfangswertaufgaben mit Differenzenverfahren ist weit
verbreitet. Vernnftige Differenzenverfahren sind zwar stets konvergent, aber nicht jedes
Differenzenverfahren ist gleich gut fr jede Anfangswertaufgabe.
Die numerische Integration einer speziellen Anfangswertaufgabe kann dazu fhren, dass
zustzlich besondere (Stabilitts-) Eigenschaften der Verfahren erforderlich sind.
Vier verschiedene Differenzenverfahren geben einen Einblick in grundstzliche Aspekte bei
der Auswahl von Verfahren. Es werden hier das explizite Euler-Verfahren, das implizite Euler-
Verfahren, die Trapezregel und die one leg Version der Trapezregel behandelt.

12.1 Gewhnliche Anfangswertaufgaben

Gegeben sei die Anfangswertaufgabe

y'= f(x,y), y(x
0
) =y
0
, (*)

mit einer stetigen Funktion f : R*R
n
R
n
.
Eine stetig differenzierbare Funktion y(.) auf dem Intervall I (offen, abgeschlossen oder
halboffen) heit Lsung von (*) auf I , wenn x
0
I und fr alle x I gilt

y'(x) = f(x,y(x)), y(x
0
) =y
0
.

Die Frage nach der Existenz einer Lsung von (*) ist schnell beantwortet: Es gibt stets eine
Umgebung von x
0
, in der die Aufgabe eine Lsung besitzt.
Die Frage nach dem grtmglichen Definitionsbereich einer Lsung einer Anfangswert-
aufgabe und der Eindeutigkeit ist ebenso schnell beantwortet:
Obwohl f fr alle (x,y) aus R*R
n
definiert ist, muss es nicht fr jeden Anfangswert eine
Lsung geben, die auf ganz R definiert ist. Auch muss es nicht notwendig nur eine Lsung fr
jeden Anfangswert geben. Beispiele dafr sind:


12
Gewhnliche Anfangswertaufgaben
DIFFERENZENVERFAHREN, KONVERGENZ UND STABILITT
125
1 ) 0 ( ,
2
= = y y y ,
0 ) 0 ( , | |
2 / 1
= = y y y .


Die Praxis hat gezeigt, dass es zweckmig ist, Differenzenverfahren im Zusammenhang mit
bestimmten Klassen von eindeutig lsbaren Anfangswertaufgaben zu beurteilen. Dazu gehren:

die lipschitzstetigen Anfangswertaufgaben,
die Anfangswertaufgaben y' = y mit Realteil von kleiner als Null und
die Klasse der Anfangswertaufgaben mit (f(x,u)-f(x,v),u-v) 0.


12.2 Elementare Differenzenverfahren fr gewhnliche Anfangswertaufgaben
Konvergenzstze

Gegeben sei eine fr alle Zeiten x 0 und alle Anfangsbedingungen y
0
eindeutig lsbare
Anfangswertaufgabe
y' = f(x,y), y(0) =y
0
,

mit einer stetigen Funktion f : R*R R.
Ist y(.) die Lsung der Aufgabe, dann gelten fr alle x 0 und fr alle h > 0
die folgenden Gleichungen


0 h
lim

(y(x+h) -y(x))/h = f(x,y(x)),




0 h
lim

(y(x+h) -y(x))/h =
0 h
lim

f(x+h,y(x+h)),


0 h
lim

(y(x+h) -y(x))/h =
0 h
lim

[f(x,y(x)) + f(x+h,y(x+h))]/2,


0 h
lim

(y(x+h) -y(x))/h =
0 h
lim

f(x+h/2, (y(x) + y(x+h))/2.




Wird nun auf den Grenzbergang verzichtet, dann knnen die obigen Zusammenhnge auch so
gedeutet werden:
Jedes vorgegebene h > 0 und y(x) liefern eine Nherung fr y(x+h) durch

y(x+h) y(x) + hf(x,y(x)),
y(x+h) y(x) + hf(x+h,y(x+h)),
y(x+h) y(x) + (h/2)(f(x,y(x)) + f(x+h,y(x+h))),
y(x+h) y(x) + hf(x+h/2, (y(x) + y(x+h))/2).

Diese Nherungsformeln fhren zu wohlbekannten Differenzenverfahren zur Integration von
Anfangswertaufgaben, nmlich:

y
n+1
= y
n
+ hf(x
n
,y
n
) Explizites Euler-Verfahren
y
n+1
= y
n
+ hf(x
n+1
,y
n+1
) Implizites Euler-Verfahren
y
n+1
= y
n
+ (h/2)(f(x
n
,y
n
) + f(x
n+1
,y
n+1
)) Trapezregel
y
n+1
= y
n
+ hf((x
n
+x
n+1
)/2,(y
n
+y
n+1
)/2) one-leg Trapezregel


126



Dabei ist y
n
ein Nherungswert fr y(nh) an der Stelle x
n
= nh.


Fr alle vier Verfahren gilt der folgende Konvergenzsatz:

Satz
Gegeben sei eine fr alle Zeiten x 0 und alle Anfangsbedingungen y
0
eindeutig lsbare
Anfangswertaufgabe
y' = f(x,y), y(0) = y
0
,

mit einer stetigen Funktion f : R*R
n
R
n
.
Dann gilt fr alle n und alle h 0 mit nh x

x h n
h
n


*
0
lim y
n
= y(x).


Dieser schne Satz liefert aber leider keinen Hinweis darauf, ob die angegebenen Verfahren fr
eine konkrete Aufgabe auch wirklich brauchbar sind. Dieses zeigen die folgenden Beispiele:
Numerisch integriert wurde die Aufgabe

y' = y, y(0 ) = 1, = -1000

auf dem Intervall von [0,10] mit dem expliziten Euler-Verfahren.
Das Bild zeigt die vllig falsche Nherungslsung fr die Schrittweite h = 0.1. Erst Schritt-
weiten, die kleiner als 1/500 sind, fhren zu akzeptablen Ergebnissen. Wird beachtet, dass in
der Praxis Aufgaben auftreten knnen mit Lsungsanteilen, die ein = -10
12
besitzen, dann
zeigt sich schnell, dass dieses Verfahren zu Schrittweiten fhren kann, die nicht mehr
akzeptabel sind.
0 1 2 3 4 5 6 7 8 9 10
0
2000
4000
6000
8000
10000
12000
14000


Integriert man die Aufgabe mit der Trapezregel oder deren one-leg Version, dann knnen die
Nherungslsungen zwar nicht mehr wie bei dem expliziten Euler-Verfahren - explodieren,
jedoch zeigen sich stets unangemessene Oszillationen. Das nachfolgende Bild zeigt die
Nherungslsung fr h = 0.1.





127
0 1 2 3 4 5 6 7 8 9 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1


Lsst man gehen, dann fllt im Gegensatz zur Lsung der Anfangswertaufgabe -
die Nherungslsung immer noch oszillierend und obendrein auch noch langsamer gegen Null.
Das folgende Bild gibt die Nherungslsung fr = -10000 wieder.

0 1 2 3 4 5 6 7 8 9 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1


Nur das implizite Euler-Verfahren wrde mit jeder Schrittweite noch qualitativ richtige
Lsungen liefern.

Eine Integration der Aufgabe

y' = x , y(0) =1
x' = -y , x(0) = 0

mit dem impliziten Euler

h= 0.1;
z(:,1) = [1;0];
A = [1 -h;h 1]
B = inv(A)
for i = 1:1000
z(:,i+1) = inv(A)*z(:,i)
end
plot(z(1,:),z(2,:))

fhrt zu einem qualitativ vllig falschen Ergebnis. Man beachte: Fr die Lsung gilt
x
2
(t)+y
2
(t) = 2, d.h. im Phasenraum muss die Lsung auf einem Kreis liegen.

128
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8




Alle bisher behandelten Beispiele knnen als Anfangswertaufgaben vom Typ

y'(x) = f(x,y(x)), y(x
0
) =y
0
,

mit der Eigenschaft || f(x,u)-f(x,v) || K || x y || angesehen werden. Man sagt: Die Aufgaben
sind lipschitzstetig.


Fr diese Klasse von Aufgaben soll, am einfachen Beispiel des expliziten Euler-Verfahrens, der
Einfluss unterschiedlicher Parameter auf die Differenz zwischen Nherungslsung und Lsung
der Anfangswertaufgabe etwas eingehender untersucht werden.

Es gilt der

Satz
Es sei f : R*R
n
R
n
eine stetige Funktion mit

||f(x,u) f(x,v)|| K||u-v|| fr alle x,u,v R*R
n
*R
n
und K0.

Auf dem Intervall [0,T] sei die Lsung y(.) der Anfangswertaufgabe

y'=f(x,y), y(0) =
0
y ,

zweimal stetig differenzierbar und M =
] T , 0 [ t
Max

||y''(x)||.
Gegeben sei das explizite Euler-Verfahren

y
n+1
= y
n
+ hf
n


mit dem Startwert y
h
0
und es sei F
0
= y(0) y
h
0
und F
n
= y(x
n
) y
n
.


Fr jedes h > 0 und alle n mit nh T gilt dann

||F
n
|| e
KT
||F
0
|| + (1/2)(M/K)(e
KT
1)h.


Ein hnliches Resultat ergibt sich auch fr das implizite Euler-Verfahren. Auch die
Trapezregeln liefern ein solches Resultat, allerdings mit der (besseren) Potenz h
2
,sofern die
Lsung der Anfangswertaufgabe dreimal stetig differenzierbar ist.



129
Alle Verallgemeinerungen der oben genannten Verfahren (Adams-Verfahren und Runge-
KuttaVerfahren) fhren ebenfalls zu einem hnlichen Resultat. Lediglich kann ( dieses ist
allerdings wichtig fr die Praxis ) die Potenz von h hher ausfallen.

Der letzte Satz deutet - auf den ersten Blick auch wieder an, dass alle vier Verfahren fr die
numerische Integration von Anfangswertaufgaben geeignet sind.
Man bekommt jedoch schon einige Hinweise. Zu beachten ist offenbar, dass vielleicht die
Konstante K sehr gro ist, ber lange Zeitrume T integriert werden muss oder die Lsungen
der Differentialgleichung ein spezielles Verhalten aufweisen. Bei diesen Problemen knnen
sich die Verfahren offenbar sehr unterschiedlich verhalten, zu einem prohibitiv groen
Aufwand fhren oder sogar vllig versagen. Diese Erfahrung hat dazu gefhrt, die
Differenzenverfahren auf unterschiedlichste Eigenschaften zu untersuchen.



12.3 Stabilittsbedingungen fr Differenzenverfahren

Die in den Beispielen aufgetretenen Probleme konnten ( 12.2) in der Klasse der
lipschitzstetigen Anfangswertaufgaben nicht geklrt werden. Fr weitere Untersuchungen
betrachten wir jetzt lediglich die Klasse der linearen und asymptotisch stabilen Anfangs-
wertaufgaben

y' = Ay, y(0) = y
0
,

mit einer reellen n*n-Matrix A.
Unter der Annahme das A diagonalisierbar ist, lsst sich das System mit einer hnlichkeits-
transformation H berfhren in

Hy' = HAH
-1
Hy

oder in eine Differentialgleichung der Form

z'= Hz mit z'=

n
2
1
.
. z,

mit mglicherweise komplexen Eigenwerten
i
.
Es gengt deshalb, die eindimensionale Testgleichung (Dahlquist)

y' = y mit Re < 0,

deren Lsungen y(x) = y
0
*exp(*x) alle, mit x , gegen Null gehen, zu betrachten.

Die Anwendung der vier Verfahren auf diese Differentialgleichung liefert:

y
n+1
= y
n
+ hy
n
oder y
n+1
= (1+ h)y
n

y
n+1
= y
n
+ hy
n+1


oder

y
n+1
= (1/(1 - h))y
n

y
n+1
= y
n
+ (h/2) (y
n
+ y
n+1
) oder y
n+1
= [(1+(h/2))/(1-(h/2))]y
n

y
n+1
= y
n
+ (h/2) (y
n
+ y
n+1
) oder y
n+1
= [(1+(h/2))/(1-(h/2))]y
n



130

Die Formeln auf der rechten Seite zeigen, dass neben h und das Produkt dieser beiden
Zahlen eine besondere Rolle spielt.

Fr festes h und hinreichend kleine h liefern alle Verfahren (Stabilitt)

n
lim y
n
= 0.

Fr festes h und alle h liefern nur das erste Verfahren nicht (A-Stabilitt)


n
limy
n
= 0.

Bei festem h und Re() - , liefert nur das implizite Euler-Verfahren das
gewnschte Verhalten ( L-Stabilitt)


n
lim y
n


= 0.

Auch numerisch konnten wir oben dieses unterschiedliche Verhalten eindrucksvoll und sehr
schnell verifizieren.
Dieses Verhalten hat zu einer Klassifizierung der Verfahren gefhrt:


Expliziter Euler Impliziter Euler one-leg und Trapezregel
Stabil Stabil Stabil
Nicht A-Stabil A-Stabil A-Stabil
Nicht L-Stabil L-Stabil Nicht L Stabil


Bemerkung:
Diese Konzepte oder diese unterschiedlichen (Stabilitts-) Verhalten der Differenzenverfahren
knnen fr eine praktische und effiziente numerische Integration einer Anfangswertaufgabe
offenbar nicht unbercksichtigt bleiben. Sie fhren umgangssprachlich zum folgenden
Vorschlag:
Fr moderate Probleme sind stabile Verfahren geeignet, fr durchschnittlich steife Probleme
sind A-stabile oder Verfahren mit hinreichend groem Bereich der absoluten Stabilitt
geeignet und bei steifen Problemen muss mit L-stabilen Verfahren integriert werden.

Was unter moderat, durchschnittlich steif, steif und Bereich der absoluten Stabilitt zu
verstehen ist, erhellen die nachfolgenden Betrachtungen:

Steifheit

Die Lsung der (2*2) Anfangswertaufgabe

y= Ay, y(0) = y
0


lasse eine Darstellung der Form

y(x) =
1
e
x
1

2
1
a
a

+
2
e
x
2

2
1
b
b




131



( dabei seien
1
und
2
Eigenwerte von A mit den Eigenvektoren

2
1
a
a

und

2
1
b
b
) zu.
Die Steifheit des Systems wird dann durch das Verhltnis | / |
2 1
festgelegt. Diese hat
Einfluss auf das zu benutzende Verfahren.
Sind z.B. die
i
< 0, i = 1,2, von unterschiedlicher Grenordnung (langsame und schnelle
Dynamik), dann spricht man von einem steifen System.
Zum betragsgrten Eigenwert gehrt dann langfristig ein Lsungsanteil, der in Relation zum
zweiten Anteil unbedeutend ist. Trotzdem msste man beim expliziten Euler-Verfahren die
Schrittweite nach den unbedeutenden Anteil richten, was aufwendig und der Sache
unangemessen ist.
In einem zweiten Versuch knnte man dieses Problem mit der Trapezregel in Angriff nehmen.
Es zeigte sich aber, dass auch die Trapezregel nicht immer zu adquaten Nherungslsungen
fhren muss. Wren die beiden Eigenwerte von sehr unterschiedlicher Grenordnung, dann
wrde auch die Trapezregel (zumindest in einer Komponente) vllig unakzeptable Ergebnisse
liefern. Auerdem neigt die Trapezregel zu unangemessenen Oszillationen.
Als Ausweg bleibt das implizite Euler-Verfahren oder die Forderung nach L-Stabilitt. Die
L-Stabilitt verlangt im Wesentlichen die sachgerechte Integration aller Aufgaben

0 , ) 0 ( ,
0
= = y y y y .

Die bisher angegebenen Differenzenverfahren sind nur Reprsentanten von groen Klassen von
Differenzenverfahren. Die Forderung nach A-Stabilitt bei einem allgemeinen Differenzen-
verfahren hat sich als schwierig erwiesen. Den Verfahren wurden deshalb Bereiche der
absoluten Stabilitt zugewiesen. Die Gestalt dieser Bereiche sagt dann etwas darber aus, fr
welchen Typ von Anfangswertaufgaben die zugehrigen Differenzenverfahren geeignet sind.


Bereiche der absoluten Stabilitt

Einen Hinweis auf einen weiteren theoretischen und praktischen Zugang fr die Beurteilung
von Differenzenverfahren gibt der Bereich der absoluten Stabilitt der Verfahren.

Fr die von uns betrachteten vier Differenzenverfahren kann der jeweilige Bereich der
absoluten Stabilitt schnell angegeben werden:
Wird das Verfahren auf die Testgleichung

y' = y mit Re < 0,

angewandt, dann ist der Bereich der absoluten Stabilitt die Menge der h = h, fr die gilt

n
lim y
n
= 0
Beispiele
Das explizite Euler Verfahren
y
n+1
= y
n
+ hf
n


fhrt bei der Integration von y = y zu

y
n+1
y
n
= h y
n
y
n+1
(1+h )y
n
= 0.


132

Damit ist dieses Verfahren absolut stabil fr alle h mit |1+h | < 1 und geignet bei
akzeptablen Schrittweiten h und derart, dass |1+h | < 1 ist.









Das implizite Euler-Verfahren
y
n+1
= y
n
+ hf
n+1


fhrt auf die charakteristische Gleichung

1/(1+h ) = 0.

Damit ist die gesamte linke Halbebene von C der Bereich der absoluten Stabilitt.











hnliches gilt auch fr die Trapezregeln.

Definition (A-stabil)
Eines der angegebenen Verfahren heit A-stabil, wenn dessen Bereich der absoluten Stabilitt
die gesamte linke komplexe Ebene umfasst.

Bemerkung
Die Unterscheidung zwischen A-stabilen und L-stabilen Verfahren kann aus den Bereichen der
absoluten Stabilitt nicht erkannt werden. Hierfr sind offenbar noch weitere Qualitten
erforderlich, nmlich das Verhalten bei Re ) ( . Ein Stichwort in diesem
Zusammenhang sind die Gear-Verfahren.


G-Stabile Verfahren

Offen bleibt die Frage, ob die vorgestellten Konzepte auch fr die Beurteilung von
Differenzenverfahren bei der Integration nichtlinearer Anfangswertaufgaben geeignet sind.


1
Bereich der absoluten Stabilitt
(Implizites Euler-Verfahren)

Die Asymptotik stimmt fr alle Schrittweiten h,
da h stets im Bereich der absoluten Stabilitt
liegt (Grauer Bereich)
-1
Bereich der absoluten Stabilitt
(Explizites Euler-Verfahren)

Damit die Asymptotik stimmt,
muss die Schrittweite h so gewhlt werden,
dass h im Bereich der absoluten Stabilitt
liegt (Grauer Bereich)
133
Die Praxis hat gezeigt, dass dieses weitgehend der Fall ist. Fr eine Integration von nicht-
linearen Problemen werden also geeignete Verfahren ber den Umweg der linearisierten
Aufgaben festgelegt..

Ein zugehriges theoretisches Ergebnis aus diesem Bereich soll noch angegeben werden.

Gegeben sei eine im Sinne von Minty monotone Funktion f, d.h.

(f(x,z)-f(x,w), (z-w)) K ||z-w||
2
2
fr alle x,z,w und ein KR.

Fr die Differenz von zwei Lsungen u(.), v(.) der Differentialgleichung y'=f(x,y) gilt dann
(Stabilittsungleichung):

|| u(x)-v(x) ||
2
|| u
0
-v
0
||
2
) x x ( K
0
e

.

Ist K 0, dann bleibt die Differenz der Lsungen beschrnkt oder strebt (K<0) mit
zunehmendem x sogar gegen Null.

Es stellt sich also die Frage: Welche der oben angegebenen Verfahren erhalten diese Qualitt?

Definition (G-stabil)

Eine one-leg -Methode heit G-stabil (G. Dahlquist), wenn fr zwei numerische Lsungen
{u
n
}
n=0,..N+1
und {v
n
}
n=0,..N+1
gilt

|| u
n+1
-v
n+1
||
2
|| u
n
-v
n
||
2


fr alle Schrittweiten h und K 0.

Der folgende schne Satz zeigt, dass fr die nichtlinearen Probleme die A-stabilen Verfahren
durch ihre one-leg Versionen ersetzt werden mssen!

Satz
Die Verfahren sind genau dann A-stabil, wenn deren one-leg Versionen G-stabil sind.



12.4 Anfangswertaufgaben mit Unstetigkeiten

Wir hatten gesehen (10), dass es mglich war, das Newton-Verfahren in einer etwas
verallgemeinerten Form auch dann zu verwenden, wenn die Funktionen nicht differenzierbar
sind. Etwas hnliches liegt auch bei den Anfangswertaufgaben vor. Die bisher genannten
Differenzenverfahren und alle anderen (Taubert, 1973) knnen auch dann vernnftige
Ergebnisse liefern, wenn die rechten Seiten der Differentialgleichungen nicht stetig sind.

Gegeben sei die unstetige Differentialgleichung

y'= f(x,y)
mit einer unstetigen Funktion

f : [x
0
, )*R
n
R
n
.

Es war ein Vorschlag von A.F.Filippov, durch die Konstruktion


134



F(x,y) =
0 >
I ) N ) y ( U , x ( f con
0 ) N (

=
I
diese Aufgabe in eine mehrwertige Differentialgleichung der Form

y' F(x,y), y(x
0
) = y
0
.
zu berfhren. Bei im Allgemeinen gegebenen Eigenschaften von F hat diese Aufgabe (lokal)
eine eindeutig bestimmte Lsung.

Von groer praktischer Bedeutung ist nun, dass i.A. die Ermittlung von Lsungen von
unstetigen Differentialgleichungen ohne eine berfhrung in die entsprechende mehrwertige
Differentialgleichung mglich sein wird. Differenzenverfahren liefern regelhaft eine Lsung
des entsprechenden mehrwertigen Problems. Wir fassen das Resultat in der folgenden
Bemerkung zusammen:

Bemerkung
Gengt die unstetige Anfangswertaufgabe den Bedingungen eines Existenzsatzes und ist die
Aufgabe eindeutig lsbar, dann konvergieren die Lsungen des expliziten Euler-Verfahrens

y
n+1
= y
n
+ hg
n
, g
n+i
F(x
n+i
,y
n+i
).,

auf jedem kompakten Intervall [x
0
,x
0
+T] gegen die Lsung der Anfangswertaufgabe, d.h. es
gilt

x nh x
n
h
+

0
0
lim y
n
= y(x).
.
135


bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(25.1.06)



Aufgabe 12.1
Integrieren Sie mit dem expliziten Euler-Verfahren die Differentialgleichung

Ay 1000 y =
mit der N*N-Matrix A

|
|
|
|
|
|
|
|
.
|

\
|

=
2 1 0 0 0
1 2
0 2 1 0
0 1 2 1
0 0 1 2
N
1
A
2
O
O O M M
O
L
L


und der Anfangsbedingung y
i
(0) = sin(pi*x
i
) fr x
i
= i/N, i = 1, ,N-1.
Integrieren Sie die Aufgabe zunchst auf dem Intervall [0,40] und mit den Schrittweiten
h = 0.1, 0,15, 0.2, 0.21, 0.22, 0.25.
Plotten Sie das Ergebnis mit dem Zusatz y
0
(t)= y
N
(t) = 0.
Verifizieren Sie numerisch (gegebenenfalls durch Erhhung der Intervalllnge), dass das
Verfahren versagen muss wenn h etwas ber 0.2 liegt.
.

Aufgabe 12.2
Integrieren Sie die Differentialgleichungen mit nacheilendem Argument

) t ( y ) t ( x = x(t) = 0 fr 0 t
)) t ( y ) t ( x ( sign ) t ( y + = y(t) = -1 fr 0 t

durch das explizite Euler-Verfahren auf dem Intervall [0,10] mit der Schrittweite h = 0.001.
Fhren Sie die Integration fr = 0.2, 0.1, 0.05 und 0 durch.
Beobachten Sie dabei etwas Ungewhnliches?

Aufgabe 12.3
Gegeben sei die Anfangswertaufgabe

y = f(x,y), y
0
= [1.1 0.5]




136
mit
f(x,y) =

+
5 . 0 y
) y y 100(y -
1
2 1
3
1


Integrieren Sie die Aufgabe mit dem impliziten Euler-Verfahren, der Trapezregel und der
One-leg-Trapezregel im Intervall [0,10] mit der Schrittweite h = 0.01. Zeichnen Sie die
Phasenkurve (y
1
(x),y
2
(x)). Beobachten Sie die theoretisch mglichen Oszillationen bei den
Trapezregeln.
Das erwartete Ergebnis mit dem impliziten Euler Verfahren ist







Lsungen zur bung 12
Konstruktion und Analyse von Algorithmen
WS 05/06
(25.1.06)

K. Taubert


Aufgabe 12.1



clear all
N = 20; % Dimension des Gleichungssystems
h = 0.25 ; % Schrittweite
x = (0:1/(N+1):1);
T = 40;
M = T/h;
f = sin(pi*x);
u(:,1) = f';
v(:,1) = u(2:N+1,1);
A = -2*eye(N);
if N>1
B =diag(linspace(1,1,N-1),1)+diag(linspace(1,1,N-1),-1);
A = 1000*(1/N^2)*(A+B);
end
t(1) = 0;
for k = 1:M
v(:,k+1)= v(:,k)+h*A*v(:,k);
t(k+1)= k*h;
end
a = x;
b = t;
c = [linspace(0,0,M+1); v;linspace(0,0,M+1)]';
surfc(a,b,c)




Aufgabe 12.2
Beachten Sie, dass es sich bei >0 eigentlich um eine einfache Integration handelt.
Das Ergebnis ist






Offensichtlich streben die Lsungen fr >0 gegen einen periodischen Zustand.
Im letztem Fall ergibt sich allerdings ein Verhalten, dass mit klassischen Lsungsbegriffen
nicht mehr erfasst wird.( Stichwrter sind Rattern, Schwarz-Wei-Regelungen oder Stecken-
bleiben in der Unstetigkeit. Etwas fr den Regelungstechniker!).

%Aufgabe12_2Regler
clear all
y0 = [0 -1];
h = 0.001;
tau = 0.2
M = tau/h
for i=1:M
u(i,:) = y0
end
T = 10;
N= T/h;
u(M+1,:)=y0;
for i=M+1:N-1+M+1
u(i+1,:) = u(i,:)+h*fr(u(i,:),u(i-M,:));
end
plot(u(:,1),u(:,2))

function regler = fr(z1,z2)
regler = [z1(2) -sign(z2(1)+z2(2))];





Aufgabe 12.3
Programm fr den impliziten Euler (d.h. mit F1 und DF1). Fr die Trapezregel bzw.
die one-leg Version der Trapezregel setzen Sie F2, DF2 bzw. F3, DF3 in Zeile 15 ein.
(Beachten Sie bei DF3 die Anzahl der Parameter)

clear all
y0 = [1.1 0.5];
h = 0.01;
T = 100;
N= T/h;
u(1,:)=y0;
for i=1:N-1
z0 = y0;
z1 = z0;
p=1;
while (p<2) %Newton Verfahren
%Setzen Sie verschiedene p ein
%p = 2,3 ,... . , bis ein akzeptables Ergebnis
%erzielt wird.
z1 = z0-(inv(DF1(z0,h))*F1(z0,y0,h)')';
p=p+1;
z0 = z1;
end
y0 = z1;
u(i+1,:) = y0;
end
subplot(1,2,1)
plot(u(:,1),u(:,2))
subplot(1,2,2)
plot(u(:,1),u(:,2))
axis([-1.2 -1.0 .3 .4])


















function fdiff = f(z)
fdiff = [-100*z(1)^3+100*z(1)-100*z(2) z(1)-0.5];

function IE = F1(z1,z0,h)
IE = z1-h*f(z1)-z0;

function TR = F2(z1,z0,h)
TR = z1-(h/2)*f(z1)-z0-(h/2)*f(z0);

function OLTR = F3(z1,z0,h)
OLTR = z1-h*f((z1+z0)/2)-z0;

function IEdot = DF1(z1,h)
IEdot = eye(2)-h*[-300*z1(1)^2+100 -100;1 0];

function TRdot = DF2(z1,h)
TRdot = eye(2)-(h/2)*[-300*z1(1)^2+100 -100;1 0];

function OLTR = DF3(z1,z0,h)
OLTR = eye(2)-h*[-150*((z1(1)+z0(1))/2)^2+50 -50;1/2 0];

Das implizite Euler liefert mit p = 8 das gewnschte Ergebnis. Die beiden anderen Flle
wurden dann zum Vergleich ebenfalls mit p = 8 gerechnet. Beobachten Sie, dass bei den
Trapezregeln immer Oszillationen auftreten.

137
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert










Eine in vielen Anwendungen auftretende gewhnliche Differentialgleichung hat die Form

- (p(x)y')' + q(x)y = r(x).

Dabei sei (zunchst) p(.) > 0 eine stetig differenzierbare Funktion von [a,b] in R. Die
Funktionen r(.) und q(.) seien stetige Funktionen von [a,b] in R und q(.) 0.
Um die gesuchte Lsungsfunktion dieser Differentialgleichungen eindeutig festzulegen,
mssen noch weitere Bedingungen angegeben werden. Typische Rand- Bedingungen sind

y(a) = d
1
, y(b) = d
2
.

mit reellen Zahlen d
i
.
Diese lineare Randwertaufgabe ist besonders gut geeignet, um exemplarisch eine Vielzahl
von Methoden zur Behandlung von Randwertaufgaben einzufhren.
Die Randwertaufgabe kann als Aufgabe von monotoner Art, als Variationsgleichung und als
Variationsaufgabe behandelt werden. Damit einher gehen numerische Methoden, wie die
Differenzen-, Galerkin- und Ritz-Verfahren und speziell die finiten Elemente.
Die Mglichkeit diese Aufgaben als Variationsgleichungen zu interpretieren fhrt dazu, dass
die Aufgaben auch bei zustzlichen Nebenbedingungen, in Form von Hindernissen, zu
sachgerechten Lsungen gefhrt werden knnen. Fr die numerische Behandlung dieser
Aufgaben kann das semiglatte Newton-Verfahren von Bedeutung sein.


13.1 Kontinuierliche und diskrete Aufgaben von monotoner Art

Es ist zweckmig, zu der (Dirichlet-) Randwertaufgabe Operatoren der folgenden Form zu
betrachten:

(L,R) : C
2
[a,b] (C[a,b], R
2
)
mit
(Ly)(x) = - (p(x)y')' + q(x)y

Ry = (y(a) , y(b)).


13
DIFFERENZENVERFAHREN UND FINITE ELEMENTE BEI
GEWHNLICHEN LINEAREN RANDWERTAUFGABEN
Gewhnliche lineare Randwertaufgaben
138
Diese Operatoren (L,R) haben eine bemerkenswerte Eigenschaft (Monotone Art):


0 Ru
0 Lu

0 u .

Es ist sicherlich nicht unvernnftig (zumal diese Qualitt auch durch physikalische
Hintergrnde der entsprechenden Modelle gegeben ist), diese Eigenschaft bei einer
Diskretisierung der Aufgabe zu erhalten bzw. zu erzwingen.

Es sei h eine vorgegebene Schrittweite mit h = (b-a)/N, N N, und x
i
= a + ih die
zugehrigen Gitterpunkte aus [a,b] mit i = 0,1,2, ,N.

Eine kanonische Diskretisierung der Differentialgleichung fhrt zu

) x ( r y ) x ( q
h
h
y y
) x ( p
h
y y
) x ( p
i i i
1 i i
2 / 1 i
i 1 i
2 / 1 i
= +

+
+
, i= 1,2,... N-1.

Damit sind N-1 Bedingungen fr N+1 Unbekannte y
i
gegeben. Die fehlenden Gleichungen
liefern die beiden Randbedingungen:

y
0
= d
1
und y
N
= d
2
.

Damit entsteht insgesamt ein Gleichungssystem der Form A
h
y
h
= f
h
mit



|
|
|
|
|
|
|
|
|
|
.
|

\
|


=

+
2
2 / 1 N 1 N ) 2 / 3 ( N
) 2 / 1 ( 1 1 ) 2 / 1 ( 1
2
2
h
h 0 0 . 0 0 0
) x ( p ) x ( s ) x ( p . 0 0 0
. . . . . . .
. . . . . . .
. . . . . . .
0 0 0 . ) x ( p ) x ( s ) x ( p
0 0 0 . 0 0 h
h
1
A
und
f
h
=
|
|
|
|
|
|
|
|
|
.
|

\
|

2
1 N
1
d
) x ( r
.
.
.
) x ( r
1
d


mit s(x
i
) = p(x
i-1/2
)+p(x
i+1/2
)+hq(x
i
) fr i = 0,1,2, ..,N-1.

Ist u
h
= (
h
N
h
1 N
h
1
h
0
u , u , ,....... u , u

) ein beliebiger Vektor aus R
N+1
, dann gilt

A
h
u
h
0 0 u
h
,


139

dabei sind, fr alle Schrittweiten h, die Ungleichungen komponentenweise zu verstehen.
D.h. das angegebene Differenzenverfahren erhlt die Qualitt (Monotone Art) des
kontinuierlichen Problems.

Diese Qualitt der Differenzengleichungen hat weitreichende Konsequenzen. Sie liefert
die eindeutige Lsbarkeit der Gleichungen fr alle h und die Konvergenz der Lsungen
der Differenzengleichungen gegen die Lsung der Randwertaufgabe. Fr Einzelheiten
verweisen wir auf den Text von Grossmann und Roos ber Numerik partieller
Differentialgleichungen.

Satz
Es sei y
h
= (
h
0
y ,
h
1
y , .. ,
h
N
y ) die Lsung des Differenzenverfahrens zur Schrittweite h
und y(.) die Lsung der Randwertaufgabe, dann gilt

N ,..., 2 , 1 , 0 i
Max
=
| y
h
i
- y(x
i
) |
N
0.

Ist y(.) viermal stetig differenzierbar, dann gilt sogar

N ,..., 2 , 1 , 0 i
Max
=
| y
h
i
- y(x
i
) | Kh
2


mit einer geeigneten Konstanten K 0.


13.2 Variationsgleichungen und Variationsaufgaben

Wir betrachten erneut die gewhnliche Differentialgleichung

- (p(x)y) + q(x)y = r(x), x(a,b),

jedoch jetzt (um Schreibarbeit zu sparen) mit den homogenen Randbedingungen

y(a) = 0, y(b) = 0.

Dabei sei (zunchst wieder) p(.) > 0 eine stetig differenzierbare Funktion von [a,b] in R. Die
Funktionen r(.) und q(.) seien stetige Funktionen von [a,b] in R und q(.) 0.

Entscheidend in diesem Kapitel ist, dass diese Randwertaufgaben auch anders (schwach)
formuliert werden knnen. Diese neue Formulierung beinhaltet nicht nur die alte
Aufgabenstellung, sondern fhrt sogar dazu, dass die Bedingungen an p(.), q(.) und r(.)
abgeschwcht werden knnen. Vom physikalischen Standpunkt her muss sogar gesagt
werden, dass die ursprngliche Formulierung hufig zu einschrnkend ist.

Es sei V = H ] b , a [
1
0
die Menge der absolut stetigen Funktionen mit v(a)=v(b) = 0, deren
Ableitungen quadratisch integrierbar sind.

Mit der Bilinearform a : V*V R
a(u,v) = dx ) quv v u p (
b
a
+


und der Linearform F : V R
F(v) = dx rv
b
a



140
kann die Dirichlet-Aufgabe in die folgenden zwei quivalenten Aufgaben umgeschrieben
werden:

=

. V v ) v ( F ) v , u ( a
mit V u ein ist Gesucht
(Variationelle Aufgabe)

und



. V v ) v ( E ) u ( E
mit V u ein ist Gesucht
(Variationsaufgabe)

Dabei ist E : V R das Energiefunktional

E(v) = (1/2)a(v,v) - F(v).

Bemerkung:
In der klassischen Literatur findet man hufig die folgende ausgeschriebene Form der
Variationsaufgabe:
Gesucht ist ein V mit
J[ ] = Min!
und
J[ ] = dx ) r 2 q p (
2
b
a
2
+

.

Betrachtet man die schwachen Aufgaben jetzt einmal unabhngig von der ursprnglichen
Randwertaufgabe, dann fllt Folgendes auf:

Bei den schwachen Formulierungen kann auf die stetige Differenzierbarkeit von
p(.) > 0 verzichtet werden. Die Funktionen q(.) 0 und r(.) brauchen auerdem nur
quadratisch integrierbar zu sein. Die ursprngliche Aufgabenstellung ist damit
verallgemeinert worden.
Die ursprngliche Aufgabe wird durch die variationelle Formulierung und den
Minimierungsaspekt vllig anders interpretiert.


Die schwachen Formulierungen fhren aber auch zu vllig anderen Anstzen zur Lsung
der ursprnglichen Aufgabe:

Fr einen endlich dimensionalen Teilraum V
h
von V knnen z.B. die folgenden Aufgaben
betrachtet werden

=

. V v ) v ( F ) v , u ( a
mit V u ein ist Gesucht
h
h
(Galerkin-Verfahren)



. V v ) v ( E ) u ( E
mit V u ein ist Gesucht
h
h
(Ritz-Verfahren)

oder entsprechend ausgeschrieben



141

Gesucht ist ein V
h
mit J[ ] = Min! und J[ ] = dx ) r 2 q p (
2
b
a
2
+

.

Bemerkung
Diese Interpretation und die damit verbundene Mglichkeit zur approximativen Lsung der
Dirichlet-Aufgabe ist mitnichten auf diese Klasse von Aufgaben beschrnkt. Besonders
wirksam wird diese Methode bei den partiellen Differentialgleichungen (Finite Elemente).

Es sei nun p(.) > 0 eine stetige Funktion auf [a,b] und es seien sowohl q(.) 0 als auch r(.)
quadratisch integrierbar auf [a,b]. Die Menge der Funktionen V und V
h
sind lineare
Vektorrume die mit dem inneren Produkt

a(u,v) = dx ) quv v u p (
b
a
+



einen Hilbertraum bilden. In dieser Situation gilt der

Satz
Fr V und V
h
sind beide Aufgaben quivalent und haben eine eindeutige Lsung.


Die Finite Elementmethode approximiert die Lsung der Variationellen Aufgabe und die
Lsung der Variationsaufgabe mit besonderen endlichdimensionalen Teilrumen V
h
V.
Exemplarisch soll als endlich dimensionaler Raum V
h
der Raum der stckweise linearen
Funktionen gewhlt werden:

Das Intervall [a,b] wird durch a = x
0
< x
1
< .... <x
n-1
< x
n
= b in Teilintervalle I
j
= (x
j-1
,x
j
)
mit j = 1,... ,n zerlegt. Die x
j
werden dabei als Knoten bezeichnet. Die Feinheit der Unter-
teilung wird durch h =
j
n ,..., 1 j
h Max
=
gemessen, wobei h
j
= x
j
-x
j-1
die Lnge des Teilintervalls I
j

angibt. Der Teilraum V
h
ist dann:

V
h
.= { v C[a,b] | v ist linear auf I
j
, j = 1,... ,n} V.

Als Basis fr V
h
knnen die Funktionen
h j
V , j = 1,2,... ,n-1 mit



verwendet werden.

Eine beliebige Funktion vV
h
mit v(x
i
) = x
i
besitzt dann die Darstellung

v(x) =

=

1 n
1 i
i i
) x ( v mit x[a,b].


x
i
x
i+1
x
i-1

=
=
j i falls 0
j i falls 1
) x (
i j

142

Bemerkung
Typisch fr die Finite Elementmethode ist, dass die Basiselemente
j
von V
h
nur auf
wenigen (zusammenhngenden) Teilintervallen I
j
, den so genannten Elementen, von Null
verschieden sind. Dies hat zur Folge, dass die meisten Produkte
i j
identisch Null sind
und damit eine spter entstehende Systemmatrix zur Berechnung der Nherungslsung dnn
besetzt ist.


Galerkin-Verfahren

Die Lsung der Aufgabe

Gesucht ist ein u
h
V
h
H ] b , a [
1
0
mit

a(u
h
,v) = dx ) v qu v u p (
b
a
h h

+ =

b
a
rvdx = F(v) fr alle v V
h
H ] b , a [
1
0


ist gleichwertig zum Glweichungssystem

a(u
h
,
j
) = (r,
j
), j=1, ,n-1.

Besitzt die gesuchte Lsung u
h
die Darstellung

u
h
(x) = ), x (
i
1 n
1 i
i

=


dann ergeben sich die gesuchten
i
aus dem folgenden (n-1)*(n-1) linearen Gleichungs-
system in = ( ) , ,... ,
1 n 2 1

T


A = b
mit dem Lastvektor
b = ((r, )) , r ( , ),....
1 n 1

T

und der Steifigkeitsmatrix
A = (a(
1 n , .... 2 , 1 j , i j i
)) ,
=
.



Bemerkungen
Die Matrix A ist brigens eine symmetrische und positiv definite Matrix. Aufgrund der
Definition der Basisfunktionen
i
ergibt sich noch

a(

=

=
, sonst 0
1 | j i | fr 0
) ,
j i


d.h. die Steifigkeitsmatrix A besitzt Tridiagonalform.
Die Bezeichnungen von A und b gehen auf Anwendungen in der Strukturmechanik zurck, in
denen die finite Elementmethode ihren Ursprung besitzt.




143

Ritz-Verfahren

Gegeben sei
E(v) = (1/2) dx ) qvv v v p (
b
a

+ -

b
a
rvdx

und die Variationsaufgabe

Gesucht ist ein u
h
V
h
H ] b , a [
1
0
mit

E(u
h
) E(v) fr alle v V
h
H ] b , a [
1
0
.

Besitzt die gesuchte Lsung u
h
die Darstellung

u
h
(x) = ), x (
i
1 n
1 i
i

=


dann ergeben sich die gesuchten
i
aus der Minimierung des folgenden quadratischen
Funktionals in = ( ) , ,... ,
1 n 2 1

T

2
1

T
A - b
T
= Min!

mit der Steifigkeitsmatrix A und dem Lastvektor b des Galerkin Verfahrens.


Auch die Differenz zwischen der Lsung der Randwertaufgabe und der Lsung der
approximativen Aufgabe kann abgeschtzt werden. Es gilt der


Satz
Fr den Fehler der Finite Elementlsung u
h
mit linearen Elementen gilt fr zweimal stetig
differenzierbares u
||u-u
h
||
2
a
= a(u-u
h
,u-u
h
) Ch
2
] b , a [ x
max

| u (x)|
2
.

Dabei sei || v ||
a
.= ) v , v ( a .



13.3 Variationsungleichungen

Bei den Variationsungleichungen handelt es sich um Minimierungsaufgaben mit Neben-
bedingungen.
Es ist vielleicht zweckmig, den elementaren theoretischen Hintergrund von Variations-
ungleichungen zunchst an einer ganz einfachen Aufgabe zu erlutern:

Das Minimum der Funktion H : R R mit H(x) = 0.5x
2
wird an der Stelle x
0
mit

H'(x
0
) = h(x
0
) = 0

angenommen und ist mithin ber die Ableitung h der Funktion H charakterisiert.


144




Diese Charakterisierung bleibt nicht mehr richtig, wenn das Minimum der Funktion H
lediglich auf einer (konvexen und abgeschlossenen) Teilmenge I aus R gesucht wird.
Dennoch kann auch in diesem Fall der Punkt x
0
,

in dem das Minimum angenommen wird,
leicht bestimmt werden. Dieses zeigt das folgende Beispiel:
Fr verschiedene Intervalle I = [a,b] R ( I = [-.5,.5], [-1,-.5] oder [.5,1] ) knnen die
zugehrigen Minimalwerte (0) von H und die zugehrigen Argumente x
0
= * aus den
folgenden Bildern entnommen werden.




Schnell berzeugt man sich davon, dass die zum jeweiligen Minimum (0) gehrenden
Argumente x
0
= * durch die Bedingung (Variationsungleichung)

H'(x
0
)(v-x
0
) 0 fr alle v I

bestimmt werden:
Obwohl diese Variationsungleichung durch einfache Inspektion bestimmt wurde, kann diese
auch formal hergeleitet werden:
Es sei x
0
das Minimum der Funktion H auf I = [a,b]. Die Funktion f
V
: [0,1] R mit

f
V
(t)= H(x
0
+t(v-x
0
)) v I

ist auf [0,1] stetig differenzierbar und es gilt

V
f (t) = H'(x
0
+t(v-x
0
))(v-x
0
) fr alle v I.

Da f
V
(t) als Funktion von t ihr Minimum an der Stelle t = 0 annimmt, muss ) 0 ( f
V
0 fr
alle v I sein, d.h.
H'(x
0
)(v-x
0
) 0 fr alle v I.

145
Damit wird das Minimum nicht mehr durch die Bedingung

H'(x
0
) = 0
sondern durch die Variationsungleichung

H'(x
0
)(v-x
0
) 0 fr alle v I

charakterisiert.


Eine Anwendung dieser Grundidee auf die Dirichlet-Aufgabe mit Nebenbedingungen bereitet
nun nur noch einige technische Probleme.

Wir betrachten die Differentialgleichung

-(p(x)y) + q(x)y = f(x)

mit den Randbedingungen
y(a) = 0, y(b) = 0,

erneut als Variationsaufgabe oder Minimierungsaufgabe



. V v ) v ( E ) u ( E
mit V u ein ist Gesucht


mit dem Energiefunktional E(v) = (1/2)a(v,v) - F(v) und und V = H ] b , a [
1
0
.

Die Minimierungsaufgabe kann nun eingeschrnkt werden. Es kann vernnftig sein, ein
Minimum nicht auf ganz V, sondern nur auf einer abgeschlossenen und konvexen
Teilmenge M von V zu suchen.

Die folgenden Zeilen zeigen, dass solche Minimalpunkte auch zu einer Variations-
ungleichung fhren.

Es sei also M eine abgeschlossene und konvexe Teilmenge M V und u M mit

E(u) E(v) fr alle v M V

Fr ein beliebiges v M sei f
V
: [0,1] R

f
V
(t) = (1/2)a(u+t(v-u),u+t(v-u)) - F(u+t(v-u)) =

= (1/2)a(u,u) + (1/2)ta(u,v-u) + (1/2)ta(v-u,u) + (1/2)t
2
a(v-u,v-u) - F(u) - tF(v-u).

Die Funktion f
V
: [0,1] R ist wieder auf [0,1] stetig differenzierbar und es gilt

) t ( f
V
= a(u,v-u) F(v-u) + t a(v-u,v-u) fr alle v I.

Als notwendige Bedingung fr einen Minimalpunkt u ergibt sich also die Variations-
ungleichung
a(u,v-u) F(v-u) 0 fr alle v M.

Bemerkenswert ist nun, dass diese Aufgabe in eine Fixpunktaufgabe oder ein
Nullstellenproblem umgeschrieben und hufig erfolgreich mit dem (semiglatten) Newton-
Verfahren gelst werden kann.
146
Dieses soll nun an einen einfachen Beispiel erlutert werden.


Beispiel
Gegeben sei die Randwertaufgabe

- u'' = -1 auf (0,2).
u(0) = u(2) = 0

Als Nebenbedingung sei u-0.25 gegeben.
Es sei M die Menge der Funktionen aus
1
0
H (0,1), deren Werte grer oder gleich -0.25 sind.
Die zugehrige Variationsaufgabe lautet dann

+ +


. V v dx v dx ) v (
2
1
dx u dx ) u (
2
1
mit M u ein ist Gesucht
2
0
2
0
2
2
0
2
2
0


Eine approximative Lsung dieser Aufgabe im Raum der stckweise linearen Funktionen V
h

fhrt auf die Variationsungleichung

(Au,v-u) (-1,v-u) fr alle vM

Dabei sind
|
|
|
|
|
|
|
|
|
|
.
|

\
|




=
2 1 . . 0 0 0
1 2 . . 0 0 0
. . . . . . .
. . . . . . .
. . . . . . .
0 0 . . 1 2 1
0 0 . . 0 1 2
h
1
A
2
und f =
|
|
|
|
|
|
|
|
|
|
.
|

\
|

1
1
.
.
.
1
1



und ( . , .) sei das gewhnliche Skalarprodukt im R
n
.

Es zeigt sich
1
, dass diese Aufgabe zum Nullstellenproblem

P
M
(v-(Av-f)) v = 0

fhrt. Die Funktion P
M
hat dabei die Gestalt

(P
M
v)
i
=


>
25 . 0 v falls 25 . 0
25 . 0 v falls v
i
i i
.

Man betrachtet nun die Funktion
H : M M
mit
H(v) = P
M
(v-(Av-f)) v

und sucht mit dem Newton-Verfahren eine Nullstelle H(v) = 0 dieses Problems.


1
Siehe hierzu auch: Numerische Methoden fr Differentialgleichungen/Taubert SS04
147
Formal hat das Newton Verfahren dann die Form

((DP
M
)
w
*(E-A) E)z = -H(v
n
) w = v
n
-(Av
n
-f)

v
n+1
= v
n
+z.

Leider ist die Projektion P
M
i.A. keine differenzierbare Abbildung. D.h., der Ausdruck DP
M

ist an der Stelle w i.A. nicht definiert. Man wird die sogenannte Clarksche Ableitung whlen
und fr (DP
M
)
w
eine Auswahl aus dieser mengenwertigen Ableitung treffen.
In der Praxis kann dieses sehr einfach sein: (DP
M
)
w
kann als Diagonalmatrix mit den
Eintrgen a
ii
= (sign(w
i
+0.25) +1)/2 gewhlt werden. Die damit erzielbaren Ergebnisse sind
beeindruckend.



















148



bungen
Konstruktion und Analyse von Algorithmen
WS 05/06
(8.2.06)



Aufgabe 13.1
Gegeben sei die Randwertaufgabe

-u = f auf (0,1)
u(0) = u(1) = 0
mit f gleich
f = (x<=0.5).*(2*x) + (x>0.5).*(2-2*x)
f = 100*(x-1/3).^2.*(x-2/3).^2
f = -100*(x.*(x-1).*(x-1/3).*(x-2/3))+1
f = sin(2*pi*x)

Die Aufgabe besitzt eine Lsung im Raum

V = { v / v H
1
0
[0,1] mit v(0) = v(1) = 0 }.

Zur Approximation der Lsung whlen wir die Rume

V
h
= span { sin(i x

) }
N
1 i=


Untersuchen Sie:

Die Besetzung der Matrizen
Die Kondition der Matrizen
Der Abfall der gesuchten Koeffizienten

und geben Sie eine Nherungslsung an.

Hausaufgabe:
Zur Approximation der Lsung whlen Sie nun die Rume

V
h
= span {
i
}
N
1 i=


mit den stckweise affinen linearen Funktionen

N , ,... 1 j
sonst 0
) x , x ( x falls ,
h
x x
] x , x ( x falls ,
h
x x
) x (
1 j j
1 j
j 1 j
j
j
=

=
+
+


Dabei sei x
j
= jh mit h = 1/N


149



Aufgabe 13.2
Wir betrachten die einfache Aufgabe

- u'' = -1, u(0) = u(2) = 0, u -0.25

Es sei h eine vorgegebene Schrittweite h = 1/N, N N, und x
i
= ih die zugehrigen
Gitterpunkte aus [0,2] mit i = 0,1,2, ,N.


Eine kanonische Diskretisierung der Differentialgleichung fhrt auf das Gleichungssystem
Av = f mit

|
|
|
|
|
|
|
|
|
|
.
|

\
|




=
2 1 . . 0 0 0
1 2 . . 0 0 0
. . . . . . .
. . . . . . .
. . . . . . .
0 0 . . 1 2 1
0 0 . . 0 1 2
h
1
A
2
und f =
|
|
|
|
|
|
|
|
|
|
.
|

\
|

1
1
.
.
.
1
1


Zu lsen ist dann das Gleichungssystem Av = f unter der Nebenbedingungun v
i
-0.25
d.h.
P
M
(v-(Av-f)) v = 0.

Der Komponenten des Projektionsoperators (P
M
v)
i
haben die Gestalt

(P
M
v)
i
=


>
25 . v falls 25 .
25 . v falls v
i
i i


Damit kann (DP
M
)
w
als Diagonalmatrix mit den Eintrgen a
ii
= (sign(w
i
+0.25) +1)/2
gewhlt werden.
Lsen Sie die Aufgabe mit dem semiglatten Newtonverfahren.





Lsungen zur bung 13
Konstruktion und Analyse von Algorithmen
WS05/06
(8.2.06)

K. Taubert


Aufgabe 13.1



N = 20 %Anzahl der Ansatzfunktionen
h = 1/100; %Schrittweite fr die Integration
x = 0:h:1; %Sttzstellen fr Integration
%f = (x<=0.5).*(2*x) + (x>0.5).*(2-2*x);
f = 100*(x-1/3).^2.*(x-2/3).^2;
%f = -100*(x.*(x-1).*(x-1/3).*(x-2/3))+1;
%f = sin(2*pi*x);
for k = 1:N
for j = 1:N
a(k,j) = trapz(x,k*pi*cos(k*pi*x).*(j*pi*cos(j*pi*x))); %Die
Matrix
end
end
for k=1:N
for j= 1:N
if abs(a(j,k))<.000001
a(j,k) = 0;
end
end
end
for m = 1:N
fr(m) = trapz(x,f.*sin(m*pi*x)); %Die rechte Seite
end
subplot(1,3,1)
spy(a); %Besetzung der Matrix
title('Besetzung')
c =cond(a) %Kondition der Matrix
z = a\fr'; %Koeffizienten
Loesung = 0*x;
for p = 1:N
Loesung = Loesung + z(p)*sin(p*pi*x); %Nherungslsung
end
subplot(1,3,2)
plot(1:N,z) %Koeffizienten
axis([0 N+1 min(z)-0.01 max(z)+0.01])
title('Koeffizienten')
subplot(1,3,3)
plot(x,Loesung)
title('Nherung')



Aufgabe 13.2
function z = newtondata(u,psi,f,N)
%Liefert die Daten Dfu und fu fr die Newtoniteration
%Dfu(u1-u)=-fu bei vorgegebenem u
%Die Aufgabe ist -u"= f, u(0) =u(2) = 0 u>=psi
%N gibt die Anzahl der Knoten in [0,2] an
h = 2/(N-1);
A = 2*eye(N-2);
if N>3
B =-diag(linspace(1,1,N-3),1)-diag(linspace(1,1,N-3),-1);
A = (1/h^2)*(A+B);
end
H1 = u'-A*u'+f';
a = (sign(H1-psi')+1)/2;
DPK = diag(a');
Dfu = DPK*(eye(N-2)-A)-eye(N-2);
H2 = u'-A*u'+f';
PKH2 = (H2'>=psi).*(H2')+(H2'<psi).*psi;
fu = PKH2'-u';
z = [Dfu,fu];

%Eigentliches Programm
N=80
psi= linspace(-.25,-.25,N-2);
u0 = linspace(-1,-1,N-2);
f = linspace(-1,-1,N-2);
v = u0;
for i=1:160
z = newtondata(v,psi,f,N);
DFu = z(:,1:N-2)
fu = z(:,N-1);
y=-DFu\fu;
vv = [0 v 0];
v= y'+v;
end
x = (0:2/(N-1):2)
w = [0 v 0]
plot(x,w,x,vv)


150

Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert












Einfhrung

Lineare Optimierungsprobleme sind von groer praktischer Bedeutung und gehren nicht zu
dem Schwerpunkt dieser Vorlesung.
Der nachfolgende Text wurde weitgehend aus dem Buch von H.R. Schwarz, Numerische
Mathematik, entnommen. Die bernommene Darstellung gibt einen ersten Einblick in
Methoden zur Lsung linearer Optimierungsprobleme.
Es wird der Simplex-Algorithmus in seiner Tableauformulierung behandelt. Dieser ist in den
Wirtschaftswissenschaften noch weit verbreitet. Andere Formulierungen und Methoden sind in
der Lage, auch umfassendere Situationen effizienter zu bewltigen.


14.1 Ein Austauschschritt

Gegeben sei ein System von zwei Gleichungen (*)

y
1
= a
11
x
1
+a
12
x
2
+b
1

y
2
= a
21
x
1
+a
22
x
2
+b
2.

Sollen diese Gleichungen z.B. durch ein quivalentes System von Gleichungen

y
1
= b
11
y
2
+b
12
x
2
+c
1

x
1
= b
21
y
2
+b
22
x
2
+c
2


ersetzt werden, dann spricht man von einem (Variablen-) Austauschschritt.
Ist das (Pivot-) Element a
21
0, dann knnen die fr den Austausch der (unabhngigen)
Variablen x
1
durch die (abhngige) Variable y
2
bentigen Koeffizienten b
ij
und c
j
schnell
ermittelt werden:





14
Lineare Optimierung
DER SIMPLEX-ALGORITHMUS
151

Die zweite Gleichung aus (*) liefert

x
1
=
21
2
2
21
22
2
21
a
b
x )
a
a
( y )
a
1
( + .

Einsetzen in die erste Gleichung von (*) ergibt dann die zweite noch bentigte Gleichung

y
1
= )
a
b
b ( x ) a
a
a
a ( y )
a
a
(
21
2
1 2 12
21
22
11 2
21
11
+ + +
und damit
b
21
= 1/a
21
b
22
= -a
22
/a
21
c
2
= -b
2
/a
21


b
11
= a
11
/a
21
b
12
= -a
11
(a
22
/a
21
)+a
12
c
1
= b
1
-(b
2
/a
21
).

Liegt die allgemeine Situation

n n n 1 q nq 1 1 n n
p n n 1 q q 1 1 1 p p
2 n 2 q q 2 1 21 2
1 n n 1 q q 1 1 11 1
b x a x a x a y
b x a x a x a y
b xn a x a x a y
b x a x a x a y
+ + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
L L
M
L L
M
L L
L L


vor und soll die Variable x
q
durch y
p
ausgetauscht werden (a
pq
) 0

n n n 1 p nq 1 1 n n
p n pn p pq 1 1 p q
2 n 2 p q 2 1 21 2
1 n n 1 p q 1 1 11 1
c x b y b x b y
c x b y b x b x
c xn b y b x b y
c x b y b x b y
+ + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
L L
M
L L
M
L L
L L


dann ergeben sich die folgenden Regeln fr den Austausch der Koeffizienten:

b
pq
= 1/a
pq
,
b
pk
= -a
pk
/a
pq
, (k p ), c
p
= -b
p
/a
pq
,
b
iq
= a
iq
/a
pq
, (i p ),
b
ik
= a
ik
(a
iq
a
pk
/a
pq
) = a
ik
+a
iq
b
pk
, (i p , k q ),
c
i
= b
i
-(a
iq
b
p
/a
pq
) = b
i
+a
iq
c
p
, (i ) p .


Das Element a
pq
welches sich in der Zeile und Spalte der auszutauschenden Variablen befindet,
heit Pivotelement. Die betreffende Zeile nennt man Pivotzeile und die zugehrige Spalte
Pivotspalte.




152
Es ist zweckmig, die Formel fr einen Austauschritt in Worte zu fassen:

1. Das Pivotelement geht in seinen reziproken Wert ber.
2. Die brigen Elemente der Pivotzeile sind durch das Pivotelement zu dividieren und mit
dem entgegengesetzten Vorzeichen zu versehen.
3. Die brigen Elemente der Pivotspalte sind durch das Pivotelement zu dividieren.
4. Ein Element im Rest des Schemas berechnet sich, indem man zu ihm das Produkt
addiert, gebildet aus dem in der gleichen Zeile stehenden Element der Pivotspalte und
dem neuen in der gleichen Spalte stehenden Element der Pivotzeile.


Ein Beispiel

Gegeben seien die Gleichungen

y
1
= 3x
1
+ 7x
2
+ 4x
3
-13
y
2
= -5x
1
+ 4x
2
+ 5x
3
+ 2
y
3
= -1x
1
+ 2x
2
+ 3x
3
- 6

und ausgetauscht werden soll x
2
durch y
3
. Die neuen Koeffizienten knnen dann aus dem
folgenden Schema entnommen werden:









14.2 Graphische Lsung linearer Optimierungsaufgaben

Als lineare Optimierungsaufgabe wollen wir hier Aufgaben der folgenden Form betrachten:

Gegeben sei ein System von linearen Ungleichungen (m<n)

0 c x a x a x a
0 c x a x a x a
0 c x a x a x a
m n mn 2 2 m 1 1 m
2 n n 2 2 22 1 21
1 n n 1 2 12 1 11
+ + + +
+ + + +
+ + + +
L
M
L
L


Gesucht sind dann x
i
0 , i = 1,2, ,n, welche die linearen Ungleichungen erfllen und das
lineare Funktional

d x b x b x b
n n 2 2 1 1
+ + + + L
maximieren. Kurz:
Ax +c 0
x 0
b
T
x +d = Max.


Beispiel

x
1
y
3
x
3
y
1
6.5 3.5 -6.5 8
y
2
-3 2 -1 14
x
2
0.5 0.5 -1.5 3

x
1
x
2
x
3
y
1
3 7 4 -13
y
2
-5 4 5 2
y
3
-1 2 3 -6
153
Ein Schuhhersteller mchte eine geeignete Anzahl von Damen- und Herrenschuhen
produzieren.
Belegschaft und Maschinenpark sollen optimal so eingesetzt werden, dass der Gewinn aus der
Produktion maximal wird. Zur Verfgung steht eine bestimmte Arbeitzeit, Maschinenzeit und
Leder. Auch der Gewinn pro Schuh ist bekannt. Die Daten knnen aus der folgenden Tabelle
entnommen werden:

Damenschuh Herrenschuh Verfgbarkeit
Herstellungszeit[h]
Maschinenbearbeitung[h]
Lederbedarf[dm]
20
4
6
10
5
15
8000
2000
4500
Reingewinn [] 16 32

Mit den Variablen
x
1
= Zahl der produzierten Damenschuhe
x
2
= Zahl der produzierten Herrenschuhe

entsteht ein lineares Optimierungsproblem der folgenden Gestalt

20x
1
+ 10x
2
8000
4x
1
+ 5x
2
2000
6x
1
+ 15x
2
4500

x
1
0
x
2
0

16x
1
+32x
2
= Max !

Die Aufgabe kann (wenn notwendig) in die kanonische Form umgeschrieben werden.
Da die Aufgabe nur die zwei Variablen x
1
und x
2
besitzt, kann diese sogar graphisch (sehr
schnell) gelst werden. Hilfreich ist dafr die Beobachtung, dass durch Ungleichungen der
Form ax
1
+bx
2
c, Halbebenen im R definiert werden. Der Durchschnitt dieser Halbebenen
liefert einen Polyeder, der alle zulssigen Punkte der linearen Optimierungsaufgabe enthlt.
Unter diesen Punkten sind dann jene auszuwhlen, die das lineare Funktional 16x
1
+32x
2

maximieren.
Das folgende Bild zeigt den zur linearen Optimierungsaufgabe gehrigen Polyeder und liefert
durch einfache Inspektion das gesuchte Ergebnis der linearen Optimierungsaufgabe.

















1000
800
Optimale
Ecke
Zulssiger
Bereich
Zu maximierendes
Funktional
y
1
= 0 y
2
= 0 y
3
= 0
x
2

x
1
154
Bemerkung
Mit der obigen geometrischen Interpretation ist es nicht schwer, Beispiele dafr zu
konstruieren, dass eine lineare Optimierungsaufgabe genau eine, unendlich viele oder keine
Lsung besitzt.



14.3 Der Simplex-Algorithmus

Fr das Weitere ist es zweckmig, die lineare Optimierungsaufgabe aus dem Abschnitt 14.2 in
die folgende Form umzuschreiben:

y
1
= -20x
1
- 10x
2
+ 8000 0
y
2
= - 4x
1
- 5x
2
+ 2000 0
y
3
= - 6x
1
- 15x
2
+ 4500 0

x
1
0
x
2
0

z = 16x
1
+32x
2
= Max !

Im Beispiel zeigte sich, dass die optimale Lsung des linearen Optimierungsproblems in einer
Ecke liegt. Die Ecken sind dadurch charakterisiert, dass zwei seiner Koordinaten
(x
1
,x
2
, y
1
,y
2
, y
3
) gleich Null sind, whrend die anderen einen positiven, allgemeiner einen
nichtnegativen Wert haben.
Der Simplex-Algorithmus besteht in seiner einfachsten Fassung nun darin, einen sukzessiven
Austausch von Variablen vorzunehmen, wobei gleichzeitig eine Ecke in eine andere Ecke
bergeht und der Wert des linearen Funktionals erhht wird. Dieses wird so lange durchgefhrt,
bis der maximale Wert des Funktionals erreicht ist.

Ein solcher Austausch von Variablen, der zugleich eine Ecke in eine andere Ecke
berfhrt, soll nun einmal exemplarisch ausgefhrt werden:
Als Ausgangsecke werde die Ecke (x
1
,x
2
,y
1
,y
2
,y
3
) mit x
1
= 0, x
2
= 0, y
1
= 8000, y
2
= 2000 und
y
3
= 4500 gewhlt. Das lineare Funktional hat bei dieser Wahl den Wert z = 0.
Ein Austausch von x
1
mit y
1
fhrt nach Abschnitt 14.1 zu


x
1
x
2

y
1
-20 -10 8000
y
2
-4 -5 2000
y
3
-6 -15 4500


Zum zweiten Schema gehrt wieder ein Gleichungssystem. Wird in diesem Gleichungssystem
y
1
= 0 und x
2
= 0 gesetzt, dann ergibt sich (wegen der letzten Spalte) x
1
= 400, y
2
= 400 und
y
3
= 2100 und der Wert des Funktionals an dieser Stelle ist dann 16*x
1
= 16*400= 6400. Damit
ist auch eine neue Ecke mit y
1
= 0 , x
2
= 0, x
1
= 400, y
2
= 400, y
3
= 2100 gegeben.


Die Regeln fr die Auswahl des Pivotelementes fr einen Austauschschritt, der eine Ecke in
eine andere berfhrt, sollen nun fr den allgemeinen Fall

y
1
x
2

x
1
-1/20 -1/2 400
y
2
1/5 -3 400
y
3
3/10 45 2100
155
0 c x a x a x a y
0 c x a x a x a y
0 c x a x a x a y
m n mn 2 2 m 1 1 m m
2 n n 2 2 22 1 21 2
1 n n 1 2 12 1 11 1
+ + + + =
+ + + + =
+ + + + =
L
M
L
L


x
k
0, fr k = 1,2, ,n

z = d x b x b x b
n n 2 2 1 1
+ + + + L = Max!

angegeben werden. Dabei ist es zweckmig, auch das zu maximierende Funktional im Tableau
einzubeziehen.


x
1
K x
q
K x
n

y
1
a
11
K a
1q
a
1n
c
1

M M M M M
y
i
a
i1
K a
iq
K a
in
c
i

M M M M M
y
p
a
p1
K a
pq
K a
pn
c
p

M M M M M
y
m
a
m1
K a
mq
K a
mn
c
m

z b
1
K b
q
K b
n
d


Wird angenommen, dass alle c
i
nicht negativ sind, dann liegt mit x
i
= 0, i = 1,2, ,n und
y
j
= c
j,
j =

1,2, ,m eine Ecke vor und der Wert des zu maximierenden Funktional ist d.

Ein Austauschschritt muss nun so erfolgen, dass im neuen Schema

x
1
K y
p
K x
n

y
1
a
11
K a
1q
a
1n
c
1

M M M M M
y
i
a
i1
K a
iq
K a
in
c
i

M M M M M
x
q
a
p1
K a
pq
K a
pn
c
p

M M M M M
y
m
a
m1
K a
mq
K a
mn
c
m

z b
1
K b
q
K b
n
d


alle c
i
0 sind und d d ist.

Dieses kann erreicht werden, wenn die folgenden zwei Regeln beachtet werden:

1. Die Pivotspalte q ist so festzulegen, dass ihr Element b
q
in der Zeile der Zielfunktion
positiv ist.
2. In der gewhlten Pivotspalte muss das Pivotelement a
pq
negativ sein. Die Pivotzeile p ist
bestimmt durch den grten, d.h. absolut kleinsten Quotienten Q
i
= c
i
/a
iq
, welche mit
den negativen Elementen a
iq
der Pivotspalte gebildet werden.

156


Sind einmal im Verlauf der Austauschritte alle b
j
< 0, dann bricht der Simplex-Algorithmus ab
und die einzige optimale Lsung des Problems ist gefunden.

Besondere Situationen liegen vor, wenn

1. in der letzten Zeile nur Elemente mit b
q
0 auftreten, oder
2. in der Pivotspalte zwei gleich groe kleinste Quotienten c
p
/a
pq
und c
j
/a
jq
auftreten.

In der Praxis treten diese Flle eher selten auf! Sie sind jedoch Gegenstand vieler Untersu-
chungen gewesen.

Abschlieend soll noch einmal das obige Beispiel aufgenommen werden:









Als Pivotspalte kann q = 1 gewhlt werden.
Da alle Pivotspaltenelemente a
i1
, i = 1,2,3 negativ sind, mssen alle Quotienten Qi = c
i
/a
i1
,
i = 1,2,3, berechnet werden. Diese Quotienten haben den Wert

Q
1
= -400, Q
2
= -500 und Q
3
= -750

und die gesuchte Pivotzeile ist durch p = 1 gegeben.
Der Austausch von x
1
mit y
1
fhrt zu








Die Produktion von 400 Damenschuhen wrde einen Gewinn von 6400 erbringen!

Als Pivotspalte kann jetzt nur q = 2 gewhlt werden.
Da alle Pivotspaltenelemente a
i2
, i = 1,2,3 negativ sind, mssen alle Quotienten Qi = c
i
/a
i1
,
i = 1,2,3, berechnet werden. Diese Quotienten haben den Wert

Q
1
= -800, Q
2
= -133,33 und Q
3
= -175

und die gesuchte Pivotzeile ist durch p = 2 gegeben.

Der Austausch von x
2
mit y
2
fhrt zu




x
1
x
2

y
1
-20 -10 8000
y
2
-4 -5 2000
y
3
-6 -15 4500
16 32 0
y
1
x
2

x
1
-1/20 -1/2 400
y
2
2/10 -3 400
y
3
-3/10 -12 2100
-4/5 24 6400
157








Die Produktion von 1000/3 Damen- und 400/3 Herrenschuhen ergibt einen Gewinn von
9600.
Ein weiterer Austausch ist nicht mehr mglich. Die optimale Lsung ist gefunden!


Literatur
H.R. Schwarz, Numerische Mathematik, Teubner Verlag 1988.
y
1
y
2

x
1
-1/60 1/6 1000/3
x
2
-2/30 -1/3 400/3
y
3
1/2 4 1500
-36/15 -8 9600
Weiterbildung fr Ingenieure
Numerische Mathematik
Konstruktion und Analyse von Algorithmen
Universitt Hamburg
WS05/06

K. Taubert


TEST (Teil I)
(1.02.2006)

Nachfolgend finden Sie zu jedem Kapitel aus der Vorlesung eine Frage. Die Reihenfolge
der Fragen entspricht der Reihenfolge der Kapitel. Fr die Beantwortung der Fragen
knnen alle zugelassenen Unterlagen benutzt werden.

1. Die Taylorentwicklung eines Polynoms n-ten Grades

p
n
(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ .. + a
n
x
n


an der Stelle x
0
hat die Gestalt

p
n
(x) = b
0
+b
1
(x-x
0
) +b
2
(x-x
0
)
2
+ . + b
n
(x-x
0
)
n
.

Geben Sie eine Methode an, mit der die Koeffizienten b
i
effizient ermittelt werden
knnen.
Bestimmen Sie mit dieser Methode die Taylorentwicklung von p
1
(x) = 1+2x an der
Stelle x
0
= 1.

2. Bestimmen Sie den Wert der Parabel, die durch die Punkte (1,1), (2,2), (4,2) geht, an
der Stelle x = 3.

3. Geben Sie eine LR-Zerlegung fr die Matrix

=
1 1
2 1
A

an und erlutern Sie den Vorteil einer LR-Zerlegung.

4. Skizzieren Sie die Konstruktion einer Bezier-Kurve durch die Punkte

(1,1), (2,2) und (3,1).

5. Erlutern Sie den Zusammenhang zwischen dem Neville-Schema und der Romberg-
Integration.

6. Geben Sie die Normalgleichung fr Ax = b mit

=
1 1
4 3
2 1
A und b =

1
1
1

an.
7. Geben Sie einen zur symmetrischen Matrix


1 0 0 2
0 1 1 0
0 1 1 1
2 0 1 1


gehrigen Graph an.

8. Geben Sie die Iterationsmatrix des Gesamtschrittverfahrens fr das Gleichungs-
system


2
1
x
x
2 1
1 2
2
1
.
an.

9. Erlutern Sie die Vorteile einer IFFT.

10. Geben Sie das eindimensionale Newton-Verfahren an und geben Sie eine graphische
Interpretation.
Geben Sie mglichst schwache Bedingungen dafr an, dass die (lokale) Konvergenz
des Verfahrens gewhrleistet ist.

11. Bestimmen Sie durch eine hnlichkeitstransformation auf der Basis einer Givens-
Transformation die Eigenwerte der Matrix



1 2
2 2
.

12. Welche Schrittweiten h sind fr eine sachgerechte Integration der AWAbe

y = y
1 0
1 100



mit dem expliziten Euler-Verfahren ntig?

13. Welche Gestalt hat die Variationsungleichung zu der Aufgabe


1
3
x
x
2 1
1 2
2
1
, x
i
0 ?

14. Lsen Sie die lineare Optimierungsaufgabe

2x
1
+4x
2
4
x
1
0
x
2
0
4x
1
+2x
2
= Max!








TEST (Teil 2)
(1.02.2006)

Fr diesen Teil mssen einige kleine MATLAB-Programme geschrieben werden. Die
Aufgaben kommen aus ausgewhlten Kapiteln der Vorlesung.



1. Bestimmen Sie mit dem Newton-Verfahren die Nullstelle von x-2 = 0 bis auf 8
Stellen genau.

2. Bestimmen Sie fr n=8 mit MATLAB die Lsung von
A = (a
ij
), a
ij
= 1/(i+j-1), i,j = 1,2, ,n, b
i
=

=
+
n
1 j
) 1 j i /( 1 .

3. Bestimmen Sie die Kondition (bezglich der 2-Norm) der Matrix



2 1 0
1 2 1
0 1 2
.

4. Bestimmen Sie mit MATLAB eine Ausgleichsgerade durch die Messpunkte

x
i
-1 0 1 2
y
i
-2 0 1 3

5. Bestimmen Sie mit einer QR-Iteration die Eigenwerte von




0 2 / 1 0 0
2 / 1 0 2 / 1 0
0 2 / 1 0 2 / 1
0 0 2 / 1 0
.