0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten688 Seiten

Numerik Algorithms

Hochgeladen von

Merik Mesklain
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten688 Seiten

Numerik Algorithms

Hochgeladen von

Merik Mesklain
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Sie sind auf Seite 1/ 688

Xpert.

press
Die Reihe Xpert.press vermittelt Professionals
in den Bereichen Softwareentwicklung,
Internettechnologie und IT-Management aktuell
und kompetent relevantes Fachwissen über
Technologien und Produkte zur Entwicklung
und Anwendung moderner Informationstechnologien.
Gisela Engeln-Müllges · Klaus Niederdrenk
Reinhard Wodicka

Numerik-Algorithmen
Verfahren, Beispiele, Anwendungen

Neunte, vollständig überarbeitete und erweiterte Auflage


mit zahlreichen Abbildungen und Beispielen
sowie 2 CD-ROMs

123
Prof. Dr. rer. nat. Gisela Engeln-Müllges Prof. Dr. rer. nat. Klaus Niederdrenk
Fachbereich Maschinenbau und Mechatronik Fachbereich Chemieingenieurwesen
Fachhochschule Aachen Fachhochschule Münster
Goethestraße 1 Stegerwaldstraße 39
52064 Aachen 48565 Steinfurt
[email protected] [email protected]

Stud. Prof. Dr. rer. nat. Reinhard Wodicka


Am Kupferofen 34
52066 Aachen

Bibliografische Information der Deutschen Bibliothek


Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet über
http://dnb.ddb.de abrufbar.

Die Neuauflage fasst die 5. Auflage von „Numerische Mathematik für Ingenieure“ von Gisela Engeln-
Müllges und Fritz Reutter(ursprünglich Bibliographisches Institut/Brockhaus AG, Mannheim) und die
8. Auflage von „Numerik-Algorithmen“ von Gisela Engeln-Müllges und Fritz Reutter (ursprünglich
VDI-Verlag, Düsseldorf) zusammen.

ISSN 1439-5428
ISBN 3-540-62669-7 Springer Berlin Heidelberg New York
Dieses Werk ist urheb errecht lich geschützt. Die dadurch b eg rü ndeten Rechte, in sbe-
sondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und
Tabellen, der Funksendung, der Mikroverfilmung oder der Ver vielfältigung auf anderen Wegen und der
Speicherung in Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser Verwertung,
vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur
in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.
Springer ist nicht Urheber der Daten und Programme. Weder Springer noch die Autoren übernehmen
die Haftung für die CD-ROMs und das Buch, einschließlich ihrer Qualität, Handels- und
Anwendungseignung. In keinem Fall übernehmen Springer oder die Autoren Haftung für direkte,
indirekte, zufällige oder Folgeschäden, die sich aus der Nutzung der CD-ROMs oder des Buches ergeben.

Springer ist ein Unternehmen von Springer Science+Business Media


springer.de

© Springer-Verlag Berlin Heidelberg 2005


Printed in Germany
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk be-
rechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der
Warenzeichen- und Markenschutzgesetzgebung als frei zu betrachten wären und daher von jedermann
benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet. Verlag und Autor
können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische
Verantwortung noch irgendeine Haftung übernehmen.
Satz: Druckfertige Daten der Autoren
Herstellung: LE-TEX Jelonek, Schmidt & Vöckler GbR, Leipzig
Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg
Gedruckt auf säurefreiem Papier 33/3142/YL - 5 4 3 2 1 0
Im Gedenken an unseren akademischen Lehrer
Prof. Dr. rer. techn. Fritz Reutter (1911–1990)
Rheinisch-Westfälische Technische Hochschule Aachen
Vorwort zur 9. Auflage

Das vorliegende Werk steht in einer langen Tradition. Die erste Auflage erschien 1974 mit
den Autoren Gisela Engeln-Müllges und Fritz Reutter unter dem Titel Formelsamm-

lung zur Numerischen Mathematik mit FORTRAN-Programmen“. Der Inhalt des Buches
orientierte sich an Vorlesungen über Numerische Mathematik für Studierende der Inge-
nieurwissenschaften.
Bei den nachfolgenden Auflagen, an denen Fritz Reutter bis zu seiner schweren Erkran-
kung 1983 mitarbeitete, nahm der Umfang des Buches stark zu, und die Programm-
anhänge wurden um die Sprachen Turbo Pascal, C, Modula 2 und Quick-Basic erweitert.
Dies hing zusammen mit der raschen Entwicklung der Computertechnologie und ihren
Impulsen auf die Numerische Mathematik, die zu einer enormen qualitativen wie auch
quantitativen Zunahme numerischer Verfahren führte.

Grundlage des vorliegenden Buches ist die achte Auflage des Buches von Gisela Engeln-
Müllges und Fritz Reutter mit dem Titel Numerik-Algorithmen“ (VDI-Verlag, 1996),

die erstmals eine CD-ROM mit Fortran 77/90-, Turbo Pascal- und ANSI C-Programmen
enthielt.

Wie bisher wird auch in dieser neunten Auflage von den unten genannten Verfassern
besonderer Wert gelegt auf die Erläuterung der Prinzipien der behandelten Verfahren
der Numerischen Mathematik, auf die exakte Beschreibung leistungsfähiger Algorith-
men und die Entwicklung und Dokumentation zugehöriger Programme. Die ausführli-
che Darstellung der mathematischen Grundlagen, ergänzt durch viele Abbildungen und
durchgerechnete Beispiele, soll den Zugang zur Numerischen Mathematik erleichtern und
das Verständnis des algorithmischen Vorgehens fördern. Zahlreiche Beispiele aus inge-
nieurwissenschaftlichen Anwendungen belegen die Notwendigkeit der behandelten nume-
rischen Verfahren.

Das Buch wendet sich in erster Linie an Ingenieure sowie an Naturwissenschaftler und
Informatiker in Studium und Beruf, ferner an Lehrkräfte für mathematisch-naturwissen-
schaftlichen Unterricht. Deshalb ist besonders auf die Verwendbarkeit der behandelten
Themen in der Praxis geachtet worden.

Beigefügt ist dem Buch eine CD-ROM, die umfassend getestete C-Programme zu nahezu
allen angegebenen Algorithmen enthält, sowie weitere Software, zu der Informationen auf
den folgenden Seiten zu finden sind.
VIII Vorwort

Die inhaltliche Erweiterung des Buches erfordert es, die bisher in ihm enthaltenen nu-
merischen Verfahren für Anfangs- und Randwertprobleme bei gewöhnlichen Differential-
gleichungen in einen weiteren Band zu verlagern. Dieser wird, einem häufig geäußerten
Wunsch folgend, zusätzlich Numerik partieller Differentialgleichungen sowie wichtige sto-
chastische Methoden, insbesondere statistische Schätz- und Prüfverfahren enthalten und
ebenfalls bei Springer erscheinen. Verfasser dieses Buches sind Gisela Engeln-Müllges,
Klaus Niederdrenk und Wieland Richter.

Ganz besonders herzlich danken wir den Autoren der Programme und ebenso Doris und
Uli Eggermann, die mit Hilfe des Satzprogramms LATEX das reproduktionsreife Manu-
skript sowie eine Vielzahl der Abbildungen mit äußerstem Engagement und sehr großem
Geschick fertig gestellt haben. Darüber hinaus hat uns Uli Eggermann tatkräftig beim
Korrekturlesen und beim Rechnen der Beispiele zur Kubatur unterstützt.
Ein herzlicher Dank gilt nicht zuletzt Herrn Hermann Engesser vom Springer-Verlag für
die hervorragende und effektive Zusammenarbeit.

Aachen, Münster, Juli 2004 Gisela Engeln-Müllges


Klaus Niederdrenk
Reinhard Wodicka
Informationen zur beigefügten
Software (CD-1, CD-2)

Dem Buch sind zwei CDs beigefügt, welche unterschiedliche Demonstrationsprogramme


enthalten sowie ANSI-C-Quellen zur Verwendung in selbstgeschriebenen Programmen.

Informationen
zur CD-ROM mit C-Programmen u.a. (CD-1)
Auf dieser CD befinden sich Ansi-C-Quellen von Unterprogrammen zu den meisten der im
Buch angegebenen Algorithmen. Diese Quellen können compilerunabhängig in eigenen
C-Programmen verwendet werden. Mittels beigefügter Makefile-Datei ist man in der
Lage,

− gezielt einzelne Module zu übersetzen


− eine eigene Bibliothek zusammenzustellen, die zu selbstgeschriebenen Programmen
hinzugelinkt werden kann
− spezielle Testprogramme zu den Unterprogrammen zu erstellen und mit geeigneten
Testdatensätzen ablaufen zu lassen.

Weitergehende Informationen zur Verwendung der Ansi-C-Quellen und Antworten zu


Compiler- und Makefile-Fragen sind auf der CD in der Datei ReadMe.htm und in der
DMAKE-Datei Makefile.mk angegeben.

Systemvoraussetzungen

Die Unterprogramme wurden unter verschiedenen Betriebssystemen getestet, u.a. MS-


DOS, Windows (95, 98, 2000, NT), OS/2, TOS 4.04, UNIX, Linux. Dabei wurden diverse
C-Compiler verwendet.

C++ -Programme und Campuslizenzen

Die C-Programme der CD-ROM sind bei der FH-Aachen auch in C++ erhältlich. Infor-
mationen über Lizenzen zu den C++ -Programmen sowie über Campuslizenzen zu den
C- und C++ -Programmen können per e-Mail angefordert werden:
[email protected]
X Informationen zur beigefügten Software

Weitere Software auf der CD-1


Auf der CD-1 sind noch folgende Programme zu finden:
− CurveTrac
− CurveView
− Interaktive Lehrunterstützung
Zu allen drei Programmen finden Sie Informationen in den folgenden Abschnitten. In der
HTML-Datei ReadMe auf der CD sind sie ebenfalls kurz beschrieben und können (unter
Windows) direkt aus dem Browser (z.B. IE, Netscape, Mozilla, Opera) heraus gestartet
werden.

Systemvoraussetzungen
Betriebssystem: Windows (98, 2000 oder XP)
Arbeitsspeicher: mindestens 256 MB RAM
Browser: Netscape ab 6.2, Internet Explorer ab 5.5, Mozilla ab 1.4
Java: aktivieren (ab Version 1.2); wenn von CD gestartet
(aus ReadMe.htm), wird mitgeliefertes Java verwendet.

Informationen
zum Expertensystem CurveTrac“ (CD-1)

CurveTrac ist ein Baukastensystem von numerischen Anwendungen, die auf den C-Pro-
grammen aus diesem Buch basieren. Die Benutzer-Oberfläche ist in Java programmiert.
Dadurch ist gewährleistet, dass die Anwendung auf den gängigsten Betriebsystemen ge-
nutzt werden kann. Getestet wurde CurveTrac unter Windows und Linux. In der hier
vorliegenden Ausbaustufe ist das Modul Höhenlinien“ eingebunden. Informationen über

weitere Module können Sie bei [email protected] anfordern. Dies sind im
Einzelnen:
− Expertensystem zur Numerischen Mathematik
− Berechnung der Schnittkurve zweier Flächen im Raum
− Splinemodul (Flächensplines und Kurvensplines)
− u. a. m. . . .

Beschreibung des Moduls Höhenlinien“



Mit
 dem Modul  Höhenlinien“ können beliebig angeordnete Wertetripel

xi , yi , zi = f (xi , yi ) , z. B. Messdaten, eingegeben werden. Die Funktion f (x, y) wird
näherungsweise mittels eines zweidimensionalen Oberflächenspline berechnet und als
dreidimensionale Grafik dargestellt. Neben dieser Funktionalität ist es zusätzlich möglich,
beliebige Schnitte parallel zur x, y-Ebene zu berechnen und das daraus erzeugte Höhen-
liniendiagramm in einer zweidimensionalen Grafik darzustellen. Bei Bedarf kann das
Höhenliniendiagramm mit frei definierbaren Farben ausgefüllt werden.
CurveTrac mit dem Modul Höhenlinien ist auf der CD-ROM mit den C-Programmen zu
finden.
Programmiert wurde CurveTrac von Dominikus Bartusch, Frank Hähling und Thomas
Layh.
Informationen zur beigefügten Software XI

Informationen zu dem Modul CurveView“ (CD-1)



CurveView ist wie CurveTrac ein in Java programmiertes Baukastensystem ohne Benut-
zeroberfläche. Mittels in XML-Dateien abgelegten numerischen Berechnungsvorschriften
(basierend auf den C-Programmen aus diesem Buch) können die Ergebnisse einer Be-
rechnung als zwei- bzw. dreidimensionale Grafik bereitgestellt werden. In der hier vor-
liegenden Ausbaustufe ist das Berechnungsmodul Kurvensplines“ mit vielen Beispielen

eingebunden. Wenn Interesse an weiteren Modulen besteht, z. B.

− Flächensplines
− Nullstellenverfahren
− Differentialgleichungen
− Matrizen
− Statistik
− u. a. m. . . .

senden Sie eine Nachricht an [email protected].


Programmiert wurde CurveView von Stefan Kleemann.

Informationen zum Demo-Framework


Interaktive Lehrunterstützung“

auf der CD-ROM (CD-1)
Mit dem Framework können die Lernenden Themengebiete aus Lehrveranstaltungen
selbstständig mit interaktiven Elementen vertiefen. Es gibt eine Auswahl von über 100
Interaktionen und Animationen, die gezielt zu speziellen Themengebieten zusammenge-
stellt und dem Lernenden zur Verfügung gestellt werden können. In dieser Demo-Version
sind zu jedem der folgenden Themengebiete beispielhaft Interaktionen und Animationen
vorhanden:

− Quadratur
− Nullstellen
− Splines
− Differentialgleichungen

Wenn Interesse an weiteren Interaktionen und Animationen besteht, können Informatio-


nen unter der Mail-Adresse [email protected] angefordert werden.
Programmiert wurde das Framework von Michael Neßlinger.

Informationen
zur Demo-CD-ROM NUMAS“ (CD-2)

Die beiliegende Demo-CD-ROM enthält das Lernfeld Kurvensplines“ aus dem multime-

dialen Lehr- und Lernsystem NUMAS zur Numerischen Mathematik und Statistik. Der
XII Informationen zur beigefügten Software

Inhalt der Demo-CD-ROM entspricht den Kapiteln über Kurvensplines in diesem Buch
und informiert auch über den Gesamtinhalt des Lernsystems.
NUMAS bietet didaktisch aufbereitetes Wissen zur Numerischen Mathematik und Sta-
tistik. Es werden Inhalte angeboten, die für die Hochschulausbildung vieler Fachrichtun-
gen grundlegend sind und die sich gleichzeitig hervorragend dazu eignen, in Formen des
angeleiteten Selbststudiums aufgenommen zu werden. Lernerinnen und Lerner werden
zeitgemäß in ihren Selbstlern- und Selbstorganisationskompetenzen gefördert.
Für die Vollversion NUMAS wurden in großen Teilen die Inhalte dieses Buches und des
im Vorwort angekündigten weiteren Bandes mit Differentialgleichungen und Statistik
verwendet.
NUMAS ist aus einem vom BMBF und vom Land NRW geförderten Projekt innerhalb
der Ausschreibungen Neue Medien in der Bildung“ und Neue Medien in der Hoch-
” ”
schullehre“ hervorgegangen. An dem Projekt waren die Fachhochschule Aachen (Prof.
Dr. Engeln-Müllges), die Freie Universität Berlin (Prof. Dr. Martus), die Fachhochschule
Münster (Prof. Dr. Niederdrenk) und die Fachhochschule Südwestfalen (Prof. Dr. Rich-
ter) beteiligt.
NUMAS ist auch im Internet unter http://www.numas.de/ zu erreichen.

Der Umgang mit der CD-ROM selbst ist denkbar einfach: Nach dem Einlegen der CD-
ROM in das Laufwerk erscheint selbstständig ein Auswahlbildschirm mit den im Ge-
samtsystem zur Verfügung stehenden Lernfeldern. Von hier aus kann man sich den In-
halt ansehen und bearbeiten. Bei der Demo-CD-ROM ist nur das Lernfeld Kurvensplines
freigeschaltet.
Die CD-ROM stellt nur einen Teil der Funktionalität des Lernsystems zur Verfügung.
Zum Beispiel sind die Kommunikationswerkzeuge, die an das Internet gebunden sind,
nur im Online-System verfügbar.

Systemvoraussetzungen
Ihr Computersystem sollte folgende Bedingungen erfüllen, um einen reibungslosen Be-
trieb von NUMAS erreichen zu können:
Betriebssystem: Windows (98, 2000 oder XP)
Browser: Netscape ab 6.2, Internet Explorer ab 5.5, Mozilla ab 1.4
Javascript: aktivieren (ab Version 1.2)
Cookies: aktivieren

Um auch die interaktiven und multimedialen Elemente von NUMAS nutzen zu können,
müssen zusätzlich folgende Plug-Ins installiert sein:
Macromedia Flash Player und SUN Java (JRE) ab Version 1.4 (mit Ausnahme der Ver-
sion 1.4.1 03)
Weitere Informationen zu NUMAS können Sie unter der Mail-Adresse [email protected]
anfordern.
Bezeichnungen

⇒ wenn – dann bzw. hat zur Folge


⇔ dann und nur dann
a := b a wird definiert durch b
!
= geforderte Gleichheit
< ≤ kleiner, kleiner oder gleich
> ≥ größer, größer oder gleich
a << b a ist wesentlich kleiner als b
≈ ungefähr gleich
≡ identisch
∼ proportional bzw. gleichmäßig zu
{a1 , a2 , . . .} Menge aus den Elementen a1 , a2 , . . .
{x| . . .} Menge aller x für die gilt . . .
∈ Element von
∈/ nicht Element von
⊆ enthalten in oder Teilmenge von
⊂ echt enthalten in oder echte Teilmenge von
⊂ nicht Teilmenge von
IN Menge der natürlichen Zahlen
IN0 Menge der natürlichen Zahlen mit Null
ZZ Menge der ganzen Zahlen
Q Menge der rationalen Zahlen
IR Menge der reellen Zahlen
C Menge der komplexen Zahlen
IR+ , IR− Menge der positiven bzw. negativen reellen Zahlen
(a, b) offenes Intervall von a bis b, a < b
[a, b] abgeschlossenes Intervall von a bis b, a < b
[a, b) halboffenes Intervall von a bis b (rechts offen), a < b
(a, b] halboffenes Intervall von a bis b (links offen), a < b
n! n Fakultät mit n! = 1 · 2 · 3 · · · n, n ∈ IN, 0! := 1
n  
k n über k mit nk := k!(n−k)!
n!
, k ∈ IN0 , k ≤ n, n ∈ IN

n
ai a1 · a2 · a3 . . . an
i=1
n
ai a1 + a2 + . . . + an
i=1
b
Integral in den Grenzen a und b
a
XIV Bezeichnungen


i imaginäre Einheit i := −1
e Eulersche Zahl = 2.718 281 828 459 . . .

a für a ≥ 0
|a| Betrag von a mit |a| :=
−a für a < 0
· Norm von ·
{ak } Folge von ak
lim ak Limes von ak für k → ∞
k→∞
max {f (x)|x ∈ [a, b]} Maximum aller Funktionswerte f (x) für x ∈ [a, b]

min {|Mi |  i = 1, 2, . . . , m} Minimum aller |Mi | für i = 1, 2, . . . , m
(x, y) geordnetes Paar
(x1 , x2 , . . . , xn ) geordnetes n-Tupel
f : I → IR Abbildung f von I nach IR
x → f (x), x ∈ D x wird f (x) zugeordnet für x ∈ D
f  , f  , f  , f (4) , . . . , f (n) erste, zweite, dritte, vierte, . . . ,
n-te Ableitung von f
C[a, b] die Menge der auf [a, b] stetigen Funktionen
C n [a, b] die Menge der auf [a, b] n-mal stetig differenzierbaren
Funktionen
IRn n-dimensionaler euklidischer Raum
A = O(hq ) |A/hq | ≤ C für h → 0, C = const.
i = m(1)n m, n ∈ ZZ, m ≤ n, i = m, m + 1, . . . , n

⎨ 1 für a > 0
sign (a), sgn (a) 0 für a = 0

−1 für a < 0
x, y, z , . . . Vektoren
A, B, C , . . . Matrizen
0 Nullmatrix bzw. Nullvektor
x ×y Vektorprodukt bzw. Kreuzprodukt
E Einheitsmatrix
AT transponierte Matrix von A ⎛ ⎞
x1
x T = (x1 , x2 , . . . , xn ) transponierter Vektor zu x = ⎝ ... ⎠
xn
A−1 inverse Matrix von A
|A|, det(A) Determinante von A
[Verweis] s. im Literaturverzeichnis unter [Verweis]
o. B. d. A. ohne Beschränkung der Allgemeinheit
 Ende eines Beispiels oder eines Beweises
Inhaltsverzeichnis

Vorwort zur 9. Auflage VII

Informationen zur beigefügten Software (CD-1, CD-2) IX

1 Darstellung von Zahlen und Fehleranalyse 1


1.1 Definition von Fehlergrößen . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Zahlensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Darstellung ganzer Zahlen . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Darstellung reeller Zahlen . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Rechnung mit endlicher Stellenzahl . . . . . . . . . . . . . . . . . . . . . 11
1.4 Fehlerquellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.1 Eingabefehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2 Verfahrensfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.3 Fehlerfortpflanzung und die Kondition eines Problems . . . . . . . 19
1.4.4 Rechnungsfehler und numerische Stabilität . . . . . . . . . . . . . 24

2 Lösung nichtlinearer Gleichungen 27


2.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Definitionen und Sätze über Nullstellen . . . . . . . . . . . . . . . . . . . 29
2.3 Allgemeines Iterationsverfahren . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 Konstruktionsmethode und Definition . . . . . . . . . . . . . . . . 31
2.3.2 Existenz einer Lösung und Eindeutigkeit der Lösung . . . . . . . . 34
2.3.3 Konvergenz eines Iterationsverfahrens . . . . . . . . . . . . . . . . 37
2.3.3.1 Heuristische Betrachtungen . . . . . . . . . . . . . . . . . 37
2.3.3.2 Analytische Betrachtung . . . . . . . . . . . . . . . . . . . 39
2.3.4 Fehlerabschätzungen und Rechnungsfehler . . . . . . . . . . . . . . 40
2.3.5 Praktische Durchführung . . . . . . . . . . . . . . . . . . . . . . . 46
2.4 Konvergenzordnung eines Iterationsverfahrens . . . . . . . . . . . . . . . 49
2.5 Newtonsche Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5.1 Das Newtonsche Verfahren für einfache Nullstellen . . . . . . . . . 51
2.5.2 Gedämpftes Newton-Verfahren . . . . . . . . . . . . . . . . . . . . 57
2.5.3 Das Newtonsche Verfahren für mehrfache Nullstellen –
Das modifizierte Newtonsche Verfahren . . . . . . . . . . . . . . . 57
2.6 Das Sekantenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.6.1 Das Sekantenverfahren für einfache Nullstellen . . . . . . . . . . . 63
2.6.2 Das modifizierte Sekantenverfahren
für mehrfache Nullstellen . . . . . . . . . . . . . . . . . . . . . . . 66
2.7 Einschlussverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
XVI Inhaltsverzeichnis

2.7.1 Das Prinzip der Einschlussverfahren . . . . . . . . . . . . . . . . . 67


2.7.2 Das Bisektionsverfahren . . . . . . . . . . . . . . . . . . . . . . . 69
2.7.3 Die Regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.7.4 Das Pegasus-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 74
2.7.5 Das Verfahren von Anderson-Björck . . . . . . . . . . . . . . . . . 77
2.7.6 Die Verfahren von King und Anderson-Björck-King –
Das Illinois-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.7.7 Ein kombiniertes Einschlussverfahren . . . . . . . . . . . . . . . . 81
2.7.8 Das Zeroin-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.8 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.9 Effizienz der Verfahren und Entscheidungshilfen . . . . . . . . . . . . . . 89

3 Verfahren zur Lösung algebraischer Gleichungen 91


3.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2 Das Horner-Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.2.1 Das einfache Horner-Schema für reelle Argumentwerte . . . . . . . 93
3.2.2 Das einfache Horner-Schema für komplexe Argumentwerte . . . . . 95
3.2.3 Das vollständige Horner-Schema für reelle Argumentwerte . . . . . 97
3.2.4 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.3 Bestimmung von Lösungen algebraischer Gleichungen . . . . . . . . . . . 101
3.3.1 Vorbemerkungen und Überblick . . . . . . . . . . . . . . . . . . . 101
3.3.2 Das Verfahren von Muller . . . . . . . . . . . . . . . . . . . . . . . 102
3.3.3 Das Verfahren von Bauhuber . . . . . . . . . . . . . . . . . . . . . 109
3.3.4 Das Verfahren von Jenkins und Traub . . . . . . . . . . . . . . . . 111
3.4 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.5 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4 Lösung linearer Gleichungssysteme 115


4.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 115
4.2 Definitionen und Sätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3 Lösbarkeitsbedingungen für ein lineares Gleichungssystem . . . . . . . . . 132
4.4 Prinzip der direkten Methoden zur Lösung linearer Gleichungssysteme . . 133
4.5 Der Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.5.1 Gauß-Algorithmus mit Spaltenpivotsuche als Rechenschema . . . . 136
4.5.2 Spaltenpivotsuche . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.5.3 Gauß-Algorithmus als Dreieckszerlegung . . . . . . . . . . . . . . . 145
4.5.4 Gauß-Algorithmus für Systeme mit mehreren rechten Seiten . . . . 149
4.6 Matrizeninversion mit dem Gauß-Algorithmus . . . . . . . . . . . . . . . 151
4.7 Verfahren für Systeme mit symmetrischen Matrizen . . . . . . . . . . . . 153
4.7.1 Systeme mit symmetrischer, streng regulärer Matrix . . . . . . . . 154
4.7.2 Systeme mit symmetrischer, positiv definiter Matrix –
Cholesky-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4.7.3 Systeme mit symmetrischer, positiv definiter Matrix –
Verfahren der konjugierten Gradienten (CG-Verfahren) . . . . . . 160
4.8 Das Gauß-Jordan-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.9 Gleichungssysteme mit tridiagonaler Matrix . . . . . . . . . . . . . . . . . 165
4.9.1 Systeme mit tridiagonaler Matrix . . . . . . . . . . . . . . . . . . . 165
4.9.2 Systeme mit symmetrischer, tridiagonaler,
positiv definiter Matrix . . . . . . . . . . . . . . . . . . . . . . . . 169
Inhaltsverzeichnis XVII

4.10 Gleichungssysteme mit zyklisch tridiagonaler Matrix . . . . . . . . . . . . 172


4.10.1 Systeme mit zyklisch tridiagonaler Matrix . . . . . . . . . . . . . . 172
4.10.2 Systeme mit symmetrischer, zyklisch tridiagonaler Matrix . . . . . 175
4.11 Gleichungssysteme mit fünfdiagonaler Matrix . . . . . . . . . . . . . . . . 177
4.11.1 Systeme mit fünfdiagonaler Matrix . . . . . . . . . . . . . . . . . . 177
4.11.2 Systeme mit symmetrischer, fünfdiagonaler,
positiv definiter Matrix . . . . . . . . . . . . . . . . . . . . . . . . 180
4.12 Gleichungssysteme mit Bandmatrix . . . . . . . . . . . . . . . . . . . . . 183
4.13 Householdertransformation . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.14 Fehler, Kondition und Nachiteration . . . . . . . . . . . . . . . . . . . . . 199
4.14.1 Fehler und Kondition . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.14.2 Konditionsschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . 203
4.14.3 Möglichkeiten zur Konditionsverbesserung . . . . . . . . . . . . . . 208
4.14.4 Nachiteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4.15 Gleichungssysteme mit Blockmatrix . . . . . . . . . . . . . . . . . . . . . 210
4.15.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4.15.2 Gauß-Algorithmus für Blocksysteme . . . . . . . . . . . . . . . . . 211
4.15.3 Gauß-Algorithmus für tridiagonale Blocksysteme . . . . . . . . . . 213
4.15.4 Weitere Block-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 214
4.16 Algorithmus von Cuthill-McKee . . . . . . . . . . . . . . . . . . . . . . . 215
4.17 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

5 Iterationsverfahren zur Lösung linearer Gleichungssysteme 223


5.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5.2 Vektor- und Matrizennormen . . . . . . . . . . . . . . . . . . . . . . . . 223
5.3 Das Iterationsverfahren in Gesamtschritten . . . . . . . . . . . . . . . . 225
5.4 Das Gauß-Seidelsche Iterationsverfahren . . . . . . . . . . . . . . . . . . . 234
5.5 Relaxation beim Gesamtschrittverfahren . . . . . . . . . . . . . . . . . . 236
5.6 Relaxation beim Einzelschrittverfahren – SOR-Verfahren . . . . . . . . . 236
5.6.1 Schätzung des Relaxationskoeffizienten –
Adaptives SOR-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 237

6 Systeme nichtlinearer Gleichungen 241


6.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 241
6.2 Allgemeines Iterationsverfahren für Systeme . . . . . . . . . . . . . . . . 244
6.3 Spezielle Iterationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . 250
6.3.1 Newtonsche Verfahren für nichtlineare Systeme . . . . . . . . . . . 250
6.3.1.1 Das quadratisch konvergente Newton-Verfahren . . . . . . 250
6.3.1.2 Gedämpftes Newton-Verfahren für Systeme . . . . . . . . 253
6.3.2 Sekantenverfahren für nichtlineare Systeme . . . . . . . . . . . . . 254
6.3.3 Das Verfahren des stärksten Abstiegs (Gradientenverfahren)
für nichtlineare Systeme . . . . . . . . . . . . . . . . . . . . . . . . 255
6.3.4 Das Verfahren von Brown für Systeme . . . . . . . . . . . . . . . . 257
6.4 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
XVIII Inhaltsverzeichnis

7 Eigenwerte und Eigenvektoren von Matrizen 259


7.1 Definitionen und Aufgabenstellungen . . . . . . . . . . . . . . . . . . . . 259
7.2 Diagonalähnliche Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . 260
7.3 Das Iterationsverfahren nach v. Mises . . . . . . . . . . . . . . . . . . . . 262
7.3.1 Bestimmung des betragsgrößten Eigenwertes
und des zugehörigen Eigenvektors . . . . . . . . . . . . . . . . . . 262
7.3.2 Bestimmung des betragskleinsten Eigenwertes . . . . . . . . . . . . 269
7.3.3 Bestimmung weiterer Eigenwerte und Eigenvektoren . . . . . . . . 269
7.4 Konvergenzverbesserung . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
7.5 Das Verfahren von Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
7.5.1 Bestimmung der Eigenwerte . . . . . . . . . . . . . . . . . . . . . . 272
7.5.2 Bestimmung der Eigenvektoren . . . . . . . . . . . . . . . . . . . . 274
7.6 QD-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
7.7 Transformationen auf Hessenbergform . . . . . . . . . . . . . . . . . . . . 276
7.7.1 Transformation einer Matrix auf obere Hessenbergform . . . . . . 276
7.7.2 LR-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
7.7.3 QR-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
7.8 Verfahren von Martin, Parlett, Peters, Reinsch und Wilkinson . . . . . . 283
7.9 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
7.10 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

8 Lineare und nichtlineare Approximation 291


8.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 291
8.2 Lineare Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.2.1 Approximationsaufgabe und beste Approximation . . . . . . . . . 294
8.2.2 Kontinuierliche lineare Approximation im quadratischen Mittel . . 296
8.2.3 Diskrete lineare Approximation im quadratischen Mittel . . . . . 302
8.2.3.1 Normalgleichungen
für den diskreten linearen Ausgleich . . . . . . . . . . . . 302
8.2.3.2 Diskreter Ausgleich durch algebraische Polynome
unter Verwendung orthogonaler Polynome . . . . . . . . . 308
8.2.3.3 Lineare Regression –
Ausgleich durch lineare algebraische Polynome . . . . . . 310
8.2.3.4 Householder-Transformation zur Lösung
des linearen Ausgleichsproblems . . . . . . . . . . . . . . 313
8.2.4 Approximation von Polynomen durch Tschebyscheff-Polynome . . 316
8.2.4.1 Beste gleichmäßige Approximation, Definition . . . . . . 316
8.2.4.2 Approximation durch Tschebyscheff-Polynome . . . . . . 317
8.2.5 Approximation periodischer Funktionen . . . . . . . . . . . . . . . 323
8.2.5.1 Kontinuierliche Approximation periodischer Funktionen
im quadratischen Mittel . . . . . . . . . . . . . . . . . . . 324
8.2.5.2 Diskrete Approximation periodischer Funktionen
im quadratischen Mittel . . . . . . . . . . . . . . . . . . . 326
8.2.5.3 Fourier-Transformation und FFT . . . . . . . . . . . . . . 329
8.2.6 Fehlerabschätzungen für lineare Approximationen . . . . . . . . . 336
8.2.6.1 Gleichmäßige Approximation
durch algebraische Polynome . . . . . . . . . . . . . . . . 337
Inhaltsverzeichnis XIX

8.2.6.2 Gleichmäßige Approximation


durch trigonometrische Polynome . . . . . . . . . . . . . . 340
8.3 Diskrete nichtlineare Approximation . . . . . . . . . . . . . . . . . . . . 342
8.3.1 Transformationsmethode beim nichtlinearen Ausgleich . . . . . . 342
8.3.2 Nichtlinearer Ausgleich im quadratischen Mittel . . . . . . . . . . 348
8.4 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

9 Polynomiale Interpolation sowie Shepard-Interpolation 351


9.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
9.2 Interpolationsformeln von Lagrange . . . . . . . . . . . . . . . . . . . . . 353
9.2.1 Lagrangesche Formel für beliebige Stützstellen . . . . . . . . . . . 353
9.2.2 Lagrangesche Formel für äquidistante Stützstellen . . . . . . . . . 355
9.3 Aitken-Interpolationsschema für beliebige Stützstellen . . . . . . . . . . . 356
9.4 Inverse Interpolation nach Aitken . . . . . . . . . . . . . . . . . . . . . . 360
9.5 Interpolationsformeln von Newton . . . . . . . . . . . . . . . . . . . . . . 362
9.5.1 Newtonsche Formel für beliebige Stützstellen . . . . . . . . . . . . 362
9.5.2 Newtonsche Formel für äquidistante Stützstellen . . . . . . . . . . 365
9.6 Abschätzung und Schätzung des Interpolationsfehlers . . . . . . . . . . . 368
9.7 Zweidimensionale Interpolation . . . . . . . . . . . . . . . . . . . . . . . . 373
9.7.1 Zweidimensionale Interpolationsformel von Lagrange . . . . . . . . 374
9.7.2 Shepard-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 376
9.8 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

10 Interpolierende Polynom-Splines zur Konstruktion glatter Kurven 387


10.1 Polynom-Splines dritten Grades . . . . . . . . . . . . . . . . . . . . . . . 387
10.1.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.1.2 Woher kommen Splines? Mathematische Analyse . . . . . . . . . . 395
10.1.3 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . 397
10.1.4 Definition verschiedener Arten
nichtparametrischer kubischer Splinefunktionen . . . . . . . . . . . 402
10.1.5 Berechnung der nichtparametrischen kubischen Splines . . . . . . . 408
10.1.6 Berechnung der parametrischen kubischen Splines . . . . . . . . . 425
10.1.7 Kombinierte interpolierende Polynom-Splines . . . . . . . . . . . . 433
10.1.8 Näherungsweise Ermittlung von Randableitungen
durch Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.1.9 Konvergenz und Fehlerabschätzungen interpolierender kubischer
Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.2 Hermite-Splines fünften Grades . . . . . . . . . . . . . . . . . . . . . . . . 442
10.2.1 Definition der nichtparametrischen
und parametrischen Hermite-Splines . . . . . . . . . . . . . . . . . 442
10.2.2 Berechnung der nichtparametrischen Hermite-Splines . . . . . . . 443
10.2.3 Berechnung der parametrischen Hermite-Splines . . . . . . . . . . 447
10.3 Polynomiale kubische Ausgleichssplines . . . . . . . . . . . . . . . . . . . 452
10.3.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . 452
10.3.2 Konstruktion der nichtparametrischen Ausgleichssplines . . . . . . 456
10.3.3 Berechnung der parametrischen kubischen Ausgleichssplines . . . . 464
10.4 Entscheidungshilfen für die Auswahl einer geeigneten Splinemethode . . . 465
XX Inhaltsverzeichnis

11 Akima- und Renner-Subsplines 471


11.1 Akima-Subsplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
11.2 Renner-Subsplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.3 Abrundung von Ecken bei Akima- und Renner-Kurven . . . . . . . . . . 488
11.4 Berechnung der Länge einer Kurve . . . . . . . . . . . . . . . . . . . . . . 492
11.5 Flächeninhalt einer geschlossenen ebenen Kurve . . . . . . . . . . . . . . 495
11.6 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

12 Spezielle Splines 499


12.1 Interpolierende zweidimensionale Polynom-Splines . . . . . . . . . . . . . 499
12.2 Zweidimensionale interpolierende Oberflächensplines . . . . . . . . . . . . 513
12.3 Bézier Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
12.3.1 Bézier-Spline-Kurven . . . . . . . . . . . . . . . . . . . . . . . . . 517
12.3.2 Bézier-Spline-Flächen . . . . . . . . . . . . . . . . . . . . . . . . . 521
12.3.3 Modifizierte (interpolierende) kubische Bézier-Splines . . . . . . . 529
12.4 B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
12.4.1 B-Spline-Kurven . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
12.4.2 B-Spline-Flächen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
12.5 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
12.6 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

13 Numerische Differentiation 549


13.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 549
13.2 Differentiation mit Hilfe eines Interpolationspolynoms . . . . . . . . . . . 550
13.3 Differentiation mit Hilfe interpolierender kubischer Polynom-Splines . . . 553
13.4 Differentiation mit dem Romberg-Verfahren . . . . . . . . . . . . . . . . 555
13.5 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

14 Numerische Quadratur 561


14.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
14.2 Konstruktion von Interpolationsquadraturformeln . . . . . . . . . . . . . 564
14.3 Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
14.3.1 Die Sehnentrapezformel . . . . . . . . . . . . . . . . . . . . . . . . 569
14.3.2 Die Simpsonsche Formel . . . . . . . . . . . . . . . . . . . . . . . . 574
14.3.3 Die 3/8-Formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
14.3.4 Weitere Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . 582
14.3.5 Zusammenfassung zur Fehlerordnung
von Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . 586
14.4 Quadraturformeln von Maclaurin . . . . . . . . . . . . . . . . . . . . . . 586
14.4.1 Die Tangententrapezformel . . . . . . . . . . . . . . . . . . . . . . 587
14.4.2 Weitere Maclaurin-Formeln . . . . . . . . . . . . . . . . . . . . . . 589
14.5 Die Euler-Maclaurin-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . 591
14.6 Tschebyscheffsche Quadraturformeln . . . . . . . . . . . . . . . . . . . . . 593
14.7 Quadraturformeln von Gauß . . . . . . . . . . . . . . . . . . . . . . . . . 595
14.8 Verallgemeinerte Gauß-Quadraturformeln . . . . . . . . . . . . . . . . . . 599
14.9 Quadraturformeln von Clenshaw-Curtis . . . . . . . . . . . . . . . . . . . 602
14.10 Das Verfahren von Romberg . . . . . . . . . . . . . . . . . . . . . . . . . 603
14.11 Fehlerschätzung und Rechnungsfehler . . . . . . . . . . . . . . . . . . . . 608
14.12 Adaptive Quadraturverfahren . . . . . . . . . . . . . . . . . . . . . . . . 610
Inhaltsverzeichnis XXI

14.13 Konvergenz der Quadraturformeln . . . . . . . . . . . . . . . . . . . . . . 612


14.14 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
14.15 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614

15 Numerische Kubatur 617


15.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
15.2 Konstruktion von Interpolationskubaturformeln . . . . . . . . . . . . . . 619
15.3 Newton-Cotes-Kubaturformeln für Rechteckbereiche . . . . . . . . . . . . 622
15.4 Das Romberg-Kubaturverfahren für Rechteckbereiche . . . . . . . . . . . 630
15.5 Gauß-Kubaturformeln für Rechteckbereiche . . . . . . . . . . . . . . . . . 633
15.6 Riemannsche Flächenintegrale . . . . . . . . . . . . . . . . . . . . . . . . 636
15.7 Vergleich der Verfahren anhand von Beispielen . . . . . . . . . . . . . . . 636
15.8 Kubaturformeln für Dreieckbereiche . . . . . . . . . . . . . . . . . . . . . 641
15.8.1 Kubaturformeln für Dreieckbereiche
mit achsenparallelen Katheten . . . . . . . . . . . . . . . . . . . . 641
15.8.1.1 Newton-Cotes-Kubaturformeln für Dreieckbereiche . . . . 641
15.8.1.2 Gauß-Kubaturformeln für Dreieckbereiche
mit achsenparallelen Katheten . . . . . . . . . . . . . . . 644
15.8.2 Kubaturformeln für Dreieckbereiche allgemeiner Lage . . . . . . . 648
15.8.2.1 Newton-Cotes-Kubaturformeln für Dreieckbereiche
allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . 649
15.8.2.2 Gauß-Kubaturformeln für Dreieckbereiche
allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . 652
15.9 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655

Sachwortverzeichnis 669
Kapitel 1

Darstellung von Zahlen und Fehleranalyse,


Kondition und Stabilität

1.1 Definition von Fehlergrößen


Ein numerisches Verfahren liefert im Allgemeinen anstelle einer gesuchten Zahl a nur
einen Näherungswert A für diese Zahl a. Zur Beschreibung dieser Abweichung werden
Fehlergrößen eingeführt.

Definition 1.1. (Wahrer und absoluter Fehler )


Ist A ein Näherungswert für die Zahl a, so heißt die Differenz

∆a = a − A

der wahre Fehler von A und deren Betrag

|∆a | = |a − A|

der absolute Fehler von A.

Sehr oft wird in der mathematischen Literatur ∆a bereits als absoluter Fehler und |∆a |
als Absolutbetrag des Fehlers bezeichnet. In ingenieurwissenschaftlichen Anwendungen
ist allerdings die Schreibweise in Definition 1.1 häufiger anzutreffen.

In den meisten Fällen ist die Zahl a nicht bekannt, so dass weder der wahre noch der
absolute Fehler eines Näherungswertes A angegeben werden können. Daher versucht man,
für den absoluten Fehler |∆a | von A eine möglichst kleine obere Schranke εa > 0 anzu-
geben, so dass |∆a | ≤ εa gilt.
2 1. Darstellung von Zahlen und Fehleranalyse

Definition 1.2. (Fehlerschranke für den absoluten Fehler, absoluter Höchstfehler )


Ist |∆a | der absolute Fehler eines Näherungswertes A und ist εa > 0 eine obere Schran-
ke für |∆a |, so dass
|∆a | ≤ εa
gilt, dann heißt εa eine Fehlerschranke für den absoluten Fehler von A oder absoluter
Höchstfehler von A.

Bei bekanntem εa ist wegen |∆a | = |a − A| ≤ εa


A − εa ≤ a ≤ A + εa , also a ∈ [A − εa , A + εa ] . (1.1)

Um einen Näherungswert A unabhängig von der Größenordnung von a beurteilen zu


können, wird der relative Fehler eingeführt.

Definition 1.3. (Relativer Fehler )


Ist |∆a | der absolute Fehler eines Näherungswertes A für die Zahl a, so heißt der
Quotient
|∆a |
|δa | = für a = 0
|a |
der relative Fehler von A.

Streng genommen müsste man δa = ∆a /a als relativen Fehler von A bezeichnen. Das
Vorzeichen von δa gibt dann eine zusätzliche Information über die Richtung des Fehlers,
d. h. für eine positive Zahl a hat δa = (a − A)/a < 0 demnach a < A, also einen zu
großen Näherungswert A für a zur Folge.

Da in der Regel a unbekannt ist, wird häufig auch


|∆a |
|δa | = für A = 0
|A|

relativer Fehler von A genannt. Da dann auch ∆a nicht exakt angebbar ist, wird man sich
wieder mit der Angabe einer möglichst guten oberen Schranke für den relativen Fehler
behelfen müssen.

Definition 1.4. (Fehlerschranke für den relativen Fehler, relativer Höchstfehler )


Ist |δa | der relative Fehler eines Näherungswertes A und gilt mit einem a > 0
|δa | ≤ a ,
dann heißt a eine Fehlerschranke für den relativen Fehler |δa | oder relativer Höchst-
fehler von |δa |.
1.2 Zahlensysteme 3

Ist εa ein absoluter Höchstfehler von A, so ist


a = εa /|a| bzw. a = εa /|A|
ein relativer Höchstfehler von A.

Definition 1.5. (Prozentualer Fehler, Fehlerschranke für den prozentualen Fehler )


Ist |δa | der relative Fehler des Näherungswertes A, so heißt
|δa | · 100
der prozentuale Fehler von A (relativer Fehler in Prozent), und σ a mit
|δa | · 100 ≤ 100 · a = σa
heißt eine Fehlerschranke für den prozentualen Fehler.

Beispiel 1.6.
Für die Zahl x = π sind X = 3.14 ein Näherungswert und εx = 0.0016 eine Schranke für
den absoluten Fehler |∆x |. Also gilt nach (1.1)
3.1384 = 3.14 − 0.0016 ≤ π ≤ 3.14 + 0.0016 = 3.1416 ,
und der relative Höchstfehler ergibt sich zu
0.0016
|δx | ≤ x = ≈ 0.00051 .
3.14
Für den prozentualen Fehler folgt nach Definition 1.5
100 · |δx | = 0.051% .


1.2 Zahlensysteme
1.2.1 Darstellung ganzer Zahlen
Für jede ganze Zahl a gibt es genau eine Potenzentwicklung zur Basis 10 (Zehnerpotenzen)
der Gestalt

n
a = v · (an 10n + an−1 10n−1 + . . . + a1 101 + a0 100 ) = v · ak 10k
k=0

mit dem Vorzeichen v ∈ {−1, 1}, den Koeffizienten ak ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} und


einer nicht negativen ganzen Zahl n (n ∈ IN0 ). Diese Dezimaldarstellung von a erhält
man, indem man die Ziffern, die zur Bezeichnung der Zahlen ak dienen, in absteigender
Reihenfolge aufschreibt:
a = v · an an−1 . . . a1 a0 (1.2)
Die Ziffern ak in der Dezimaldarstellung (1.2) werden auch Stellen von a genannt; die
Stellung einer Ziffer in der Zahl gibt ihren Wert (Einer – Zehner – Hunderter usw.) wieder.
4 1. Darstellung von Zahlen und Fehleranalyse

Es gibt keinen triftigen Grund, nur das uns gewohnte und vertraute Dezimalsystem zu
benutzen. Wegen der einfachen technischen Realisierbarkeit benutzen digitale Rechenan-
lagen durchweg das Dualsystem, das auf den zwei verschiedenen Ziffern 0 und 1 beruht.
Jede ganze Zahl a kann damit in eindeutiger Weise als Potenzentwicklung zur Basis 2
(Zweierpotenzen)

n
a =v· ak · 2 k mit ak ∈ {0, 1}
k=0
und einem Vorzeichen v ∈ {−1, 1} geschrieben werden. Und wiederum gibt nur die Stel-
lung einer Ziffer ak Auskunft über ihren Stellenwert, so dass die Angabe der dualen
Ziffern in der richtigen Reihenfolge zur Charakterisierung ausreicht:
a = v · (an an−1 . . . a1 a0 )2
Der Index 2 soll hierbei auf die Darstellung als Dualzahl verweisen; weggelassen wird nur
der Index 10 für die üblichen Dezimalzahlen. So hat man beispielsweise
2004 = (+1) · (2004)10
= (+1) · (1 · 210 + 1 · 29 + 1 · 28 + 1 · 27 + 1 · 26 + 1 · 24 + 1 · 22 )
= (+1) · (11111010100)2 .

Definition 1.7. (Stellenwertsystem zur Basis β)


Sei β ∈ IN, β ≥ 2. Das System der β verschiedenen Ziffern 0, 1, . . . , β−1 bildet ein
Stellenwertsystem zur Basis β, und jede ganze Zahl a lässt sich darin in der Form
n
a =v· ak · β k = v · (an an−1 . . . a1 a0 )β
k=0

mit eindeutig bestimmten Ziffern ak ∈ {0, 1, . . . , β − 1} und einem Vorzeichen


v ∈ {−1, 1} darstellen.

Die Wahl β = 10 führt auf das geläufige Dezimalsystem und β = 2 auf das Dualsy-
stem. Anwendungen finden immer wieder auch die Basiswahlen β = 8 (Oktalsystem) und
β = 16 (Hexadezimalsystem mit den Ziffern 0, 1, . . . , 9, A, B, C, D, E, F)

Die gegenseitige Konvertierung von Zahlen in unterschiedlichen Stellenwertsystemen lässt


sich einfach bewerkstelligen, wobei es reicht, als ein Bezugssystem das Dezimalsystem
anzunehmen. Die Umwandlung einer β-Zahl in die zugehörige Dezimalzahl erfolgt öko-
nomisch mit dem Horner-Schema (s. Abschnitt 3.2) für Polynome:
a = v · (an β n + an−1 β n−1 + an−2 β n−2 + . . . + a1 β + a0 )
  
 
= v· . . . (an β + an−1 ) β + an−2 β + . . . + a1 β + a0
  
sn−1
  
sn−2
..
.
  
s1
  
s0
1.2 Zahlensysteme 5

Algorithmus 1.8. (Umwandlung einer β-Zahl in eine Dezimalzahl )


Berechnet man für eine im Stellenwertsystem zur Basis β gegebene ganze Zahl
a = v · (an an−1 . . . a1 a0 )β , v ∈ {+1, −1}, ausgehend von sn = an , nacheinander
die Größen
sk = β · sk+1 + ak , k = n−1, n−2, . . . , 1, 0 ,
dann ist a = v · s0 im Dezimalsystem.

Umgekehrt folgt aus dem letzten Zwischenergebnis


a = v · s0 = v · (s1 · β + a0 ) ,
dass a0 als der Rest der Division der ganzen Zahl s0 durch β angesehen werden kann:
s0 a0 s0
= s1 + oder = s1 Rest a0
β β β
Geht man schrittweise weiter zurück, so folgen die nächsten β-Ziffern a1 , a2 und so weiter.

Algorithmus 1.9. (Umwandlung einer Dezimalzahl in eine β-Zahl )


Berechnet man für eine im Dezimalsystem gegebene ganze Zahl a, ausgehend von
s0 = |a|, aus der Gleichung
sk
= sk+1 Rest ak
β
nacheinander für k = 0, 1, 2, . . . die Größen s1 und a0 , s2 und a1 usw., bis für
ein k = n der Wert sn+1 = 0 ist, dann ist mit den auf diese Weise gewonnenen
Ziffern a0 , a1 , . . . , an ∈ {0, 1, . . . , β−1} die β-Darstellung von a gegeben durch

a = v · (an an−1 . . . a1 a0 )β ,

wobei v ∈ {−1, 1} das Vorzeichen von a bezeichnet.

Die Zahl 2004 besitzt demnach wegen


2004
2 = 1002 Rest 0 (= a0 ) 6
1002
2 = 501 Rest 0 (= a1 )
501
2 = 250 Rest 1 (= a2 )
250
2 = 125 Rest 0 (= a3 )
125
2 = 62 Rest 1 (= a4 )
62
2 = 31 Rest 0 (= a5 )
31
2 = 15 Rest 1 (= a6 )
15
2 = 7 Rest 1 (= a7 )
7
2 = 3 Rest 1 (= a8 )
3
2 = 1 Rest 1 (= a9 )
1
2 = 0 Rest 1 (= a10 )
die Dualdarstellung
2004 = (+1) · (11111010100)2 .
6 1. Darstellung von Zahlen und Fehleranalyse

Rechnerintern wird eine ganze Zahl a = v · |a| als Dualzahl durch eine Reihe von Bits
(“binary digits”) abgespeichert, gewöhnlich in zwei oder vier Bytes (1 Byte = 8 Bits).
Bei einer 2-Byte-Hinterlegung bedeutet das:
1. Byte 2. Byte
.
µ .. α14 α13 α12 α11 α10 α9 α8 α7 α6 α5 α4 α3 α2 α1 α0

Das Vorzeichen wird dann über 


0 , falls v = +1
µ=
1 , falls v = −1
gewählt, und im Fall einer positiven Zahl entsprechen α14 bis α0 den Dualziffern von a:
a = (+1) · (α14 α13 . . . α1 α0 )2

Als größte darstellbare positive Zahl ergibt sich dann


14
215 − 1
a = (+1) · (111111111111111)2 = 1 · 2k = = 32 767 .
2−1
k=0

Damit eine Subtraktion auf eine Addition über a − b = a + (−b) zurückgeführt werden
kann, werden negative Zahlen rechnerintern durch ein Komplement dargestellt, d. h. im
Fall µ = 1 bzw. v = −1 stimmen die Hinterlegungen αk nicht mehr mit den Dualzif-
fern ak der Zahl a = (−1) · (a14 a13 . . . a1 a0 )2 überein.
Vorsicht ist geboten, wenn bei einer Addition oder Subtraktion das Ergebnis nicht mehr
im darstellbaren Bereich liegt: Addiert man beispielsweise bei einer 1-Byte-Zahl [größte
darstellbare positive Zahl: 27 −1 = 127] 97 = (+1)·(1100001)2 und 43 = (+1)·(0101011)2 ,
so folgt
.
0 .. 1 1 0 0 0 0 1
.
+ 0 .. 0 1 0 1 0 1 1
.
1 .. 0 0 0 1 1 0 0

d. h. ein Übertrag beeinflusst letztendlich das Vorzeichenbit und führt auf ein völlig
inplausibles negatives Resultat! Solche Effekte treten leider häufiger auf, ohne dass vom
Rechnersystem eine Fehlermeldung oder zumindest eine Warnung ausgesprochen wird.
Deshalb ist bei Rechnerergebnissen stets eine Prüfung auf Plausibilität
erforderlich!

1.2.2 Darstellung reeller Zahlen


Jede nicht ganze, reelle Zahl a besitzt eine Entwicklung der Form
 n ∞

 
−k
a =v· k
ak 10 + bk 10
k=0 k=1
1.2 Zahlensysteme 7

mit einem Vorzeichen v ∈ {−1, 1} und Ziffern ak , bk ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, wobei


mindestens ein Term
bk 10−k = 0
auftritt. Die Dezimaldarstellung einer nicht ganzen Zahl heißt Dezimalbruch. Im Dezi-
malbruch einer Zahl a wird zwischen a0 und b1 ein Punkt, der sog. Dezimalpunkt , gesetzt:

a = v · an an−1 an−2 . . . a1 a0 . b1 b2 . . . bt . . . (1.3)


Die rechts vom Punkt notierten Stellen heißen Dezimalstellen oder Dezimalen. Gibt
es in einem Dezimalbruch eine Dezimale bj = 0, so dass alle folgenden Dezimalen
bj+1 = bj+2 = ... = 0 sind, dann heißt der Dezimalbruch endlich, andernfalls unend-
lich. Eine Darstellung (1.3) mit endlich vielen Dezimalstellen heißt Festpunktdarstellung.
Demnach vergegenwärtigt 2 81 = 2.125 einen endlichen Dezimalbruch und 13 = 0.3333 . . .
nicht. Dezimalbruchdarstellungen sind, abgesehen vom Sonderfall der Neunerperiode
(z. B. ist −1.29999 . . . = −1.29 = −1.3), eindeutig.
In einem Stellenwertsystem zur Basis β gilt analog die allgemeine Darstellung
 n ∞

 
−k
a = v· k
ak β + bk β
k=0 k=1
= v · (an an−1 . . . a1 a0 . b1 b2 . . .)β

mit v ∈ {+1, −1} und ak , bk ∈ {0, 1, . . . , β−1}; der Index β verweist wieder auf das
zugrunde liegende Stellenwertsystem und entfällt nur im vertrauten Fall β = 10. Der
zwischen den Ziffern a0 und b1 gesetzte Punkt heißt nun β-Punkt , und man nennt
(an an−1 . . . a1 a0 )β – manchmal auch unter Berücksichtigung des Vorzeichens v – den
ganzzahligen Anteil und (. b1 b2 b3 . . .)β den gebrochenen oder fraktionierten Anteil von a.
Der Sonderfall β = 2 führt nun zur Dualbruchdarstellung einer reellen Zahl. Gibt es nur
endliche viele Nachkomma“-Stellen, so spricht man von einem endlichen β-Bruch, an-

dernfalls von einem unendlichen β-Bruch.

Es gilt der

Hilfssatz 1.10.
Jede rationale Zahl p/q mit teilerfremden p ∈ ZZ und q ∈ IN wird durch einen endlichen
oder durch einen unendlichen periodischen Dezimal- oder Dualbruch dargestellt, jede
irrationale Zahl durch einen unendlichen nicht periodischen Dezimal- oder Dualbruch.

Zur Umwandlung reeller Zahlen in ein β-System reicht es, den ganzzahligen Anteil – siehe
Abschnitt 1.2.1 – und den gebrochenen Anteil unabhängig voneinander zu konvertieren.
Beispielsweise folgt mit β = 2 aus
0.625 = (+1) · (. b1 b2 b3 . . .)2 mit bk ∈ {0, 1}
−1 −2 −3
= b1 2 + b2 2 + b3 2 + ...

durch Multiplikation mit β = 2


1.25 = b1 + b2 2−1 + b3 2−2 + . . .
= (b1 . b2 b3 . . .)2 .
8 1. Darstellung von Zahlen und Fehleranalyse

Somit entspricht b1 dem ganzzahligen Anteil 1 von 1.25 und weiter


0.25 = (. b2 b3 . . .)2 = b2 2−1 + b3 2−2 + . . .
Fährt man nun mit einer erneuten Multiplikation mit β = 2 fort
0.5 = (b2 . b3 . . .)2 = b2 + b3 2−1 + . . . ,
so führt der Vergleich der ganzzahligen und der gebrochenen Anteile in dieser Gleichung
auf b2 = 0 und 0.5 = (. b3 b4 . . .)2 . Der nächste gleichartige Schritt ergibt über
1.0 = (b3 . b4 . . .)2 = b3 + b4 2−1 + . . .
schließlich b3 = 1 und bk = 0 für k ≥ 4. Mithin gilt
0.625 = (+1) · (. 101)2 ,
was auch plausibel ist, denn 0.625 ist die Summe von 1
2 = 2−1 und 1
8 = 2−3 .

Allgemein formuliert heißt das:

Algorithmus 1.11. (Umwandlung einer echt gebrochenen Zahl in einen β-Bruch)


Gegeben sei eine echt gebrochene Zahl a, −1 < a < 1.
Berechnet man, ausgehend von c0 = |a|, für k = 1, 2, 3, . . . nacheinander die Größen
bk = int (β · ck−1 ) ganzzahliger Anteil von β · ck−1“,

ck = β · ck−1 − bk echt gebrochener Anteil von β · ck−1“,

dann ist
a = v · (. b1 b2 b3 . . .)β ,
wobei v ∈ {−1, 1} das Vorzeichen von a wiedergibt.
Die Berechnung wird abgebrochen, wenn hinreichend viele Nachkomma“-Stellen

ermittelt wurden.

Beispiel 1.12.
Algorithmus 1.11 führt mit a = 0.1 auf die folgenden Größen für das Dualsystem:
b1 = int (0.2) = 0 , c1 = 0.2
b2 = int (0.4) = 0 , c2 = 0.4
b3 = int (0.8) = 0 , c3 = 0.8
b4 = int (1.6) = 1 , c4 = 0.6
b5 = int (1.2) = 1 , c5 = 0.2
b6 = int (0.4) = 0 , c6 = 0.4
... ...
Man erkennt, dass sich die Dualziffernfolge periodisch wiederholt:

0.1 = (+1) · (. 00011001100110011 . . .)2


= (+1) · (. 00011)2 .
Mithin entspricht 0.1 einem unendlichen periodischen Dualbruch. 
1.2 Zahlensysteme 9

Definition 1.13. (Tragende Ziffern)


Alle Ziffern in der β-Darstellung einer Zahl a = v · (an an−1 . . . a0 . b1 b2 . . .)β mit
v ∈ {+1, −1} und ak , bk ∈ {0, 1, . . . , β −1}, beginnend mit der ersten von Null
verschiedenen Ziffer (an = 0), heißen tragende Ziffern.

Beispiel 1.14.

a = 0.0024060 besitzt 7 Dezimalen und 5 tragende Ziffern,


a = 1573800 besitzt keine Dezimalen und 7 tragende Ziffern.
a = 47.110 besitzt 3 Dezimalen und 5 tragende Ziffern.
a = 0.1 besitzt 1 Dezimale und 1 tragende Ziffer.

Für die letzte Zahl ergibt sich im Dualsystem a = (0.00011)2 , eine Zahl mit unendlich
vielen Dualstellen und somit unendlich vielen tragenden Ziffern. 

Definition 1.15. (Normalisierte Gleitpunktdarstellung)


Jede reelle Zahl a = 0 kann als β-Zahl in der Form

a = v · (. d1 d2 d3 . . . ds ds+1 . . .)β · β k (1.4)

für ein k ∈ ZZ dargestellt werden, wobei v ∈ {+1, −1} das Vorzeichen von a angibt
und d1 = 0 gilt. (1.4) heißt normalisierte β-Gleitpunktdarstellung von a,
m = (. d1 d2 d3 . . .)β ihre β-Mantisse, und k ihr β-Exponent . Besitzt die Mantisse
s tragende Ziffern, s ∈ IN, so heißt sie s-stellig.

So besitzen a = 346.5201 und b = −0.005386 im Dezimalsystem die normalisierten


Gleitpunktdarstellungen

a = 0.3465201 · 103 (7-stellige Mantisse),


b = −0.5386 · 10−2 (4-stellige Mantisse).

Einem Computer stehen für Berechnungen nur endlich viele in ihm darstellbare Zahlen,
die Maschinenzahlen, zur Verfügung. Die Mantissen m dieser Maschinenzahlen
haben gewöhnlich eine feste Anzahl von Ziffern. Ferner ist der Exponent k ∈ ZZ durch
−k1 ≤ k ≤ k2 mit k1 , k2 ∈ IN begrenzt. Eine weltweit gültige Norm nach ANSI (Ame-
rican National Standards Institute) und IEEE (Institute of Electrical and Electronics
Engineers) schreibt für reelle Zahlen, als Dualbruch mit 4 Bytes (= 32 Bits) im Rechner
hinterlegt, das Format

µ ... e1 . . . e8 ... d2 d3 . . . . . . . . . . . . . . . . . . . . . d24


10 1. Darstellung von Zahlen und Fehleranalyse

vor, wobei
→µ das Vorzeichen der Zahl wiedergibt,
→ e 1 . . . e8 zur Darstellung des Exponenten k in (1.4) gehört; als nicht negative ganze
Zahl, auch Charakteristik genannt, wird hiervon stets die Konstante 127
abgezogen, d. h. k = (e1 . . . e8 )2 − 127,
→ d2 . . . d24 die Mantisse (bei negativen Zahlen wieder komplementär genommen) der
Zahl darstellt, wobei d1 = 1 zu ergänzen ist (als normalisierte Gleitpunkt-
darstellung bleibt für d1 = 0 im Dualsystem nur d1 = 1 übrig!).
Hinzu kommen zusätzliche Kennungen für Fehlerfälle wie ”Overflow” (etwa bei Division
durch 0) und anderes mehr.

Für die Darstellung von 0.1 = (+1) · (. 00011)2 = (+1) · (. 1100)2 · 2−3 bedeutet das
. .
0 .. 01111100 .. 100 1100 1100 1100 1100 1100 1100 11 . . .
   | |
=124 d2 d23

Als 2-Exponent ergibt sich 124−127 = −3, und d1 = 1 ist unterdrückt worden. Mithin ist
klar, dass 0.1 im Rechner nicht exakt wiedergegeben werden kann! Rundet die Rechner-
arithmetik auf, so wird d24 zu 1 gewählt, und die interne Maschinenzahl ist größer als 0.1
(genauer: 0.1000000015 . . .); wird abgerundet, also d24 = 0 gesetzt, dann hat die interne
Maschinenzahl einen Wert unterhalb von 0.1 (genauer: 0.09999999404 . . .). Deshalb wird
ein Rechner – übrigens unabhängig vom Speicherformat – für das Produkt 10 · 0.1 nie
genau den Wert 1 ermitteln.

Dass mit Gleitpunktzahlen auf Rechenanlagen überhaupt gearbeitet wird, liegt daran,
dass man damit bei gleicher Speichergröße einen enorm viel größeren Zahlenbereich über-
streicht.

Beispiel 1.16.
Nimmt man – abgesehen vom Vorzeichen – an, dass 8 dezimale Speichereinheiten zur
Verfügung stehen, so ließen sich damit in den einzelnen Systemen die folgenden positiven
Zahlen darstellen:

1) Ganzzahlsystem
− kleinste darstellbare positive Zahl 0000 0001
− größte darstellbare positive Zahl 9999 9999

2) Festpunktsystem mit 4 Dezimalen


− kleinste darstellbare positive Zahl 0000.0001
− größte darstellbare positive Zahl 9999.9999

3) Normalisiertes Gleitpunktsystem mit 6 Mantissen- und 2 Exponentenziffern


(Exponent = Charakteristik−50)
− kleinste darstellbare positive Zahl .100 000 · 10−50
− größte darstellbare positive Zahl .999 999 · 1049
1.3 Rechnung mit endlicher Stellenzahl 11

Da alle Versionen von demselben Speicheraufwand ausgehen, lassen sich jeweils gleich
viele verschiedene Maschinenzahlen darstellen. Die zugehörigen Zahlenwerte sind aller-
dings auf dem reellen Zahlenstrahl ungleich verteilt:

• Bei dem Ganzzahlsystem lassen sich im positiven Bereich alle ganzen Zahlen zwi-
schen 1 und 99 999 999 (=100 Mio. −1) hinterlegen.
• Bei dem angegebenen Festpunktsystem lassen sich positive Zahlen zwischen 0.0001
(= 1 Zehntausendstel) und 9999.9999 (= 1 Zehntausendstel unter 10 000) wiederum
gleichabständig, diesmal im Abstand von 1 Zehntausendstel, als Maschinenzahlen
abspeichern.
• In dem betrachteten normaliserten Gleitpunktsystem liegen zwischen jeder zulässi-
gen Zehnerpotenz – also zwischen 10−50 und 10−49 genauso wie zwischen 10−49 und
10−48 usw. – gleich viele Maschinenzahlen (genauer: jeweils 899 999). Das heißt das
Intervall zwischen 0.1 und 1 enthält genauso viele darstellbare Zahlen wie das In-
tervall zwischen 1 und 10 oder das Intervall zwischen 10 und 100. Mithin sind diese
Zahlen höchst uneinheitlich dicht und unregelmäßig verteilt: Grob gesprochen lie-
gen zwischen 0 und 1 genauso viele Gleitpunktzahlen wie oberhalb von 1. 

1.3 Rechnung mit endlicher Stellenzahl


Den Vorteil der Gleitpunktzahlen, riesige Zahlenbereiche zu erfassen, steht allerdings ein
erhöhter Aufwand für die Anwendung der Grundrechenarten gegenüber. Eine Rechnung
mit s-stelliger Gleitpunktarithmetik bedeutet, dass alle Zwischenergebnisse und das End-
resultat ebenfalls eine s-stellige Mantisse besitzen. Dadurch geht Genauigkeit verloren.

Um derartige Einflüsse einschätzen zu können, sollen im Folgenden vorwiegend anhand


des vertrauten Dezimalsystems besondere Betrachtungen angestellt werden. Die erste
Schwierigkeit tritt bereits bei der Hinterlegung einer reellen Zahl im Rechner auf, wenn
der Speicherplatz nicht genügend Ziffern aufnehmen kann; dies entspricht der folgenden
Situation:

Definition 1.17. (Korrekte Rundung, gültige oder sichere Dezimalen)


Einer Zahl a in der Darstellung (1.3) mit mehr als t Dezimalstellen wird die Näherungs-
zahl A mit t Dezimalstellen durch korrekte Rundung zugeordnet, wenn
1 −t
|a − A | ≤ 10 = εa
2
gilt (vgl. Definition 1.2). A besitzt dann t gültige (sichere) Dezimalen.

Daraus folgt:
Der absolute Fehler |a −A| gibt Auskunft über die Anzahl gültiger Dezimalen.
12 1. Darstellung von Zahlen und Fehleranalyse

Beispiel 1.18.
Sei a = 180.1234567. Gerundet auf 4 Dezimalen erhält man A = 180.1235, so dass gilt
|a − A| = 0.0000433 ≤ 0.5 · 10−4 ;
damit besitzt A also 4 gültige Dezimalen. 

Beispiel 1.19.
Jede der folgenden Zahlen ist auf vier tragende Ziffern (d. h. auf eine dezimale Gleit-
punktzahl mit 4-stelliger Mantisse) nach Definition 1.17 zu runden und als normalisierte
dezimale Gleitpunktzahl (Definition 1.15) darzustellen.

0.012358 ⇒ 0.01236 = 0.1236 · 10−1


4.2354 ⇒ 4.235 = 0.4235 · 101
4.235499 ⇒ 4.235 = 0.4235 · 101
4.2698 ⇒ 4.270 = 0.4270 · 101
4.2998 ⇒ 4.300 = 0.4300 · 101
3.2355 ⇒ 3.236 = 0.3236 · 101
3.2345 ⇒ 3.235 = 0.3235 · 101
42354 ⇒ 0.4235 · 105
42698 ⇒ 0.4270 · 105


Definition 1.20. (Statistisch korrekte Rundung)


Gilt exakt
1
| a − A |= 10−t ,
2
so wird abgerundet, falls in (1.3) bt gerade ist, und aufgerundet, falls bt ungerade ist.

Beispiel 1.21.
Jede der folgenden Zahlen ist nach Definition 1.20 auf vier tragende Ziffern (4-stellige
Mantisse) zu runden:

3.2355 ⇒ 3.236 ,
3.2345 ⇒ 3.234 ,
3.234500 ⇒ 3.234 ,
3.234501 ⇒ 3.235 .


Definition 1.22. (Gültige oder sichere Ziffern)


Ist A aus a durch korrekte Rundung auf t Dezimalen entstanden, so heißen die Ziffern
in A, die in der Position 10−t und davor stehen, gültige bzw. sichere Ziffern; führende
Nullen werden ignoriert.

Die letzte Ziffer einer Näherungszahl sollte immer eine gültige (sichere) Ziffer sein.
1.3 Rechnung mit endlicher Stellenzahl 13

Beispiel 1.23.
1. Sei X eine Näherungszahl von x. Wird keine Angabe über den absoluten Fehler
|∆x | von X gemacht, so sollte die letzte tragende Ziffer der Zahl eine sichere Ziffer
sein. Die Schreibweise X = 3.14 sollte bedeuten, dass für den absoluten Fehler von
X gilt |∆x | ≤ 0.5 · 10−2 , d. h. dass X zwei sichere Dezimalen bzw. drei sichere
Ziffern besitzt.
2. Die Angabe X = 0.004534 ± 0.000004 bedeutet, dass X wegen |x − X| ≤ 0.5 · 10−5
5 sichere Dezimalen und 3 sichere Ziffern besitzt. Dagegen heißt X = 0.004534 ±
0.000006, dass X wegen |∆x | > 0.5 · 10−5 , aber |∆x | ≤ 0.5 · 10−4 nur vier sichere
Dezimalen und zwei sichere Ziffern hat.

Die Anzahl sicherer Dezimalen liefert somit eine Abschätzung des absoluten Fehlers.
Die Anzahl der sicheren Ziffern hingegen liefert eine grobe Schätzung des relativen
Fehlers. 

Es gilt der

Satz 1.24.
a habe die Darstellung (1.4) im Dezimalsystem (β = 10). A sei eine s-stellige dezimale
Gleitpunktzahl, die aus a durch Rundung auf eine s-stellige Mantisse entstanden ist.
Dann gelten folgende Abschätzungen:

1. Für den absoluten Fehler von A gilt


1 k−s
|∆a | = |a − A| ≤ 10 ,
2
2. Für den relativen Fehler von A, a = 0, gilt
 
 ∆a 

|δa | =   ≤ 5 · 10−s .
a 

Beweis.
Sei a in der normalisierten Darstellung (1.4) gegeben
a = v · (. d1 d2 . . . ds ds+1 . . .) · 10k , v ∈ {+1, −1}
und werde auf s Mantissenstellen gerundet
A = v · (. d1 d2 . . . Ds ) · 10k .
Dann gilt
1 1
|A − a| ≤ · 10−s · 10k = 10k−s
2 2
und weiter
 
A − a 0.5 · 10k−s 0.5 · 10−s 0.5 · 10−s
  = 5 · 10−s .
 a  ≤ (0.d1 d2 . . .) 10k = .d1 d2 . . . ≤ 0.1


Daraus folgt:
Der relative Fehler gibt Auskunft über die Anzahl gültiger Ziffern einer Zahl.
14 1. Darstellung von Zahlen und Fehleranalyse

Beispiel 1.25.
Gegeben ist die Zahl a = 180.1234567, die in normalisierter dezimaler Gleitpunktdarstel-
lung lautet
a = .1801234567 · 103 (also k = 3) .
Bei Rundung auf 6-stellige Mantisse (s = 6) erhält man

A = .180123 · 103 .

Für den absoluten Fehler gilt somit

|A − a| = .000 000 4567 · 103 = .4567 · 10−6 · 103 ≤ 0.5 · 10−3 ;

A besitzt deshalb 3 gültige Dezimalen. Für den relativen Fehler gilt


 
A − a 0.5 · 10−3
  −6
 a  ≤ 0.1801234567 · 103 ≤ 5 · 10 ;

zu A gehören demnach 6 gültige Ziffern. 

Addition von Gleitpunktzahlen

Um zwei Gleitpunktzahlen addieren zu können, müssen zunächst die Exponenten ver-


glichen und womöglich angepasst werden, wobei dann die Mantisse der Zahl mit dem
kleineren Exponenten so weit nach rechts verschoben wird, bis die Exponenten überein-
stimmen. Dann können die Mantissen addiert werden. In einem letzten Schritt ist unter
Umständen die Darstellung zu normalisieren.

Beispiel 1.26.
Es sollen die Zahlen a = 0.054 320 69 und b = 999.964 88 in einer 5-stelligen dezimalen
Gleitpunktarithmetik addiert werden. Die Zahlen a und b werden zunächst im gültigen
Format dargestellt:
A = gl (a) = 0.54321 · 10−1
B = gl (b) = 0.99996 · 103
gl (·) bezeichne hierbei die zulässige Gleitpunkthinterlegung und -rechnung. Damit ergibt
sich .
A 0.00005 ... 4321 ·103
+ B .
0.99996 . ·103
..
1.00001 .. ·103
.
= 0.10000 . 1 ·104 (normalisiert)

also gl (A + B) = 0.10000 · 104 = 1000.0.

Exakt wären a + b = 1 000.019 200 69 und A + B = 1 000.014 321. Nach Satz 1.24 liegen
die absoluten und relativen Fehler zu Beginn bei
 
|∆a | = |a − A| ≤ 0.5 · 10−6 , |δa | =  ∆aa  ≤ 5 · 10−5 ,
∆ 
|∆b | = |b − B| ≤ 0.5 · 10−2 , |δb | =  b ≤ 5 · 10−5 .
b
1.3 Rechnung mit endlicher Stellenzahl 15

Bezeichnet x = a + b die exakte Summe und X deren Näherung in der benutzten Arith-
metik, so erhält man entsprechend:
 
 ∆x 
|∆x | = |x − X| = 1.92 . . . · 10−2 , |δx | =   = 1.92 · 10−5 .
x 

Obwohl das Resultat X dem auf die benutzte Gleitpunktarithmetik gerundeten exakten
Ergebnis gl (x) entspricht, hat sich der absolute Fehler in Relation zu den Eingangsfehlern
doch merklich vergrößert. 

Multiplikation von Gleitpunktzahlen

Um zwei Gleitpunktzahlen zu multiplizieren, genügt es, die jeweiligen Mantissen zu


multiplizieren und die zugehörigen Exponenten zu addieren. Zum Schluss muss unter
Umständen das Ergebnis der normalisierten Darstellung wieder angepasst werden.

Beispiel 1.27.
Soll das Produkt der Zahlen a = 0.030 121 48 und b = 109.9761 in einer 5-stelligen dezi-
malen Gleitpunktarithmetik berechnet werden, so ergibt sich mit den gerundeten Werten
A =gl (a) und B =gl (b) über
.
A 0.30121 ... ·10−1
· B .
0.10998 . ·103
.
0.03312 ... 707 . . . ·102
= 0.33127 .. 07 . . . ·101 (normalisiert)

schließlich gl (A · B) = 0.33127 · 101 = 3.3127.

Exakt hätten sich a · b = 3.312 707 58 . . . und A · B = 3.312 707 58 . . . ergeben; wiederum
entspricht das Resultat X = gl (A · B) dem exakten Ergebnis x = a · b, gerundet auf die
verwendete Arithmetik: X = gl (x).

Die absoluten und relativen Eingangsfehler nach Satz 1.24


 
|∆a | = |a − A| ≤ 0.5 · 10−6 , |δa | =  ∆aa  ≤ 5 · 10−5 ,
∆ 
|∆b | = |b − B| ≤ 0.5 · 10−2 , |δb | =  b ≤ 5 · 10−5
b

führen in der benutzten Arithmetik zu den entsprechenden Ergebnisfehlern


 
 ∆x 
−6 
|∆x | = |x − X| = 7.58 . . . · 10 , |δx | =   = 0.2288 . . . · 10−5 ;
x 

die Gleitpunkt-Multiplikation scheint keinesfalls Eingangsfehler zu vergrößern. 

Man muss beachten, dass mathematische Gesetze wie das Assoziativ- und das Distri-
butivgesetz bei einer Rechnung in einer Gleitpunktarithmetik ihre Allgemeingültigkeit
verlieren. Beispielsweise ist mit 5-stelliger Mantissenrechnung
16 1. Darstellung von Zahlen und Fehleranalyse
 
gl (0.12345 · 10−2 + 0.22232 · 102 ) − 0.22223 · 102 = 0.10000 · 10−1 ,
hingegen  
gl 0.12345 · 10−2 + (0.22232 · 102 − 0.22223 · 102 ) = 0.10235 · 10−1 .

Definition 1.28. (Maschinengenauigkeit oder elementarer Rundungsfehler )


Die Maschinengenauigkeit bzw. der elementare Rundungsfehler  ist die kleinste
positive Maschinenzahl A, die auf 1 addiert eine Maschinenzahl ungleich 1 liefert:
 = min { A > 0 | gl (1 + A) = 1 } .

gl (a) ist wieder die normalisierte Gleitpunktdarstellung (1.4) der Zahl a.

Beispiel 1.29.
Es sei a = 1, die Darstellung erfolge mit 6-stelliger dezimaler Mantisse. Dann gilt
gl (1) = .100 000 · 101 ,
 = 5 · 10−6 .
Denn: Bei der Addition 1 +  in 6-stelliger Gleitpunktarithmetik ergibt sich
1 = .100 000 · 101
−6
+5 · 10 = .000 0005 · 101
1 + 5 · 10−6 = .100 001 · 101 = 1 .

Jede positive Zahl, die kleiner als 5 · 10−6 ist, wäre bei der Addition unberücksichtigt
geblieben. 

Für einen Rechner, der reelle Zahlen a auf Gleitpunktzahlen A = gl (a) mit s-stelliger
Mantisse zur Basis β rundet, gilt
 
A − a β
  −s
 a  ≤ 2 · β = ,
wobei  die Maschinengenauigkeit nach Definition 1.28 bedeutet. Im gewohnten Dezi-
malsystem führt das auf  = 5 · 10−s . Für Rechner mit Dualzahlarithmetik ergibt sich
demnach  = 2−s , also für den zuvor angegebenen ANSI- bzw. IEEE-Standard mit s = 24
dann  = 2−24 ≈ 5.96 · 10−8, was nach Satz 1.24 über den relativen Fehler mit einer etwa
7-stelligen dezimalen Genauigkeit gleichzusetzen ist.

Kombinierter Test

AbsErr und RelErr seien Schranken für den absoluten bzw. relativen Fehler. Für den
Einsatz in Programmen ist der folgende kombinierte Test zweckmäßig, der wahlweise
eine Abfrage auf den absoluten oder den relativen Fehler erlaubt:


a) RelErr = 0 und AbsErr > 0
|a − A | ≤ |A| RelErr + AbsErr mit (1.5)
b) RelErr > 0 und AbsErr = 0
1.4 Fehlerquellen 17

(1.5) ist mit a) eine Abfrage auf den absoluten Fehler und mit b) eine Abfrage auf den
relativen Fehler.

Es macht unter Umständen Sinn, zugleich beide Fehlerschranken verschieden von Null
zu wählen, etwa dann, wenn die Größenordnung des Ergebnisses nicht bekannt ist und
in Abhängigkeit davon eine gewisse Genauigkeit erreicht werden soll (bei betragsmäßig
großen Zahlen überwiegt so die relative Fehlerschranke, bei betragsmäßig kleinen die
absolute Fehlerschranke).

1.4 Fehlerquellen
Bei der numerischen Behandlung eines Problems treten verschiedene Fehlerquellen auf.
Der gesamte Fehler einer Berechnung von der Eingabe bis zur Ausgabe setzt sich im
Allgemeinen zusammen aus:

• Eingabefehlern (Eingangsfehlern)
• Verfahrensfehlern (Abbruchfehlern, Diskretisierungsfehlern)
• Fortpflanzungsfehlern
• Rechnungsfehlern

1.4.1 Eingabefehler

Eingabefehler sind die Fehler, mit denen die Eingabedaten behaftet sind, z. B. wegen
fehlerhafter Messungen oder Rundung. Diese unvermeidbaren Fehler wirken sich auf die
Ausgabedaten eines Algorithmus aus. Daher müssen numerische Algorithmen so konzi-
piert werden, dass der Einfluss von Eingabefehlern möglichst begrenzt wird (siehe auch
Abschnitt 1.4.4).

Beispiel 1.30.
Für das Integral
1
In = (1 − x)n · sin x dx
0

lässt sich mit Hilfe zweimaliger partieller Integration die Rekursionsformel


In = 1 − n (n − 1) In−2
1
gewinnen, die für gerades n ≥ 2, ausgehend von I0 = sin x dx = 1 − cos(1), nacheinan-
0
der auf die Werte I2 , I4 , I6 usw. führt.
18 1. Darstellung von Zahlen und Fehleranalyse

In keinem Rechner wird der Wert cos(1) = 0.540 302 3 . . . exakt darstellbar sein. Ver-
schiedene Genauigkeiten bei diesem Eingabedatum haben schon nach wenigen Schritten
erstaunliche Konsequenzen:

Eingabewert Eingabe- resultierender Fehler


für cos (1) ungenauigkeit Integralwert I8

exakt 0 0.011 027 . . . 0


10-stellige
dezimale Genauigkeit 9.3 · 10−10 0.011 0261 . . . 1.3 · 10−6

0.54030 2.3 · 10−6 0.104 9.3 · 10−2


0.540 3 · 10−4 12.2 12.2

Man erkennt deutlich, welch verheerende Auswirkungen durch Eingabefehler entstehen


können. 

1.4.2 Verfahrensfehler

Verfahrensfehler sind solche, die durch die verwendete numerische Methode verursacht
werden. Das Ersatzproblem für eine zu lösende Aufgabe muss so formuliert werden, dass
• es numerisch gelöst werden kann und
• seine Lösung nicht wesentlich von derjenigen des gegebenen Problems abweicht.

Bei einem geeignet formulierten Ersatzproblem wird dessen Lösung eine Näherungslösung
für das gegebene Problem sein. Die Differenz zwischen diesen beiden Lösungen heißt der
Verfahrensfehler. Dieser Verfahrensfehler hängt in hohem Maße vom gegebenen Problem
und von dem ausgewählten Ersatzproblem ab. Der Verfahrensfehler berücksichtigt weder
Eingabe- noch Rechnungsfehler im Verfahren selbst.

Beispiele:
1. Die Berechnung eines bestimmten Integrals wird ersetzt durch die Berechnung einer
endlichen Summe. Dann ist der Verfahrensfehler die Differenz
 b 
 
 n

 f (x) dx − A f (x 
k  .
)
 k
 k=0 
a

2. Die Berechnung der 1. Ableitung einer Funktion f wird ersetzt durch die Berech-
nung des vorderen Differenzenquotienten. Dann ist der Verfahrensfehler
 
  
 f (x) − f (x + h) − f (x)  .
 h 
1.4 Fehlerquellen 19

1.4.3 Fehlerfortpflanzung und die Kondition eines Problems

Fehler der Ausgabedaten eines Problems, die durch Fehler der Eingabedaten erzeugt wer-
den, heißen Fortpflanzungsfehler. So lassen sich die Ergebnisse in Beispiel 1.30 dadurch
erklären, dass sich ein Eingabefehler ε0 , wenn statt I0 ein Wert I0 mit | I0 − I0 | ≤ ε0
genommen wird, fortlaufend vervielfacht: Statt I2 = 1 − 2 · 1 · I0 berechnet man dann
I2 = I2 −2 ε0 , anstelle von I4 = 1−4·3·I2 dann I4 = 1−4·3· I2 = I4 +24 ε0 , und entspre-
chend folgt I6 = I6 −720 ε0 sowie schließlich I8 = I8 +40 320 ε0 für die berechneten Werte.

Um die Auswirkungen von Fortpflanzungsfehlern allgemein zu untersuchen, nimmt man


an, dass das Resultat y eine reellwertige Funktion f sei, die sich aus den Argumen-
ten x1 ,x2 ,...,xn berechnen lässt:
y = f (x1 , x2 , . . . , xn ) =: f (x ) mit x = (x1 , x2 , . . . , xn )T .
Sind nun statt der Eingabedaten xi nur Näherungswerte Xi bekannt, so erhält man an-
stelle des gesuchten Funktionswertes y einen Näherungswert
Y = f (X1 , X2 , . . . , Xn ) =: f (X ) mit X = (X1 , X2 , . . . , Xn )T .
Im Folgenden wird eine obere Schranke für den Fortpflanzungsfehler ∆y = y − Y bei
gegebenen Eingabefehlern ∆xi = xi − Xi der Eingabedaten xi angegeben.

Satz 1.31.
Es sei f : G ⊂ IRn → IR eine auf einem Gebiet G stetig differenzierbare Funktion,
ferner seien x = (x1 , . . . , xn )T ∈ G und X = (X1 , . . . , Xn )T ∈ G.
Dann gibt es ein x = (x1 , . . . , xn )T ∈ G mit xi zwischen xi und Xi für i = 1(1)n, so
dass für den Fortpflanzungsfehler gilt:
 n
∂f (x )
∆y = y − Y = f (x ) − f (X ) = ∆xi ,
i=1
∂xi
wobei ∆xi = xi − Xi der Eingabefehler von xi ist.

Praktisch werden die Eingabefehler nicht exakt bekannt sein, sondern nur obere Schran-
ken εxi mit | xi − Xi | ≤ εxi dafür. Ebenso lässt sich, abgesehen von Ausnahmefällen, die
Zwischenstelle“ x nicht genau angeben. Deshalb wendet man die Formel aus Satz 1.31

gewöhnlich wie folgt an: n  
 ∂f (X ) 
| ∆y | ≤  
 ∂xi  · εxi (1.6)
i=1

Für kleine Eingabefehler εxi liegt auch x nahe bei X , und wegen der Stetigkeit der
partiellen Ableitungen von f bleibt dann die in (1.6) auf der rechten Seite erfolgte In-
korrektheit in überschaubaren Grenzen.
Das Ergebnis aus Satz 1.31 lässt sich leicht auf den relativen Fehler übertragen:
∆y n
xi ∂f (x )
δy = = · · δx i , (1.7)
y i=1
f (x ) ∂xi
20 1. Darstellung von Zahlen und Fehleranalyse

∆xi xi − Xi
wobei δxi = = der relative Eingabefehler von xi ist.
xi xi
Für die praktische Anwendung heißt das wiederum
  n    
 ∆y    Xi   ∂f (X ) 
 ≤  · 
 y   f (X )   ∂xi  · xi
i=1
 
 xi − Xi 
mit den oberen Schranken    ≤ xi für die relativen Eingabefehler.
xi 

Beispiel 1.32.
Man gebe eine Abschätzung des Eingangsfehlers an, der bei der Bestimmung des spezifi-
schen Gewichtes γ eines Zylinders vom Gewicht G, dem Radius r und der Höhe h entsteht,
wenn ∆G, ∆r die wahren Messfehler von G, r sind und ∆π der wahre Rundungsfehler
für π ist; h sei genau gemessen.
Lösung: Es gilt
G G
γ= = 2 = γ(G, r, π, h) .
V πr h

Da h genau angenommen wird, setzt man

γ(G, r, π, h) = γ ∗ (G, r, π) .

Mit
f (x1 , x2 , x3 ) = γ ∗ ,

x1 = G, x2 = r, x3 = π,

|∆G| ≤ εG , |∆r| ≤ εr , |∆π| ≤ επ ,


∂γ ∗ 1 ∂γ ∗ 2G ∂γ ∗ G
= 2 , =− 3 , =− 2 2
∂G πr h ∂r πr h ∂π π r h

erhält man nach (1.6)


1 2(G + εG )
|∆γ ∗ | ≤ εG + εr
(π − επ )(r − εr ) h
2 (π − επ )(r − εr )3 h
G + εG
+ επ .
(π − επ )2 (r − εr )2 h

Bei kleinen Radien wirken sich also alle Messfehler stärker aus als bei großen Radien. 

Die Bestimmung des durch Eingabefehler verursachten Fortpflanzungsfehlers ist Aufgabe


der Fehleranalysis. Für eine Eingabe x hängt der relative Fortpflanzungsfehler stark von
x und f (x ) ab, d. h. von dem Problem selbst. Dabei sind die Faktoren
xi ∂f (x )
Ki =
f (x ) ∂xi

als Verstärkungsfaktoren der relativen Eingabefehler δxi anzusehen. Man erkennt, dass
sich Funktionen f mit betragsmäßig kleinen partiellen Ableitungen fxi bezüglich der
1.4 Fehlerquellen 21

Fehlerfortpflanzung günstig verhalten. Man nennt das Problem, f (x ) aus x zu berech-


nen, ein gut konditioniertes Problem für die Funktion f , wenn alle Verstärkungsfaktoren
nicht wirklich die Eingabefehler vergrößern, also betragsmäßig in der Größenordnung
von 1 liegen. Die Zahlen Ki heißen die Konditionszahlen des Problems. Im Idealfall,
wenn |Ki | ≤ 1 ist für alle i, wird keine Verschlechterung der Genauigkeit eintreten.
Tatsächlich wäre man schon mit |Ki | ≤ 102 sehr zufrieden, da in diesem Fall der Output“

f (x ) nur etwa 2 Ziffern an Genauigkeit gegenüber der vorliegenden Eingabegenauigkeit
verlieren würde. Der Bezug der Konditionszahl auf die relativen Fehler macht die Be-
trachtung übrigens unabhängig von der Skalierung der Ein- und Ausgabegrößen.

Für große Probleme ist eine Abschätzung von Fortpflanzungsfehlern und Konditionszah-
len sehr kompliziert und selten möglich. In solchen Fällen ist der Einsatz statistischer
Fehlerabschätzungen sinnvoll, siehe [HENR1972], Bd.2, S.381.

Im Folgenden werden die relativen Fortpflanzungsfehler für die elementaren arithmeti-


schen Operationen zusammengestellt:

1. Fortpflanzungsfehler einer Summe

Es sei
y = f (x1 , x2 ) = x1 + x2 .

Dann sind fx1 = fx2 = 1 und nach (1.7)


x1 x2  2
δy = δx 1 + δx 2 = K i δx i .
x1 + x2 x1 + x2 i=1

Wenn die Eingabedaten x1 und x2 dasselbe Vorzeichen haben, ist die Addition eine
gut konditionierte Operation (wegen |Ki | = |xi /(x1 + x2 )| < 1). Wenn jedoch x1
und x2 verschiedene Vorzeichen haben und dem Betrage nach nahezu gleich sind,
ist |x1 + x2 | sehr klein und somit |Ki | = |xi |/|x1 + x2 | sehr groß; die Addition ist
dann schlecht konditioniert. In diesem Fall gehen bei der Addition tragende Ziffern
verloren, ein Effekt, den man Auslöschung nennt.

Beispiel 1.33.
Gegeben seien die drei Werte
x1 = 123.454 Mrd. C,
x2 = 123.446 Mrd. C und
x3 = 123.435 Mrd. C.

Legt man eine 5-stellige dezimale Gleitpunktarithmetik zugrunde, so wird mit


X1 = gl (x1 ) = 0.12345 · 1012 ,
X2 = gl (x2 ) = 0.12345 · 1012 und
X3 = gl (x3 ) = 0.12344 · 1012

weiter gerechnet. Man erhält so anstelle von


x1 − x2 = x1 + (−x2 ) = 8 Mio. C den Wert 0 und anstelle von
x1 − x3 = x1 + (−x3 ) = 19 Mio. C den Wert 0.10000 · 108 , also 10 Mio.
22 1. Darstellung von Zahlen und Fehleranalyse

Die jeweils in der fünften tragenden Stelle liegenden Rundefehler nehmen schon
nach einer Rechenoperation Einfluss auf die Größenordnung des Ergebnisses!

Bei der ersten Rechnung x1 − x2 lauten die Konditionszahlen


123.454 Mrd. 123.446 Mrd.
K1 = = 15431.75 und K2 = = 15430.75 ,
8 Mio. 8 Mio.
und diese größeren Werte sollten dazu anhalten, die mit der Rechnerarithmetik
erhaltenen Ergebnisse äußerst kritisch zu überprüfen. 

Der Ausdruck x − (x − y) entspricht korrekt dem Wert y. Mit x = 1030 und y = 106
würde allerdings ein Rechner stattdessen das Ergebnis 0 produzieren, da in der
vorgegebenen Auswertungsreihenfolge die Gleitpunktarithmetik den Klammeraus-
druck zu x werden lässt. In bestimmten Fällen lassen sich durch geschickte Umfor-
mungen derartige Gegebenheiten vermeiden.

Beispiel 1.34.
x
Es soll der Ausdruck sin (1+x)−sin (1) für x nahe 0 auswertet werden. Setzt man in
(Taschen-)Rechnern für x Werte wie 10−5 , 10−10 , 10−15 , 10−20 usw. ein, so wird
man schon bald eine Fehlermeldung erhalten ( Division durch Null“). Dies liegt

natürlich daran, dass die beiden Werte im Nenner rechnerintern nicht mehr unter-
schieden werden können und deshalb die Differenz auf eine 0 führt.

Nutzt man das Additionstheorem    


a+b a−b
sin (a) − sin (b) = 2 cos sin
2 2

mit a = 1 + x und b = 1, so folgt daraus  x x


sin (1 + x) − sin (1) = 2 cos 1 + sin .
2 2
Damit gilt die Identität
x x
=    .
sin (1 + x) − sin (1) 2 cos 1 + x2 sin x2

Die Auswertung des umgeformten Ausdrucks erweist sich als numerisch stabil: Für
auf 0 zugehende Werte von x liefert auch ein (Taschen-)Rechner Werte in der kor-
rekten Größenordnung von
x 1
lim = = 1.850 815 7 . . .
x→0 sin (1 + x) − sin (1) cos (1)

1.4 Fehlerquellen 23

Beispiel 1.35.
Die Funktion
f (x, y) = 9 x4 − y 4 + 2 y 2

besitzt an der Stelle (x, y) = (10864, 18817) den Wert 1.

Eine rechnerische Auswertung in der Reihenfolge (9 x4 − y 4 ) + 2 y 2 schließt Aus-


löschungseffekte bei der Differenzbildung ein und führt so auf ein Ergebnis in der
Größenordnung von 2 y 2 . Auch die Auswertungsreihenfolge (9 x4 + 2 y 2 ) − y 4 ver-
meidet keine Auslöschung und liefert wiederum ein fehlerhaftes Resultat, u. U. eine
zufällige“ 0. Erst die Umformung

f (x, y) = (3 x2 + y 2 ) (3 x2 − y 2 ) + 2 y 2

lässt unangenehme rechnerinterne Verfälschungen außen vor und reproduziert den


exakten Wert 1. 

Die letzten Beispiele lassen evident erscheinen, dass man sich keinesfalls auf je-
des Rechnerergebnis verlassen darf; man sollte stets eine Plausibilitätsprüfung
vornehmen! Selbst wenn das Resultat vertrauenswürdig ist, kann man nie allen an-
gegebenen Stellen Glauben schenken.

Einige Rechnersysteme bieten die Möglichkeit, mit unterschiedlicher Mantissen-


stellenzahl s zu rechnen. Auslöschungseffekte lassen sich umso weiter nach hin-
ten drängen, je größer die Anzahl der mitgeführten Stellen ist, so dass man eine
diesbezügliche Einflussnahme zumindest in zweifelhaften Fällen vorteilhaft nutzen
kann.

2. Fortpflanzungsfehler eines Produktes

Es sei
y = f (x1 , x2 ) = x1 x2 .

Hier sind fx1 = x2 und fx2 = x1 , und somit gilt (wegen Ki ≈ 1)


x1 x2
δy = · x 2 · δx 1 + · x1 · δx2 ≈ δx1 + δx2 .
x1 x2 x1 x2
Also ist die Multiplikation gut konditioniert.

3. Fortpflanzungsfehler eines Quotienten

Es sei x1
y = f (x1 , x2 ) = .
x2
Hier sind fx1 = 1/x2 und fx2 = −x1 /x22 , und somit gilt (wegen K1 ≈ 1 und
K2 ≈ −1)  
x1 1 x2 −x1
δy = · · δx 1 + · · δx 2 ≈ δx 1 − δx 2 .
x1 /x2 x2 x1 /x2 x22
Also ist auch die Division gut konditioniert.
24 1. Darstellung von Zahlen und Fehleranalyse

4. Fortpflanzungsfehler von Potenzen

Es sei
y = f (x1 ) = xp1 für p > 0 , x1 > 0 .

Hier ist fx1 = px1p−1 und (wegen K1 ≈ p) δy ≈ pδx1 ; damit sind Wurzeln im All-
gemeinen gut konditioniert und Potenzen mäßig schlecht konditioniert für große p.
Dies ist einer der Gründe dafür, dass man keine vernünftigen Resultate erwarten
kann, wenn versucht wird, ein Polynom

Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn

auszuwerten, indem Terme der Form ak xk summiert werden; man sollte stattdes-
sen immer das besser konditionierte Horner-Schema benutzen, in dem abwechselnd
multipliziert und addiert, aber nicht potenziert wird (vgl. Abschnitt 3.2).

1.4.4 Rechnungsfehler und numerische Stabilität

Zur Durchführung eines numerischen Verfahrens muss ein Algorithmus formuliert werden.

Definition 1.36. (Algorithmus)


Ein Algorithmus ist eine endliche Menge genau beschriebener Anweisungen (arithme-
tische und logische Operationen und Ausführungshinweise), die in einer bestimmten
Reihenfolge auszuführen sind, um mit Hilfe der eingegebenen Daten die gesuchten
Ausgabedaten zu ermitteln.

In diesem Sinne wurden bereits zuvor die Algorithmen“ 1.8, 1.9 und 1.11 formuliert.

Während der Ausführung der Rechenoperationen ergibt sich durch Anhäufung lokaler
Rechnungsfehler ein akkumulierter Rechnungsfehler. Die√ lokalen Rechnungsfehler entste-
hen z. B. dadurch, dass irrationale Zahlen wie π, e, 2 durch endliche Dezimalbrüche
(Maschinenzahlen) ersetzt werden; dadurch werden Abbruch- oder Rundungsfehler er-
zeugt. Hinreichend kleine Größen, die durch Unterlauf entstehen, werden vernachlässigt.
Führende genaue Stellen können bei der Subtraktion fast gleich großer Zahlen ausgelöscht
werden. Mit der Anzahl der Operationen in einem Algorithmus wächst somit die Gefahr,
dass völlig falsche Ergebnisse entstehen.

Algorithmen, die eine Verstärkung und Anhäufung von Rundungsfehlern vermeiden, wer-
den numerisch stabil genannt. Es gibt unterschiedliche Definitionen für den Begriff der
numerischen Stabilität:

1. Sind sämtliche Rundungsfehler eines Algorithmus von derselben Größenordnung


wie der Fehler fx · ∆x für den Eingabefehler ∆x , so nennt Bauer [BAUE1965] den
Algorithmus numerisch stabil.
1.4 Fehlerquellen 25

2. Stewart [STEW1973], S.76, unterscheidet zwischen dem theoretischen Algorith-


mus f und seiner numerischen Realisation f ∗ . Er nennt den Algorithmus f ∗ nu-
merisch stabil, wenn es für jeden Eingabewert x ein benachbartes x∗ gibt, so dass
f (x∗ ) dicht bei f ∗ (x) liegt. Mit dieser Definition nähert für gut konditionierte Pro-
bleme das berechnete Ergebnis eines stabilen Algorithmus die exakte Lösung auch
gut an.
Wenn f ∗ numerisch stabil ist im Sinne von Stewart, dann gibt es für ein schlecht
konditioniertes Problem ein x∗ nahe bei x, für welches sich f (x∗ ) und f ∗ (x∗ ) in
gleichem Maße von f (x) unterscheiden.

3. Eine sehr häufig benutzte Definition für numerische Stabilität fordert die Existenz
eines x∗ nahe bei x, so dass f ∗ (x∗ ) = f (x) ist, vgl. [WILK1969].

Beispiel 1.37.
Hat man eine Gleichung der Form
yn+1 = a yn + b yn−1 (n ∈ IN) ,

auch Differenzengleichung genannt, mit reellen Konstanten a, b und n ∈ IN, so lässt sich
jeder Wert yn hierüber nach Angabe von zwei konkreten Startwerten“ y0 und y1 be-

rechnen. Eine allgemeine Lösung der Differenzengleichung kann mit Hilfe des Ansatzes
yn = ξ n (1.8)

mit einem festen Wert ξ gewonnen werden. Einsetzen ergibt

ξ n+1 = a ξ n + b ξ n−1

bzw. nach Division durch ξ n−1 = 0


ξ2 − a ξ − b = 0 .

Die Nullstellen dieser quadratischen Gleichung sind gegeben durch


a a2
ξ1,2 = ± + b,
2 4
und Fehler in der Angabe von ξ werden durch das Potenzieren in (1.8) nur dann nicht
verstärkt, wenn
 
a 
 a2 
 ± +b≤1
2 4 

erfüllt ist. Dann ist ein über obige Differenzengleichung gegebener Algorithmus numerisch
stabil. 

Die Verwendung instabiler Algorithmen ist praktisch sinnlos. Aber selbst dann, wenn
ein stabiler Algorithmus verwendet wird, hat es natürlich keinen Sinn, zwar mit einer
exakten Prozedur zu arbeiten, aber die Berechnung mit nur geringer Genauigkeit aus-
zuführen; es werden dann natürlich große Rechnungsfehler auftreten.
26 1. Darstellung von Zahlen und Fehleranalyse

Gewöhnlich sind numerisch stabile Algorithmen und gut konditionierte Probleme notwen-
dig, um überhaupt zufriedenstellende Resultate erreichen zu können; diese Bedingung ist
jedoch keineswegs hinreichend, da das Instrument Computer“, mit dem das Ergebnis

erzeugt wird, mit begrenztem Speicherplatz und begrenzter Zeit arbeitet. Computer-
Operationen setzen sich zusammen aus dem Schreiben in den Speicher, dem Lesen aus
dem Speicher, Overhead (z. B. zusätzlicher Verwaltungsaufwand) und den arithmetischen
Operationen.

Alle arithmetischen Operationen (Potenzen, Wurzeln, Auswertung trigonometrischer


Funktionen u.a.m.) arbeiten mit internen Prozeduren, die wiederum nur Additionen und
Multiplikationen benutzen. Deshalb ist das Zählen der elementaren Operationen (wie
Anzahl benötigter Multiplikationen) eine Möglichkeit für den Vergleich unterschiedlicher
Algorithmen zur Lösung einer und derselben Problemstellung. Additionen bleiben da-
bei meist unberücksichtigt, weil sie in der Regel nur einen Bruchteil der Rechenzeit im
Vergleich zu den Multiplikationen und Divisionen (also den Punktoperationen) benöti-
gen. Spezialrechner sind heutzutage allerdings schon in der Lage, eine Multiplikation in
etwa in der Rechenzeit einer Addition zu erledigen. Bei sehr vielen Algorithmen wird
insbesondere auf die Anzahl der erforderlichen Punktoperationen hingewiesen.

Ergänzende Literatur zu Kapitel 1


[BART2004]; [BRON1991], 2.1.1, 2.1.2; [CONT1987], 1; [DEUF2002] Bd.1, 2; [ENGE1996],
Kap.1; [HAMM1994], 1.; [HILD1987], 1.; [OVER2001]; [PREU2001], 1; [RICE1993], Kap.3;
[STOE1999] Bd.1, Kap.4; [STOE2002], 1; [TORN1990] Bd.1, 1.7, 1.8; [UBER1995], 2;
[WERN1993], I §6.
Kapitel 2

Numerische Verfahren zur Lösung


nichtlinearer Gleichungen

2.1 Aufgabenstellung und Motivation


Ist f eine in einem abgeschlossenen Intervall I = [a, b] stetige und reellwertige Funktion,
so heißt eine Zahl ξ ∈ I eine Nullstelle der Funktion f oder eine Lösung der Gleichung

f (x) = 0 , (2.1)

falls f (ξ) = 0 ist.

Wenn f ein algebraisches Polynom der Form


n
f (x) ≡ Pn (x) = aj xj , aj ∈ IR , an = 0 , n ∈ IN
j=0

ist, heißt die Gleichung (2.1) algebraisch, und die natürliche Zahl n heißt der Grad des
Polynoms bzw. der algebraischen Gleichung. Jede Gleichung (2.1), die nicht algebraisch
ist, heißt transzendent (z. B. ln x − 1/x = 0; x − sin x = 0).

In diesem Kapitel werden Verfahren zur Bestimmung einfacher und mehrfacher Nullstel-
len ξ ∈ I von f vorgestellt. Dabei wird zwischen den klassischen Iterationsverfahren (all-
gemeines Iterationsverfahren, Newton-Verfahren, Sekantenverfahren) und den sogenann-
ten Einschlussverfahren (Bisektion, Pegasus-Verfahren, Verfahren von Anderson-Björck,
Verfahren von King) unterschieden. Die angegebenen Einschlussverfahren benötigen zwei
Startwerte, in denen die Funktion f unterschiedliche Vorzeichen hat. Die Startwerte
schließen dann (mindestens) eine Nullstelle ungerader Ordnung von f ein. Dieser Ein-
schluss bleibt im Laufe der Rechnung erhalten. Diese Verfahren sind jedoch grundsätzlich
unter Anwendung von Satz 2.3 auch im Falle von Nullstellen gerader Ordnung anwend-
bar. Einschlussverfahren höherer Konvergenzordnung sind im Allgemeinen den klassi-
schen Iterationsverfahren vorzuziehen (vgl. Abschnitt 2.9). Verfahren zur Bestimmung
sämtlicher Nullstellen algebraischer Polynome ohne Kenntnis von Startwerten werden im
Kapitel 3 behandelt.
28 2. Lösung nichtlinearer Gleichungen

Wo in den Anwendungen treten nichtlineare Gleichungen auf? Die meisten derartigen


Probleme führen nicht direkt auf eine transzendente Gleichung oder eine Polynomglei-
chung, sondern diese treten an irgendeiner Stelle des Lösungsprozesses auf. So stößt man
etwa auf Polynomgleichungen bei der Lösung von linearen Differentialgleichungen n-ter
Ordnung mit konstanten Koeffizienten, bei der Berechnung der Eigenwerte von Matrizen
und bei der Bestimmung der Eigenfrequenzen linearer Schwingungssysteme mit n Frei-
heitsgraden. Transzendente Gleichungen treten beispielsweise bei der Berechnung der
kritischen Drehzahl einer Welle in der Gestalt

f (x) = cos x cosh x ± 1 = 0 oder f (x) = tan x − tanh x = 0

auf. Bei der Berechnung des Druckverlustes in einer Rohrströmung muss man den Rohr-
reibungsbeiwert λ für hydraulisch glatte Rohre bei turbulenter Strömung nach dem
universellen Prandtlschen Widerstandsgesetz bei vorgegebener Reynoldszahl Re aus der
transzendenten Gleichung
1  √ 
f (λ) = √ − 2 lg Re λ + 0.8 = 0
λ
ermitteln. Ebenfalls auf eine transzendente Gleichung stößt man bei der Betrachtung
der Ausstrahlung eines vollkommenen schwarzen Körpers“. Wird ein schwarzer Körper

erhitzt, so sendet er elektromagnetische Wellen verschiedener Wellenlänge λ (Wärme-
strahlen, Licht usw.) aus.

.... ...
.. .. ...
... ....... .
.... ..
................
.. λ 2 .... λ2 ......
.
λ4 ..
... ..............
...
...
..........................
....
...
.
........
....... ....
. λ3 ......
.... ................
..
λ 2
... ... ... ..
... .............. ... ....... ... .......... ..
.
......... ... .... .. ... .............
... .. .. ..
...... ..... ..... .....
... ......
.......... ..........
........ .............. ............... .............. ....... ........................................................................................
....... ......
......
λ ..... λ1
3 ..
..
.....................
........... .
........................
.....
...
.... ...... ......... .
...
...
..... .. ... ... ....... ...
..
...
...... ... ....
.
.
...... ...
... ............ ....
............ .....
...... .. .. .....
...
..
.. .... ... .
... .... ...
....
..............
... λ 2 .... .... .....
.... λ 2
... ..................... .......... ........... ......
. .
.................................................. .....
......... ..
.
.
.
...
....
....
....

Abb. 2.1. Ausstrahlung eines vollkommenen schwarzen Körpers

Bei einer bestimmten Temperatur T liegt das Maximum der emittierten Strahlung E(λ, T )
bei λmax . Mit steigender Temperatur verschiebt sich die Stelle maximaler Emission nach
kürzeren Wellenlängen; es gilt (Wiensches Verschiebungsgesetz)
α
λmax (T ) =
z·T
mit α = 14.3881 · 10−3 m K. Die Konstante z ist die Lösung der transzendenten Gleichung
1 1
e−z = 1 − z bzw. f (z) = e−z − 1 + z = 0 , z ∈ IR , z = 0.
5 5
Mit dem so ermittelten z ≈ 4.9651 lässt sich die Formel für λmax (T ) angeben. Aus dieser
Formel kann dann z. B. ein Näherungswert für die absolute Temperatur der Sonnenober-
2.2 Definitionen und Sätze über Nullstellen 29

fläche bestimmt werden, wobei für das Sonnenspektrum nach Langley das Maximum der
Strahlung bei λmax = 5 · 10−7 m liegt.

Weitere Anwendungsbeispiele sind in Abschnitt 2.8 zu finden.

2.2 Definitionen und Sätze über Nullstellen


Im Anschluss werden einige Definitionen und Sätze über Nullstellen angegeben, die in
den folgenden Abschnitten benötigt werden. Die Beweise findet man in jedem Werk zur
Analysis.

Definition 2.1.
Eine Nullstelle ξ einer Funktion f ∈ C[a, b] heißt j-fache Nullstelle oder Nullstelle der
Ordnung j (j ∈ IN), falls f sich auf [a, b] in der Form
f (x) = (x − ξ)j h(x)
darstellen lässt mit einer stetigen Funktion h, für die h(ξ) = 0 ist.
Im Fall j = 1 heißt ξ einfache Nullstelle, für j ≥ 2 mehrfache Nullstelle.

Ist ξ eine Nullstelle ungerader Ordnung, so hat f in x = ξ einen Vorzeichenwechsel; ist


ξ von gerader Ordnung, so berührt der Graph von f die x-Achse, und es gibt keinen
Vorzeichenwechsel.

Satz 2.2.
Die Funktion f sei im Intervall I j-mal stetig differenzierbar (j ∈ IN). Dann ist ξ ∈ I
genau dann eine j-fache Nullstelle von f , wenn gilt
f (ξ) = f  (ξ) = . . . = f (j−1) (ξ) = 0 , f (j) (ξ) = 0 .

Mit der Aussage des folgenden Satzes 2.3 lassen sich Einschlussverfahren auch zur Be-
rechnung von mehrfachen Nullstellen einsetzen, insbesondere auch von Nullstellen gerader
Ordnung (also ohne Vorzeichenwechsel).

Satz 2.3.
Ist ξ ∈ I eine j-fache Nullstelle von f , j ≥ 2, und ist f (j+1)-mal stetig differenzierbar,
so ist ξ eine einfache Nullstelle von g mit

f (x)
g(x) = .
f  (x)
30 2. Lösung nichtlinearer Gleichungen

Beweis. Nach Satz 2.2 gelten für j ≥ 2 f (ξ) = f  (ξ) = . . . = f (j−1) (ξ) = 0 und
f (j) (ξ) = 0. Zu zeigen ist, dass für
f (x) f (x) f  (x)
g(x) =  und g  (x) = 1 −
f (x) f  2 (x)
nach Satz 2.2 gelten
g(ξ) = 0 und g  (ξ) = 0 .

Für den Nachweis werden die Taylorentwicklungen von f , f  und f  an der Stelle ξ
benötigt (sie finden auch in Abschnitt 2.5.3 Verwendung).

(x − ξ)j (j)  
f (x) = f (ξ) + O (x − ξ)j+1 = (x − ξ)j h0 (x) (2.2)
j!
1
mit h0 (x) = f (j) (ξ) + O(x − ξ) und
j!
1 (j)
h0 (ξ) = f (ξ) = 0 ; (2.3)
j!

(x − ξ)j−1 (j)  
f  (x) = f (ξ) + O (x − ξ)j = (x − ξ)j−1 h1 (x) (2.4)
(j − 1)!
1
mit h1 (x) = f (j) (ξ) + O(x − ξ) und
(j − 1)!
1
h1 (ξ) = f (j) (ξ) = 0 ; (2.5)
(j − 1)!

(x − ξ)j−2 (j)  
f  (x) = f (ξ) + O (x − ξ)j−1 = (x − ξ)j−2 h2 (x) (2.6)
(j − 2)!
1
mit h2 (x) = f (j) (ξ) + O(x − ξ) und
(j − 2)!
1
h2 (ξ) = f (j) (ξ) = 0 . (2.7)
(j − 2)!

Mit (2.2) und (2.4) ergibt sich


f (x) h0 (x)
g(x) = = (x − ξ) .
f  (x) h1 (x)
Mit (2.3) und (2.5) ist
h0 (ξ) f (j) (ξ) (j − 1)! 1
= = = 0; (2.8)
h1 (ξ) j! f (j) (ξ) j
also ist g(ξ) = 0.

Weiter ist mit (2.2), (2.4) und (2.6)


f (x) f  (x) h0 (x) h2 (x)
g  (x) = 1 − =1− .
f  2 (x) h21 (x)
Für g  (ξ) ergibt sich mit (2.3), (2.5) und (2.7)
h0 (ξ) h2 (ξ) (j − 1)! (j − 1)! j−1 1
g  (ξ) = 1 − =1− =1− = = 0.
h21 (ξ) j! (j − 2)! j j
Die j-fache Nullstelle ξ von f ist also einfache Nullstelle von g. 
2.3 Allgemeines Iterationsverfahren 31

Satz 2.4. (Satz von Bolzano, Zwischenwertsatz )


Sei f in I = [a, b] stetig mit f (a) · f (b) < 0. Dann besitzt f in (a, b) mindestens eine
Nullstelle ξ ungerader Ordnung.

2.3 Allgemeines Iterationsverfahren

2.3.1 Konstruktionsmethode und Definition

Anstelle der Gleichung f (x) = 0 wird eine Gleichung der Form

x = ϕ(x) (2.9)

betrachtet. Dabei sei


ϕ : I → IR mit x → ϕ(x)

eine in einem abgeschlossenen Intervall I stetige Funktion, und ξ ∈ I heißt eine Lösung
von (2.9) bzw. ein Fixpunkt der Abbildung ϕ, wenn ϕ(ξ) = ξ ist; darum heißt (2.9) auch
Fixpunktgleichung.

Die Untersuchung von Gleichungen der Form x = ϕ(x) bedeutet keine Beschränkung der
Allgemeinheit, denn es gilt der

Hilfssatz 2.5.
Sind f und g stetige Funktionen in einem abgeschlossenen Intervall I und ist g(x) = 0
für alle x ∈ I, dann besitzen die Gleichungen f (x) = 0 und x = ϕ(x) mit

ϕ(x) := x − f (x)g(x) (2.10)

im Intervall I dieselben Lösungen, d. h. die beiden Gleichungen sind äquivalent.

Beweis. Ist ξ ∈ I Lösung von f (x) = 0, so folgt wegen f (ξ) = 0 aus (2.10) ϕ(ξ) = ξ. Ist
umgekehrt ξ ∈ I Lösung von x = ϕ(x), so folgt wegen ξ = ϕ(ξ) aus (2.10) f (ξ)g(ξ) = 0;
wegen g(ξ) = 0 ist also f (ξ) = 0 . 

Jede geeignete Wahl von g liefert eine zu f (x) = 0 äquivalente Gleichung x = ϕ(x).
Häufig kann eine Gleichung f (x) = 0 auf die Form x = ϕ(x) gebracht werden, indem
irgendeine Auflösung nach x vorgenommen wird.
32 2. Lösung nichtlinearer Gleichungen

Beispiel 2.6.

Gegeben: Die algebraische Gleichung

f (x) = x2 + x − 2 = 0

mit den Lösungen ξ1 = 1 und ξ2 = −2.

Gesucht: Zur gegebenen Gleichung äquivalente Gleichungen der Form x = ϕ(x) .

Lösung: Durch verschiedenartige Umformung bzw. Auflösung nach x erhält man

(I) x = 2 − x2 = ϕ(x) ,

(II) x = 2 − x = ϕ(x) , x ≤ 2 ,
(III) x= 2
x − 1 = ϕ(x) , x = 0.

Bei der Angabe eines Intervalls I, in dem die Gleichungen äquivalent zur gegebenen sind,
müssen die Einschränkungen für x berücksichtigt werden. 

Nun sei eine Gleichung der Form x = ϕ(x) mit dem zugehörigen Intervall I gegeben.
Dann konstruiert man mit Hilfe eines Startwertes x(0) ∈ I eine Zahlenfolge {x(ν) } nach
der Vorschrift
x(ν+1) := ϕ(x(ν) ) , ν = 0, 1, 2, . . . (2.11)

Diese Folge lässt sich nur dann sinnvoll konstruieren, wenn für ν = 0, 1, 2, . . .

x(ν+1) = ϕ(x(ν) ) ∈ I

ist, da ϕ nur für x ∈ I erklärt ist. Durch ϕ muss also eine Abbildung des Intervalls I in
sich gegeben sein, d. h. der Graph von y = ϕ(x) muss im Quadrat

Q = {(x, y)|x ∈ I, y ∈ I}

liegen; in der Abbildung 2.2 ist I = [a, b].


y6
b .............................................
Q .............................................................................
........................................................................
..........................................
. . . . . . . . . . .. . . . . . . .
..........................................................
.......................................
.................... . . . . . . . .
....................
. . .
................................. y = ϕ(x)
................................

......................................................
....................................
....................................
..................
a
-
a b x
Abb. 2.2.
2.3 Allgemeines Iterationsverfahren 33

Wenn die Folge {x(ν) } konvergiert, d. h. wenn die Zahlen x(1) , x(2) , x(3) , . . . gegen ξ stre-
ben, somit
lim x(ν) = ξ
ν→∞

ist, dann ist ξ eine Lösung der Gleichung (2.9). Es gilt wegen der Stetigkeit von ϕ

ξ = lim x(ν) = lim x(ν+1) = lim ϕ(x(ν) ) = ϕ( lim x(ν) ) = ϕ(ξ) .


ν→∞ ν→∞ ν→∞ ν→∞

Ein solches Verfahren der schrittweisen Annäherung wird Iterationsverfahren genannt.


Die Vorschrift (2.11) heißt Iterationsvorschrift; sie stellt für jedes feste ν einen Itera-
tionsschritt dar. Die Funktion ϕ wird Schrittfunktion genannt. Die Folge {x(ν) } heißt
Iterationsfolge.

Die Iterationsschritte (2.11) für ν = 0(1)N bilden zusammen mit dem Startwert x(0) das
algorithmische Schema des Iterationsverfahrens:
⎧ (0)

⎪ x = Startwert ,
⎪ (1)


⎪ x = ϕ(x(0) ) ,


⎨ x (2)
= ϕ(x(1) ) ,
· (2.12)



⎪ ·



⎪ ·
⎩ (N +1)
x = ϕ(x(N ) ) .

Dabei muss ϕ(x(ν) ) ∈ I gelten für ν = 0(1)N .

Beispiel 2.7. (Fortsetzung von Beispiel 2.6)


Für die Umformung (I): x = 2 − x2 der Gleichung x2 + x − 2 = 0 lautet die Iterations-
vorschrift (2.11)

x(ν+1) = ϕ(x(ν) ) = 2 − (x(ν) )2 , ν = 0, 1, 2, . . . ,

und es sei I = [−50, 0]. Das algorithmische Schema (2.12) des Iterationsverfahrens lautet
mit dem Startwert x(0) = −3:
x(0) = −3 ∈ I ,
x(1) = ϕ(x(0) ) = 2 − 32 = −7 ∈ I ,
x(2) = ϕ(x(1) ) = 2 − 72 = −47 ∈ I ,
x(3) = ϕ(x(2) ) = 2 − 472 = −2207 ∈ / I.

Der Verlauf der Rechnung zeigt, dass die so konstruierte Folge {x(ν) } nicht gegen die
Lösung ξ2 = −2 ∈ I konvergiert.

Mit der Umformung (III): x = x2 − 1 der Gleichung x2 + x − 2 = 0 und I = [−3, −1]


erhält man dagegen die Iterationsvorschrift
2
x(ν+1) = ϕ(x(ν) ) = (ν) − 1 , ν = 0, 1, 2, . . . ,
x
und mit dem Startwert x(0) = −3 das algorithmische Schema:
34 2. Lösung nichtlinearer Gleichungen

x(0) = −3 ∈ I ,
−3 − 1 = − 3 = −1.6666667 ∈ I ,
2 5
x(1) =
x(2) = −2.2000000 ∈ I ,
x(3) = −1.9090909 ∈ I ,
x(4) = −2.0476190 ∈ I .
Diese vier Iterationsschritte zeigen bereits, dass sich die so konstruierte Folge der Lösung
ξ2 = −2 immer mehr nähert, d. h. gegen die gesuchte Lösung konvergiert. 

Es stellt sich also die Frage nach Bedingungen für die Konvergenz einer Iterationsfolge.
Die folgenden Aussagen über die Existenz einer Lösung der Gleichung (2.9) und deren
Eindeutigkeit dienen der Beantwortung dieser Frage. Es wird sich zeigen, dass die Be-
dingungen für die Existenz und Eindeutigkeit auch hinreichend für die Konvergenz der
mit (2.11) konstruierten Iterationsfolge sind.

2.3.2 Existenz einer Lösung und Eindeutigkeit der Lösung

Zum Nachweis der Existenz einer Lösung ξ ∈ I = [a, b] der Gleichung x = ϕ(x) folgen
nun lediglich geometrische Überlegungen; zum analytischen Nachweis s. [HENR1972]
Bd.1, S. 85/87. Man erhält ξ als Abszisse des Punktes, in dem die Graphen der
Gerade y = x und der Funktion y = ϕ(x) sich in dem Quadrat Q schneiden. Es wird
also davon ausgegangen, dass für x ∈ I auch ϕ(x) ∈ I ist. Wenn
 a = ϕ(a) und
 b = ϕ(b)
sind, müssen ϕ(a) > a und ϕ(b) < b sein. Die Punkte a, ϕ(a) und b, ϕ(b) liegen also
auf verschiedenen Seiten der Diagonale y = x im Quadrat Q. Ist ϕ stetig, so garantiert
der stetige Verlauf des Graphen von y = ϕ(x) in Q die Existenz von mindestens einem
Schnittpunkt mit der Gerade y = x Abb. 2.3(a) . Ist ϕ dagegen nicht stetig, so existiert
nicht notwendig ein solcher Schnittpunkt Abb. 2.3(b) .

a) y6 b) y6
y = ϕ(x)
b r
...................................................................
..............................................
b @ ..
........................................................................
@
.................................................
............................................... ..................................................
................................................................ ................................................
. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .... . . . . . . . . . . . . .
.............................................................. .............................................................
............................... ...............................
................................ y =x
................................. . . . . . . .
...............................
................................. . . . . . . .
y =x
............................................. ..............................................
...............................................
. ... ... ... ... .. ... ... .
.........................................
..............................................
. . . . .. . . . . . . . . . . . . . . . . . r
..............................................................................
y = ϕ(x)
..................................... r .. .
..................................................................................
PP y = ϕ(x)
.............................
.................................................. ........................................................................
................................................ ...............................................
.
r
................................................ . . . . . . . . . . . . . . . ... . . . . .
..................................................................... ......................................................................
..............................................
.................................................................. .............................................
. . . . . . . . . . . . . ... . . . . . . . .
a ......................
a
- -
a b a x b x
Abb. 2.3. (a) ϕ stetig; (b) ϕ nicht stetig
2.3 Allgemeines Iterationsverfahren 35

Satz 2.8. (Existenzsatz )


Die in dem endlichen, abgeschlossenen Intervall I definierte Funktion ϕ : I → IR
erfülle die folgenden Bedingungen:
(i) ϕ(x) ∈ I für alle x ∈ I,
(ii) ϕ ist stetig in I.
Dann besitzt die Gleichung x = ϕ(x) in I mindestens eine Lösung ξ.

Anhand eines Beispiels wird gezeigt, dass die Stetigkeit (ii) für die Existenz einer Lösung
ξ ∈ I allein nicht hinreicht.

Beispiel 2.9.

Gegeben: Die Gleichung ex = 0, I = [−a, 0], a > 0, von der bekannt ist, dass sie keine
endliche Lösung besitzt.

Gesucht: Eine dazu äquivalente Gleichung der Form x = ϕ(x).

Lösung: Mit g(x) = 1 ergibt sich gemäß (2.10) die Gleichung:

x = ϕ(x) = x − ex .

Die Funktion ϕ ist stetig in [−a, 0]. Wegen ϕ(−a) = −a − 1/ea < −a ist ϕ(−a) ∈
/ I und
somit die Bedingung (i) des Satzes 2.8 nicht erfüllt. 

Die Frage nach der Eindeutigkeit einer Lösung der Gleichung x = ϕ(x) kann man be-
antworten, wenn ϕ in I einer sogenannten Lipschitzbedingung genügt. Eine Funktion ϕ
heißt lipschitzbeschränkt, wenn es eine Konstante L mit 0 ≤ L < 1 gibt, so dass

|ϕ(x) − ϕ(x )| ≤ L|x − x | für alle x, x ∈ I (2.13)

gilt. L wird Lipschitzkonstante genannt, und (2.13) heißt eine Lipschitzbedingung für die
Funktion ϕ. Eine differenzierbare Funktion ϕ ist sicher lipschitzbeschränkt, wenn

|ϕ (x)| ≤ L < 1 für alle x ∈ I (2.14)

gilt; denn nach dem Mittelwertsatz der Differentialrechnung ist


ϕ(x) − ϕ(x ) = ϕ (η)(x − x ), η ∈ (x, x ) ⊂ I,

woraus beim Übergang zu den Beträgen und mit (2.14) folgt


|ϕ(x) − ϕ(x )| = |ϕ (η)| |x − x | ≤ L|x − x |.

Abbildungen ϕ, für die eine Lipschitzbedingung (2.13) bzw. (2.14) gilt, werden auch als
kontrahierende Abbildungen bezeichnet, weil der Abstand |ϕ(x)−ϕ(x )| der Bilder kleiner
ist als der Abstand |x − x | der Urbilder.
36 2. Lösung nichtlinearer Gleichungen

Satz 2.10. (Eindeutigkeitssatz )


Die Funktion ϕ : I → IR genüge im Intervall I einer Lipschitzbedingung (2.13) oder
(2.14). Dann besitzt die Gleichung x = ϕ(x) in I höchstens eine Lösung ξ.

Beweis. Angenommen, es gibt zwei Lösungen ξ1 , ξ2 im Intervall I, so dass also


ξ1 = ϕ(ξ1 ) und ξ2 = ϕ(ξ2 ) (2.15)

gelten. Dann folgt mit (2.13) und (2.15)

|ξ1 − ξ2 | = |ϕ(ξ1 ) − ϕ(ξ2 )| ≤ L|ξ1 − ξ2 |

und daraus
(1 − L) |ξ1 − ξ2 | ≤ 0 .

Wegen 1 − L > 0 ist |ξ1 − ξ2 | ≤ 0, also kann nur |ξ1 − ξ2 | = 0 sein und damit ξ1 = ξ2 .
Die Gleichung x = ϕ(x) besitzt also höchstens eine Lösung ξ ∈ I. 

Da eine Funktion ϕ, die in I einer Lipschitzbedingung genügt, überall in I stetig ist (die
Umkehrung gilt nicht, d. h. nicht jede stetige Funktion genügt einer Lipschitzbedingung)
und da die Stetigkeit von ϕ zusammen mit der Bedingung (i) des Satzes 2.8 hinreichend
ist für die Existenz einer Lösung ξ in I, gilt mit Satz 2.10 weiter der

Satz 2.11. (Existenz- und Eindeutigkeitssatz )


Die in dem endlichen, abgeschlossenen Intervall I definierte Funktion ϕ : I → IR
erfülle die folgenden Bedingungen:

(i) ϕ(x) ∈ I für alle x ∈ I.


(ii) ϕ ist in I lipschitzbeschränkt, d. h. ϕ genüge für alle x, x ∈ I einer Lipschitz-
bedingung |ϕ(x)−ϕ(x )| ≤ L|x−x | mit 0 ≤ L < 1 oder, falls ϕ in I differenzierbar
ist, einer Bedingung |ϕ (x)| ≤ L < 1.
Dann besitzt die Gleichung x = ϕ(x) in I genau eine Lösung ξ.

Beispiel 2.12. (Fortsetzung von Beispiel 2.9)


Die Funktion ϕ(x) = x − ex genügt in I = [−a, 0] einer Lipschitzbedingung |ϕ (x)| ≤
L < 1, da wegen 0 < ex ≤ 1 für x ∈ I mit ϕ (x) = 1 − ex gilt |ϕ (x)| = |1 − ex | < 1.

Falls eine Lösung existieren würde, wäre sie nach Satz 2.10 eindeutig bestimmt. Im vor-
liegenden Falle existiert aber keine Lösung, da die Bedingung (i) in Satz 2.8 bzw. 2.11
nicht erfüllt ist. 
2.3 Allgemeines Iterationsverfahren 37

2.3.3 Konvergenz eines Iterationsverfahrens

2.3.3.1 Heuristische Betrachtungen

Die Funktion ϕ : I → IR sei in I differenzierbar. Dann ergibt sich anschaulich, dass die
durch die Iterationsvorschrift x(ν+1) = ϕ(x(ν) ) definierte Folge {x(ν) } konvergiert, wenn
ϕ die Bedingungen des Satzes 2.11 für die Existenz und Eindeutigkeit einer Lösung der
Gleichung x = ϕ(x) erfüllt:
(i) ϕ(x) ∈ I für alle x ∈ I,
(ii) |ϕ (x)| ≤ L < 1 für alle x ∈ I.

Die Konvergenz ist für 0 ≤ ϕ (x) < 1 monoton (Abb. 2.4) und für −1 < ϕ (x) ≤ 0
alternierend (Abb. 2.5).

y 6 y 6
. ...
...
y =x ...
.................................................................................................................
.... - .. y =x
...........
..
........... 6
.. ....
.. ....
.. ....
..
..
..
.......... .. ... ..
..
...
............
. ..
...
.... ..
.
......... .. .... ..
........ ϕ(x) ....
........ .. ..
r
....
.......
- ...
.. ....
.
...
...
. ....... .. ... ..
.
-
...........................................
....... ... .. ..........
....... .. ..

-6
............. ...
...... ..
..
.. 6 - ... ..........................
......
.. ..
r?
.
..................... ...
..
.. ................. ..
.
...
..
66
. .
. ..

.
.
... . .. ..
...... .. .... .. ............................ ..
-6
.. .. ..
..
.
..... ..
......
.
........................
.
.
.... ..
..
..
..  ? ..
..
.. .. ..............
......................................
.
..
..
..
.. .
. ... .. ... ... .. ... ................... ..
. .
.
.
.... ..
... .. 6 .
.
. ..
.
.
...
...
..
..  .. . . . . ............
?
.. .
...............................................................................................................................
... ... .... .... .. .. .. .. .. . .. ..
...
. . .. .. . ..
.. ... ... ... ... .. ... ..... ... . ..... ϕ(x) ...
.. . . .. . .. .. .
.. . . ... .. .. .. .. . .. ..
.. ... ... .. .. .. .. .. .... .. ..
.. ... .. ..
.
.. .... .... .. .. .... .... .. .. .... ....
.. .. .
... ..
..
.
...
.
....
. ... - ..
.
....
.
.... ... ...
. . .
....
. - ....
.

ξ x ξ x
x(0) x(1) x(2) x(0) x(2) x(4) x(5) x(3) x(1)

Abb. 2.4. Monotone Konvergenz, Abb. 2.5. Alternierende Konvergenz,


0 ≤ ϕ (x) < 1 −1 < ϕ (x) ≤ 0

Je kleiner der Betrag der 1. Ableitung der Schrittfunktion ϕ ist, desto schneller konver-
giert die Iterationsfolge gegen ξ.
38 2. Lösung nichtlinearer Gleichungen

Für |ϕ (x)| > 1 divergiert das Verfahren, wie aus den Abbildungen 2.6 und 2.7 zu erken-
nen ist.

y 6 ..
...
...
y 6 ...
...
.... ...
ϕ(x) ..
... y =x ...
...
ϕ(x) y =x
... ...
.... ...
...
.. ...
...
-
...
... ...................................................
.... ..... .
..
...
... r
......
.. ...6
.. ....
..
..
..
....
. .. .... ..
... .. .. ... ..

.............. ...
... ....... ..
... .. ..
..
...
r
...
....
..
..
..
6
.. .....
.. ... .. .. .. ..
.. .... .. .. ... ..... ..

.. .
.. ... .. .. ................................. ..
..... .. .. ... ..
 ?
. .
.... ... ......
...................................
.
...
..
.. ...
.. ..
.. .. ....
..
...
6 .
. .....
.
..
..
.. .
... .
. .... ...
.. .
. ... .. .. ... ... .... .
... ...
 ?
.. .. ... .. .. .... ..
.. .... . .. .. . . . ......
.. ..
. .
. .. .. .....................................................................................
.. .
... .
. .. .. .... ... . ... .
.... ........
.. ..... . .. .. ..
. . .....
... ..... ... .. .. .... .... .. ... .... .....
.....
.. . .. .. .. .....
? - -
. . ..
.. .... .. .. ... .... .. ... ...

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

Abb. 2.6. Divergenz, 1 < ϕ (x) Abb. 2.7. Divergenz, ϕ (x) < −1

Beispiel 2.13. (Fortsetzung von Beispiel 2.6)


Ausgehend von der Umformung (I): x = 2 − x2 = ϕ(x) der Gleichung x2 + x − 2 = 0 wird
ϕ (x) = −2x untersucht (vgl. Abb. 2.8). Für den Startwert x(0) = −3 ist ϕ (−3) = 6 > 1,
d. h. die Bedingung |ϕ (x)| < 1 ist bereits für den gewählten Startwert verletzt. Da die
Bedingung |ϕ (x)| < 1 nur für |x| < 12 erfüllt werden kann, ist die bei der Umformung
(I) entstehende Funktion ϕ als Schrittfunktion für die Iteration zur Bestimmung beider
Lösungen 1 und −2 ungeeignet.

y 6

...........................
......... ......
.....
..
....
...
.....
....
....
y =x
.
... ...
y =2 − x 2 ..... ...
...
.. ...
.
. ...
r
.
... ..
...
.
.
..
.. 1 ...
...
... ...
... ...
...
..
. ..
.
... ..
..
... ..
.
...
...
.
..
..
..
..
-
−2 .
...
.
.
−1 1
..
..
.. 2 x
.. ..
..
... ...
.
.
. ...
.... ...
...
.
.
...
... −1 ...
...
...
.... ...
... ..
...
... ..
... ..
... ..
..
r ...
...
... −2
..
..
..
..
... ..
..
... ..

Abb. 2.8. (zu Beispiel 2.13)



2.3 Allgemeines Iterationsverfahren 39

2.3.3.2 Analytische Betrachtung

Satz 2.14. (Fixpunktsatz )


Die Funktion ϕ : I → IR erfülle die Voraussetzungen (i) und (ii) des Satzes 2.11.
Dann konvergiert die mittels der Iterationsvorschrift

x(ν+1) = ϕ(x(ν) ), ν = 0, 1, 2, . . .

erzeugte Folge {x(ν) } mit einem beliebigen Startwert x(0) ∈ I gegen den Fixpunkt ξ
der Abbildung ϕ, d. h. es gilt
lim x(ν+1) = ξ .
ν→∞

Beweis. Nach Satz 2.11 hat die Gleichung x = ϕ(x) in I genau eine Lösung ξ, also gilt
ξ = ϕ(ξ). Mit x(ν+1) = ϕ(x(ν) ) und der Lipschitzbedingung (2.13) erhält man
(LBed)
|x(ν+1) − ξ| = |ϕ(x(ν) ) − ϕ(ξ)| ≤ L|x(ν) − ξ|

und in analoger Weise fortfahrend

|x(ν+1) − ξ| ≤ L|x(ν) − ξ| ≤ L2 |x(ν−1) − ξ| ≤ . . . ≤ Lν+1 |x(0) − ξ| . (2.16)

Wegen 0 ≤ L < 1 ist lim Lν+1 = 0, und aus (2.16) folgt


ν→∞

lim |x(ν+1) − ξ| ≤ |x(0) − ξ| lim Lν+1 = 0, d. h. lim x(ν+1) = ξ.


ν→∞ ν→∞ ν→∞

Damit folgt wegen der Stetigkeit von ϕ

ξ = lim x(ν+1) = lim ϕ(x(ν) ) = ϕ( lim x(ν) ) = ϕ(ξ) .


ν→∞ ν→∞ ν→∞

Beispiel 2.15. (Fortsetzung von Beispiel 2.6 und 2.7)


Zur Auflösung (III): x = x2 − 1 der Gleichung x2 + x− 2 = 0 gehören die Schrittfunktion

2
ϕ(x) = −1 für x = 0
x

und mit der Fixpunktgleichung x = ϕ(x) die Iterationsvorschrift

2
x(ν+1) = ϕ(x(ν) ) = −1, ν = 0, 1, 2, . . .
x(ν)

a) Wegen ϕ (x) = − x22 < 0, x = 0 , ist ϕ streng monoton fallend (Abb. 2.9).
Als Intervall wird I = [−3, −1] gewählt. Wegen ϕ(−3) = − 53 ∈ I und
ϕ(−1) = −3 ∈ I gilt: ϕ erfüllt in I die Bedingung (i) des Satzes 2.11.
40 2. Lösung nichtlinearer Gleichungen

b) Lipschitzbeschränkung: ϕ wird in I = [−3, −1] abgeschätzt:

2 2 2
|ϕ (x)| = ≤ = =2 > 1.
x2 min(x2 ) 1
x∈I

Also ist ϕ in I nicht lipschitzbeschränkt.



Damit |ϕ (x)| = 2/x2 < 1 ist, muss x2 > 2, also |x| > 2 sein. Der rechte Intervall-
rand muss modifiziert werden, um diese Bedingung zu erfüllen; das neue Intervall
sei I = [−3, −1.5].
|ϕ (x)| nimmt das Maximum am rechten Rand von I an, also gilt

|ϕ (x)| ≤ |ϕ (−1.5)| = 0.8 < 0.89 = L < 1 ;

in I ist die Voraussetzung (ii) des Satzes 2.11 erfüllt. Damit kann die Lösung
ξ2 = −2 iterativ mit der Schrittfunktion aus der Umformung (III) berechnet wer-
den.
y6

-
x
−4 −3 −2 −1
.... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
. .. −1
.. ..
.. ..
...........................
.................... .......................
.
. .. ..
............... .. ..
.. .................
−1 r
2 ........ .. ..
y= x
..
.
........
....... .
...... .
.
.
..
.. −2
.. ...... ..
.. ...... .
.. .. .... ...
.. .. ..... ..
.. .. .... ..
.. ..
.. ... ... ... ... ... ... ... ... ... ... ........ ... ...........
...
...
−3
...
...
...
...
...
y =x −4
...
...
...
..

Abb. 2.9. Intervall [−3, −1] wird verkleinert auf [−3, −1.5]

Zur Bestimmung der Lösung ξ1 = 1 ist die Umformung (III) ungeeignet. Wählt
man nämlich z. B. I = [0.5, 1.2], so gilt dort |ϕ (x)| > 1, so dass die Bedingung (ii)
des Satzes 2.11 verletzt ist. 

2.3.4 Fehlerabschätzungen und Rechnungsfehler

Die nach ν Iterationsschritten erzeugte Näherungslösung x(ν) unterscheidet sich von


der exakten Lösung ξ um den Fehler ∆(ν) := x(ν) − ξ unter der Annahme, dass keine
Rechnungsfehler gemacht wurden. Es wird nun für ein festes ν eine Schranke ε für den
absoluten Fehler |∆(ν) | gesucht. Ferner interessiert bei vorgegebener Schranke ε die An-
zahl ν der Iterationsschritte, die erforderlich ist, damit |∆(ν) | ≤ ε gilt.
2.3 Allgemeines Iterationsverfahren 41

(i) Fehlerabschätzungen mit Verwendung der Lipschitzkonstante L

Mit (2.11) und (2.13) folgt


⎧ (ν+1)

⎪ |x − x(ν) | ≤ L|x(ν) − x(ν−1) |,

⎨ |x(ν+2) − x(ν+1) | ≤ L|x(ν+1) − x(ν) | ≤ L2 |x(ν) − x(ν−1) |,
.. .. (2.17)

⎪ . .

⎩ (ν+m)
|x − x(ν+m−1) | ≤ Lm |x(ν) − x(ν−1) |.

Aus (2.17) erhält man weiter mit der Dreiecksungleichung

|x(ν+m) − x(ν) | = |x(ν+m) − x(ν+m−1) + x(ν+m−1) − . . . + x(ν+1) − x(ν) |


≤ |x(ν+m) − x(ν+m−1) | + |x(ν+m−1) − x(ν+m−2) | + . . . + |x(ν+1) − x(ν) |
≤ (Lm + Lm−1 + . . . + L) |x(ν) − x(ν−1) |
 j (ν)
m−1
= L L |x − x(ν−1) |
j=0
m

1−L |x
= L 1−L − x(ν−1) | .
(ν)

Wegen 0 < 1 − Lm ≤ 1 folgt daraus

L
|x(ν+m) − x(ν) | ≤ |x(ν) − x(ν−1) |. (2.18)
1−L

Setzt man in der letzten Zeile von (2.17) ν = 1, m = ν − 1 und schreibt anschließend
wieder ν statt ν, so erhält man |x(ν) − x(ν−1) | ≤ Lν−1 |x(1) − x(0) |. Geht man damit in
(2.18) ein, so ergibt sich
L Lν
|x(ν+m) − x(ν) | ≤ |x(ν) − x(ν−1) | ≤ |x(1) − x(0) | . (2.19)
1−L 1−L

Für festes ν und m → ∞ folgen aus (2.19) mit lim x(ν+m) = ξ


m→∞

1. die a posteriori-Fehlerabschätzung

L
|∆(ν) | = |x(ν) − ξ| ≤ |x(ν) − x(ν−1) | = ε1 (2.20)
1−L

und

2. die a priori-Fehlerabschätzung


|∆(ν) | = |x(ν) − ξ| ≤ |x(1) − x(0) | = ε2 (2.21)
1−L

mit ε1 ≤ ε2 .
42 2. Lösung nichtlinearer Gleichungen

Die a priori-Fehlerabschätzung (2.21) kann bereits nach dem ersten Iterationsschritt vor-
genommen werden. Sie dient vor allem dazu, bei vorgegebener Fehlerschranke ε die An-
zahl ν der höchstens erforderlichen Iterationsschritte abzuschätzen, denn aus der Forde-
rung
Lν !
|x(ν) − ξ| ≤ |x(1) − x(0) | ≤ ε
1−L
ε(1−L)
ergibt sich mit Lν ≤ |x(1) −x(0) |
=: K und mit log L < 0 für 0 < L < 1 die Ungleichung
log K
ν≥ . (2.22)
log L
Die a posteriori-Fehlerabschätzung (2.20) kann erst im Verlauf oder nach Abschluss
der Rechnung genutzt werden, da sie x(ν) als bekannt voraussetzt; sie liefert eine bes-
sere Schranke als die a priori-Fehlerabschätzung und wird deshalb vorzugsweise zur
Abschätzung des Fehlers verwendet. Um rasche Konvergenz zu erreichen, sollten die
Schrittfunktion ϕ und das zugehörige Intervall I so gewählt werden, dass L < 0.2 gilt.

Wenn 1−LL
≤ 1 ist, also L ≤ 1/2, folgt aus (2.20) |x(ν) − ξ| ≤ |x(ν) − x(ν−1) |, d. h. der
absolute Fehler von x(ν) ist kleiner ( für L < 1/2 ) oder höchstens gleich (für L = 1/2)
der absoluten Differenz der letzten beiden Näherungen. Jeder Iterationsschritt bringt
demnach eine bessere Annäherung der gesuchten Lösung. Für 1/2 < L < 1 kann jedoch
der absolute Fehler von x(ν) größer sein als |x(ν) − x(ν−1) |, so dass hier die Iterationsfolge
noch nichts über den Fehler aussagen kann.

Im Falle monotoner Konvergenz (0 ≤ ϕ (x) < 1) folgt aus der Abschätzung |x(ν) − ξ| ≤ ε
(bzw. x(ν) − ε ≤ ξ ≤ x(ν) + ε) eine schärfere Eingrenzung der Lösung: x(ν) ≤ ξ ≤ x(ν) + ε,
falls die x(ν) von links gegen ξ streben, x(ν) − ε ≤ ξ ≤ x(ν) , falls die x(ν) von rechts gegen
ξ streben.

(ii) Praktikable Fehlerabschätzungen


ohne Verwendung der Lipschitzkonstante L

(1) Bei alternierender Konvergenz

Im Falle alternierender Konvergenz (−1 < ϕ (x) ≤ 0) schachteln die iterierten


Werte die Lösung von links und rechts ein. Aus der anschließenden Skizze lässt sich
deshalb leicht der folgende Zusammenhang erklären:
α α
    

x(ν) ξ x(ν+1)
   
 (ν+1)  1  (ν+1) 
x − ξ ≤ x − x(ν)  = α; (2.23)
2

damit hat man eine Möglichkeit, den Fehler ohne Kenntnis der Lipschitzkonstante
abzuschätzen.
2.3 Allgemeines Iterationsverfahren 43

(2) Fehlerabschätzung mit dem Satz von Bolzano (Zwischenwertsatz)

Für die Rechenpraxis empfiehlt sich eine in [KIOU1979] angegebene Methode,


durch die man im Allgemeinen genauere Schranken erzielen kann als mit der
a posteriori-Fehlerabschätzung. Zudem hat sie den großen Vorteil, ohne Lipschitz-
konstante auszukommen und sowohl für monotone als auch für alternierende Kon-
vergenz anwendbar zu sein; sie bezieht sich auf die gegebene Funktion f und nicht
auf die Schrittfunktion ϕ.

Sei x(ν) eine iterativ bestimmte Näherung für die Nullstelle ξ ungerader Ordnung
von f (Abb. 2.10) und gelte für ein vorgegebenes ε > 0

f (x(ν) − ε) · f (x(ν) + ε) < 0, (2.24)

so folgt daraus nach dem Zwischenwertsatz von Bolzano (Satz 2.4), dass im Intervall
(x(ν) − ε, x(ν) + ε) eine Nullstelle ξ liegen muss. Damit gilt die Fehlerabschätzung
|x(ν) − ξ| < ε.

y
6 y = f (x)
.....................
............
........
.......
......
......
r
.....
......
.
....
.

.... ..
..... ..
x (ν)
−ε x (ν) ξ ....
.
.... .
... x (ν)

..
....
.... .. -
    
.
..
.. ..
.. ....
....
x
.. ....
.. ε ...
...... ε
.. ...
.....
.. .....
.. .
...
......
..
.. ......
r . ........
.....................................

Abb. 2.10. f (x(ν) −ε) · f (x(ν) +ε) < 0 ⇒ |x(ν) −ξ| < ε

Praktisch geht man bei der Fehlerabschätzung mit Bolzano wie folgt vor: Man setzt
zunächst ein ε fest, welches sich über das Abbruchkriterium für die Iteration sinn-
voll festlegen lässt (z. B. ε = 10−k , k ∈ IN). Für dieses ε prüft man die Bedingung
(2.24), wobei eine Rechnung mit doppelter Genauigkeit zu empfehlen ist. Ist (2.24)
erfüllt, so ist ε eine obere Schranke für den absoluten Fehler. Um eine möglichst
kleine obere Schranke zu erhalten, führt man die Rechnung noch einmal mit einem
kleineren ε durch (z. B. mit ε1 = 10−k−1 ). Ist (2.24) auch für ε1 erfüllt, so ist ε1 für
|x(ν) − ξ| eine kleinere obere Schranke als ε. Analog fährt man so lange fort, bis sich
(2.24) für ein εj nicht mehr erfüllen lässt (z. B. εj = 10−k−j ). Dann ist εj−1 (z. B.
εj−1 = 10−k−j+1 ) die genaueste Fehlerschranke, die man auf diese Weise erhalten
hat.
Es wurde bisher vorausgesetzt, dass für diese Art der Fehlerabschätzung eine Null-
stelle ξ ungerader Ordnung vorliegen muss. Unter Verwendung des Satzes 2.3 kann
man sie aber auch für Nullstellen ξ gerader Ordnung einsetzen, indem man anstelle
der Funktion f die Funktion g = f /f  für die Fehlerabschätzung verwendet, da
ξ dann eine einfache Nullstelle von g ist. Statt (2.24) ergibt sich hier die analoge
Bedingung
g(x(ν) − ε) · g(x(ν) + ε) < 0.
44 2. Lösung nichtlinearer Gleichungen

Rechnungsfehler
Es sei ε(ν) der lokale Rechnungsfehler des ν-ten Iterationsschrittes, der bei der Berech-
nung von x(ν) = ϕ(x(ν−1) ) entsteht. Gilt |ε(ν) | ≤ ε für ν = 0, 1, 2, . . ., so ergibt sich für
den akkumulierten Rechnungsfehler des ν-ten Iterationsschrittes
ε
|r(ν) | ≤ , 0 ≤ L < 1.
1−L
Die Fehlerschranke ε/(1 − L) ist also unabhängig von der Anzahl ν der Iterationsschritte;
der Algorithmus (2.11) ist somit stabil (vgl. Anmerkung nach Definition 36).
Da sich der Gesamtfehler aus dem Verfahrensfehler und dem Rechnungsfehler zusam-
mensetzt, sollten Rechnungsfehler und Verfahrensfehler von etwa gleicher Größenordnung
sein. Dann ergibt sich aus (2.21) bei bekanntem L die Beziehung
Lν ε
|x(1) − x(0) | ≈ ;
1−L 1−L
mit Lν ≈ |x(1) −x
ε
(0) | und 0 < L < 1 folgt für die Anzahl der höchstens auszuführenden

Iterationsschritte
 
ε
ν ≥ log (1) / log L .
|x − x(0) |

Beispiel 2.16. (Fortsetzung von Beispiel 2.15)


Mit der Iterationsvorschrift x(ν+1) = −1 + 2/x(ν) und I = [−3, −1.5] erhält man ausge-
hend vom Startwert x(0) = −3 bei Rechnung mit 14 Stellen die folgenden Werte x(ν) ,
die mit 8-stelliger Mantisse angegeben sind. Es wird so lange iteriert, bis die Forderung
|x(ν) − x(ν−1) | ≤ 0.5·10−4 erfüllt ist.

ν x(ν) |x(ν) − x(ν−1) |


0 −3.0000000
1 −1.6666666 1.3333333
2 −2.2000000 0.5333333
3 −1.9090909 0.2909091
4 −2.0476190 0.1385281
5 −1.9767442 0.0708749
6 −2.0117647 0.0350205
7 −1.9941520 0.0176127
8 −2.0029326 0.0087805
9 −1.9985359 0.0043967
10 −2.0007326 0.0021967
11 −1.9996338 0.0010988
12 −2.0001831 0.0005493
13 −1.9999085 0.0002747
14 −2.0000458 0.0001373
15 −1.9999771 0.0000687
16 −2.0000114 0.0000343
2.3 Allgemeines Iterationsverfahren 45

1. a posteriori-Fehlerabschätzung: Mit L = 0.89 (vgl. Beispiel 2.15) folgt


L 0.89
|x(16) − ξ| ≤ |x(16) − x(15) | ≤ · 0.35·10−4 ≤ 0.29·10−3
1−L 1 − 0.89

2. Die a priori-Fehlerabschätzung hätte man benutzen können, um im Voraus ei-


ne Aussage über die maximal notwendige Anzahl ν von Iterationsschritten zu
erhalten.
 Mit |x(ν) − ξ| ≤ ε = 0.5·10−3 und |x(1) − x(0) | = 1.33 ergeben sich
K = 0.5·10−3 (1 − 0.89) /1.33 = 4.135·10−5 und mit (2.22)
lg K −4.384
ν≥ = = 86.6 .
lg L −0.051

Es sind also höchstens ν = 87 Iterationsschritte erforderlich, um die geforderte Ge-


nauigkeit zu erreichen. In vielen Fällen wird man aber mit weit weniger Schritten
auskommen, denn die a priori-Fehlerabschätzung ist sehr grob. Die a posteriori-
Fehlerabschätzung zeigt, dass diese Genauigkeitsforderung bereits nach 16 Iterati-
onsschritten erfüllt ist. Um rasche Konvergenz zu erreichen, sollten die Schrittfunk-
tion ϕ und das zugehörige Intervall I so gewählt werden, dass L < 0.2 gilt. Dann
sind auch die Fehlerabschätzungen genauer.

3. Fehlerabschätzung bei alternierender Konvergenz:


Wegen ϕ (x) = −2/x2 < 0 für alle x ∈ I liegt der Fall der alternierenden Konver-
genz vor. Mit |x(16) − x(15) | = 0.35·10−4 erhält man somit gemäß (2.23)
1 (16) 0.35 −4
|x(16) − ξ| ≤ |x − x(15) | = ·10 = 0.175·10−4 < 0.18·10−4,
2 2

also eine sogar präzisere Abschätzung als die a posteriori-Fehlerabschätzung, weil


L > 12 ist. Für die Praxis ist wichtig, dass diese Fehlerabschätzung ohne Lipschitz-
konstante einsetzbar ist.

4. Fehlerabschätzung unter Verwendung des Satzes von Bolzano, also ohne Verwen-
dung einer Lipschitzkonstante. Gegeben ist die Gleichung f (x) = x2 + x − 2 = 0.
Untersucht wird der absolute Fehler von x(16) = −2.0000114.

1. Wahl: ε1 = 10−3 . Dann folgt aus f (x(16) − ε1 ) > 0 und f (x(16) + ε1 ) < 0, dass
für den absoluten Fehler gilt: |x(16) − ξ| < 10−3 .

2. Wahl: ε2 = 10−4 . Hier ergibt sich ebenfalls f (x(16) − ε2 ) > 0, f (x(16) + ε2 ) < 0,
also |x(16) − ξ| < 10−4 .

3. Wahl: ε3 = 10−5 . Man erhält f (x(16) − ε3 ) > 0 und f (x(16) + ε3 ) > 0, also ist
ε3 zu klein gewählt. Ein weiterer Versuch wird unternommen mit der

4. Wahl: ε4 = 0.5·10−4 . Man erhält f (x(16) − ε4 ) > 0 und f (x(16) + ε4 ) < 0; also
gilt für den absoluten Fehler |x(16) − ξ| < 0.5·10−4.
46 2. Lösung nichtlinearer Gleichungen

Tatsächlich ist |x(16) − ξ| = 0.0000114. Man sieht, dass diese Fehlerabschätzung nach
Bolzano am besten geeignet ist, um den absoluten Fehler möglichst genau anzugeben.
Zudem ist nur sie praktikabel, denn meist ist es bedeutend schwieriger als beim vorlie-
genden Beispiel, eine möglichst kleine Lipschitzkonstante anzugeben. 

2.3.5 Praktische Durchführung


Bei der Ermittlung der Lösung einer Gleichung f (x) = 0 mit Hilfe des allgemeinen
Iterationsverfahrens geht man wie folgt vor:

Algorithmus 2.17.
Gesucht ist eine Lösung ξ der Gleichung f (x) = 0.
1. Schritt: Festlegung eines Intervalls I, in welchem mindestens eine Nullstelle von
f liegt.
2. Schritt: Äquivalente Umformung von f (x) = 0 in eine Gleichung der Gestalt
x = ϕ(x).
3. Schritt: Prüfung, ob die Funktion ϕ für alle x ∈ I die Voraussetzungen des Satzes
2.11 erfüllt.
4. Schritt: Aufstellung der Iterationsvorschrift x(ν+1) := ϕ(x(ν) ), ν = 0, 1, 2, . . . und
Wahl eines beliebigen Startwertes x(0) ∈ I.
5. Schritt: Berechnung der Iterationsfolge {x(ν) }, ν = 1, 2, . . . Die Iteration ist so
lange fortzusetzen, bis mit einer Schranke δ1 > 0 für den relativen Fehler

|x(ν+1) − x(ν) | ≤ δ1 |x(ν+1) | (2.25)

oder mit einer Schranke δ2 > 0 für den absoluten Fehler

|x(ν+1) − x(ν) | ≤ δ2 (2.26)

und zusätzlich mit δ3 > 0


|f (x(ν+1) )| ≤ δ3
gilt. Dabei ist (2.25) im Allgemeinen der Abbruchbedingung (2.26) vor-
zuziehen. Beide Bedingungen sind im kombinierten Fehlertest (1.6) ent-
halten.
6. Schritt: Fehlerabschätzung (s. Abschnitt 2.3.4).

Beispiel 2.18.

Gegeben: f (x) = cos x + 1 − x, x ≥ 0.

Gesucht: Eine Lösung ξ der Gleichung f (x) = 0 mit dem allgemeinen Iterations-
verfahren.
2.3 Allgemeines Iterationsverfahren 47

Lösung: (vgl. Algorithmus 2.17)

1. Schritt: Überblick über Lage und Anzahl der Lösungen von f (x) = 0. Mit

f1 (x) := cos x + 1 , f2 (x) := x
gilt
f (x) = f1 (x) − f2 (x) = 0 ⇐⇒ f1 (x) = f2 (x) .

Daher liefert die Abszisse eines Schnittpunktes der Graphen von f1 und f2
eine Näherung für eine Lösung ξ der Gleichung f (x) = 0 (Abbildung 2.11).

y
6 y = f (x) 2 ..........
...............
y = f (x) 1 ..............
..............
...............
.
2 ...............
........
...... ............
........ .........
. .....
...........
.......
...... ............ ......
.....
....................
. ..
..
......
..... .
..... .......... .....
..... .................. ...
.
r ..........
..
........ ..........
. ..
....
....
....

1 ......
..
.......
.....
. ..
.. ....... ....
....
.
..

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


..... .... ....
..... .
.
.....
.. ..
......
. . ....... .
.
... .. .....
...... ......
..
r .......
-
.. .......
.. ..........
...........................
.. ..

ξπ 3π
x
1 2 2 π 2 2π

Abb. 2.11.

Im Intervall [0, π] sind f1 monoton fallend


√ und f2 monoton wachsend. Wegen
f1 (0) = 2 > 0 = f2 (0) und f1 (π) = 0 < π = f2 (π) haben die Graphen von
f1 und f2 in [0, π] genau einen Schnittpunkt.

Wegen f1 (x) ≤ 2 und f2 (x) = x ≥ 2 für x ≥ 4 gibt es keine weiteren
Schnittpunkte.

Aus Abbildung 2.11 liest man ab ξ ∈ [1, π2 ]. Mit f (1.3) = 0.127 und f (1.5) =
−0.154 ergibt sich I = [1.3, 1.5] als ein engeres Einschlussintervall für die
Lösung ξ.

2. Schritt: Äquivalente Auflösung von f (x) = 0. Die naheliegende Auflösung


x = (cos x + 1)2 =: ϕ(x)
mit
ϕ (x) = −2 (cos x + 1) sin x

erweist sich wegen |ϕ (x)| > 2 für x ∈ I als unbrauchbar. Daher wird die
Auflösung

x = arccos( x − 1) =: ϕ(x)
gewählt mit
−1
ϕ (x) = √ " √ , x > 0.
2 x 1 − ( x − 1)2
48 2. Lösung nichtlinearer Gleichungen

3. Schritt: Genügt ϕ für x ∈ I den Voraussetzungen (i) und (ii) des Satzes 2.11?
zu (i):
Wegen ϕ (x) < 0 für x > 0 ist ϕ streng monoton fallend. Mit ϕ(1.3) =
1.43 ∈ I und ϕ(1.5) = 1.34 ∈ I gilt wegen der Monotonie auch ϕ(x) ∈ I für
alle x ∈ I = [1.3, 1.5]. Also ist die Bedingung (i) erfüllt.
zu (ii):
Um eine Lipschitzkonstante L zu ermitteln, wird ϕ (x) in I grob abgeschätzt:
|ϕ (x)| √ √
1
= √
2 x 1−( x−1)2

1√
≤ √ √
2 min x·min 1−( x−1)2
x∈I x∈I

= √ √ 1√ = 0.450 = L < 1
2 < 1.
2 1.3 1−( 1.5−1)2

ϕ erfüllt also die Voraussetzungen der Sätze 2.11 und 2.14.

4. Schritt: Iterationsvorschrift "


x(ν+1) = ϕ(x(ν) ) = arccos( x(ν) − 1) , ν = 0, 1, 2, . . .

mit dem Startwert x(0) = 1.3 ∈ I.

5. Schritt: Wegen ϕ (x) < 0 in I liegt alternierende Konvergenz vor, so dass mit der
zugehörigen Fehlerabschätzung eine Abbruchbedingung konstruiert werden
kann, die eine bestimmte Anzahl genauer Dezimalen garantiert. Für drei ge-
naue Dezimalen erhält man mit (2.23)
1 (ν) !
|x(ν) − ξ| ≤ |x − x(ν−1) | ≤ 0.5·10−3
2
und damit die Abbruchbedingung
|x(ν) − x(ν−1) | ≤ 1·10−3 .

Iteration:
ν x(ν) |x(ν) − x(ν−1) |
0 1.3 .
1 1.430 157 740 .
2 1.373 629 308 .
3 1.397 917 137 .
4 1.387 435 119
5 1.391 950 063 0.004 514 944
6 1.390 003 705 0.001 946 358
7 1.390 842 462 0.000 838 757

Bei ν = 7 ist die Abbruchbedingung erfüllt, also ist


ξ = 1.391 ≈ 1.390 842 462 = x(7) .
2.4 Konvergenzordnung eines Iterationsverfahrens 49

6. Schritt: Fehlerabschätzungen

Die Abbruchbedingung war so gewählt, dass mit der Fehlerabschätzung für


alternierende Konvergenz bereits 3 genaue Dezimalen erreicht wurden.

Fehlerabschätzung nach Bolzano: |x(ν) − ξ| < ε

Annahme: ε1 = 0.5·10−3
f (x(7) − ε1 ) = f (1.390 342 462) = 0.000 348 . . . > 0
f (x(7)
+ ε1 ) = f (1.391 342 462) = −0.001 059 . . . < 0
=⇒ |x(7) − ξ| < 0.5·10−3 d. h. 3 genaue Dezimalen

Annahme: ε2 = 0.5·10−4
f (x(7) − ε2 ) = f (1.390 792 462) = −0.000 285 . . . < 0
f (x(7) + ε2 ) = f (1.390 892 462) = −0.000 426 . . . < 0
=⇒ ε2 zu klein!


2.4 Konvergenzordnung eines Iterationsverfahrens


Bei Iterationsverfahren können die Anzahl der erforderlichen Iterationsschritte und auch
der Rechenaufwand im Allgemeinen nicht im Voraus ermittelt werden. Die Konvergenz-
ordnung kann aber als Maßstab für den erforderlichen Rechenaufwand eines Verfahrens
dienen.

Definition 2.19. (Konvergenzordnung)


Die Iterationsfolge {x(ν) } konvergiert von mindestens p-ter Ordnung gegen ξ, wenn
eine Konstante M , 0 ≤ M < ∞ existiert, so dass für p ∈ IR, p ≥ 1, gilt

|x(ν+1) − ξ|
lim = M. (2.27)
ν→∞ |x(ν) − ξ|p

Das Iterationsverfahren x(ν+1) = ϕ(x(ν) ) heißt dann ein Verfahren von mindestens
p-ter Ordnung; es besitzt genau die Ordnung p, wenn M = 0 ist.

Durch (2.27) wird also ausgedrückt, dass der Fehler der (ν+1)-ten Näherung ungefähr
gleich M -mal der p-ten Potenz des Fehlers der ν-ten Näherung ist. Die Konvergenzge-
schwindigkeit wächst mit der Konvergenzordnung. Bei p = 1 spricht man von linearer
Konvergenz, bei p = 2 von quadratischer Konvergenz und allgemein bei p > 1 von super-
linearer Konvergenz. Es gilt der
50 2. Lösung nichtlinearer Gleichungen

Satz 2.20.
Die Schrittfunktion ϕ sei für x ∈ I p-mal stetig differenzierbar. Gilt dann mit
lim x(ν) = ξ
ν→∞

ϕ(ξ) = ξ, ϕ (ξ) = ϕ (ξ) = . . . = ϕ(p−1) (ξ) = 0, ϕ(p) (ξ) = 0,

so ist x(ν+1) = ϕ(x(ν) ) ein Iterationsverfahren der Ordnung p mit


1 (p) 1
M= |ϕ (ξ)| ≤ max |ϕ(p) (x)| ≤ M1 .
p! p! x∈I

Im Fall p = 1 gilt zusätzlich M = |ϕ (ξ)| < 1 .

Beweis. Die Taylorentwicklung der Schrittfunktion ϕ an der Stelle ξ lautet


1
ϕ(x(ν) ) = ϕ(ξ) + (x(ν) − ξ)ϕ (ξ) + (x(ν) − ξ)2 ϕ (ξ) + . . .
2
und mit x(ν+1) = ϕ(x(ν) ) und ξ = ϕ(ξ) ergibt sich
1
x(ν+1) − ξ = ϕ(x(ν) ) − ϕ(ξ) = (x(ν) − ξ)ϕ (ξ) + (x(ν) − ξ)2 ϕ (ξ) + . . . (2.28)
2

Wegen ϕ(ξ) = ξ, ϕ (ξ) = . . . = ϕ(p−1) (ξ) = 0, ϕ(p) (ξ) = 0 erhält (2.28) die Form
(x(ν) − ξ)p (p)  
x(ν+1) − ξ = ϕ (ξ) + O (x(ν) − ξ)p+1
p!
bzw.  
x(ν+1) − ξ 1
= ϕ(p) (ξ) + O (x(ν) − ξ) .
(x − ξ)
(ν) p p!

Durch Grenzübergang folgt weiter


 (ν+1) 
x − ξ  1
lim  = |ϕ(p) (ξ)| = M
ν→∞  (x(ν) − ξ)p  p!
mit
1
M≤ max |ϕ(p) (x)| ≤ M1 .
p! x∈I

Im Fall p = 1 ist das Iterationsverfahren x(ν+1) = ϕ(x(ν) ) mit ϕ (ξ) = 0 ein Verfahren
erster Ordnung, und wegen der Lipschitzbedingung (2.14) ist M = |ϕ (ξ)| ≤ L < 1. 

Es gilt außerdem der folgende in [COLL1968], S.231 bewiesene Satz, der zur Konstruk-
tion von Iterationsverfahren beliebig hoher Konvergenzordnung eingesetzt werden kann.
2.5 Newtonsche Verfahren 51

Satz 2.21.
Sind x(ν+1) = ϕ1 (x(ν) ) und x(ν+1) = ϕ2 (x(ν) ) zwei Iterationsverfahren der Konver-
genzordnungen p1 bzw. p2 , so ist
 
x(ν+1) = ϕ1 ϕ2 (x(ν) )
ein Iterationsverfahren, das mindestens die Konvergenzordnung p1 · p2 besitzt.

Ist beispielsweise x(ν+1) = ϕ(x(ν) ) ein Iterationsverfahren der Konvergenzordnung p > 1,


so erhält man durch die Schrittfunktion ϕs (x) mit

ϕ1 (x) = ϕ(x),
 
ϕs (x) = ϕ ϕs−1 (x) für s = 2, 3, . . .

ein Iterationsverfahren der Konvergenzordnung ps .

2.5 Newtonsche Verfahren

2.5.1 Das Newtonsche Verfahren für einfache Nullstellen

Die Funktion f sei im Intervall [a, b] stetig differenzierbar und besitze in (a, b) eine ein-
fache Nullstelle ξ; also sind f (ξ) = 0 und f  (ξ) = 0. Ferner sei f  (x) = 0 für alle x ∈ [a, b].

Zum Newtonschen Iterationsverfahren führt eine einfache geometrische Überlegung.


y6
..
..
.
y = f (x)
.......
...... 
..... 
b x , f (x
.....
....
........
.
(0) (0)
)
. .... .
.
...
... .............
....
... .....
... ......
... .......  
...
... ........
... b x .......
(1)
, f (x )(1)
 
.
. ...
... ... ............
. .... ... ..
..
..........
... (2) (2)
b xr , f (x )
... . .............
... ..............
-
...... ..............
.... .. ....... ........
. .........
.........
.........
a x (0)
x (1)
x (2)
ξ
..........
........
b x

Abb. 2.12. Newtonsches Iterationsverfahren


 
Mit x(0) ∈ [a, b] wird im Punkt x(0) , f (x(0) ) die Tangente des Graphen von f erzeugt
und dann deren Schnittpunkt (x(1) , 0) mit der x-Achse bestimmt. Aus der Gleichung
dieser Tangente
y = f  (x(0) )(x − x(0) ) + f (x(0) )
folgt mit x = x(1) und y = 0
f (x(0) )
x(1) = x(0) − ;
f  (x(0) )
52 2. Lösung nichtlinearer Gleichungen

x(1) wird als eine gegenüber x(0) verbesserte Näherung für die Nullstelle ξ angesehen.
Mit x(1) wird das Verfahren in derselben Weise fortgesetzt. Damit ergibt sich die nächste
Näherung
f (x(1) )
x(2) = x(1) − .
f  (x(1) )
Für dieses geometrisch plausible Verfahren werden im folgenden Satz hinreichende Bedin-
gungen für die Konvergenz der Folge x(0) , x(1) , x(2) , . . . gegen die Nullstelle ξ angegeben.

Satz 2.22.
Die Funktion f sei im Intervall [a, b] zweimal stetig differenzierbar und besitze in (a, b)
eine einfache Nullstelle ξ; also sind f (ξ) = 0 und f  (ξ) = 0.
Dann gibt es ein Intervall I = (ξ − r, ξ + r) ⊂ [a, b], r > 0, so dass die Iterationsfolge

f (x(ν) )
x(ν+1) = x(ν) − , ν = 0, 1, 2, . . . , (2.29)
f  (x(ν) )

für das Verfahren von Newton mit jedem Startwert x(0) ∈ I gegen die Nullstelle ξ
konvergiert, und zwar von mindestens zweiter Ordnung.

Beweis. Vergleicht man (2.29) mit (2.4) und (2.2), so ergibt sich für die Schrittfunktion
ϕ des Newton-Verfahrens
f (x)
ϕ(x) = x −  . (2.30)
f (x)
(2.3) zeigt, dass hier g(x) = 1/f  (x) gesetzt wurde.

Um den Fixpunktsatz 2.14 auf die Schrittfunktion (2.30) anwenden zu können, muss ein
Intervall I angegeben werden, so dass ϕ für alle x ∈ I den Voraussetzungen (i) und (ii)
des Satzes 2.11 genügt.

Da f  stetig ist, gibt es wegen f  (ξ) = 0 eine Umgebung der Nullstelle ξ, in der f  (x) = 0
ist. Diese Umgebung
 sei Is = (ξ − s, ξ + s) ⊂ [a, b], s > 0. Somit ist die Schrittfunktion
ϕ vgl. (2.30) stetig im Intervall Is .

Die Ableitung der Schrittfunktion (2.30) ist

f (x) f  (x)
ϕ (x) = . (2.31)
f  2 (x)
Auch ϕ ist stetig in Is .

Mit f (ξ) = 0 und f  (ξ) = 0 ist


ϕ (ξ) = 0 . (2.32)
 
Wegen der Stetigkeit von ϕ in Is gibt es eine Umgebung von ξ, in der | ϕ (x) | ≤ L ist
mit 0 < L < 1. Diese Umgebung sei das Intervall
I = (ξ − r, ξ + r) ⊆ Is ⊂ [a, b], 0 < r ≤ s . (2.33)
2.5 Newtonsche Verfahren 53

Aus
| ϕ (x) | ≤ L für alle x ∈ I (2.34)

mit 0 < L < 1 folgt nach (2.14), dass die Schrittfunktion ϕ lipschitzbeschränkt ist, und
damit gilt (ii).

Um (i) nachzuweisen, muss gezeigt werden, dass mit x ∈ I, also | x−ξ | < r, auch ϕ(x) ∈ I
ist, d. h. | ϕ(x) −ξ | < r. 
Wegen ϕ(ξ) = ξ vgl. (2.30) ist mit (ii)

| ϕ(x) − ξ | = | ϕ(x) − ϕ(ξ) | ≤ L | x − ξ | < | x − ξ | < r .

Damit gilt auch (i).

Nach dem Fixpunktsatz 2.14 konvergiert also die Iterationsfolge (2.29) für jeden Start-
wert x(0) ∈ I gegen die Nullstelle ξ.

Wegen (2.32) konvergiert das Newtonsche Verfahren (2.29) nach Satz 2.20 von minde-
stens zweiter Ordnung, d. h. mindestens quadratisch. 

Aus dem Beweis des Satzes 2.22 geht hervor, dass das Newtonsche Verfahren nur für
solche Startwerte x(0) konvergiert, die genügend nahe bei der Nullstelle ξ liegen.

Wegen der speziellen Schrittfunktion (2.30) kann eine gegenüber der a posteriori-Fehler-
abschätzung (2.20) in Abschnitt 2.3.4 verbesserte Fehlerabschätzung für das Newtonsche
Verfahren angegeben werden.

Satz 2.23.
Die Newtonsche Iterationsfolge (2.29) besitze gemäß Satz 2.22 das Konvergenzinter-
vall I. Dann gilt unter Verwendung der a posteriori-Fehlerabschätzung (2.20) mit

max |f  (x)|
1 x∈I
≤ M1
2 min |f  (x)|
x∈I

die Fehlerabschätzung für ν = 1, 2, . . .  2  2


L  (ν) 
| x(ν+1) − ξ | ≤ M1  x − x(ν−1)  (2.35)
1−L

und allgemeiner mit m = 1, 2, . . .  2m


1 L  (ν) (ν−1) 
|x (ν+m)
−ξ| ≤ M1 x − x  . (2.36)
M1 1−L
54 2. Lösung nichtlinearer Gleichungen

Beweis. Nach der Taylorschen Formel gilt


1  (ν)
0 = f (ξ) = f (x(ν) ) + f  (x(ν) )(ξ − x(ν) ) + x )(ξ − x(ν) )2 ,
f ( (2.37)
2

wobei x (ν) zwischen x(ν) und ξ liegt. Mit Division von (2.37) durch f  (x(ν) ) für x(ν) ∈ I

ist f  (x(ν) ) = 0 erhält man

f (x(ν) ) 1 f  (
x(ν) )
− − ξ + x(ν)
= (ξ − x(ν) )2
f  (x(ν) ) 2 f  (x(ν) )

und mit (2.29)


1 f  (
x(ν) ) (ν)
x(ν+1) − ξ = 
(x − ξ)2 . (2.38)
2 f (x(ν) )

Beim Übergang zu den Beträgen folgt aus (2.38)

max |f  (x)|  (ν) 


| x(ν+1) − ξ | ≤ 1 x∈I  x − ξ 2
2 min |f  (x)|
x∈I
 2 (2.39)
≤ M1 | x(ν) − ξ |2 = 1
M1 M1 | x(ν) − ξ | .

Wird (2.20)
 (ν)  L  (ν) 
x −ξ ≤ x − x(ν−1)  (2.40)
1−L

auf der rechten Seite der Ungleichung (2.39) eingesetzt, so ergibt sich die Fehlerab-
schätzung (2.35).

Die gegenüber (2.39) allgemeinere Ungleichung für m = 1, 2, . . .

 (ν+m)  1  2m
x −ξ ≤ M1 | x(ν) − ξ | (2.41)
M1

gilt nach (2.39) für m = 1. Mit der Annahme, (2.41) gelte für m, wird (2.41) für m + 1
bewiesen (vollständige Induktion). Aus (2.41) für m + 1 folgt mit (2.39)

 (ν+1+m)  1  2m
x −ξ ≤ M1 | x(ν+1) − ξ |
M1
1  1  2 2m
≤ M1 M1 | x(ν) − ξ |
M1 M1
1  2m+1
= M1 | x(ν) − ξ | .
M1

Wenn auf der rechten Seite der Ungleichung (2.41) | x(ν) − ξ | mittels (2.40) ersetzt wird,
entsteht die Fehlerabschätzung (2.36). 
2.5 Newtonsche Verfahren 55

Mit (2.35) kann mit zwei Näherungen x(ν−1) und x(ν) der absolute Fehler | x(ν+1) − ξ |
der nächsten (noch nicht berechneten) Näherung x(ν+1) im Voraus abgeschätzt werden.

Eine Lipschitzkonstante L erhält man durch Abschätzung von (2.31) auf dem Inter-
vall I:
2
|ϕ (x)| = | f (x) f  (x)/f  (x) | ≤ L < 1 .

Mit einer Lipschitzkonstante L ≤ 0.5 ist L/(1 − L) ≤ 1 und (2.40) lautet

| x(ν) − ξ | ≤ | x(ν) − x(ν−1) | .

Gilt für die ν-te Näherung


| x(ν) − x(ν−1) | ≤ ε ,
dann ist auch
| x(ν) − ξ | ≤ ε .
Der absolute Fehler von x(ν) ist dann höchstens gleich ε. So erhält man nach Vorgabe
von ε > 0 ein geeignetes Abbruchkriterium.

Beispiel 2.24.

Gegeben: Die Gleichung f (x) = x2 − a = 0, a > 0.



Gesucht: Die Lösung x = a mit dem Newton-Verfahren.

Lösung: Wegen f  (x) = 2x ist die Schrittfunktion (2.30)


x2 − a 1 a
ϕ(x) = x − = x+ ,
2x 2 x
und die Iterationsvorschrift (2.29) lautet

1  (ν) a 
x(ν+1) = x + (ν) , ν = 0, 1, 2, . . . (2.42)
2 x
Ferner ist
1 a
ϕ (x) = 1− 2 .
2 x

Als numerisches Beispiel wird a = 5 gewählt. Wegen 2 < 5 < 3 sei I = [2, 3]. Dann ist
für alle x ∈ I    
   1   
ϕ (x) =  1 − 5  ≤ 1  1 − 5  ≤ 0.23 = L < 1 .
2 x2  2  9 2
Die Folge (2.42) mit a = 5 konvergiert also mit jedem Startwert x(0) ∈ I = [2, 3].

Mit der Lipschitzkonstante L = 0.23 ist L/(1 − L) = 0.2987, und die a posteriori-
Fehlerabschätzung (2.40) lautet

| x(ν) − ξ | ≤ 0.2987 | x(ν) − x(ν−1) | , ν = 0, 1, 2, . . . (2.43)


56 2. Lösung nichtlinearer Gleichungen

Mit dem Abbruchkriterium


| x(ν) − x(ν−1) | ≤ 0.5 · 10−7

erhält man ξ = 5 mit 7 Dezimalen.

Für die Fehlerabschätzung (2.35) werden

min |f  (x)| = min |2x| = 4 und max |f  (x)| = 2


x∈I x∈I x∈I

2
benötigt. Damit ist M1 = 2·4 = 0.25. Die Fehlerabschätzung (2.35) lautet

| x(ν+1) − ξ | ≤ 0.0223 | x(ν) − x(ν−1) |2 , ν = 0, 1, 2, . . . (2.44)

Aus der nachfolgenden Tabelle


√ folgt wegen | x(5) − x(4) | = 0 für die Nullstelle
ξ = x = 2.236 067 98 ≈ 5.
(5)


ν x(ν) | x(ν) − x(ν−1) | | x(ν) − 5 | (2.43) (2.44)
0 3.00000000 0.76393202
1 2.33333333 0.66666667 0.09726536 0.19913333
2 2.23809524 0.09523810 0.00202726 0.02844762 0.00991352
3 2.23606890 0.00202634 0.00000092 0.00060527 0.00020232
4 2.23606798 0.00000092 0.00000000 0.00000027 0.00000009
5 2.23606798 0.00000000 0.00000000 0.00000000 1.88 · 10−14

Die mit den Fehlerabschätzungen (2.43) und (2.44) ermittelten√Schranken für den absolu-
ten Fehler zeigen im Vergleich mit dem exakten Fehler | x(ν) − 5 |, dass die Abschätzung
(2.44) kleinere Schranken liefert. 

Für die einfache Funktion f im vorangehenden Beispiel konnten L und M1 unschwer


bestimmt werden. Im Allgemeinen ist die Ermittlung von L und M1 zu einem gewählten
Intervall I mit einem erheblich größeren Aufwand verbunden.

Bemerkung. Da für jeden Iterationsschritt mit dem Newton-Verfahren ein Funktions-


wert und ein Ableitungswert zu berechnen sind, eignet sich dieses Verfahren in erster
Linie für die Berechnung einzelner Nullstellen eines Polynoms, weil die benötigten Werte
sich leicht mit dem Horner-Schema (siehe Kapitel 3) ermitteln lassen, weniger dagegen
für die Lösung beliebiger transzendenter Gleichungen. In allen Fällen konvergiert das
Newton-Verfahren nur für solche Startwerte, die genügend nahe bei der Nullstelle liegen.

Zur Berechnung von Nullstellen beliebiger transzendenter Funktionen eignet sich besser
ein Einschlussverfahren. Siehe dazu Abschnitt 2.9 Entscheidungshilfen.
2.5 Newtonsche Verfahren 57

2.5.2 Gedämpftes Newton-Verfahren

Analog zum gedämpften Newton-Verfahren für nichtlineare Systeme (Abschnitt 6.3.1, Al-
gorithmus 9) lässt sich das gedämpfte Newton-Verfahren für Einzelgleichungen angeben.
Man führt für ν = 0, 1, 2, . . . folgende Schritte durch:
 
(i) Berechne ∆x(ν+1) := x(ν+1) − x(ν) = −f (x(ν) )/f  (x(ν) ) Newtonschritt (2.29) .
(ii) Berechne für i = 0, 1, . . .

(ν+1) 1
xi := x(ν) + ∆x(ν+1) .
2i
(ν+1) (ν+1)
Wenn |f (xi )| < |f (x(ν) )| gilt, wird x(ν+1) := xi gesetzt.
Andernfalls wird der Schritt mit dem nächsten i wiederholt.
Wenn mit einem vorgegebenen imax ∈ IN für alle
i ≤ imax die obige Bedingung nicht erfüllt ist, wird (mit i = 0)

x(ν+1) := x(ν) + ∆x(ν+1)


gesetzt.

2.5.3 Das Newtonsche Verfahren für mehrfache Nullstellen –


Das modifizierte Newtonsche Verfahren

Die Funktion f sei im Intervall [a, b] genügend oft stetig differenzierbar und besitze in
(a, b) eine Nullstelle ξ der Vielfachheit j, j ≥ 2. Nach Satz 2.2 sind also

f (ξ) = f  (ξ) = . . . = f (j−1) (ξ) = 0, f (j) (ξ) = 0 .

Für die Ableitung (2.31) der Schrittfunktion (2.30) des Newtonschen Verfahrens für ein-
fache Nullstellen ergibt sich mit (2.2), (2.4) und (2.6)

f (x) f  (x) h0 (x) h2 (x)


ϕ (x) = = . (2.45)
f  2 (x) h21 (x)

Mit (2.3), (2.5) und (2.7) ist für j ≥ 2


 2
 h0 (ξ) h2 (ξ) (j − 1)! j−1 1 1
ϕ (ξ) = = = =1− ≥ . (2.46)
h21 (ξ) j! (j − 2)! j j 2

Das Newtonsche Verfahren, das für einfache Nullstellen mindestens quadratisch konver-
giert (Satz 2.22), konvergiert nach Satz 2.20 in der Umgebung einer mehrfachen Nullstelle
nur linear.

Mit der Schrittfunktion


f (x)
ψ(x) = x − j (2.47)
f  (x)
58 2. Lösung nichtlinearer Gleichungen

kann die quadratische Konvergenz auch in der Umgebung einer mehrfachen Nullstelle ξ
(j ≥ 2) beibehalten werden. Mit (2.2) und (2.4) lautet (2.47)
h0 (x)
ψ(x) = x − j (x − ξ) ,
h1 (x)
und es ist
ψ(ξ) = ξ .
Für die Ableitung der Schrittfunktion (2.47) ergibt sich mit (2.45)
   
f (x) f  (x) h0 (x) h2 (x)
ψ  (x) = 1 − j 1 − = 1 − j 1 − .
f  2 (x) h21 (x)
Mit (2.46) ist   
 1 1
ψ (ξ) = 1 − j 1− 1− = 1−j = 0,
j j
und daraus folgt nach Satz 2.20 die mindestens quadratische Konvergenz mit der Schritt-
funktion (2.47).

Wegen ψ  (ξ) = 0 und wegen der Stetigkeit von ψ  in einer Umgebung von ξ gilt: Es gibt
ein Intervall I = (ξ − r, ξ + r) ⊂ [a, b], r > 0, so dass für alle x ∈ I |ψ  (x)| ≤ L < 1 ist.
Somit ist ψ in I lipschitzbeschränkt. Ferner ist wegen ψ(ξ) = ξ für alle x ∈ I
| ψ(x) − ξ | = | ψ(x) − ψ(ξ) | ≤ L | x − ξ | ≤ | x − ξ | < r ,
also ψ(x) ∈ I. Somit genügt die Schrittfunktion (2.47) den Voraussetzungen (i) und (ii)
des Fixpunktsatzes 2.14. Damit folgt der

Satz 2.25. (Newtonsches Verfahren für mehrfache Nullstellen)


Die Funktion f sei im Intervall [a, b] genügend oft stetig differenzierbar und besitze in
(a, b) eine Nullstelle ξ der Vielfachheit j ≥ 2. Dann gibt es ein Intervall I = (ξ−r, ξ+r),
r > 0, I ⊂ [a, b], so dass die Iterationsfolge

f (x(ν) )
x(ν+1) = x(ν) − j , ν = 0, 1, 2, . . . ,
f  (x(ν) )

mit jedem Startwert x(0) ∈ I von mindestens zweiter Ordnung gegen die j-fache
Nullstelle ξ konvergiert.

Die Anwendung des Newtonschen Verfahrens für mehrfache Nullstellen setzt die Kennt-
nis der Vielfachheit j der gesuchten Nullstelle ξ voraus; j wird allerdings nur in speziellen
Fällen bekannt sein.

Nach Satz 2.3 ist eine j-fache Nullstelle ξ (j ≥ 2) einer Funktion f eine einfache Nullstelle
der Funktion g mit g(x) = f (x)/f  (x). Insofern kann man die Nullstelle von g mit dem
Newtonschen Verfahren für einfache Nullstellen ermitteln. Dieses Verfahren beschreibt
der Satz
2.5 Newtonsche Verfahren 59

Satz 2.26. (Modifiziertes Newtonsches Verfahren für mehrfache Nullstellen)


Die Funktion f sei im Intervall [a, b] genügend oft stetig differenzierbar und be-
sitze in (a, b) eine Nullstelle ξ der Vielfachheit j ≥ 2. Dann gibt es ein Intervall
I = (ξ − r, ξ + r), r > 0, I ⊂ [a, b], so dass mit jedem Startwert x(0) ∈ I das Verfahren
mit der Iterationsvorschrift
f (x(ν) )
x(ν+1) = x(ν) − J(x(ν) ) mit
f  (x(ν) )
1
J(x(ν) ) = f (x(ν) )f  (x(ν) )
, ν = 0, 1, 2, . . . ,
1−
f  2 (x(ν) )

quadratisch konvergiert. Es gelten zugleich

lim (x(ν) ) = ξ und lim J(x(ν) ) = j .


ν→∞ ν→∞

Beweis. Die Schrittfunktion des Newtonschen Verfahrens, angewendet auf die


Funktion g mit
f (x)
g(x) = ,
f  (x)
f (x)f  (x)
g  (x) = 1 − und
f  2 (x)
1
J(x) =
g  (x)

lautet
g(x) f (x)
ϕ(x) = x − = x − J(x)  .
g  (x) f (x)

Mit den Taylorentwicklungen (2.2), (2.4) und (2.6) an der Stelle ξ sind
h0 (x)
ϕ(x) = x − J(x) (x − ξ) und (2.48)
h1 (x)
1
J(x) = h0 (x) h2 (x)
.
1− h21 (x)

(1) Mit (2.46) erhält man


1
J(ξ) = =j. (2.49)
1 − (1 − 1j )
60 2. Lösung nichtlinearer Gleichungen

(2) Zur Bestimmung der Konvergenzordnung wird ϕ (ξ) berechnet. Dabei werden (2.49)
und (2.8) verwendet. Mit (2.48) und ϕ(ξ) = ξ ist

ϕ(x) − ϕ(ξ)
ϕ (ξ) = lim
x→ξ x−ξ
 
1 h0 (x)
= lim x − J(x) (x − ξ) −ξ
x→ξ x − ξ h1 (x)
 
h0 (x) 1
= lim 1 − J(x) = 1−j = 0.
x→ξ h1 (x) j

Nach Satz 2.20 hat die Schrittfunktion ϕ die Konvergenzordnung 2.

(3) Ähnlich wie beim Satz 2.25 für (2.47) kann gezeigt werden, dass die Schrittfunktion
ϕ in einem Intervall I = (ξ−r, ξ+r), r > 0, den Voraussetzungen des Fixpunktsatzes
2.14 genügt. 

Beispiel 2.27.
Gegeben: Die Funktion f : f (x) = 1 − sin x. f besitzt bei ξ = π
2 eine doppelte Nullstelle.

Gesucht: Die Nullstelle ξ mit dem Newtonschen Verfahren für einfache Nullstellen, mit
dem Newtonschen Verfahren für mehrfache Nullstellen und mit dem modi-
fizierten Newtonschen Verfahren. Es wird mit 15-stelliger Mantisse gerech-
net und die Rechnung abgebrochen, wenn die Bedingung |x(ν) − x(ν−1) | ≤
0.5·10−14 erfüllt ist. Als Startwert wird x(0) = 2 gewählt.

1. Newtonsches Verfahren für einfache Nullstellen mit der Iterationsvorschrift (2.29):


f (x(ν) ) 1 − sin(x(ν) )
x(ν+1) = x(ν) − = x(ν)

f  (x(ν) ) − cos(x(ν) )

ν x(ν) |x(ν) − x(ν−1) |


0 2.00000000000000
1 1.78204190153914 0.21795809846086
2 1.67602457140144 0.10601733013770
3 1.62336184567011 0.05266272573132
4 1.59707303266146 0.02628881300865
5 1.58393392371128 0.01313910895018
6 1.57736503077218 0.00656889293910
7 1.57408066697409 0.00328436379809
8 1.57243849540833 0.00164217156576
9 1.57161741091709 0.00082108449124
10 1.57120686883293 0.00041054208416
11 1.57100159781103 0.00020527102190
12 1.57089896230260 0.00010263550843
2.5 Newtonsche Verfahren 61

ν x(ν) |x(ν) − x(ν−1) |


13 1.57084764454871 0.00005131775390
14 1.57082198567180 0.00002565887691
15 1.57080915623335 0.00001282943845
16 1.57080274151412 0.00000641471923
17 1.57079953415451 0.00000320735961
18 1.57079793047470 0.00000160367980
19 1.57079712863480 0.00000080183990
20 1.57079672771482 0.00000040091998
21 1.57079652725488 0.00000020045994
22 1.57079642702485 0.00000010023003
23 1.57079637691009 0.00000005011476
24 1.57079635185228 0.00000002505781
25 1.57079633932381 0.00000001252847
26 1.57079633305860 0.00000000626521
27 1.57079632992561 0.00000000313298
28 1.57079632836721 0.00000000155840
29 1.57079632757422 0.00000000079299
30 1.57079632715686 0.00000000041736
31 1.57079632700710 0.00000000014977
32 1.57079632700710 0.00000000000000

Die exakte Lösung ξ = π2 lautet auf 14 Dezimalen gerundet π2 = 1.57079632679489.


Vergleicht man sie mit dem Näherungswert x(32) , so gilt für den absoluten Fehler
|x(32) − ξ| = |x(32) − π2 | ≤ 0.21·10−9 ; obwohl also |x(32) − x(31) | ≤ 0.5·10−14 ist,
erhält man einen Näherungswert x(32) , der nur auf 9 Dezimalen genau ist. Die
Ursache dafür liegt darin, dass der Ausdruck f/f’ in der Iterationsvorschrift für
x(ν) → ξ unbestimmt ( 00 ) wird. Wird der Zähler in der mitgeführten Stellenzahl
früher Null als der Nenner, so bleibt die Iteration dort stehen; dieser Fall liegt hier
vor; andernfalls entfernen sich die iterierten Werte wieder von der Lösung. Wenn
der Nenner Null wird, muss das Verfahren abgebrochen werden.

2. Newtonsches Verfahren für doppelte Nullstellen (Satz 2.25 mit Vielfachheit j = 2):
f (x(ν) ) 1 − sin(x(ν) )
x(ν+1) = x(ν) − 2 = x(ν)
− 2
f  (x(ν) ) − cos(x(ν) )

ν x(ν) |x(ν) − x(ν−1) |


0 2.00000000000000
1 1.56408380307828 0.43591619692172
2 1.57079635199940 0.00671254892113
3 1.57079632679621 0.00000002520319
4 1.57079632679621 0.00000000000000

Hier ist die Abfrage |x(ν) − x(ν−1) | ≤ 0.5·10−14 bereits nach vier Iterationsschritten
erfüllt, da das Verfahren quadratisch konvergiert. Aber auch hier gilt für den abso-
luten Fehler des Näherungswertes x(4) |x(4) − π2 | ≤ 0.13·10−11; die Ursache dafür
ist dieselbe wie im ersten Falle.
62 2. Lösung nichtlinearer Gleichungen

3. Modifiziertes Newtonsches Verfahren für mehrfache Nullstellen (Satz 2.26): Rech-


nung mit doppelter Stellenzahl, Rundung auf einfache.

ν x(ν) |x(ν) − x(ν−1) | J(x(ν) )


0 2.0000000000000 1.9092974268257
1 1.5838531634529 0.4161468365471 1.9999147607192
2 1.5707966977821 0.0130564656707 2.0000003799090
3 1.5707963267948 0.0000003709874 1.0000000000000
4 1.5707963267948 0.0000000000000

Für den absoluten Fehler des Näherungswertes x(4) gilt |x(4) − π2 | ≤ 0.25·10−12,
obwohl für die iterierten Werte die Abfrage |x(4) − x(3) | ≤ 0.5·10−14 erfüllt ist. Die
Ursache liegt wie oben darin, dass sin(x(3) ) in den mitgeführten Stellen exakt 1 ist,
d. h. 1 − sin(x(3) ) verschwindet, aber cos(x(3) ) = 0 ist, so dass x(4) = x(3) gilt.
Man sieht hier außerdem, dass J(x(2) ) der tatsächlichen Vielfachheit j = 2 schon
sehr nahe ist, J(x(3) ) jedoch gleich 1 wird. Dies liegt daran, dass
f (x(3) ) = 1 − sin(x(3) ) in den mitgeführten Stellen verschwindet, f  (x(3) ) = 0
ist und damit f f  /f 2 verschwindet. Würde hier f 2 vor f Null, so würde J(x(ν) )
von j in beliebiger Weise abwandern.

Wegen f (x) = 1 − sin x kann in diesem Fall J(x(ν) ) vereinfacht dargestellt werden
(Satz 2.26):

1
J(x(ν) ) =   = 1 + sin(x(ν) ).
1−sin(x(ν) ) sin(x(ν) )
1− cos2 (x(ν) )

Damit ergibt sich J(x(3) ) = 1 + 1 = 2. 

Empfehlung zum modifizierten Newton-Verfahren

Wegen seiner geringen Effizienz (vgl. Abschnitt 2.9) sollte man mit dem modifizierten
Newton-Verfahren nur so lange iterieren, bis die Vielfachheit der Nullstelle geklärt ist,
dann aber mit dem Verfahren von Newton für mehrfache Nullstellen weiterrechnen. Die
Vielfachheit ist dann geklärt, wenn sich von einem gewissen ν an entweder J(x(ν) ) = 1
ergibt oder
|J(x(ν) ) − J(x(ν−1) )| > |J(x(ν−1) ) − J(x(ν−2) )|
gilt, d. h. J(x(ν) ) sich wieder von der Vielfachheit j entfernt. In beiden Fällen ist die zu
J(x(ν−1) ) nächste ganze Zahl die gesuchte Vielfachheit j. Dieses Verhalten der J(x(ν) ) ist
bedingt durch die beschränkte Stellenzahl der Maschinenzahlen und den für x(ν) → ξ un-
2
bestimmten Ausdruck f f  /f  im Nenner von J(x(ν) ). Wird nämlich für ein x(ν) wegen
der beschränkten Stellenzahl f (x(ν) ) identisch Null, während f  (x(ν) ) noch verschieden
von Null ist, so erhält man J(x(ν) ) = 1, obwohl eine mehrfache Nullstelle vorliegt.
2.6 Das Sekantenverfahren 63

Generelle Empfehlung. Da eine doppelte Nullstelle ξ von f nach Satz 2.3 eine einfache
Nullstelle ξ von g(x) = f (x)/f  (x) ist, kann auch zur Berechnung einer doppelten Null-
stelle ein Einschlussverfahren verwendet werden. Für Beispiel 2.27 würde das bedeuten,
dass man anstelle der doppelten Nullstelle von f (x) = 1 − sin x die einfache Nullstelle
der Funktion
f (x) 1 − sin x
g(x) =  =
f (x) − cos x
mit einem Einschlussverfahren ermittelt, das mit größerer Effizienz arbeitet als das
Newton-Verfahren (siehe Abschnitt 2.9). Die oben erwähnten numerischen Probleme we-
gen g(ξ) = 00 treten natürlich auch hier auf.

Anmerkungen zu mehrfachen Nullstellen. Bei einer nichtlinearen Gleichung


f (x) = 0, die im Rahmen eines technischen Problems gelöst werden muss, werden die im
Funktionsterm auftretenden Daten im Allgemeinen mit Fehlern behaftet sein. Darum ist
nicht zu erwarten, dass die Funktion f eine mehrfache Nullstelle hat.

Beispielsweise hat die quadratische Funktion f (x) = x2 +px+q genau dann eine doppelte
Nullstelle, wenn exakt p2 − 4q = 0 ist. Wenn p und q mit Messfehlern behaftet sind, wird
| p2 − 4q | = ε > 0 sein. Für p2 − 4q > 0 gibt es dann zwei benachbarte einfache Nullstellen
und für p2 − 4q < 0 keine.

Eine doppelte Nullstelle ξ von f mit f (ξ) = f  (ξ) = 0, f  (ξ) = 0 ist eine Stelle, an der die
Funktion f ein lokales Minimum oder Maximum besitzt. Wegen f  (ξ) = 0 ist ξ einfache
Nullstelle von f  und kann mit einem Einschlussverfahren berechnet werden. Wenn dann
|f (ξ)| ≤ ε ist, kann ξ als doppelte Nullstelle von f akzeptiert werden.

2.6 Das Sekantenverfahren

Das Sekantenverfahren wird hier behandelt, weil es in fast jeder Numerik-Vorlesung als
Standardverfahren vorkommt. Für die praktische Anwendung ist es allerdings nicht zu
empfehlen, man sollte dem Sekantenverfahren die Einschlussverfahren mit höherer Effi-
zienz unbedingt vorziehen.

2.6.1 Das Sekantenverfahren für einfache Nullstellen

Die Funktion f sei in I = [a, b] stetig und besitze in (a, b) eine einfache Nullstelle ξ.
Zur näherungsweisen Bestimmung von ξ mit Hilfe des Verfahrens von Newton ist die
Berechnung der Ableitung f  von f erforderlich, so dass die Differenzierbarkeit von f
vorausgesetzt werden muss. Das Sekantenverfahren ist ein Iterationsverfahren, das ohne
Ableitungen arbeitet und zwei Startwerte x(0) , x(1) erfordert (siehe auch Abschnitt 2.7
Einschlussverfahren).
64 2. Lösung nichtlinearer Gleichungen

Durch die folgende Überlegung gelangt man zu der Iterationsvorschrift


  für das Verfahren
(Abb. 2.13). Es seien x(0) , x(1) ∈ I. Durch die Punkte x(0) , f (x(0) ) und x(1) , f (x(1) )
legt man die Sekante des Funktionsgraphen und schneidet sie mit der x-Achse. Für die
Abszisse x(2) des Schnittpunktes findet man

x(1) − x(0)
x(2) = x(1) − f (x(1) ).
f (x(1) ) − f (x(0) )

y6 y = f (x)............................
..........  (1) 
.
... ......
...r
.......
x , f (x(1) )
..
............
.
... . . .... .. ..
..... ...
..... .... ...
...... ...
.
........ ...... ...
.
...... .... ..
..... ......
..... ....
..
...... ....
........
. ..... ...
..... ..... ..
(2).............. ..............
x (0) x ..
... r r .
......
..
.
....
.....
. ..
......
.
....
...
...... .. -
... ..... .............
a ......
... .......... ................
ξ
.
x (1)
b x
r 
.
.... ........
. .
...................
.................. (0) (0)
.. x , f (x )
Abb. 2.13. Sekantenverfahren

Die Iterationsvorschrift für das Sekantenverfahren lautet




⎪ x(ν+1) = x(ν) − x(ν) −x(ν−1)
f (x(ν) ) wenn f (x(ν) ) = f (x(ν−1) ) ,

⎪ f (x(ν) )−f (x(ν−1) )

x(ν+1) = x(ν) − x(ν) −x(ν−1)
f (x(ν) ) sonst , (2.50)

⎪ f (x(ν) )−2·f (x(ν−1) )



ν = 1, 2, . . .

Falls f (x(ν+1) ) = 0 ist, wird das Verfahren mit ξ = x(ν+1) abgebrochen. Wesentlich für
die Konvergenz des Verfahrens ist, dass die Startwerte x(0) , x(1) hinreichend nahe an der
Nullstelle ξ liegen. Es gilt der folgende Konvergenzsatz :

Satz 2.28.
Falls die Funktion f für alle x ∈ (a, b) zweimal stetig differenzierbar ist und mit zwei
positiven Zahlen m, M den Bedingungen
|f  (x)| ≥ m, |f  (x)| ≤ M, x ∈ (a, b),
genügt, gibt es immer eine Umgebung Ir = [ξ − r, ξ + r] ⊂ (a, b) , r > 0 , so dass ξ in
Ir die einzige Nullstelle von f ist und das Verfahren für jedes Paar von Startwerten
x(0) , x(1) ∈ Ir , x(0) = x(1) , gegen die gesuchte Nullstelle ξ konvergiert.

Da die Überprüfung der Voraussetzungen dieses Satzes meist nicht praktikabel ist, bleibt
nur die Empfehlung, die Startwerte x(0) und x(1) möglichst nahe bei der Nullstelle ξ zu
wählen.
Wenn das Startintervall den Bedingungen des Satzes 2.28 nicht genügt, kann beim Sekan-
tenverfahren die Konvergenz von der Bezeichnung der Startwerte x(0) und x(1) abhängen.
2.6 Das Sekantenverfahren 65

...........................
...............
r
.......
.........
.......
.............................................................. .......
......
.

....... .
. ......
.r
................................
....
-
....... ...... ....................................
..
.....
.
.. .
......... ...
..... ....... ...
f (x) ..
...... .............. ...
. x (3)
.... .......
..
..... ..
..........
.... .
......
r r r -
.. ...
..
.... ......
.... .......
.... .......
.... ....... x
(0) ... ....... (2) (1)
x ..
....
.. ...
.......
..
...
. x x
... .......
....
. ...
..........
.
..
... .......
... ......
.......
... .......
.
....
. ...
.........
. .
... .......
... .......
... ......
.. r..........
......
...
..
...
...
...
Abb. 2.14. Startwerte, für die das Sekantenverfahren divergiert
.............................................
r
...........
........
......... ......
.....

.
............
....
.......... r ....
.
.......
....... ......
.
.. ......
...... .....
. ...... ...
... ..... .... ...
f (x) ...
..... .... ......
.......
..
..... ...
...... ......
. ......
..... ....
. ..........
.
.... ... .......
r .... ...
.... ....
.... ...
r .......
r ......
....... r -
(1) ..
..... ....... (3) ..
.......... (2) (0) x
x .. ..
.... ....
.... ...
x ....
.......
.......
x x
.... ......
. .
...
........
.. .. ......
... .... .......
... .... .......
... ... .......
.
.......... ............
.
... ... ...... .
...... .......
........ ........
...............
..
...
.
..r
...............
...
..
...
.
...
Abb. 2.15. Startwerte, für die das Sekantenverfahren konvergiert

Beispiel 2.29.

Gegeben: Die Funktion f (x) = 18 x2 − x + 32 und die Startwerte x(0) = 1, x(1) = 5 , die
wegen f (1) = 0.625, f (5) = −0.375 eine Nullstelle von f einschließen.

Gesucht: Die zwischen x(0) und x(1) liegende Nullstelle mit dem Sekantenverfahren.

Lösung: Mit den gegebenen Startwerten konvergiert das Sekantenverfahren gegen die
Nullstelle 6, die nicht im Einschlussintervall [1, 5] liegt. Mit den Startwerten
x(0) = 5, x(1) = 1 liefert das Sekantenverfahren die Nullstelle 2.

Ein Einschlussverfahren (siehe Abschnitt 2.7) ermittelt in beiden Fällen die Null-
stelle 2. 

Beispiel 2.30.

Gegeben: Die Funktion f (x) = ln x − x + 1.5, die für x > 0 reell und stetig ist, und
die Startwerte x = 0.2, x = 2, die wegen f (0.2) ≈ −0.557, f (2) ≈ 0.779
(0) (1)

eine Nullstelle von f einschließen.

Gesucht: Die im Intervall [0.2, 2] liegende Nullstelle mit dem Sekantenverfahren.


66 2. Lösung nichtlinearer Gleichungen

Lösung: Mit den gegebenen Startwerten erzeugt das Sekantenverfahren


x(2) = 0.950213 ∈ [0.2, 2] und
x (3)
= −0.682864 ∈ [0.2, 2] .

Also ist f (x(3) ) nicht reell, und das Sekantenverfahren versagt.


Mit den Startwerten x(0) = 2, x(1) = 0.2 konvergiert das Sekantenverfahren
gegen die Nullstelle ξ = 0.429 817 028.
Ein Einschlussverfahren (siehe Abschnitt 2.7) erzeugt dagegen Näherungen x(ν) , die stets
im Einschlussintervall [x(0) , x(1) ] liegen. 

Die Konvergenzordnung
√ des Sekantenverfahrens mit der Iterationsvorschrift (2.50) ist
p = (1 + 5)/2 ≈ 1.62 . Prinzipiell kann die Vorschrift (2.50) auch zur näherungsweisen
Berechnung mehrfacher Nullstellen verwendet werden, dann geht jedoch die hohe Kon-
vergenzordnung verloren. Das modifizierte Sekantenverfahren (Abschnitt 2.6.2) besitzt
auch bei mehrfachen Nullstellen die Konvergenzordnung p ≈ 1.62. Zur Effizienz der Ver-
fahren siehe Abschnitt 2.9.

2.6.2 Das modifizierte Sekantenverfahren


für mehrfache Nullstellen
Ist ξ eine Nullstelle der Vielfachheit j, j ≥ 2, von f und ist |f (j+1) (x)| in der Umgebung
von ξ beschränkt, so ist ξ eine einfache Nullstelle der Funktion h
f 2 (x)
h(x) =   , (2.51)
f x + f (x) − f (x)
und |h (x)| ist in der Umgebung von ξ beschränkt. Verwendet man in der Iterations-
vorschrift (2.50) statt f die durch (2.51) definierte Funktion h, so konvergiert
√ dieses
modifizierte Sekantenverfahren ebenfalls von der Ordnung p = (1 + 5)/2 gegen die
mehrfache Nullstelle ξ von f (Beweis s. [KIOU1979]). Die Effizienz ist wegen H = 2
allerdings nur E = p1/2 = 1.272 (siehe Abschnitt 2.9).

2.7 Einschlussverfahren
Eine stetige Funktion f : [a, b] → IR mit f (a) · f (b) < 0 besitzt nach dem Zwischenwert-
satz im Intervall (a, b) mindestens eine Nullstelle; ein solches Intervall [a, b] nennt man
ein Einschlussintervall. Im Folgenden sei das Intervall [a, b] so gewählt, dass es genau eine
Nullstelle ξ der Funktion f einschließt.

Bei den in diesem Abschnitt behandelten Einschlussverfahren wird ein gegebenes Ein-
schlussintervall in zwei Teilintervalle zerlegt; eines von diesen ist wieder ein Einschluss-
intervall. So können fortlaufend kleinere Einschlussintervalle erzeugt werden (Abschnitt
2.7.1).
2.7 Einschlussverfahren 67

Das einfachste dieser Verfahren ist das Bisektionsverfahren (Abschnitt 2.7.2), das stets,
aber nur linear, gegen die Nullstelle konvergiert.

Bei der Regula falsi (Abschnitt 2.7.3), die ebenfalls nur linear konvergiert, kann es vor-
kommen, dass die erzeugten Grenzen der Einschlussintervalle sich der Nullstelle nur von
einer Seite her nähern (Abbildung 2.17).

Deshalb wurden einige Einschlussverfahren (Abschnitte 2.7.4 bis 2.7.6) entwickelt, die
dieses Verhalten vermeiden und zudem eine höhere Konvergenzordnung besitzen. Aller-
dings wird diese höhere Konvergenzordnung erst in einer hinreichend kleinen Umgebung
der Nullstelle wirksam.

Daher ist es zweckmäßig, ein gegebenes Einschlussintervall zunächst mit dem Bisektions-
verfahren zu verkleinern und dann ein Verfahren höherer Ordnung einzusetzen (siehe
dazu das Beispiel 2.41).

Falls eine genügend oft stetig differenzierbare Funktion f im Intervall [a, b] eine Nullstelle
ξ gerader Ordnung besitzt, ist diese wegen Satz 2.3 eine einfache Nullstelle der Funktion
g(x) = f (x)/f  (x) und kann daher mit einem Einschlussverfahren, angewandt auf g,
ermittelt werden. Siehe dazu auch die Anmerkungen zu mehrfachen Nullstellen am Ende
des Abschnitts 2.5.

2.7.1 Das Prinzip der Einschlussverfahren

Ausgehend von einem Einschlussintervall [a, b] werden x(1) = a, f1 = f (a), x(2) = b,


f2 = f (b) gesetzt; damit ist f1 · f2 < 0. Dann wird eine Zahl

x(3) = x(2) + q (x(1) − x(2) ) , 0 < q < 1, (2.52)

erzeugt, die zwischen x(1) und x(2) liegt. Die Verfahren unterscheiden sich in der Wahl
von q. Mit x(3) wird der Funktionswert f3 = f (x(3) ) berechnet. Wenn f3 = 0 ist, ist
ξ = x(3) Nullstelle von f .

Wenn f3 = 0 ist, hat f entweder zwischen x(2) und x(3) oder zwischen x(1) und x(3) einen
Vorzeichenwechsel. Eines der beiden durch x(3) erzeugten Teilintervalle ist also wieder
ein Einschlussintervall, mit dem das Verfahren fortgesetzt werden kann. Das neue Ein-
schlussintervall wird wie folgt ermittelt.

Wenn f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und die Intervallgrenzen und Funk-
tionswerte werden umbenannt:
x(1) := x(2) , f1 := f2 ,
x(2) := x(3) , f2 := f3 .

Wenn f2 · f3 > 0 ist und somit f1 · f3 < 0 ist, liegt ξ zwischen x(1) und x(3) . Dann werden
gesetzt:
x(2) := x(3) , f2 := f3 .
68 2. Lösung nichtlinearer Gleichungen

Nun gilt wieder f1 · f2 < 0, und mit x(1) und x(2) kann das Verfahren fortgesetzt werden.
Dabei ist x(2) die zuletzt berechnete Intervallgrenze.

Da ξ zwischen x(1) und x(2) liegt, gelten für die absoluten Fehler dieser Intervallgrenzen

| ξ − x(1) | < | x(2) − x(1) | , | ξ − x(2) | < | x(2) − x(1) | .


Wenn mit einer positiven Schranke AbsErr für den absoluten Fehler für die Länge des
Einschlussintervalls
| x(2) − x(1) | ≤ AbsErr (2.53)
gilt, sind die absoluten Fehler der beiden Intervallgrenzen kleiner als AbsErr.

Wenn mit einer positiven Schranke RelErr für den relativen Fehler mit der zuletzt be-
rechneten Intervallgrenze x(2) (= 0)

| x(2) − x(1) | ≤ | x(2) | RelErr (2.54)


ist, gilt für den relativen Fehler dieser Intervallgrenze
| ξ − x(2) | | x(2) − x(1) |
< ≤ RelErr.
| x(2) | | x(2) |
Ein Einschlussverfahren kann also außer mit f3 = 0 auch abgebrochen werden, wenn eine
der Abfragen (2.53), (2.54) erfüllt ist. Beide können kombiniert werden zu
| x(2) − x(1) | ≤ | x(2) | RelErr + AbsErr .
Mit AbsErr > 0 und RelErr = 0 entsteht (2.53), und mit AbsErr = 0 und RelErr > 0
ergibt sich (2.54).

Von den beiden Intervallgrenzen x(1) , x(2) kann man diejenige als die beste Näherung für
die Nullstelle ξ wählen, für die der Funktionswert dem Betrage nach kleiner ist.

Die Fehlerschranken AbsErr und RelErr müssen größer als die Maschinengenauigkeit 
sein (etwa 2  bis 3 ).

Bemerkung. Für die praktische Anwendung ist es sinnvoll, die Abbruchbedingung (2.54)
für den relativen Fehler zu verwenden, weil so eine Aussage über die Anzahl der gültigen
Ziffern einer Näherungszahl gemacht werden kann (vgl. Satz 1.24). Der absolute Fehler
macht eine Aussage über die Anzahl der gültigen Dezimalen (vgl. Definition 17).

Das heißt, die Abfrage


| x(2) − ξ | ≤ AbsErr = 0.5 · 10−k
liefert x(2) mit k genauen Dezimalen, die Abfrage

| x(2) − ξ |
≤ RelErr = 5 · 10−m
| x(2) |
liefert x(2) mit m genauen Ziffern, beginnend mit der ersten von 0 verschiedenen Ziffer
von x(2) .
2.7 Einschlussverfahren 69

2.7.2 Das Bisektionsverfahren

Bei diesem einfachsten Einschlussverfahren wird in (2.52) q = 0.5 gesetzt. Dann wird
wegen
| x(3) − x(2) | = 0.5 | x(1) − x(2) |
die Länge des Einschlussintervalls halbiert. Mit fortgesetzter Intervallhalbierung konver-
giert das Bisektionsverfahren linear gegen die Nullstelle.

y6
.........
.....................
...............
.............
f (x) ......................................... ..
.
.
......... ...
........
........
..
...
........ ..
..
.
.......
....... ...
......
........
..
..
...... . ....
.. .
..... ...
..... ...
..... .
......
.... ...
.
.. ... ....
.... . .
..... .. .. ....
.... .. .
r
... ....... ..
... ....
...... .
..
..
.
..
. -
x (1)
=a x (4) .
.....
.
ξx x
...
(6) (5)
x (3)
x (2)
=b x
... ...
....
. .....
... ..
.......
.
. ......
.....
... ......
......
.
...
........
.................
.
.........
............
...........................
......................................................................................................................................................................................................................................................................................
...........................................................................................................................................
. . .
...........................................................................
......................................
. .

Abb. 2.16. Das Bisektionsverfahren

Algorithmus 2.31. (Bisektionsverfahren)

Gegeben: (i) f ∈ C[a, b] mit f (a) · f (b) < 0,


(ii) Schranken AbsErr und RelErr für den absoluten bzw. den relativen
Fehler mit AbsErr > 0 und RelErr = 0
oder mit AbsErr = 0 und RelErr > 0.
Gesucht: Eine Zahl ξ ∈ (a, b), für die f (ξ) = 0 ist, oder ein Einschlussintervall
[x(1) , x(2) ] bzw. [x(2) , x(1) ] für ξ mit
| x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b
f1 := f (x ), f2 := f (x(2) ).
(1)

Pro Iterationsschritt wird wie folgt vorgegangen:

1. Halbierung des Einschlussintervalls durch Ermittlung von


x(3) := x(2) + 0.5(x(1) − x(2) ) .
70 2. Lösung nichtlinearer Gleichungen

2. Berechnung des neuen Funktionswertes f3 := f (x(3) ).


Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es
mit 3. weiter.
3. Festlegung des neuen Einschlussintervalls:
Falls f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und es wird gesetzt
x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 ;
falls f2 · f3 > 0 ist, liegt ξ zwischen x (1)
und x(3) , und es wird gesetzt
x(2) := x(3) , f2 := f3 .
In beiden Fällen liegt jetzt ξ zwischen x(1) und x(2) , und x(2) ist der zuletzt
berechnete Näherungswert.
4. Prüfung der Abbruchbedingung:
Falls
| x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr
ist, erfolgt Abbruch. Dann wird gesetzt
ξ := x(2) , falls |f2 | ≤ |f1 | ist , und sonst ξ := x(1) .
Andernfalls wird die Iteration mit 1. fortgesetzt.

Bemerkung 2.32. Beim Bisektionsverfahren kann die Anzahl n der Intervallhalbierungen,


die erforderlich ist, um eine vorgegebene Anzahl k gültiger Dezimalen zu erhalten, vorab
bestimmt werden. Für n und k (k ∈ IN) gelte also

|b − a| 1 −k
≤ ·10 .
2n 2
Dabei sei 0.5 · 10−k < |b − a|. Dann folgen
2n ≥ 2 |b − a| 10k ,
n lg 2 ≥ lg 2 + lg |b − a| + k ,
k + lg |b − a|
n ≥ 1+ . (2.55)
lg 2

Beispiel 2.33.

Gegeben: Die Funktion f (x) = sin x + 1 − 1/x für x ∈ [a, b] mit a = 0.6, b = 0.7 und die
Schranke AbsErr = 0.5·10−6 für den absoluten Fehler.

Gesucht: Eine Nullstelle ξ der Funktion f im Intervall (0.6, 0.7) mit Hilfe des Bisektions-
verfahrens auf 6 Dezimalen genau.

Lösung: Wegen f (0.6) ≈ −0.102 und f (0.7) ≈ 0.216 liegt mindestens eine Nullstelle in
(0.6, 0.7). Mit k = 6, a = 0.6 und b = 0.7 erhält man nach der Formel (2.55)
2.7 Einschlussverfahren 71

die Anzahl der erforderlichen Intervallhalbierungen:


6 + lg 0.1
n ≥ 1+ = 17.6096 .
lg 2

Nach 18 Intervallhalbierungen ist die Länge des letzten Einschlussintervalls


≤ 0.5·10−6.

ν x(3) f (x(3) ) x(1) f (x(1) ) x(2) f (x(2) ) |x(2) − x(1) |


0.6 f <0 0.7 f >0 0.1
1 0.65 +0.0667249 0.6 f <0 0.65 f >0 0.05
2 0.625 −0.0149027 0.65 f >0 0.625 f <0 0.025
3 0.6375 +0.0265609 0.625 f <0 0.6375 f >0 0.0125
..
.
16 0.6294479 +0.0000048 0.6294464 f <0 0.6294479 f > 0 0.0000015
17 0.6294472 +0.0000023 0.6294464 f <0 0.6294472 f > 0 0.0000008
18 0.6294468 +0.0000010 0.6294464 −2.43·10−7 0.6294468 1.03·10−6 0.0000004 < ε

In dieser Tabelle steht jeder Schritt in einer Zeile. Die neue Näherung ist x(3) . Nach Um-
speichern ergeben sich rechts die Grenzen x(1) und x(2) des neuen Einschlussintervalls.
In der letzten Spalte kann man die Abbruchbedingung prüfen.

Wegen |f (x(1) )| < |f (x(2) )| für ν = 18 wird gewählt

ξ = 0.629 446 ≈ x(1) .

2.7.3 Die Regula falsi

Dieses Verfahren verwendet die Sekante, die die Punkte (x(1) , f1 ) und (x(2) , f2 ) verbin-
det, und bestimmt deren Schnittpunkt (x(3) , 0) mit der x-Achse (Sekantenschritt). Mit
der Gleichung
f1 − f2
y = f2 + (1) (x − x(2) )
x − x(2)
dieser Sekante ergibt sich für y = 0
f2
x(3) = x(2) + (x(1) − x(2) ) .
f2 − f1
Hier ist also mit (2.52)
f2
q= ,
f2 − f1
und wegen f1 · f2 < 0 ist 0 < q < 1.
72 2. Lösung nichtlinearer Gleichungen

Wie die Abbildung 2.17 zeigt, kann der Fall eintreten, dass die Grenzen der Einschluss-
intervalle sich der Nullstelle nur von einer Seite her nähern, während die Grenze x(1) auf
der anderen Seite der Nullstelle unverändert bleibt.

Dabei wird die Korrektur

∆x = x(3) − x(2) = q (x(1) − x(2) )

dem Betrage nach immer kleiner. Um von einer Intervallgrenze x(2) nahe der Nullstelle
auf die andere Seite der Nullstelle zu gelangen und damit die Grenze x(1) loszuwerden,
kann man wie folgt vorgehen:

Es sei

tol = | x(2) | RelErr + AbsErr .

Wenn | ∆x | ≤ tol ist, wird

∆x = 0.9 · tol · sgn (x(1) − x(2) )

gesetzt. Wenn dann x(2) und x(3) = x(2) + ∆x die Nullstelle einschließen, ist wegen
| ∆x | < tol auch die Abbruchbedingung

| x(3) − x(2) | = | ∆x | < tol

erfüllt. Der Faktor 0.9 verhindert, dass die Abbruchbedingung infolge von Rundungsfeh-
lern evtl. nicht erfüllt ist.

Bemerkung. Dieser zusätzliche Schritt wird auch in die folgenden Algorithmen zum
Pegasus-Verfahren und zum Verfahren von Anderson-Björck aufgenommen.

.......... .....
r
.............................................
......
........ ......... .....
f (x)
...
.. ...... .
.... .....
...... . ....
.....
...
...... ......... ...
...
... ... ...
r
..
. .
..
r .... . ..... ...
.
.. ...
. ...
...... .
.....
. ......... .....
.
...
.
..... ...
..... ...
......... ..
..........
. .
.....
. ... .
. .......
(2).............. . .
..... ........
r x r .
......
.......
r .
.....
........
. r
........
................ r -
(1) ........ ..... ........ (2) x
x ....... ......... (2)
x ........
........
x x (2)
....... .. ........
.. .......... ......... ....
...
.
......... ....... .
...
........
.
..... ....
..... ..... ........
...... ..... ........
........
...... ...... ........
........
.................... .
. .....
...... .... ........
........... ........
............. ..........
......................
.
...
. r
...................
.
...
...
....
..

Abb. 2.17. Mit x(2) := x(3) in allen Schritten


2.7 Einschlussverfahren 73

Algorithmus 2.34. (Regula falsi)


Gegeben: (i) f ∈ C[a, b] mit f (a) · f (b) < 0,
(ii) Schranken AbsErr und RelErr für den absoluten bzw. den relativen
Fehler mit AbsErr > 0 und RelErr = 0
oder mit AbsErr = 0 und RelErr > 0.
Gesucht: Eine Zahl ξ ∈ (a, b), für die f (ξ) = 0 ist, oder ein Einschlussintervall
[x(1) , x(2) ] bzw. [x(2) , x(1) ] für ξ mit
| x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b
f1 := f (x ), f2 := f (x(2) ).
(1)

Pro Iterationsschritt wird wie folgt vorgegangen:


1. Bestimmung der neuen Intervallgrenze:

Berechne
tol := | x(2) | RelErr + AbsErr
und
f2
∆x := (x(1) − x(2) ) .
f2 − f1
Wenn | ∆x | ≤ tol ist, setze
∆x := 0.9 · tol · sgn (x(1) − x(2) ) .
Berechne x(3) := x(2) + ∆x.
2. Berechnung des neuen Funktionswertes f3 := f (x(3) ).
Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es
mit 3. weiter.
3. Festlegung des neuen Einschlussintervalls:
Falls f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und es wird gesetzt
x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 ;
falls f2 · f3 > 0 ist, liegt ξ zwischen x(1) und x(3) , und es wird gesetzt
x(2) := x(3) , f2 := f3 .
(1)
In beiden Fällen liegt jetzt ξ zwischen x und x(2) , und x(2) ist der zuletzt
berechnete Näherungswert.
4. Prüfung der Abbruchbedingung:
Falls
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt
ξ := x(2) , falls |f2 | ≤ |f1 | ist , und sonst ξ := x(1) .
Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt.
74 2. Lösung nichtlinearer Gleichungen

Beispiel 2.35. (vgl. Beispiel 2.33)


Gegeben: Die Funktion f (x) = sin x + 1 − 1/x für x ∈ [a, b] mit a = 0.6, b = 0.7 sowie
die Schranke RelErr = 5·10−7 für den relativen Fehler (AbsErr = 0).

Gesucht: Die Nullstelle ξ der Funktion f im Intervall (0.6, 0.7) mit der Regula falsi mit
7 gültigen Ziffern.

Lösung:

ν x(3) f (x(3) ) x(1) f (x(1) ) x(2) f (x(2) ) |x(2) − x(1) |/|x(2) |


0.6 <0 0.7 >0
−3
1 0.63211636 9·10 0.6 <0 0.63211636 >0 5·10−2
2 0.62954848 3·10−4 0.6 <0 0.62954848 >0 4.69·10−2
3 0.62945038 1·10−5 0.6 <0 0.62945038 >0 4.68·10−2
4 0.62944663 5·10−7 0.6 <0 0.62944663 >0 4.68·10−2
−7
5 0.62944635 −4.5·10 0.62944663 5·10−7 0.62944635 −4.5·10 −7
4.5·10−7

⇒ ξ ≈ x(2) = 0.6294464
  
7 genaue Ziffern


2.7.4 Das Pegasus-Verfahren

Das Pegasus-Verfahren ist ein gegenüber der Regula falsi verbessertes Verfahren, das in
einer hinreichend kleinen Umgebung einer einfachen Nullstelle die Konvergenzordnung
p = 1.642 besitzt. Falls nach einem Sekantenschritt die älteste Intervallgrenze x(1) nicht
ersetzt werden kann, wird der Funktionswert f1 mittels g · f1 , 0 < g < 1, modifiziert.
Damit verbessert sich die Chance, die Grenze x(1) nach dem nächsten Schritt ersetzen
zu können. Siehe dazu die geometrische Interpretation und Abbildung 2.18.

Basierend auf den Originalarbeiten [DOWE1971] und [DOWE1972] wurde hier der fol-
gende Algorithmus entwickelt.
2.7 Einschlussverfahren 75

Algorithmus 2.36. (Pegasus-Verfahren)

Gegeben: (i) f ∈ C[a, b] mit f (a) · f (b) < 0,


(ii) Schranken AbsErr und RelErr für den absoluten bzw. den relativen
Fehler mit AbsErr > 0 und RelErr = 0
oder mit AbsErr = 0 und RelErr > 0.
Gesucht: Eine Zahl ξ ∈ (a, b), für die f (ξ) = 0 ist, oder ein Einschlussintervall
[x(1) , x(2) ] bzw. [x(2) , x(1) ] für ξ mit
| x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b
f1 := f (x ), f2 := f (x(2) ).
(1)

Pro Iterationsschritt ist wie folgt vorzugehen:


1. Bestimmung der neuen Intervallgrenze:

Berechne tol := | x(2) | RelErr + AbsErr


und f2
∆x := (x(1) − x(2) ) .
f2 − f1
Wenn | ∆x | ≤ tol ist, setze
∆x := 0.9 · tol · sgn (x(1) − x(2) ) .
Berechne x(3) := x(2) + ∆x.
2. Berechnung des neuen Funktionswertes f3 := f (x(3) ).
Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es
mit 3. weiter.
3. Festlegung des neuen Einschlussintervalls:
Falls f2 · f3 < 0 ist, wenn also die Nullstelle ξ zwischen x(2) und x(3) liegt, wird
gesetzt
x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 .
Falls f2 · f3 > 0 ist, wenn also die Nullstelle ξ zwischen x(1) und x(3) liegt, wird die
Stelle x(1) beibehalten, jedoch mit einem mittels
f2
f1 := gf1 , g = , 0<g<1
f2 + f3
abgeänderten Funktionswert (modifizierter Schritt). Dann wird gesetzt
x(2) := x(3) , f2 := f3 .
ξ liegt jetzt zwischen x(1) und x(2) , und x(2) ist die zuletzt berechnete Näherung.
4. Prüfung der Abbruchbedingung:
Falls
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt
ξ := x(2) , falls |f2 | ≤ |f1 | ist , und sonst ξ := x(1) .
Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt.
76 2. Lösung nichtlinearer Gleichungen

Für den modifizierten Schritt wird nachfolgend eine geometrische Interpretation angege-
ben.

Geometrische Interpretation für den modifizierten Schritt

Die Konstruktion von


f2 f1∗ f2
f1∗ := f1 · ergibt sich wegen =
f2 + f3 f1 f2 + f3

geometrisch wie folgt (Abbildung 2.18): Die Verbindungsgeraden der Punkte (x(2) , f2 +f3 )
und (x(1) , f1 ) sowie (x(2) , f2 ) und (x(1) , f1∗ ) schneiden sich in einem Punkt S der x-Achse.
Mit dem Punkt (x(1) , f1∗ ) verbessert sich die Chance, das Einschlussintervall auf der Seite
von x(1) zu verkürzen. Das zeigt die nächste Näherung x(4) in Abbildung 2.18.

...
..............
q (x(2) , f2 +f3 )
........... ....
...............
..
.. ... . . ....
..... ....... ...
..... ......... ...
..... .
....
.. ...
..... .
... ...
....
. . .
..... ...
..... ...
..... ...
..... ...
.... ...
..... .
...... ....
..... .......
. ..
. ..... ..
...... ...
.... ...
.. .....
... .................... ...... ...... ..
. ..
. ...
.
.
. .
.
...
.
.
.... ....
..........................
................
f (x) ...
....
...
............. .. ... ....
... .......... ..
....
. .
...
.......... . .
....
. . . . . .......... ... (2)
q (x , f2 )
...... ... ... ........ ...
(3) ...... .... .
(x ,f ) 3 ............. .
..
.. .
........ . . .............
q ... .. . ..
... ... . ..... .. .......
. . .
...... ..... .............. .... ...
...... .. ..... ...............
. .
.. ............. .... .
.......
. ........................... ..
...
. .
........... .... .....
. ........ ....... ...
.................
. .
. ... ...... ..........................
. ...
...
.......... .
.
. ...
.... ..
.......... .......... ...
. ..
.......... .
.
. ...
..... . .....
. ..... .......... ...
. . ........... .
.
. ..
...... ....
. ...... ..........
. . .
. . .......... .
.
. .
..
.... ............ .......... .
.
.
............ .. .........
. ..... ....... .. .
....... .
.
.
. . ......... ... .......
. ..... ....... .....
..... .
.
.
... .......
.
.. ..
........ ...... ........ ......
...
......... ...... ........ ....... ....
..... .. .......
......
.......... ..... .... ........ ....... ...
. ..
.. ..
.. ..... .
. .
...
..........
. .
...
........ ...
.. ..... .... ... ............
.
.. ... ..
..... ...
...... ..
..... . . . .. ......... .......... ...
.
....... . .
... ............. ... .....
.
(4) ............ ... . ..
... ............ . ....... . ...
x ....
.................
.
.
. ......... .
...
.. ...
...
...
q .
..
.
.qr
..
.. ...
.........
.. ....
...... .
............
.... q ...
........
.
. .. .
. .... ... q .
. .
........ ...
. q -
... .
... .... . .
.............. . .... .
.. . .. ...
x(1) ...
... .
.. .
.
.
.
... ....
. ξ ... . . . .
... ...
..... .......
.....
. S .......
........... ..
x (3) (2)
x x
..... ..... ................ ..... .......
... ..... . .... ..... .......
... ..... .................. ..... .......
... .... . ..... ......
... ............................ .... .....
..... ......
(x(1) , f ) q
. .. ... .
..... .......
∗ ..................... ....... ..... .......
1 ..... . ..... .......
..... ..
......
. .....
........
... .
... ..... ......
. ..... .......
..... ..... .......... .............
... .... ...... .........
... ... ....................
.......................
(x(1) , f ) q
....
.......
1 .....
..
.
...
..
...

Abb. 2.18. Zum Pegasus-Verfahren, modifizierter Schritt

Beispiel 2.37. (vgl. Beispiel 2.35)

Gegeben: Die Funktion f (x) = sin x + 1 − 1/x und die Schranke RelErr = 5 · 10−7 für
den relativen Fehler (AbsErr = 0).

Gesucht: Die Nullstelle ξ von f im Intervall (0.6, 0.7) mit Hilfe des Pegasus-Verfahrens.
2.7 Einschlussverfahren 77

Lösung:

ν x(3) f (x(3) ) x(1) f (x(1) ) x(2) f (x(2) ) |x(2) − x(1) |/|x(2) |


0.6 f <0 0.7 f >0
1 0.6321164 +8.9·10−3 0.6 f <0 0.6321164 f >0 5.08·10−2
2 0.6294517 +1.7·10−5 0.6 f <0 0.6294517 f >0 4.68·10−2
3 0.6294465 −5.6·10−8 0.6294517 f > 0 0.6294465 f <0 8.26·10−6
4 0.6294468 +8.9·10−7 0.6294465 −6·10−8 0.6294468 9·10−7 4.45·10−7

Zur Darstellung dieser Tabelle vgl. Beispiel 2.33. Wegen |x(2) − x(1) |/|x(2) | < 5 · 10−7 für
ν = 4 ist die Nullstelle auf 7 Ziffern genau, also ξ ≈ x(1) = 0.629 446 5 . 

2.7.5 Das Verfahren von Anderson-Björck

Das Verfahren von Anderson-Björck arbeitet ähnlich wie das Pegasus-Verfahren; lediglich
im 3. Schritt des Algorithmus (bei der Festlegung des neuen Einschlussintervalls) wird die
Modifikation des Funktionswertes f1 an der Stelle x(1) auf andere Weise vorgenommen.
Die Konvergenzordnung des Verfahrens in der Umgebung einer einfachen Nullstelle liegt
zwischen 1.682 und 1.710.

Algorithmus 2.38. (Verfahren von Anderson-Björck )


Gegeben: (i) f ∈ C[a, b] mit f (a) · f (b) < 0,
(ii) Schranken AbsErr und RelErr für den absoluten bzw. den relativen
Fehler mit AbsErr > 0 und RelErr = 0
oder mit AbsErr = 0 und RelErr > 0.
Gesucht: Eine Zahl ξ ∈ (a, b), für die f (ξ) = 0 ist, oder ein Einschlussintervall
[x(1) , x(2) ] bzw. [x(2) , x(1) ] für ξ mit
| x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b
f1 := f (x ), f2 := f (x(2) ).
(1)

Pro Iterationsschritt ist wie folgt vorzugehen:


1. Bestimmung der neuen Intervallgrenze:
Berechne
tol := | x(2) | RelErr + AbsErr
und
f2
∆x := (x(1) − x(2) ) .
f2 − f1
Wenn | ∆x | ≤ tol ist, setze
∆x := 0.9 · tol · sgn (x(1) − x(2) ) .
Berechne x(3) := x(2) + ∆x.
78 2. Lösung nichtlinearer Gleichungen

2. Berechnung des neuen Funktionswertes f3 := f (x(3) ).


Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es
mit 3. weiter.
3. Festlegung des neuen Einschlussintervalls:
Falls f2 · f3 < 0 gilt, wenn also die Nullstelle ξ zwischen x(2) und x(3) liegt, wird
gesetzt
x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 .
Falls f2 · f3 > 0 gilt, wenn also die Nullstelle ξ zwischen x(1) und x(3) liegt, wird
die Stelle x(1) beibehalten und ihr ein abgeänderter Funktionswert

f1 := gf1 mit g = 1 − f3 /f2 , g < 1

oder, falls g ≤ 0 ist, mit g = 0.5 zugeordnet (modifizierter Schritt). Dann wird
gesetzt
x(2) := x(3) , f2 := f3 .
Jetzt liegt ξ zwischen x(1) und x(2) , und x(2) ist die zuletzt berechnete Näherung.
4. Prüfung der Abbruchbedingung:
Falls
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt

ξ := x(2) , falls |f2 | ≤ |f1 | ist , und sonst ξ := x(1) .


Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt.

Die Originalarbeit zu dem Verfahren von Anderson-Björck ist [ANDE1973]. Auf dieser
Basis wurden hier zusätzlich der Algorithmus formuliert und die geometrische Interpre-
tation entwickelt.

Geometrische Interpretation für den modifizierten Schritt

Die Ersetzung von f1 durch gf1 im 3. Schritt des Algorithmus lässt sich wie folgt geo-
metrisch interpretieren (Abbildung 2.19): Durch die drei Punkte

P1 = (x(1) , f1 ), P2 = (x(2) , f2 ), P3 = (x(3) , f3 )

wird die interpolierende quadratische Parabel gelegt, und im (mittleren) Punkt P3 wird
die Parabeltangente konstruiert. Falls diese Tangente die x-Achse zwischen x(3) und x(1)
schneidet, wird dieser Schnittpunkt x(4) als die nächste Näherung für die gesuchte Null-
stelle genommen.
Die Parabeltangente kann wie folgt konstruiert werden. H1 sei der Schnittpunkt der Ge-
rade P2 P3 mit der Gerade x = x(1) und H2 der Schnittpunkt der Gerade P1 P3 mit der
Gerade x = x(2) . Die Parabeltangente durch P3 ist parallel zur Verbindungsgerade H1 H2 .

Im Algorithmus wird die Tangente durch den Punkt P3 und ihren Schnittpunkt (x(1) , f1∗ )
mit der Gerade x = x(1) festgelegt.
2.7 Einschlussverfahren 79

Nach Anderson-Björck ergibt sich


s23 f2 − f3
f1∗ = gf1 mit g= , s23 = .
s12 x(2) − x(3)

Wenn g > 0 ist, liegen die Punkte P1 = (x(1) , f1 ) und (x(1) , f1∗ ) auf derselben Seite der
x-Achse, und der Schnittpunkt x(4) der Parabeltangente mit der x-Achse liegt zwischen
x(3) und x(1) .

Wegen des vorhergehenden Sekantenschritts sind die Punkte (x(1) , f1 ), (x(2) , f2 ) und
(x(3) , 0) kollinear, und daher gilt

f1 − f2 f2
s12 = = (2) .
x(1) − x(2) x − x(3)
Damit ergibt sich für g wesentlich einfacher

s23 f2 − f3 x(1) − x(2) f2 − f3 x(2) − x(3) f2 − f3 f3


g= = (2) = = =1− .
s12 x −x (3) f1 − f2 x −x
(2) (3) f2 f2 f2
Wegen f3 · f2 > 0 ist g < 1. Falls g ≤ 0 ist, schneidet die Tangente die x-Achse nicht
zwischen x(3) und x(1) . In diesem Fall wird (wie beim Illinois-Verfahren) g = 0.5 gesetzt,
also f1∗ = 0.5f1 .
...
...
q P ..
.
...
...
......... 1
.
....
...........
..... ...
..
....................
.
...... . ...
...... ........
.....
...... ..........
...
...... ..
.
...... ..
.......
..... . ...
..... ........
......
..
....... .. . ..
..... ... ...
..... . ...
...... .... .....
.....
........... .... .....f (x)
. .
...... . ...
.
...... .... ....
.....
...... . ...
.
..
...... .... .....
.....
.....
. ..
.... .... q
........
......
...... . ....
.... ......
. .........
(x
........
........ (1)
, f1∗ )
..........
..... ..... .
....
. ...........
. . . ... .... ..........
q q q q -
..
. .. . . .
. .
...... ... ..... .........
...... . .... ........
..... .... ..... ........
x(2)
...
......
......
x (3)
... ....... ...............
.........
x (4)
x x (1)
. . .
......
. .... .........
.....
...
...... ...
. ......
.. .......
..
.
........
..... .
... ..
..........
...... ........................
qH
....... ..... ..
1
..... .......... ................ ....... .......
...... ....... ....... ....
...... ..... .... ........
.
........
. .
............................... ... . ....... ....... ....... ................
. .
q ............. ....... ..
.. .
... ...... .................... ....... .........
... ...... ................... .........
... .......... ....... .................................... ........
........
P q ............ ....... ....... .......
2 ........ . . . ... .....
...... .... ..
......... ..... ..
.. .......
. P 3
.........
........
.....
. ..........
..... ........ ....... .........
........ .................................... ...... ........
....... .......
....... ............ .
.. ....
...........
.
..
.. .........
. ........
.... .........
.........
....
.
..
. ... ..........
........
...
.. ........
.........
. ........
.... ....... .........
.. ....... .
... ..............
H2 q . .........
...........

Abb. 2.19. Zum Verfahren von Anderson-Björck. Mit den Geraden P2 P3 und P1 P3
ergeben sich die Punkte H1 und H2 . Die zu H1 H2 parallele Gerade durch P3 ist die
Parabeltangente in diesem Punkt
80 2. Lösung nichtlinearer Gleichungen

Beispiel 2.39.
Gegeben: Die Funktion f (x) = sin x + 1 − 1/x und die Schranke RelErr = 5 · 10−7 für
den relativen Fehler (AbsErr = 0).

Gesucht: Die Nullstelle ξ von f im Intervall (0.6, 0.7) mit Hilfe des Verfahrens von
Anderson–Björck.

Lösung:

ν x(3) f (x(3) ) x(1) f (x(1) ) x(2) f (x(2) ) |x(2) − x(1) |/|x(2) |


0.6 f <0 0.7 f >0
1 0.63211636 +8.9·10−3 0.6 f <0 0.63211636 f > 0 5.08·10−2
2 0.62944753 +3.5·10−6 0.6 f <0 0.62944753 f > 0 4.68·10−2
3 0.62944648 −1.2·10−8 0.62944753 f >0 0.62944648 f < 0 1.67·10−6
4 0.62944676 +9.3·10−7 0.62944648 −1.2·10−8 0.62944676 9.3·10−7 4.45·10−7

Zur Darstellung dieser Tabelle vgl. Beispiel 2.33. Wegen |x(2) − x(1) |/|x(2) | < 5 · 10−7 für
ν = 4 ist die Nullstelle auf 7 Ziffern genau, also ξ ≈ x(1) = 0.629 446 5 . 

2.7.6 Die Verfahren von King und Anderson-Björck-King –


Das Illinois-Verfahren

Das Verfahren von King (s. Originalarbeit [KING1973]) unterscheidet sich vom Pegasus-
Verfahren nur dadurch, dass nie zwei Sekantenschritte nacheinander ausgeführt werden,
sondern auf jeden Sekantenschritt ein modifizierter Schritt folgt. Es besitzt eine etwas
höhere Konvergenzordnung (siehe Abschnitt 2.9).
Das Verfahren von Anderson-Björck-King verläuft ganz analog; es arbeitet nach dem
Verfahren von Anderson-Björck mit der Zusatzbedingung von King, dass nie zwei Sekan-
tenschritte nacheinander erfolgen dürfen. Hier geschieht der modifizierte Schritt nach der
Anderson-Björck-Methode, beim Verfahren von King nach der Pegasus-Methode.
Gemeinsam ist den Einschlussverfahren Pegasus, Anderson-Björck und damit auch King
der Sekantenschritt. Lediglich der modifizierte Schritt wird unterschiedlich realisiert; bei
Pegasus wird g = f2 /(f2 + f3 ) gesetzt, bei Anderson-Björck g = 1 − f3 /f2 und, falls g ≤ 0
ist, wird g = 0.5 gesetzt. Das Illinois-Verfahren verwendet stets g = 0.5.
2.7 Einschlussverfahren 81

2.7.7 Ein kombiniertes Einschlussverfahren

In dem folgenden Algorithmus 2.40 wird das gegebene Einschlussintervall [a, b] zunächst
mit dem Bisektionsverfahren so lange verkleinert, bis seine Länge nicht größer ist als
eine vorgegebene Länge LB. Erst dann kommt ein Einschlussverfahren höherer Konver-
genzordnung, das Pegasus-Verfahren, das Verfahren von Anderson-Björck oder auch das
Illinois-Verfahren, zum Einsatz.
Die Formulierung der Algorithmen 2.36 und 2.38 ist günstig für die Herleitung und die
geometrische Interpretation der Verfahren. Der folgende Algorithmus führt dagegen einen
eventuell erforderlichen modifizierten Schritt erst nach einer nicht erfüllten Abbruchbe-
dingung aus; daher weichen die Formeln für g von denen in Abschnitt 2.7.4 und 2.7.5 ab.
Der Algorithmus 2.40 kann in etwas erweiterter Form auch mit den Verfahren von King
und Anderson-Björck-King arbeiten. Zugunsten einer einfachen und übersichtlichen Dar-
stellung wird auf diese Verfahren verzichtet (siehe jedoch Beispiel 2.41).

Algorithmus 2.40.
Gegeben: f ∈ C[a, b] mit f (a) · f (b) < 0, Schranken AbsErr und RelErr für den
absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0
oder mit AbsErr = 0 und RelErr > 0, die Länge LB > 0 für die
Entscheidung zwischen Bisektions- und Sekantenschritt, die maximal
zulässige Anzahl nf max der Funktionsauswertungen.
Gesucht: Eine Zahl ξ ∈ (a, b), für die f (ξ) = 0 ist, oder ein Einschlussintervall
[x(1) , x(2) ] bzw. [x(2) , x(1) ] für ξ mit
|x(1) − x(2) | ≤ |x(2) | RelErr + AbsErr .
Vorbereitung: x(1) := a, x(2) := b, f1 := f (x(1) ), f2 := f (x(2) ),
nf := 2, v := x(1) − x(2) .
1. Wenn nf ≥ nf max ist, konnte mit nf max Funktionsauswertungen eine Nullstelle
von f nicht ermittelt werden. Die Iteration wird dann abgebrochen.

2. Berechnung der aktuellen Fehlertoleranz: tol := |x(2) | RelErr + AbsErr.

3. Verfahrensschritt wählen und nächste Näherung berechnen:


Wenn |v| > LB ist, wird ein Bisektionsschritt ausgeführt mit
∆x := v · 0.5 , Bis := 1 ,
andernfalls ein Sekantenschritt mit
∆x := v · f2 /(f2 − f1 ) , Bis := 0 .
Falls |∆x| ≤ tol ist, wird
∆x := 0.9 · sgn(v) · tol
gesetzt. Die nächste Näherung ist
x(3) := x(2) + ∆x .
82 2. Lösung nichtlinearer Gleichungen

4. Berechnung des Funktionswertes


f3 := f (x(3) ) , nf := nf + 1 .

Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen.

5. Ermittlung des neuen Einschlussintervalls:


Berechne e := sgn(f2 ) · f3 . Wenn e < 0 ist, werden x(1) mit x(2) und f1 mit f2 ge-
tauscht. Dann werden x(2) := x(3) gesetzt, f2 mit f3 getauscht und v := x(1) − x(2)
berechnet. Jetzt liegt ξ zwischen x(1) und x(2) , und x(2) ist die zuletzt berechnete
Näherung.

6. Prüfung der Abbruchbedingung: Wenn |v| ≤ tol ist, wird die Iteration abgebro-
chen mit
ξ := x(2) , falls |f2 | ≤ |f1 | ist , andernfalls mit ξ := x(1) .
Wenn |v| > tol ist, weiter mit 7.

7. Vorbereitung des nächsten Iterationsschrittes. Im Fall e > 0 wird der Funktions-


wert f1 mittels f1 := g · f1 , 0 < g < 1, wie folgt modifiziert:
a) Pegasus-Verfahren mit g = f3 /(f3 + f2 )
b) Verfahren von Anderson-Björck:
• nach einem Bisektionsschritt (Bis = 1) mit g = f3 /(f3 + f2 )
• nach einem Sekantenschritt (Bis = 0) mit g = 1 − f2 /f3
oder, falls g ≤ 0 ist, mit g = 0.5
c) Illinois-Verfahren mit g = 0.5

Mit dem ermittelten g wird f1 := g · f1 gesetzt.


Die Iteration wird mit 1. fortgesetzt.

Bemerkungen.
• Für das kombinierte Verfahren eignet sich eine Länge LB mit 0 < LB ≤ 0.2,
beispielsweise LB = 0.15. Mit LB > |b − a| werden nur Sekantenschritte, mit
LB = 0 nur Bisektionsschritte ausgeführt. Siehe dazu auch Beispiel 2.41.
• Zu 1. Die Vorgabe von nf max (etwa nf max = 100) schützt vor einer Endlos-
schleife, wenn AbsErr oder RelErr zu klein oder wenn LB zu groß gewählt worden
ist.
• Zu 5. Wenn e < 0 ist, liegt ξ zwischen x(2) und x(3) , andernfalls zwischen x(1) und
x(3) .
• Zu 7. Wegen der Vertauschung von f2 mit f3 in 5. sehen die Formeln für g
anders aus als in den Abschnitten 2.7.4 und 2.7.5. Ein Anderson-Björck-Schritt
mit g = 1 − f2 /f3 setzt voraus, dass vorher ein Sekantenschritt (Bis = 0) aus-
geführt wurde (siehe Abschnitt 2.7.5). Deshalb wird er nach einem Bisektionsschritt
(Bis = 1) durch einen Pegasusschritt ersetzt.
2.7 Einschlussverfahren 83

2.7.8 Das Zeroin-Verfahren

Der als Zeroin-Verfahren bezeichnete programmierte Algorithmus entspricht dem bei


[DEKK1969], [FORS1977], [BREN1971] angegebenen Verfahren. Es ist eine geschickte
Kombination des Bisektionsverfahrens (p = 1), des Sekantenverfahrens (p = 1.618) so-
wie der inversen quadratischen Interpolation (p = 2). Es ist ein Einschlussverfahren, bei
dem ständig mit drei iterierten Näherungswerten für die gesuchte Nullstelle operiert wird.
Aufgrund geometrischer Überlegungen wird jeweils das für die momentane Situation sinn-
vollste Verfahren eingesetzt. Eine ausführliche Beschreibung findet man bei [QUAR2002],
Abschnitt 6.2.3.

Beispiel 2.41.
Für einen Vergleich verschiedener Einschlussverfahren werden üblicherweise die Nullstel-
len von gewissen Testfunktionen berechnet und die dafür benötigten Funktionsauswer-
tungen gezählt.

Für 12 solcher Funktionen (als eine Auswahl aus einem umfangreicheren Test) sind die
Ergebnisse in der nachfolgenden Tabelle zusammengestellt. Verglichen werden das Bisek-
tionsverfahren, das Zeroin-Verfahren, das Illinois- und das Pegasus-Verfahren sowie die
Verfahren von Anderson-Björck, King und Anderson-Björck-King.

Für die letzten fünf Verfahren wird der Algorithmus 2.40 (mit einer Erweiterung für die
letzten beiden Verfahren) angewendet. Sie werden jeweils einmal ohne eine vorangehende
Verkleinerung des Startintervalls [a, b] (LB > |b − a|) und einmal mit einer solchen Ver-
kleinerung mittels Bisektion (LB < |b−a|) eingesetzt. Mit LB = 0 führt der Algorithmus
das Bisektionsverfahren aus.

Damit beim Test alle Verfahren mit einem Intervall der Länge LB beginnen, haben die
Startintervalle die Längen 4 · LB, 8 · LB oder 16 · LB, so dass nach 2, 3 bzw. 4 Bisekti-
onsschritten die Länge LB erreicht ist. Für die Tabelle ist LB = 0.15 gewählt.

Die Abbruchbedingungen bei ν Funktionsauswertungen sind f (x(ν) ) = 0 oder


|x(ν) − x(ν−1) | ≤ |x(ν) | · RelErr mit RelErr = 2·10−11 . Die angegebenen Nullstellen
haben 10 gültige Ziffern.

Funktionen und Startintervalle:


 √  √
x2
1. f (x) = x2 3 + 2 sin x − 3
18 , [0, 1.2] , ξ = 0.399 422 2917

2. f (x) = 11x11 − 1 , [0.4, 1.6] , ξ = 0.804 133 0975

3. f (x) = 35x35 − 1 , [−0.5, 1.9] , ξ = 0.903 407 6632

4. f (x) = 2 (xe−9 − e−9x ) + 1 , [−0.5, 0.7] , ξ = 0.077 014 241 35

5. f (x) = x2 − (1 − x)9 , [−1.4, 1] , ξ = 0.259 204 4937

6. f (x) = (x − 1) e−9x + x9 , [−0.8, 1.6] , ξ = 0.536 741 6626


84 2. Lösung nichtlinearer Gleichungen
 
7. f (x) = x2 + sin x9 − 1
4 , [−0.5, 1.9] , ξ = 0.447 541 7621
 
8. f (x) = 18 9 − x1 , [0.001, 1.201] , ξ = 1
9 = 0.111 111 1111

9. f (x) = tan x − x − 0.046 3025 , [−0.9, 1.5] , ξ = 0.500 000 0340



10. f (x) = x2 + x sin(x 75) − 0.2 , [0.4, 1] , ξ = 0.679 808 9215
9
11. f (x) = x + 0.0001 , [−1.2, 0] , ξ = −0.359 381 3664
x2
12. f (x) = ln x + 2·e −2 x

e
+1, [1, 3.4] , Die Verfahren liefern bei Abbruch
mit f (x(ν) ) = 0 unterschiedliche
Werte für die Nullstelle ξ, die alle im
Intervall [1.6483, 1.6492] liegen. Die
exakte
√ Nullstelle ist
ξ = e = 1.648 721 270 70 . . ..

Die Tabelle zeigt, dass bei der Mehrzahl der Funktionen eine vorbereitende Intervallver-
kleinerung zweckmäßig oder sogar unerlässlich ist. — bedeutet, dass die Nullstelle mit
100 Funktionsauswertungen nicht gefunden wurde.

Anzahl der Funktionsauswertungen

Verfahren/Funktion 1 2 3 4 5 6 7 8 9 10 11 12
Bisektion 40 39 40 41 41 40 41 42 40 38 40 12
Illinois ohne 14 21 63 18 22 22 14 18 19 13 28 25
Bisektion
Illinois mit 12 13 19 14 14 14 13 15 13 12 15 21
Bisektion
Pegasus ohne 12 19 63 17 20 28 11 18 18 12 26 36
Bisektion
Pegasus mit 11 12 16 12 12 11 11 16 11 10 14 29
Bisektion
King ohne 11 17 60 16 19 28 12 18 17 10 25 38
Bisektion
King mit 11 12 15 12 12 11 11 15 11 10 13 29
Bisektion
Anderson-Björck 14 74 — 29 11 22 14 7 19 12 — 30
ohne Bisektion
Anderson-Björck 10 11 16 11 11 11 12 11 12 10 14 24
mit Bisektion
Anderson-Björck- 16 67 — 26 11 22 13 7 18 11 — 29
King ohne
Bisektion
Anderson-Björck- 10 11 15 11 11 11 11 10 11 10 13 24
King mit
Bisektion
Zeroin 12 14 17 10 11 11 13 13 15 12 14 28


2.8 Anwendungsbeispiele 85

2.8 Anwendungsbeispiele

Beispiel 2.42. (Rohrleitungsbeispiel )


Es geht um die Ermittlung des Rohrdurchmessers d zur Optimierung der in Abb. 2.20
skizzierten Druckrohrleitung einer Freistrahlturbine. Die Düse am Rohrleitungsende ist
in Abb. 2.20 rechts noch einmal getrennt skizziert.

Eingabeparameter:

α0 : Geschätztes Flächenverhältnis Düse/Rohr, α ∈ [0.1,0.25]


3
V̇ : Volumenstrom in ms
H : Gesamtgefälle in m
L : Gesamtlänge der Rohrleitung in m
ζD : Widerstandsbeiwert der Düse bezogen auf die Strahlgeschwindigkeit
ζR : Summe aller Formwiderstände der Rohrleitung bezogen auf
die Strömungsgeschwindigkeit im Rohr
g : Gravitationskonstante in sm2
kg
 : Dichte des Wassers in m 3

λ : Rohrreibungsbeiwert

Zu den Eingabeparametern gehören noch Größen aus den Abbruchkriterien für die Ite-
ration, z. B.

ε : |d(ν) − d(ν−1) | ≤ ε , ε > 0 , ν = Iterationsindex


Nmax : Maximale Anzahl der Iterationen

Ausgabeparameter:
d : Rohrdurchmesser in m.

............. ...
......................
...................................................................................................
..............................................................................
6
.....................................................
.......
Düse am Rohrleitungsende:
. . . . . . . ... . . ................
....................................................................................
...........................................................
.............................................................. ..
.......................................................................... ..................
..................... ... .................................. ........................................
................................................................................ .... ........
.... ....
6
............
................................................................................................................................... ... ...
... ... .. ...
.......
............
............................ . ...............................
..................................................................................................................................................................... ... ... ... ...
..........
......................................................................................
... ...
... ... d ... ...
. .
....
. 6
.. ... ...
... ... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... .......
. .
dst
... ... .. .....
...
...
... ...
... ...
... ...
... ...
... ...
. .. .......
. .. ...
.............
......
...
?
....................
.... ... ... .
?
. ....... ...
.. .. .. ...... ... ......
... ...
... .... .... .................................. ...................................
. .
... .... .... ... .................. A
-d
. st
.... . . ... ..
H .. .... ..... AR
... ... ...
... ...
...
 dst 2
.... ... ...
.. ..... ..... Turbinenlaufrad
... ... ... Ast
...
...
... ...
.... ....  ..
..... .... ......
α= AR = d
...... . ..
... ..
...
a
... ...
... ... ... ....... ..... .......
... ... ...
............ ......
? ... ... ...
. .
...... ........ ...... ...... ...... ...... ...... ......... .......... ...... ...... .................................................................... ..... ..... ...
... ...
 . ....
................... .... .
.
.
.
... .
.
... ... .... .... ...
... ... ... ... ..
.... Düse
... ......................................... ...
..............................................
.

Abb. 2.20.
86 2. Lösung nichtlinearer Gleichungen

Vorgehensweise:

(a) Zunächst berechnet man das optimale Flächenverhältnis der Düse αopt aus der
Forderung, dass die Strahlleistung Pst maximal wird.

(b) Für dieses optimierte Flächenverhältnis αopt ist dann derjenige Rohrdurchmesser
d zu bestimmen, der für den vorgegebenen Volumenstrom erforderlich ist.

Die Energiegleichung (erweiterte Bernoulli-Gleichung) lautet


2
vst L v2 v2
gH = + (λ + ζR ) R + ζD st . (2.56)
2 d 2 2
Aus der Kontinuitätsgleichung

V̇ = Ast vst = AR vR (2.57)

folgt mit α = Ast /AR für die Strömungsgeschwindigkeit im Rohr

vR = α vst .

Damit kann aus (2.56) die Strahlgeschwindigkeit vst berechnet werden:


#
2gH
vst = .
1 + ζD + α2 (λ Ld + ζR )

Die Strahlleistung ist

Pst = 12 V̇ vst


2
= 12 AR vR vst
2
= 12 AR α vst
3

$ %3/2
2gH
= 12 AR α 1+ζD +α2 (λ L
.
d +ζR )

∂Pst
Zu (a): Mit der notwendigen Bedingung ∂α = 0 für eine maximale Strahlleistung ergibt
sich das optimale Flächenverhältnis
#
1 + ζD
αopt = .
2(λ Ld + ζR )

∂ 2 Pst
(Wegen ∂α2 (αopt ) < 0 liegt tatsächlich ein Maximum vor.)

Setzt man αopt für α in die Formel für die Strahlgeschwindigkeit vst ein, so ergibt sich
die optimale Strahlgeschwindigkeit
#
4gH
vst (αopt ) = .
3(1 + ζD )
2.8 Anwendungsbeispiele 87

Damit folgt für die optimale Strömungsgeschwindigkeit im Rohr


#
2gH
vR (αopt ) = αopt · vst (αopt ) = .
3(λ Ld + ζR )

Zu (b): Mit der Querschnittsfläche des Rohres

d2
AR = π
4
ist nach (2.57) der optimale Volumenstrom
#
d2 d2 2gH
V̇ = π vR (αopt ) = π ,
4 4 3(λ Ld + ζR )
und daraus folgt für den optimalen Rohrdurchmesser d die nichtlineare Gleichung
#
4V̇ 3 L
d= λ + ζR = ϕ(d) . (2.58)
π 2gH d

Zweimaliges Quadrieren liefert

24V̇ 2 L
f (d) = d 4 − (λ + ζR ) = 0 . (2.59)
π 2 gH d

Zahlenbeispiel.
V̇ = 6.2 m3 /s, H = 1130 m, L = 1300 m, ζD = 0.04, ζR = 2.5, g = 9.81 m/s2 ,
 = 103 kg/m3 , λ = 0.02.
Schranke für den absoluten Fehler ε = 0.5 · 10−6 .
Mit den Startwerten d(1) = 0.7 und d(2) = 0.8 sind f (0.7) < 0 und f (0.8) > 0; also ist
0.7 < d < 0.8. Für die Lösung der Gleichung (2.59)
 
26
d − 0.008 432 327
4
+ 2.5 = 0
d
liefert das Pegasus-Verfahren mit 5 Iterationsschritten

d = 0.748 551.
Somit ergibt sich für den gesuchten optimalen Rohrdurchmesser bei Rundung auf
3-stellige Mantisse d ≈ 0.749 m.
Mit dem Quadrat der optimalen Strahlgeschwindigkeit
2 4gH 4 · 9.81 · 1130 m2
vst (αopt ) = = = 14211.9 m2/s2
3(1 + ζD ) 3 · 1.04 s2
erhält man die maximale Strahlleistung
1 2
Pst = V̇ vst (αopt ) = 44 057 kW.
2
88 2. Lösung nichtlinearer Gleichungen

Das allgemeine Iterationsverfahren, angewendet auf die Gleichung (2.58)


#
26
d = 0.091 827 70 + 2.5 = ϕ(d)
d
benötigt mit dem Startwert d(0) = 0.7 und mit derselben Fehlerschranke 10 Iterations-
schritte. Es konvergiert wesentlich schlechter als das Pegasus-Verfahren. 

Beispiel 2.43. (Turbinenbeispiel )


Eine Turbine arbeitet zwischen zwei Wasserspeichern, deren Spiegel die Höhendifferenz
h besitzen. Stromabwärts von der Turbine wird das Wasser über einen Diffusor, dessen
Endquerschnitt die Fläche A hat, in das untere Becken eingeleitet. An der Turbinenwelle
wird die Leistung P angenommen. Frage: Welcher Volumenstrom V̇ fließt durch die Tur-
bine, wenn von den Verlusten nur der Austrittsverlust am Diffusor berücksichtigt wird?
...
.....................................................................................................
..............................................................
6 .
. . . . . . . . . . . . . . . . . . . ..
...............................................................
...........................................
....................
................................................................ Oberwasserbecken
..........................................
. . . ... . . . . . . . . . . . . . . .
...............................................................
.
............................................................................................................
.. .. ...
... ... ..
... .... ....
... ... ...
... ... ...
... ... ...
... .. ..
... ...
... ... ...
...
....
... ...
... ... P = ṁY ..
T
.. ... ...
... ... ... ..
... ... ..
... ... ... ....
... ... ................................................................................................
h ... ................................................................................ .. ..
.. .. ..
... ... .. ...
.... .... ....... ....
.. ......................
... ..
.... ..... ........ .....
.. ... .. ...
... ... . ...
... ....................
.... .. ...
.. ... ...
... ... ...
.... .... ...
...
.. ... ..
? ...
.........................................................................................................................................................................
.........................................................................
..
? V̇ .................................................................................
.................................
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .........
.....................................................................................................................................................................................
.........................................................................
-
.............................. Unterwasserbecken
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
..
..
A ...
..
.

Abb. 2.21.

Ausgehend von der erweiterten Bernoulli-Gleichung erhält man


 2
1 V̇
g · h − YT = ;
2 A
dabei sind YT die Stutzenarbeit der Turbine und 0.5(V̇ /A)2 der Austrittsverlust am Dif-
fusor. Durch Auflösung nach YT und wegen YT = P/(V̇ ) ergibt sich die Beziehung
 2
1 V̇ P
g·h− = . (2.60)
2 A V̇
Durch einfache Umstellung folgt aus (2.60) die kubische Gleichung für V̇

2P A2
f (V̇ ) := V̇ 3 − 2ghA2 V̇ + = 0.

2.9 Effizienz der Verfahren und Entscheidungshilfen 89

Die praktisch interessierende Lösung dieser Gleichung f (V̇ ) = 0 kann z. B. mit dem
Newton-Verfahren ermittelt werden. Ein Startwert V̇ (0) für die Iteration ergibt sich aus
(2.60) bei Vernachlässigung des Austrittsverlustes und anschließender Auflösung nach V̇
zu
P
V̇ (0) =
·h·g
mit  = 103 kg/m3 , g = 9.81 m/s2 . Man kann aber auch mit jedem Einschlussverfahren
arbeiten.

Zur Lösung der kubischen Gleichung f (V̇ ) = 0 könnte aber ebenso ein Verfahren zur Be-
stimmung sämtlicher Lösungen einer algebraischen Gleichung ohne Kenntnis von Start-
werten (z. B. das Verfahren von Muller) verwendet werden (s. Abschnitt 3.3); hier ist
dann aus den drei Lösungen die für den Anwendungsfall sinnvolle Lösung auszuwählen
(siehe dazu das Beispiel 11). 

2.9 Effizienz der Verfahren und Entscheidungshilfen


Mit Hilfe des Effizienzindex E von Traub (s. [TRAU1984], App. C) lassen sich die Itera-
tionsverfahren gut vergleichen. Seien H die Hornerzahl (Anzahl der erforderlichen Funk-
tionsauswertungen pro Iterationsschritt) und p die Konvergenzordnung eines Iterations-
verfahrens, so ist
E := p1/H
der Effizienzindex.

Die folgende Tabelle gibt eine Übersicht über die Konvergenzordnung und den Effizienz-
index bei Verfahren zur Berechnung einfacher und mehrfacher Nullstellen; je größer E,
desto effizienter ist das Verfahren in der Umgebung der Nullstelle.

Verfahren Konvergenz- Horner- Effizienz Einschluss-


ordnung p zahl H E verfahren
Newton, 2 2 1.414 nein
einfache Nullstelle
Newton, 2 2 1.414 nein
mehrfache Nullstelle
Newton, modifiziert 2 3 1.260 nein
Bisektion 1 1 1 ja
Regula falsi 1 1 1 ja
90 2. Lösung nichtlinearer Gleichungen

Verfahren Konvergenz- Horner- Effizienz Einschluss-


ordnung p zahl H E verfahren
Sekantenverfahren, 1.618 1 1.618 nein
einfache Nullstelle
Illinois 1.442 1 1.442 ja
Pegasus 1.642 1 1.642 ja
Anderson-Björck 1.682. . .1.710 1 1.682. . .1.710 ja
King 1.710. . .1.732 1 1.710. . .1.732 ja
Anderson-Björck-King 1.710. . .1.732 1 1.710. . .1.732 ja

Es zeigt sich, dass man (nicht zuletzt wegen der sicheren Konvergenz) am effektivsten
mit dem Pegasus-Verfahren, dem Verfahren von Anderson-Björck oder den Verfahren von
King und Anderson-Björck-King arbeitet. Das Bisektionsverfahren wird benutzt, um ein
Startintervall mit Einschluss zu verkleinern, bevor eines der genannten Verfahren einge-
setzt wird.

Will man einzelne Polynom-Nullstellen berechnen, so lässt sich auch das Newton-Ver-
fahren zusammen mit dem Hornerschema zur Berechnung der Funktions- und Ablei-
tungswerte effektiv einsetzen. Für transzendente Gleichungen sind weder das Sekanten-
verfahren noch das Newton-Verfahren zu empfehlen.

Die Ermittlung der Lösung einer Gleichung f (x) = 0 mit dem Algorithmus 2.17 für das
allgemeine Iterationsverfahren erfordert umfangreiche Vorbereitungen. Der größte Auf-
wand steckt im 3. Schritt, in dem zu prüfen ist, ob bei der zu f (x) = 0 äquivalenten
Gleichung ϕ(x) = x die Funktion ϕ den Voraussetzungen des Existenz- und Eindeu-
tigkeitssatzes 2.11 genügt. Dagegen kann schon nach dem 1. Schritt – Festlegung eines
Intervalls I, in dem mindestens eine Nullstelle von f liegt – ein Einschlussverfahren zur
Bestimmung dieser Nullstelle eingesetzt werden. Darum hat das allgemeine Iterations-
verfahren für die praktische Ermittlung von Nullstellen keine Bedeutung.

Für den Fall mehrfacher Nullstellen sind die Anmerkungen zu mehrfachen Nullstellen“

in Abschnitt 2.5.3 zu beachten.

Ergänzende Literatur zu Kapitel 2


[HAMM1994], 8.; [HERM2001], Kap.4; [HILD1987], 10.; [MAES1988], 5.; [PREU2001],
Kap.2; [RALS1979], V.; [SCHW1997], 5.; [STOE1989], 5.; [STUM1982], 2; [WERN1993],
II §§1-5.
Kapitel 3

Verfahren zur Lösung


algebraischer Gleichungen

3.1 Vorbemerkungen

Im Folgenden werden Polynome Pn mit


n
Pn (x) = aj xj , aj ∈ C, n ∈ IN, an = 0 (3.1)
j=0

vom Grad n betrachtet. Gesucht sind Nullstellen eines Polynoms (3.1) und somit Lösun-
gen einer algebraischen Gleichung n-ten Grades


n
Pn (x) = aj xj = 0. (3.2)
j=0

Der Fundamentalsatz der Algebra besagt, dass eine algebraische Gleichung (3.2) genau
n komplexe Lösungen xk besitzt, die entsprechend ihrer Vielfachheit αk gezählt werden.
Jedes algebraische Polynom (3.1) lässt sich daher in n Linearfaktoren zerlegen:

Pn (x) = an (x − x1 )(x − x2 ) . . . (x − xn ).

Kommt der Linearfaktor (x − xk ) genau αk -fach vor, so heißt xk eine αk -fache Lösung
von (3.2), und es ergibt sich die Zerlegung

Pn (x) = an (x − x1 )α1 (x − x2 )α2 . . . (x − xm )αm mit α1 + α2 + . . . + αm = n .

Wenn alle Koeffizienten des Polynoms (3.1) reell sind, aj ∈ IR, können komplexe Lösun-
gen von (3.2) nur als Paare konjugiert komplexer Lösungen auftreten, d. h. mit x = α+iβ
ist auch x = α − iβ eine Lösung von (3.2), und zwar mit derselben Vielfachheit. Der Grad
n einer Gleichung (3.2) mit reellen Koeffizienten, die keine reellen Wurzeln besitzt, muss
somit gerade sein, und jede derartige Gleichung ungeraden Grades besitzt mindestens
eine reelle Lösung.
92 3. Verfahren zur Lösung algebraischer Gleichungen

Wenn eine Nullstelle x0 des Polynoms Pn bekannt ist, dann ist

Pn (x) = (x − x0 ) Pn−1 (x),

und das Polynom Pn−1 vom Grad n−1 besitzt die n−1 restlichen Nullstellen von Pn .
Pn−1 ergibt sich mittels Division von Pn durch x − x0

Pn (x)
Pn−1 (x) =
x − x0

und heißt daher abdividiertes Polynom oder Deflationspolynom. Wenn x0 keine Nullstelle
von Pn ist, ist Pn nicht ohne Rest durch x − x0 teilbar, und aus

Pn (x) = (x − x0 ) Pn−1 (x) + Rn

folgt wegen Pn (x0 ) = Rn

Pn (x) = (x − x0 ) Pn−1 (x) + Pn (x0 ).

Außerdem gelten
Pn (x) − Pn (x0 )
Pn−1 (x) = , x = x0 ,
x − x0
und
Pn (x) − Pn (x0 )
Pn−1 (x0 ) = lim = Pn  (x0 ).
x→x0 x − x0
Zur Berechnung von Funktions- und Ableitungswerten eines Polynoms und zur Berech-
nung von abdividierten Polynomen bzw. Deflationspolynomen dient das im Folgenden
erläuterte Horner-Schema. Es wird bei allen Verfahren zur Berechnung von Polynomnull-
stellen als Hilfsmittel eingesetzt, beispielsweise wenn Polynomwerte mit den in Kapitel 2
behandelten Newton-Verfahren ermittelt werden.

Will man sämtliche Lösungen einer algebraischen Gleichung (3.2) berechnen, so ver-
wendet man z. B. das Muller-Verfahren, das Verfahren von Bauhuber oder das Verfahren
von Jenkins und Traub (siehe Abschnitt 3.3).

3.2 Das Horner-Schema

Mit dem Horner-Schema werden Funktions- und Ableitungswerte eines Polynoms Pn


(3.1) an einer festen Stelle x0 berechnet; es arbeitet übersichtlich, rundungsfehlergünstig
und erfordert einen geringeren Rechenaufwand als die Auswertung des Polynoms durch
die Berechnung aller auftretenden Potenzen von x0 .
3.2 Das Horner-Schema 93

3.2.1 Das einfache Horner-Schema für reelle Argumentwerte

Der Wert des Polynoms (3.1) an der Stelle x0 , x0 ∈ IR, ist

Pn (x0 ) = an xn0 + an−1 xn−1


0 + . . . + a1 x0 + a0 ; aj ∈ IR.

Pn (x0 ), kann auch in der folgenden Form geschrieben werden:


   
Pn (x0 ) = . . . (an x0 + an−1 )x0 + an−2 x0 + . . . + a1 x0 + a0 .
  
(1)
an−1
  
(1)
an−2
  
(1)
a1
  
(1)
a0

In dieser Darstellung sind außer Additionen nur Multiplikationen mit dem festen, reellen
Faktor x0 auszuführen. Im Einzelnen sind zu berechnen:
⎧ (1)

⎪ an := an




(1)
an−1
(1)
:= an x0 + an−1


⎨ a(1) (1)
:= an−1 x0 + an−2
n−2
.. (3.3)




.

⎪ (1) (1)

⎪ a := a2 x0 + a1
⎩ 1(1) (1)
a0 := a1 x0 + a0 = Pn (x0 ).

Diese Rechenoperationen (3.3) werden zweckmäßig in der folgenden Anordnung, dem


einfachen Horner-Schema, durchgeführt:

Pn an an−1 an−2 ... a1 a0


(1) (1) (1) (1)
x0 0 an x0 an−1 x0 ... a2 x0 a1 x0

 (1) (1) (1) (1) (1)


an an−1 an−2 ... a1 a0 = Pn (x0 )

In der ersten Zeile stehen, geordnet nach absteigenden Potenzen von x, alle Koeffizienten
(auch die mit dem Wert 0) des Polynoms Pn . Die Summe der untereinander stehenden
Elemente der ersten und der zweiten Zeile wird in der dritten Zeile notiert. Dann wird
diese Summe mit x0 multipliziert und das Produkt in der zweiten Zeile rechts daneben
aufgeschrieben usw.
Bei komplexen Koeffizienten sind sowohl der Realteil als auch der Imaginärteil mit x0 zu
multiplizieren:
(1) (1) (1) (1) (1)
aj x0 = (αj + i βj ) x0 = αj x0 + i βj x0 .
94 3. Verfahren zur Lösung algebraischer Gleichungen

Beispiel 3.1.
Gegeben: Das Polynom P3 : P3 (x) = 2x3 − 4x2 + 3x + 15 mit reellen Koeffizienten.

Gesucht: Der Funktionswert P3 (2).

Lösung: Man erhält mit dem einfachen Horner-Schema

P3 2 −4 3 15
x0 = 2 0 4 0 6

2 0 3 21 = P3 (2)

Für das Polynom P3 mit komplexen Koeffizienten


P3 (x) = (2 + 3 i)x3 + (−4 + 2 i)x2 + (3 − 5 i)x + 15 + 4 i

lautet das Horner-Schema für x0 = 2


P3 2+3i −4 + 2 i 3− 5i 15 + 4 i
x0 = 2 0 4+6i 0 + 16 i 6 + 22 i

2+3i 0+8i 3 + 11 i 21 + 26 i = P3 (2)

Bei der Division von Pn (x) durch (x − x0 ) mit x0 ∈ IR entsteht als Quotient ein Polynom
Pn−1 (x) vom Grad n−1 und als Rest eine Zahl Rn , dividiert durch (x − x0 ):
Pn (x) Rn
= Pn−1 (x) + , x = x0 , bzw.
x − x0 x − x0
Pn (x) = (x − x0 )Pn−1 (x) + Rn . (3.4)

Für x = x0 ist Pn (x0 ) = Rn , so dass sich für (3.4)


Pn (x) = (x − x0 )Pn−1 (x) + Pn (x0 ) (3.5)
ergibt. Nach (3.3) ist
(1)
Pn (x0 ) = a0 ,
und es zeigt sich, dass gilt:
(1) (1) (1)
Pn−1 (x) = a(1)
n x
n−1
+ an−1 xn−2 + . . . + a2 x + a1 .

Setzt man dies in (3.5) ein, so ergibt sich unter Verwendung von (3.3):
 
(1) (1) (1) (1) (1)
(x−x0 )Pn−1 (x)+Pn (x0 ) = an xn−1 + an−1 xn−2 +. . . + a2 x + a1 (x − x0 ) + a0
   
(1) (1) (1) (1) (1)
= an xn + an−1 − an x0 xn−1 +. . .+ ak − ak+1 x0 xk
   
(1) (1) (1) (1)
+. . .+ a1 − a2 x0 x + a0 − a1 x0 = Pn (x).
3.2 Das Horner-Schema 95

Abdividieren von Nullstellen (Deflation)

Ist x0 eine Nullstelle von Pn , so gilt wegen Pn (x0 ) = 0 gemäß (3.5)

Pn (x) = (x − x0 )Pn−1 (x).


Die Koeffizienten des sogenannten abdividierten Polynoms bzw. Deflationspolynoms Pn−1
(1)
sind die aj in der dritten Zeile des einfachen Horner-Schemas für x0 .

3.2.2 Das einfache Horner-Schema für komplexe Argumentwerte

Besitzt das Polynom Pn komplexe Koeffizienten und ist x0 ein komplexer Argumentwert,
so kann man zur Berechnung des Funktionswertes Pn (x0 ) das einfache Horner-Schema
verwenden. Man hat dann lediglich für jeden Koeffizienten eine reelle und eine imaginäre
Spalte zu berechnen; siehe Beispiel 3.1.

Besitzt das Polynom Pn jedoch nur reelle Koeffizienten, so kann man zur Berechnung
des Funktionswertes Pn (x0 ) zu einem komplexen Argumentwert x0 mit dem Horner-
Schema ganz im Reellen bleiben, wenn man das sogenannte doppelreihige Horner-Schema
verwendet. Zunächst nimmt man den zu x0 konjugiert komplexen Argumentwert x0 hinzu
und bildet
(x − x0 )(x − x0 ) = x2 − px − q
mit reellen Zahlen p und q; es gilt p = x0 + x0 , q = −x0 · x0 .

Dividiert man jetzt Pn durch (x2 − px − q), so erhält man die Beziehung

⎨ Pn (x) (1)
= (x2 − px − q)Pn−2 (x) + b1 x0 + b0
(1)
mit
(3.6)
⎩ P (1) (1) (1)
bn xn−2 + bn−1 xn−3 + . . . + b3 x + b2 .
(1)
n−2 (x) =

(1)
Für die Koeffizienten bk von Pn−2 gelten
⎧ (1)

⎪ bn = an ,
(0)






(1)
bn−1
(0)
= an−1 + pbn ,
(1)



⎨ ..
. (3.7)

⎪ bk
(1) (0) (1) (1)

⎪ = ak + pbk+1 + qbk+2 , k = (n−2)(−1)1,



⎪ ..

⎪ .

⎩ (1) (0) (1)
b0 = a0 + qb2 .

Die Rechenoperationen (3.7) werden in dem folgenden doppelreihigen Horner-Schema


durchgeführt:
96 3. Verfahren zur Lösung algebraischer Gleichungen

(0) (0) (0) (0) (0) (0)


Pn an an−1 an−2 ... a2 a1 a0
(1) (1) (1) (1)
q 0 0 qbn ... qb4 qb3 qb2
(1) (1) (1) (1)
p 0 pbn pbn−1 ... pb3 pb2 0

 (1) (1) (1) (1) (1) (1)


bn bn−1 bn−2 ... b2 b1 b0

Für x = x0 folgt aus (3.6) wegen x20 − px0 − q = 0


(1) (1)
Pn (x0 ) = b1 x0 + b0 (3.8)
als gesuchter Funktionswert. Ist x0 Nullstelle von Pn , so folgt wegen Pn (x0 ) = 0 aus (3.8):
(1) (1)
b0 = 0, b1 = 0.

Abdividieren von komplexen Nullstellen bei Polynomen


mit reellen Koeffizienten
(1) (1)
Ist x0 Nullstelle von Pn , so gilt wegen Pn (x0 ) = 0 (d. h. b0 = 0, b1 = 0) gemäß (3.6)
Pn (x) = (x2 − px − q)Pn−2 (x).
(1)
Die Koeffizienten des Deflationspolynoms Pn−2 sind die bk im doppelreihigen Horner-
Schema.

Beispiel 3.2.
Gegeben: P5 (x) = x5 − 3x4 − x + 3.

Gesucht: Das Deflationspolynom P5−2 (x) zu den Nullstellen x0 = i und x0 = −i.

Lösung: Zunächst berechnet man die Werte p und q aus der Beziehung
p = x0 + x0
q = −x0 x0 .
Daraus ergeben sich: p = i − i = 0 und q = (−i)(−i) = −1.

Man erhält mit dem doppelreihigen Horner-Schema

P5 1 −3 0 0 −1 3
q = −1 0 0 (−1)1 (−1)(−3) (−1)(−1) (−1)3
p=0 0 0·1 0·(−3) 0·(−1) 0·3 0·0

1 −3 −1 3 0 0

Das Deflationspolynom lautet: P3 (x) = x3 − 3x2 − x + 3 


3.2 Das Horner-Schema 97

3.2.3 Das vollständige Horner-Schema für reelle Argumentwerte

(1)
Da das Horner-Schema neben dem Funktionswert Pn (x0 ) auch die Koeffizienten aj des
abdividierten Polynoms Pn−1 liefert, ergibt sich die Möglichkeit, die k-ten Ableitungen
(k)
Pn des Polynoms Pn für k = 1(1)n an der Stelle x0 ∈ IR zu berechnen. Aus (3.5) ergibt
sich für die 1. Ableitung

Pn (x) = Pn−1 (x) + (x − x0 )Pn−1



(x),
und für x = x0
Pn (x0 ) = Pn−1 (x0 ).

Pn (x0 ) erhält man also, indem man an die 3. Zeile des Horner-Schemas ein weiteres ein-
faches Horner-Schema anschließt.

Beispiel 3.3. (Fortsetzung von Beispiel 3.1)

P3 ...
x0 = 2 ...

P2 2 0 3 21 = P3 (2)
x0 = 2 0 4 8

2 4 11 = P2 (2)= P3 (2)


Verfährt man nun mit Pn−1 (x) analog wie mit Pn (x), so erhält man
 1 
Pn−1 (x0 ) = Pn−2 (x0 ) = P (x0 ).
2 n
So fortfahrend erhält man schließlich für die abdividierten Polynome
1 (k)
Pn−k (x0 ) = P (x0 ) für k = 1(1)n.
k! n

Beweis. Durch mehrfache Anwendung des einfachen Horner-Schemas erhält man


gemäß (3.6)


⎪ Pn (x) = (x − x0 )Pn−1 (x) + Pn (x0 ),

⎨ Pn−1 (x) = (x − x0 )Pn−2 (x) + Pn−1 (x0 ),
.. (3.9)

⎪ .


P1 (x) = (x − x0 )P0 (x) + P1 (x0 ).

Mit
ck := Pn−k (x0 ) (3.10)

ergibt sich durch sukzessives Einsetzen der Gleichungen in (3.9) für Pn die Darstellung
98 3. Verfahren zur Lösung algebraischer Gleichungen

Pn (x) = (x − x0 )Pn−1 (x) + c0


= (x − x0 )[(x − x0 )Pn−2 (x) + c1 ] + c0
= (x − x0 )2 Pn−2 (x) + (x − x0 )c1 + c0
..
.
= (x − x0 )n cn + (x − x0 )n−1 cn−1 + . . . + (x − x0 )c1 + c0 .

Durch Koeffizientenvergleich mit der Taylorentwicklung von Pn um x0 :



n
1 (k) !
 n
Pn (x) = (x − x0 )
k
Pn (x0 ) = (x − x0 )k ck (3.11)
k!
k=0 k=0
erhält man mit (3.10) und aus (3.11)
1 (k)
ck = Pn−k (x0 ) = P (x0 ).
k! n
Durch Fortsetzung des Horner-Schemas erhält man also mit dem abdividierten Polynom
in x0 Pn−k (x0 ) die Taylorentwicklung von Pn an der Stelle x = x0

n 
n
1 (k)
Pn (x) = (x − x0 )k Pn−k (x0 ) = (x − x0 )k P (x0 ). (3.12)
k! n
k=0 k=0

Rechenschema 3.4. (Vollständiges Horner-Schema)

(0) (0) (0) (0) (0)


Pn an an−1 an−2 ... a1 a0
(1) (1) (1) (1)
x = x0 0 an x0 an−1 x0 ... a2 x0 a1 x0

(1) (1) (1) (1) (1)


Pn−1 an an−1 an−2 ... a1 a0 = Pn (x0 )
(2) (2) (2)
x = x0 0 an x0 an−1 x0 ... a2 x0

(2) (2) (2) (2) 1 


Pn−2 an an−1 an−2 ... a1 = 1! Pn (x0 ) = Pn−1 (x0 )
··· ··· ··· ···
(n−1) (n−1)
P1 an an−1 ...
(n)
x = x0 0 an x0

(n) (n) 1 (n−1)


P0 an an−1 = (n−1)! Pn (x0 ) = P1 (x0 )
x = x0 0

(n+1) 1 (n)
an = n! Pn (x0 ) = P0 (x0 )

(k) (k−1) (k) (k) (k−1)


mit an = an , aj = aj+1 x0 + aj für j = n−1(−1)k−1, k = 1(1)n+1.
3.2 Das Horner-Schema 99

Anzahl der Punktoperationen

Die Aufstellung der Taylorentwicklung von Pn an einer Stelle x0 mit Hilfe des vollständi-
gen Horner-Schemas erfordert (n2 + n)/2 Punktoperationen, während der übliche Weg
(Differenzieren, Berechnen der Werte der Ableitungen, Dividieren durch k!, wobei k! als
bekannter Wert vorausgesetzt wird) n2 + 2n − 2, also für n ≥ 3 mehr als doppelt so
viele Punktoperationen erfordert. Durch das Einsparen von Punktoperationen wird das
rundungsfehlergünstige Arbeiten ermöglicht, denn durch hohe Potenzen häufen sich sy-
stematische Rundungsfehler an.

Beispiel 3.5. (Fortsetzung von Beispiel 3.1)


Gegeben: Das Polynom P3 mit P3 (x) = 2x3 − 4x2 + 3x + 15.

Gesucht: Die Taylorentwicklung für P3 an der Stelle x0 = 2.

Lösung: Die Vorgehensweise erfolgt laut Rechenschema 3.4. Da nur die Koeffizienten
der Taylorentwicklung interessieren, werden die Bezeichnungen Pn−k der Po-
lynome niedrigeren Grades weggelassen.

P3 2 −4 3 15
x0 = 2 0 4 0 6

P2 2 0 3 21 = P3 (2)
x0 = 2 0 4 8

P1 2 4 11 = P3 (2)
x0 = 2 0 4

1 
P0 2 8= 2! P3 (2)
x0 = 2 0

1 
2= 3! P3 (2)

Die Taylorentwicklung (3.12) für P3 um x0 = 2 lautet hiermit

P3 (x) = P3 (x0 ) + (x − x0 )P3 (x0 ) + (x − x0 )2 2!


1  1 
P3 (x0 ) + (x − x0 )3 3! P3 (x0 )
= 21 + 11(x − 2) + 8(x − 2)2 + 2(x − 2)3 .


100 3. Verfahren zur Lösung algebraischer Gleichungen

3.2.4 Anwendungen
Das Horner-Schema wird verwendet
(1) zur bequemen, schnellen und rundungsfehlergünstigen Berechnung der Funktions-
werte und Ableitungswerte eines Polynoms Pn
(2) zur Aufstellung der Taylorentwicklung eines Polynoms Pn an einer Stelle x0
(3) zum Abdividieren von Nullstellen (Deflation von Polynomen)
Man wird z. B. bei der iterativen Bestimmung einer Nullstelle eines Polynoms nach einem
der Newton-Verfahren (siehe Abschnitt 2.5) Pn , Pn bzw. Pn , Pn , Pn mit dem Horner-
Schema berechnen.
Hat man für eine Nullstelle x1 von Pn iterativ eine hinreichend gute Näherung erhalten,
so dividiert man Pn durch (x − x1 ) und wendet das Iterationsverfahren auf das Deflati-
onspolynom Pn−1 an. So erhält man nacheinander alle Nullstellen von Pn und schließt
aus, eine Nullstelle zweimal zu berechnen. Dabei könnten sich aber die Nullstellen der
abdividierten Polynome immer weiter von den Nullstellen des Ausgangspolynoms Pn ent-
fernen, so dass die Genauigkeit mehr und mehr abnimmt. Wilkinson empfiehlt deshalb
in [WILK1969], S.70-83, das Abdividieren von Nullstellen grundsätzlich mit der betrags-
kleinsten Nullstelle zu beginnen, d. h. mit einer Methode zu arbeiten, die für das jeweilige
Polynom eine Anfangsnäherung so auswählt, dass die Iteration gegen die betragskleinste
Nullstelle konvergiert (s. Verfahren von Muller, Abschnitt 3.3.2). Wird diese Forderung
erfüllt, so ergeben sich alle Nullstellen mit einer Genauigkeit, die im Wesentlichen von
ihrer Kondition bestimmt ist und nicht von der Genauigkeit der vorher bestimmten
Nullstelle. Wilkinson empfiehlt außerdem, nachdem man alle Nullstellen mittels Iterati-
on und Abdividieren gefunden hat, die berechneten Näherungswerte als Startwerte für
eine Nachiteration mit dem ursprünglichen Polynom zu verwenden. Man erreicht damit
eine Erhöhung der Genauigkeit, besonders in den Fällen, in denen das Abdividieren die
Kondition verschlechtert hat.

Beispiel 3.6.
Gegeben: Das Polynom P3 : P3 (x) = x3 − 1 und die Nullstelle x1 = 1 von P3 .

Gesucht: Die beiden anderen Nullstellen von P3 .

Lösung: P3 1 0 0 −1
x1 = 1 0 1 1 1

P2 1 1 1 0 = P3 (1)

Das Horner-Schema liefert die Koeffizienten des Deflationspolynoms P2 :


P2 (x) = x2 + x + 1.
Wegen P3 (x) = (x −√1)P2 (x) ergeben sich aus P2 (x) = 0 die beiden anderen Nullstellen
x2,3 = (1/2)(−1 ± i 3). 
3.3 Bestimmung von Lösungen algebraischer Gleichungen 101

3.3 Methoden zur Bestimmung sämtlicher


Lösungen algebraischer Gleichungen

3.3.1 Vorbemerkungen und Überblick

Wenn hinreichend genaue Anfangsnäherungen für die Nullstellen eines Polynoms vorlie-
gen, kann man mit Iterationsverfahren Folgen von Näherungswerten konstruieren, die
gegen die Nullstellen konvergieren. Das Problem liegt in der Beschaffung der Startwerte.

Will man z. B. sämtliche reellen Nullstellen eines Polynoms Pn mit reellen Koeffizienten
mit Hilfe eines der bisher angegebenen Iterationsverfahren berechnen, so muss man:

1. ein Intervall I ermitteln, in dem alle Nullstellen liegen. Das kann z. B. nach dem
folgenden Satz geschehen:
Ist Pn (x) = xn + an−1 xn−1 + . . . + a1 x + a0 das gegebene Polynom und
A = max |ak |, so liegen alle Nullstellen von Pn in einem Kreis um den Null-
k=0(1)n−1
punkt der komplexen Zahlenebene mit dem Radius r = A+1. Also ist I = [−r, +r].
Ist Pn ein Polynom mit lauter reellen Nullstellen (z. B. ein Orthogonalpolynom, s.
Abschnitt 8.2.2, Sonderfälle 2.), so kann der Satz von Laguerre angewandt werden:
Die Nullstellen liegen alle in einem Intervall, dessen Endpunkte durch die beiden
Lösungen der quadratischen Gleichung

nx2 + 2an−1 x + 2(n − 1)an−2 − (n − 2)a2n−1 = 0

gegeben sind.

2. die Anzahl reeller Nullstellen nach den Vorzeichenregeln von Sturm und Descartes
berechnen,

3. die Lage der Nullstellen durch Intervallteilung, Berechnung der Funktionswerte und
Abzählung der Anzahl der Vorzeichenwechsel ermitteln.

Mit 3. ist es möglich, Intervalle Ik ⊂ I anzugeben, in denen jeweils nur eine Nullstelle
xk ungerader Ordnung liegt. Dann lässt sich z. B. das Newtonsche Verfahren zur nähe-
rungsweisen Berechnung der xk anwenden. Dabei sind Pn und Pn (bzw. Pn , Pn , Pn ) mit
Hilfe des Horner-Schemas zu berechnen.

Der soeben beschriebene Weg ist mühsam und für die Praxis uninteressant. Hier braucht
man Verfahren, die in kürzester Zeit und ohne Kenntnis von Startwerten sämtliche reel-
len und komplexen Nullstellen eines Polynoms mit reellen bzw. komplexen Koeffizienten
liefern.

Für Polynome mit reellen Koeffizienten werden diese Anforderungen mühelos vom Ver-
fahren von Muller erfüllt, s. Abschnitt 3.3.2. Das Muller-Verfahren lässt sich auch auf
Polynome mit komplexen Koeffizienten erweitern.
102 3. Verfahren zur Lösung algebraischer Gleichungen

Für Polynome mit komplexen Koeffizienten werden hier zwei Verfahren genannt, das
Verfahren von Jenkins und Traub und das Verfahren von Bauhuber. Das Verfahren von
Jenkins-Traub wird hier nur kurz ohne Formulierung eines Algorithmus beschrieben.

3.3.2 Das Verfahren von Muller

Das Verfahren von Muller [MULL1956] liefert ohne vorherige Kenntnis von Startwerten
sämtliche reellen und konjugiert komplexen Nullstellen eines Polynoms

n
Pn : Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn = aj xj für aj ∈ IR, an = 0.
j=0

Dazu wird wie folgt vorgegangen:


(N )
Zunächst wird durch Muller-Iteration (s. Muller-Iteration) ein Näherungswert x1 für
(N )
die betragskleinste Nullstelle x1 von Pn bestimmt. Nach Division Pn (x)/(x − x1 )
mit Horner und Vernachlässigung des Restes erhält man ein Polynom Pn−1 vom Grad
n−1, das im Rahmen der erzielten Genauigkeit ungefähr gleich dem Deflationspolynom
Pn (x)/(x − x1 ) ist. Von Pn−1 wird wiederum durch Muller-Iteration mit Pn−1 statt Pn
(N )
und x2 statt x1 ein Näherungswert x2 für die betragskleinste Nullstelle x2 von Pn−1
(N )
bestimmt. Mit x2 wird analog verfahren. Man erhält so Näherungswerte sämtlicher
Nullstellen von Pn ungefähr dem Betrage nach geordnet (möglicherweise erhält man
auch die im Betrag zweitkleinste Nullstelle zuerst).

In den meisten Testbeispielen ergab sich die Anordnung

|x1 | ≤ |x2 | ≤ . . . ≤ |xn |.

Hat man durch Abdividieren und Anwendung des Muller-Verfahrens auf das jeweilige
Deflationspolynom alle Nullstellen von Pn näherungsweise gefunden, so empfiehlt es sich
grundsätzlich, die gewonnenen Näherungswerte als Startwerte für eine Nachbesserung
mit dem Newton-Verfahren, angewandt auf das ursprüngliche Polynom Pn , zu verwen-
den. Man sollte aber auf jeden Fall erst sämtliche Nullstellen von Pn auf dem beschrie-
benen Weg näherungsweise berechnen, bevor man sie verbessert. Nach Untersuchungen
von Wilkinson ist es nicht notwendig, direkt jede Nullstelle noch vor dem Abdividieren
mit dem ursprünglichen Polynom zu verbessern.

Prinzip der Muller-Iteration


Das Verfahren von Muller arbeitet mit quadratischen Parabeln (siehe Abbildung 3.1):
Zur Bestimmung der (im Allgemeinen betragskleinsten) Nullstelle x1 von Pn wird durch
die drei Punkte
     
x(0) , Pn (x(0) ) , x(1) , Pn (x(1) ) , x(2) , Pn (x(2) )
die quadratische Parabel mit der Gleichung y = Φ(x) gelegt; sie ist eindeutig bestimmt.
Als Startwerte werden x(0) = −1, x(1) = 1, x(2) = 0 genommen. Dann werden die beiden
Nullstellen von Φ berechnet und die zu x(2) nächstliegende als neue Näherung x(3) für x1
3.3 Bestimmung von Lösungen algebraischer Gleichungen 103

verwendet. In einem
 nächsten Schritt wird eine neue Parabel y = Φ(x) durch die Punkte
x(k) , Pn (x(k) ) für k = 1, 2, 3 gelegt und die zu x(3) nächstliegende Nullstelle von Φ als
neue Näherung x(4) für x1 bestimmt. Analog fortfahrend bricht man das Verfahren ab,
wenn sich für einen festen Index N die Näherungen x(N ) und x(N −1) hinreichend wenig
voneinander unterscheiden, x(N ) ist dann der gesuchte Näherungswert für die Nullstelle
x1 von Pn .
y6
...........
.... ........................
... .....
.. ...... b
....
b
....
........... .....
..... ...
.
..
........... ....
.....
... . .
. ...
..
.
... .. ..
.. .
.... ... ...
... ..
... .
... ..
...
..
y = Pn (x)
..
.. .
.... ... . ... ... .
...
.. ... .. .. ... ... ...
.. ... .. ... ... ..
...
.. ... .. ... .. ..
..
.. ... .. .. .. .. ..
.. .... . .
. .. ..
... .. .. (0)... (2) ... .. (1) ...
...
...
..
.. ..
..
x r x
.. r .. ..
... . . rx ... -
.. ... .. .. ..
... ... .. ... .... .. ...
−2 −1
.
...
...
....
.
...
... .
.. ... . .. .
1
... .. . ... 2 .
...
. x
..... .... .. ...... .. .. ...
........ ........... .. .. .. . ..
.......
.. .... ..... .....
....
..
..
b .. ........
. ....
(3) ... ....................................
..
.. x ... .
..
.. ..
.. ..
.. ..
.. ..
.. y = Φ(x)
..

Abb. 3.1. Zum Muller-Verfahren

Um die Nullstelle x2 von Pn zu erhalten, wird der Linearfaktor (x − x(N ) ) von Pn mit
Hilfe des Horner-Schemas abdividiert, der Rest vernachlässigt und das Muller-Verfahren
nunmehr auf Pn−1 angewandt. Man erhält so im Allgemeinen die betragskleinste Null-
stelle von Pn−1 , d. h. die Nullstelle x2 von Pn mit |x1 | ≤ |x2 |.

Herleitung der Iterationsvorschrift für das Muller-Verfahren


Eine quadratische Parabel ist durch die Vorgabe von drei Punkten eindeutig bestimmt,
ihre
 (k)Gleichung y = Φ(x) ergibt sich als Interpolationspolynom Φ zu den Wertepaaren
x , f (x(k) ) = x(k) , Pn (x(k) ) für k = ν−2, ν−1, ν in Lagrangescher Form wie folgt:

(x − x(ν−1) )(x − x(ν−2) )


Φ(x) = f (x(ν) )
(x(ν) − x(ν−1) )(x(ν) − x(ν−2) )
(x − x(ν) )(x − x(ν−2) )
+ f (x(ν−1) ) (3.13)
(x(ν−1) − x(ν) )(x(ν−1) − x(ν−2) )
(x − x(ν) )(x − x(ν−1) )
+ f (x(ν−2) ).
(x(ν−2) − x(ν) )(x(ν−2) − x(ν−1) )

Mit hν := x(ν) − x(ν−1) , h := x − x(ν) erhält man für (3.13) die Darstellung
(h + hν )(h + hν + hν−1 )
Φ(x) = Φ(x(ν) + h) = f (x(ν) )
hν (hν + hν−1 )
h(h + hν + hν−1 )
− f (x(ν−1) )
hν hν−1
h(h + hν )
+ f (x(ν−2) ).
(hν + hν−1 )hν−1
104 3. Verfahren zur Lösung algebraischer Gleichungen

Nach Zusammenfassung gleicher Potenzen in h und mit den Abkürzungen


hν h
qν := , q := , fν := f (x(ν) )
hν−1 hν
erhält man die Parabelgleichung y = Φ(x) mit
Aν q 2 + Bν q + Cν
Φ(x) = Φ(x(ν) + qhν ) =
1 + qν
wobei die folgenden Abkürzungen verwendet werden:

Aν := qν fν − qν (1 + qν )fν−1 + qν2 fν−2 ,


Bν := (2qν + 1)fν − (1 + qν )2 fν−1 + qν2 fν−2 , (3.14)
Cν := (1 + qν )fν .

Zur Bestimmung der Schnittpunkte der Parabel mit der x-Achse setzt man

Aν q 2 + Bν q + Cν = 0.

Dies führt auf die beiden Werte für q:


# "
Bν Bν2 Cν −Bν ± Bν2 − 4Aν Cν
q1/2 = − ± − =
2Aν 4A2ν Aν 2Aν
−2Cν
= " (3.15)
Bν ± Bν2 − 4Aν Cν

und damit auf die Lösungen x1/2 der Gleichung Φ(x(ν) + qhν ) = 0 :

x1/2 = x(ν) + hν q1/2 . (3.16)

Eine der beiden Lösungen wird als neue Näherung x(ν+1) verwendet, es wird diejenige
ausgewählt, die näher an x(ν) liegt.
" Dies wird dadurch realisiert, dass im Nenner von
(3.15) das Vorzeichen der Wurzel Bν2 − 4Aν Cν so gewählt wird, dass der Nenner den
größeren Betrag erhält.

Falls der Nenner von (3.15) verschwindet (dies ist dann der Fall, wenn
f (x(ν) ) = f (x(ν−1) ) = f (x(ν−2) ) gilt), schlägt Muller vor, statt (3.15) für q1/2 = 1
zu setzen und damit weiterzurechnen. In diesem Fall entartet die Parabel in eine zur
x-Achse parallele Gerade, die keinen Schnittpunkt mit der x-Achse hat.

Der ausgewählte Wert von q1/2 wird dann qν+1 genannt, und es wird gesetzt

x(ν+1) := x(ν) + hν qν+1 für ν = 2, 3, 4, . . . (3.17)

Automatischer Startprozess
Als Startwerte für die Iteration werden fest vorgegeben

x(0) = −1, x(1) = 1, x(2) = 0. (3.18)


3.3 Bestimmung von Lösungen algebraischer Gleichungen 105

Als Funktionswerte an den Stellen x(0) , x(1) , x(2) (und nur an diesen!) werden im All-
gemeinen nicht die Funktionswerte des jeweiligen Polynoms Pn genommen, sondern die
Werte

a0 − a1 + a2 statt f0 := Pn (x(0) ),
a0 + a1 + a2 statt f1 := Pn (x(1) ), (3.19)
a0 für f2 := Pn (x(2) ).

Die Verwendung dieser künstlichen Funktionswerte wurde von Muller selbst empfohlen
(vgl. Algorithmus 3.7). Man kann aber ebenso an den Startstellen x(0) , x(1) , x(2) die wirk-
lichen Polynomwerte f0 := Pn (x(0) ), f1 := Pn (x(1) ), f2 := Pn (x(2) ) benutzen, wie es in
Abbildung 3.1 gemacht wurde.

Abbruchbedingung
Die Iteration (3.17) wird abgebrochen, falls zu vorgegebenem ε > 0 die Bedingung
 (ν+1) 
x − x(ν) 

 x(ν+1) <ε (3.20)

(N )
erfüllt ist. Ist dies für ein ν = N−1 der Fall, so ist x(N ) = x1 der gesuchte Näherungs-
wert für x1 .

Auftreten konjugiert komplexer Nullstellen

Falls der Radikand der Wurzel in (3.15) negativ ausfällt, so kann dies zwei Ursachen
haben:
(1) Eine reelle Lösung der Gleichung f (x) ≡ Pn (x) = 0 wird durch eine Folge konju-
giert komplexer Zahlen approximiert. Die Imaginärteile der Folge {x(ν) } sowie die
Imaginärteile der zugehörigen Polynomwerte streben dann gegen Null.
(2) x1 ist eine komplexe Nullstelle. Mit x1 ist dann auch x1 Nullstelle von Pn . In diesem
(N ) (N )
Fall liefert die Division Pn /[(x− x1 )(x− x1 )] unter Vernachlässigung des Restes
ein Polynom Pn−2 vom Grad n−2 (s. Abschnitt 3.2.2), für das wiederum die Muller-
Iteration eine Näherung für die im Allgemeinen betragskleinste Nullstelle liefert.

Zur Konvergenz des Verfahrens


Konvergenz im Großen konnte nicht nachgewiesen werden. Es konnte aber gezeigt wer-
den, dass Konvergenz eintritt, wenn der Prozess hinreichend nahe an einer einfachen bzw.
doppelten Nullstelle beginnt. Jedoch erreichte Muller mit der in [MULL1956], S.210,
angegebenen Modifikation Konvergenz in allen getesteten Fällen zu dem angegebenen
Startprozess. Die Modifikation besteht darin, dass man jeweils die Bedingung

|f (x(ν+1 )/f (x(ν) )| ≤ 10 (3.21)


(ν+1)
prüfen muss. Ist der Wert > 10, so wird qν+1 halbiert, es werden hν+1 , x und
f (x(ν+1) ) neu berechnet.
106 3. Verfahren zur Lösung algebraischer Gleichungen

Algorithmus 3.7. (Muller-Verfahren)


Gegeben ist ein Polynom Pn , gesucht ist die betragskleinste Nullstelle x1 von Pn .

1. Schritt: Benutzung der Startwerte (3.18) x(0) = −1, x(1) = 1, x(2) = 0 und Be-
rechnung von fν := Pn (x(ν) ) für ν = 0, 1, 2 bzw. der künstlichen Funk-
tionswerte (3.19).
2. Schritt: Berechnung der Näherungen x(ν+1) , ν = 2, 3, 4 ... für x1 gemäß Itera-
tionsvorschrift (3.17) mit (3.16),(3.15),(3.14).
Nach jedem Iterationsschritt ist die Bedingung (3.21) zu prüfen. Ist sie
nicht erfüllt, so ist qν+1 zu halbieren, und es sind hν+1 , x(ν+1) und fν+1
neu zu berechnen und damit die Iteration fortzusetzen. Die Iteration ist
(N )
abzubrechen, falls (3.20) für ein ν = N−1 erfüllt ist. Dann ist x(N ) = x1
der gesuchte Näherungswert für x1 .
3. Schritt: (a) Berechnung des abdividierten Polynoms Pn−1 im Falle einer reel-
(N )
len Näherung x1 mit dem Horner-Schema (siehe Abschnitt 3.2.1)
(N )
unter Vernachlässigung des Restes, der entstehen kann, weil x1 ein
Näherungswert für x1 ist.
(b) Berechnung des abdividierten Polynoms Pn−2 im Falle einer kom-
(N )
plexen Lösung x1 mit dem doppelreihigen Horner-Schema (siehe
(N ) (N )
Abschnitt 3.2.2); es gilt Pn−2 (x) = Pn (x)/[(x − x1 )(x − x1 )],
(N ) (N )
wobei x1 die zu x1 konjugiert komplexe Lösung von Pn ist. Auch
hier ist der Rest zu vernachlässigen.

Alle weiteren Nullstellen werden nach dem gleichen Algorithmus berechnet, jeweils
angewandt auf die abdividierten Polynome f := Pn−1 , f := Pn−2 ,. . . . Man erhält so
sämtliche Lösungen in etwa dem Betrage nach geordnet.

Konvergenzordnung

Sei ξ eine einfache Nullstelle des Polynoms f (x) := Pn (x), so lässt sich zeigen, dass zwi-
schen den Fehlern

∆x(ν) := x(ν) − ξ
aufeinander folgender Muller-Iterationen die Beziehung
⎧  (3) 

⎨ ∆x(ν+1) = ∆x(ν) · ∆x(ν−1) · ∆x(ν−2) · f (ξ) + O(ε)
6f  (ξ) (3.22)

⎩ mit ξ = max |∆x |
(i)
i=ν−2,ν−1,ν

besteht. Heuristisch betrachtet ergibt sich aus (3.22) eine Beziehung der Form

|∆x(ν+1) | ≈ K · |∆x(ν) | · |∆x(ν−1) | · |∆x(ν−2) | ,


in die man gemäß Definition der Konvergenzordnung p einsetzen kann

|∆x(k+1) | ≈ M |∆x(k) |p für k = ν−1, ν, ν+1,


3.3 Bestimmung von Lösungen algebraischer Gleichungen 107

so dass sich ergibt


−p
2
− p12 1
1+ p + p12
M |∆x(ν) |p ≈ KM |∆x(ν) | . (3.23)

Durch Vergleich zugehöriger Exponenten in (3.23) kann man wiederum folgern, dass die
Gleichungen
−2− 1 1+ 2 + 1
M = KM p p2 ⇒ K = M p p2
und
1 1
p=1+ + 2 ⇒ p3 − p2 − p − 1 = 0 (3.24)
p p

gelten müssen. Als einzige reelle Nullstelle der kubischen Gleichung (3.24) erhält man
nun für die Konvergenzordnung des Muller-Verfahrens im Falle einfacher Nullstellen den
Wert
p ≈ 1.84 .
Im Falle doppelter Nullstellen ermittelt man analog p ≈ 1.23.

Beispiel 3.8.
Gegeben: Das Polynom P3 mit

f (x) := P3 (x) = x3 − 7x2 − 36x + 252 .

Gesucht: Eine (im Allgemeinen die betragskleinste) Nullstelle mit dem Muller-Verfah-
ren. Für die Abbruchbedingung wähle man die sehr grobe Schranke ε = 0.1,
damit nur wenige, mit dem Taschenrechner nachvollziehbare Schritte durch-
geführt werden müssen.

Lösung: Die exakten Nullstellen liegen hier bei x1 = 6, x2 = −6, x3 = 7, voraussichtlich


wird mit Muller eine der Nullstellen −6 oder +6 zuerst ermittelt. Es wird nach
Algorithmus 3.7 vorgegangen.

1. Schritt. (Bestimmung der Startwerte): Es werden a0 = 252, a1 = −36, a2 = −7, a3 = 1


gesetzt und die künstlichen Funktionswerte (3.19) verwendet:

f0 := a0 − a1 + a2 = 281 ,
f1 := a0 + a1 + a2 = 209 ,
f2 := a0 = 252 .

2. Schritt. (Muller-Iteration): Mit der Abbruchbedingung

|x(ν+1) − x(ν) |
= K (ν+1) < ε = 0.1
|x(ν+1) |
erhält man folgende Werte in der Tabelle bei 6-stelliger Mantisse:
108 3. Verfahren zur Lösung algebraischer Gleichungen

ν=2 ν=3 ν=4 ν=5


x(ν) 0.00000 3.95638 5.04950 5.64275
x(ν−1) 1.00000 0.00000 3.95638 5.04950
x(ν−2) −1.00000 1.00000 0.00000 3.95638
fν 252.000 61.9288 20.4851 5.64525
fν−1 209.000 252.000 61.9288 20.4851
fν−2 281.000 209.000 252.000 61.9288
hν −1.00000 3.95638 1.09313 .593250
hν−1 2.00000 −1.00000 3.95638 1.09313
qν −.500000 −3.95638 .276295 .542710
Aν −3.50000 78.9176 3.05912 4.15283
Bν 18.0000 640.840 −49.8353 −18.7408
Cν 126.000 −183.085 26.1451 8.70899
qν+1 −3.95638 .276295 .542710 .526021
x(ν+1) 3.95638 5.04950 5.64275 5.95482
K (ν+1) 1.00000 .216482 .105135 .0524050
(6)
⇒ x(6) = x1 = 5.95482 ≈ x1 (die exakte Lösung ist x1 = 6).

3. Schritt. (Berechnung des Deflationspolynoms mit Horner):


P3 1.00000 −7.00000 −36.0000 252.000
(6)
5.95482 = x1 0.00000 5.95482 −6.22386 −251.435

P2
(6)
1.00000 −1.04518 −42.2224 0.564652 = P3 (x1 )

Der Rest wird vernachlässigt, im Allgemeinen ist er vernachlässigbar klein, wenn die
Abbruchschranke ε entsprechend klein gesetzt wird, also mehr Iterationsschritte durch-
geführt werden. Das Deflationspolynom P2 lautet hier:
P2 (x) = x2 − 1.04518x − 42.2224.
Die Nullstellen von P2 würde man hier nicht mehr mit der Muller-Iteration, sondern mit
der Lösungsformel für die quadratische Gleichung bestimmen.
Da jedoch das Deflationspolynom P2 hier wegen der geringen Anzahl der Iterationen in
der Muller-Iteration zur Bestimmung von x1 so ungenau ist, wird hier auf die Lösung
der quadratischen Gleichung P2 (x) = 0 verzichtet. Stattdessen wird das (exakte) Defla-
tionspolynom P2 zu x1 = 6 bestimmt, es ergibt sich aus

P3 1 −7 −36 252
x1 = 6 0 6 −6 −252
P2 1 −1 −42 0
zu P2 (x) = x2 − x − 42. 
&
7
Aus P2 (x) = 0 ⇒ x2,3 = 1
± 1
+ 42 = 1
± 13
= ⇒ x2 = −6, x3 = 7
2 4 2 2 −6
(exakte Lösungen). 
3.3 Bestimmung von Lösungen algebraischer Gleichungen 109

Beispiel 3.9.
Gegeben: Tschebyscheff-Polynom 20. Grades. Alle ungeraden Koeffizienten (ai mit
ungeradem i) sind Null, die geraden haben folgende Werte:
i ai i ai i ai
0 1 8 549120 16 5570560
2 −200 10 −2050048 18 −2621440
4 6600 12 4659200 20 524288
6 −84480 14 −6553600

Gesucht: Die Nullstellen mit Hilfe des Muller-Verfahrens.

Lösung: Alle Nullstellen sind reell (d. h. die Imaginäranteile sind alle Null):

Nr. Realteil Funktionswert


1 7.8459095727844944·10−2 4.499439·10−18
2 −7.8459095727844944·10−2 4.499439·10−18
3 2.3344536385590542·10−1 −1.640398·10−16
4 −2.3344536385590531·10−1 −2.591243·10−15
5 3.8268343236508895·10−1 3.134358·10−14
6 −5.2249856471592970·10−1 −7.623839·10−14
7 −3.8268343236509078·10−1 −4.363090·10−14
8 6.4944804833011016·10−1 5.602117·10−13
9 5.2249856471595912·10−1 −5.736676·10−14
10 −8.5264016435600176·10−1 −1.822139·10−11
11 −7.6040596559929752·10−1 −1.313971·10−11
12 9.2387953251541677·10−1 1.544246·10−10
13 −6.4944804833034364·10−1 −5.771170·10−12
14 8.5264016435246492·10−1 6.954797·10−11
15 7.6040596560043328·10−1 1.432173·10−11
16 −9.7236992039993275·10−1 −4.494755·10−11
17 −9.2387953250848343·10−1 −2.059382·10−10
18 9.7236992039193171·10−1 3.899448·10−10
19 −9.9691733373235725·10−1 −9.982099·10−11
20 9.9691733373603186·10−1 1.128625·10−09

3.3.3 Das Verfahren von Bauhuber


Das Verfahren von Bauhuber [BAUH1970] liefert sämtliche reellen und komplexen Null-
stellen eines Polynoms Pn mit komplexen Koeffizienten.

Prinzip des Verfahrens


Zu einem beliebigen Startwert x(0) soll eine Folge von Näherungen {x(ν) },
ν = 1,2,... , so konstruiert werden, dass die zugehörige Folge der Beträge von Pn monoton
fällt
|Pn (x(0) )| > |Pn (x(1) )| > . . . .
110 3. Verfahren zur Lösung algebraischer Gleichungen

Als Iterationsverfahren wird das Verfahren von Newton verwendet. Die Iteration wird
abgebrochen, wenn z. B. die Abfrage |Pn (x(ν+1) )| < ε zu vorgegebenem ε > 0 erfüllt ist.
Gilt für ein festes ν
|Pn (x(ν) )| ≤ |Pn (x(ν+1) )|, (3.25)
so muss x(ν+1) aus der Folge der {x(ν) } ausgeschlossen werden. Mit einem zweidimen-
sionalen Suchprozess, der als Spiralisierung bezeichnet und komplex durchgeführt wird,
wird dann ein neues x(ν+1) ermittelt, für das

|Pn (x(ν+1) )| < |Pn (x(ν) )|

gilt; damit wird die Iteration fortgesetzt. Die Folgen der Näherungswerte werden durch
Extrapolation verbessert. Ist x(N ) der ermittelte Näherungswert, so wird er als Nullstelle
von Pn bezeichnet; man berechnet das Deflationspolynom Pn (x)/(x − x(N ) ) mit dem
Horner-Schema, vernachlässigt den Rest und wendet das eben beschriebene Verfahren
auf das Restpolynom Pn−1 vom Grad n−1 an. Analog fortfahrend erhält man alle Null-
stellen des Polynoms Pn .

Grundgedanke der Spiralisierung

Es sei x(ν+1) derjenige Wert der Folge {x(ν) }, für den erstmals (3.25) gilt. Dann muss
innerhalb eines Kreises um x(ν) mit dem Radius r = |x(ν+1) − x(ν) | ein xs+1 existieren
mit
|Pn (xs+1 )| < |Pn (x(ν) )|,
welches durch Absuchen des Kreisgebietes von außen nach innen mit einer Polygonspirale
ermittelt wird. Dazu wird mit einem komplexen Faktor q = q1 + iq2 , q1 , q2 reell, |q| < 1
gearbeitet, den Bauhuber q = 0.1 + 0.9i wählt (diese Wahl ist nicht bindend).

Algorithmus für die Spiralisierung

Mit den Startwerten

x0 := x(ν+1) mit (3.25)


∆x0 := x(ν+1) − x(ν)
q := 0.1 + 0.9i,

werden zunächst für k = 0 nacheinander die folgenden Größen berechnet:




⎪ ∆xk+1 = q ∆xk

xk+1 = x(ν) + ∆xk+1 (3.26)



∆Pn = |Pn (x(ν) )| − |Pn (xk+1 )|.

Im Falle ∆Pn ≤ 0 wird k um eins erhöht und (3.26) erneut berechnet. Analog wird so
lange fortgefahren, bis erstmals für ein k = s gilt ∆Pn > 0. Dann wird x(ν+1) ersetzt
durch xs+1 und damit nach Newton weiter iteriert.
3.3 Bestimmung von Lösungen algebraischer Gleichungen 111

Beispiel 3.10.

Gegeben: Polynom 20. Grades mit reellen Koeffizienten: ai = 2i , i = 0(1)20,


also: a0 = 1, a1 = 2, a2 = 4, a3 = 8, . . . , a20 = 1 048 576.
Gesucht: Die Nullstellen mit Hilfe des Bauhuber-Verfahrens.
Lösung: Die Nullstellen sind alle komplex:

Nr. Realteil Imaginärteil Funktionswert


1 3.7365046793212141·10−2 4.9860189859059006·10−1 3.255883·10−16
2 3.7365046793212134·10−2 −4.9860189859059006·10−1 2.053316·10−16
3 −4.9441541311256426·10−1 7.4521133088087207·10−2 3.318920·10−16
4 −2.5000000000000000·10−1 −4.3301270189221935·10−1 7.412270·10−16
5 4.1311938715799745·10−1 −2.8166002903181098·10−1 2.094378·10−15
6 1.8267051218319749·10−1 4.6543687432210207·10−1 2.147101·10−15
7 −4.9441541311256426·10−1 −7.4521133088087207·10−2 3.318920·10−16
8 4.1311938715799745·10−1 2.8166002903181109·10−1 5.020949·10−15
9 −3.6652593591491317·10−1 3.4008636888545973·10−1 9.204744·10−16
10 3.1174490092936680·10−1 −3.9091574123401490·10−1 1.915832·10−15
11 −2.4999999999999997·10−1 4.3301270189221935·10−1 7.478286·10−16
12 −3.6652593591491323·10−1 −3.4008636888545973·10−1 1.429672·10−15
13 4.7778640289307039·10−1 1.4737758720545208·10−1 5.395137·10−15
14 −4.5048443395120957·10−1 −2.1694186955877898·10−1 1.904520·10−15
15 1.8267051218319749·10−1 −4.6543687432210218·10−1 2.276995·10−15
16 −1.1126046697815717·10−1 4.8746395609091175·10−1 1.536479·10−15
17 −1.1126046697815721·10−1 −4.8746395609091181·10−1 1.417072·10−16
18 3.1174490092936669·10−1 3.9091574123401496·10−1 4.364151·10−15
19 4.7778640289307039·10−1 −1.4737758720545216·10−1 9.020717·10−15
20 −4.5048443395120963·10−1 2.1694186955877906·10−1 1.427738·10−15

3.3.4 Das Verfahren von Jenkins und Traub

Das Verfahren von Jenkins und Traub ([JENK1970], [TRAU1966]) ist ein Iterations-
verfahren zur Ermittlung der betragskleinsten Nullstelle eines Polynoms Pn mit kom-
plexen Koeffizienten. Es ist für alle Startwerte x(0) ∈ [−∞, |xi |min ] global konvergent
von mindestens zweiter Ordnung. Es behandelt auch den Fall von zwei oder mehr be-
tragsgleichen Nullstellen. Je nachdem, ob die betragskleinste Nullstelle einfach, zweifach
oder mehr als zweifach ist, wird der vom Computer auszuführende Algorithmus automa-
tisch durch entsprechend eingebaute logische Entscheidungen modifiziert. Nachdem die
betragskleinste(n) Nullstelle(n) näherungsweise ermittelt ist (sind), wird durch Abdivi-
dieren der Nullstelle(n) das Restpolynom bestimmt. Hiervon liefert das gleiche Verfahren
eine Näherung für die nächste(n) Nullstelle(n).
112 3. Verfahren zur Lösung algebraischer Gleichungen

3.4 Anwendungsbeispiel
Beispiel 3.11.
Gegeben: Für die im Beispiel 43 (Turbinenbeispiel) hergeleitete kubische Gleichung er-
gibt sich mit den Daten für h, A, P in einem konkreten Fall
P3 (V̇ ) = V̇ 3 − 11144.16 · V̇ + 44233.6 = 0 .

Gesucht: Der optimale Volumenstrom V̇ , der mit Hilfe der Muller-Iteration berechnet
werden soll. Für die Abbruchbedingung wähle man die Schranke  = 0.00001,
damit nur wenige, mit dem Taschenrechner nachvollziehbare Schritte, durch-
geführt werden müssen.

Lösung:
1. Schritt. (Bestimmung der Startwerte): Man setzt a0 = 44233.6, a1 = −11144.16 und
a2 = 0 und verwendet die künstlichen Funktionswerte (3.19), d. h.
f0 := a0 − a1 = 55377.76
f1 := a0 + a1 = 33089.44
f2 := a0 = 44233.6

2. Schritt (Muller-Iteration): Mit der Abbruchbedingung

|V̇ (ν+1) − V̇ (ν) |


= K (ν+1) <  = 0.00001
|V̇ (ν+1) |
erhält man folgende Werte in der Tabelle bei 10-stelliger Mantisse

ν=2 ν=3 ν=4


(ν)
V̇ 0.000000000 3.969165082 3.974847874
V̇ (ν−1) 1.000000000 0.000000000 3.969165082
V̇ (ν−2) −1.000000000 1.000000000 0.000000000
fν 44233.60000 −63.12056400 0.059588900
fν−1 33089.44000 44233.60000 63.12056400
fν−2 55377.76000 33089.44000 44233.60000
hν −1.000000000 3.969165082 0.00568279211
hν−1 2.000000000 −1.000000000 3.969165082
qν −0.500000000 −3.969165082 0.00143173488
Aν −0.025000000 −248.1970680 0.00025691218
Bν 5572.055000 130901.2481 −63.15100478
Cν 22116.80000 −187.4153746 0.05967421551
qν+1 −3.969165082 0.00143173488 0.00094494483
V̇ (ν+1) 3.969165082 3.974847874 3.974853244
K (ν+1) 1.000000000 0.001442968792 0.00000135097

Die kleinste Nullstelle und somit der optimale Volumenstrom ist erreicht bei
V̇ (5) = 3.974853244. 
3.5 Entscheidungshilfen 113

3.5 Entscheidungshilfen
Die Entscheidungshilfen für die Auswahl eines geeigneten Verfahrens zur Nullstellenbe-
stimmung bei algebraischen Polynomen sind mit Vorbemerkungen und einem Überblick
in Abschnitt 3.3.1 zusammengefasst.

Ergänzende Literatur zu Kapitel 3


[BART2001] 4.3.6; [BOHM1985]; [BRON1991], 2.4.2; [CARN1990], 3.2-3.4, 3.9;
[COLL1973], I, 1.3-1.4; [CONT1987], 3; [FORD1977]; [HAMM1994], Kap.8; [ISAA1973],
3.3-3.4; [OPFE2002], Kap.2; [QUAR2002] Bd.1, Kap.6; [RALS2001], 8; [STOE1999];
[WERN1993], II §§3,6-8.
Kapitel 4

Direkte Verfahren
zur Lösung linearer Gleichungssysteme

4.1 Aufgabenstellung und Motivation


Man unterscheidet direkte und iterative Methoden zur numerischen Lösung linearer Glei-
chungssysteme. Die direkten Methoden liefern die exakte Lösung, sofern man von Run-
dungsfehlern absieht. Die iterativen Methoden gehen von einer Anfangsnäherung für die
Lösung (dem sogenannten Startvektor) aus und verbessern diese schrittweise; sie werden
in Kapitel 5 behandelt.
Zu den direkten Methoden gehören der Gaußsche Algorithmus, das Gauß-Jordan-Verfah-
ren, das Verfahren von Cholesky, die Verfahren für Systeme mit Bandmatrizen, die Me-
thode des Pivotisierens und andere.
Zu den iterativen Methoden gehören das Iterationsverfahren in Gesamtschritten, das Ite-
rationsverfahren in Einzelschritten und die Relaxationsverfahren.

Gegeben sei ein System von m linearen Gleichungen mit n Unbekannten xi der Form


⎪ a11 x1 + a12 x2 + . . . + a1n xn = a1 ,

⎨ a21 x1 + a22 x2 + . . . + a2n xn = a2 ,
.. .. (4.1)

⎪ . .


am1 x1 + am2 x2 + . . . + amn xn = am ,

wobei die Koeffizienten aik ∈ IR und die rechten Seiten ai ∈ IR, i = 1(1)m,
k = 1(1)n, vorgegebene Zahlen sind. In Matrizenschreibweise lautet (4.1)

Ax = a, x ∈ IRn , a ∈ IRm (4.2)

mit ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
a11 a12 ··· a1n x1 a1
⎜ a21 a22 ··· a2n ⎟ ⎜ x2 ⎟ ⎜ a2 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
A = (aik ) = ⎜ .. .. ⎟, x =⎜ .. ⎟, a =⎜ .. ⎟.
⎝ . . ⎠ ⎝ . ⎠ ⎝ . ⎠
am1 am2 ··· amn xn am
116 4. Lösung linearer Gleichungssysteme

Ein Vektor x , dessen Komponenten xi , i = 1(1)n, jede der m Gleichungen des Systems
(4.1) zu einer Identität machen, heißt Lösungsvektor oder kurz Lösung von (4.1) bzw.
(4.2). In Abschnitt 4.13 werden überbestimmte Systeme Ax = a mit (m, n)-Matrix
A, a ∈ IRm , x ∈ IRn , m > n behandelt, sonst nur Systeme aus n Gleichungen mit n
Unbekannten, d. h. der Fall Ax = a mit (n, n)-Matrix A, x ∈ IRn , a ∈ IRn .

Systeme linearer Gleichungen (im Folgenden kurz lineare Gleichungssysteme genannt)


treten überall in den Anwendungen in Physik, Technik, Betriebswirtschaftslehre usw.
auf; man begegnet ihnen z. B. in der Statik bei der Berechnung statisch unbestimmter
Systeme, in der Elektrotechnik bei der Berechnung von Netzwerken (z. B. Bestimmung
zugehöriger Ströme zu vorgegebenen Gleichspannungen und vorgegebenen Ohmschen
Widerständen) und bei der Behandlung von Eigenwertproblemen der mathematischen
Physik. Wie sich noch zeigen wird, gibt es auch eine Reihe von Problemen in der nu-
merischen Mathematik, deren Behandlung auf Systeme linearer Gleichungen führt. So
treten z. B. beim Newtonschen Verfahren für nichtlineare Gleichungssysteme bei jedem
Schritt lineare Gleichungssysteme auf; die Methode der kleinsten Quadrate von Gauß
(Ausgleichsrechnung) und die numerische Lösung von Randwertproblemen bei gewöhnli-
chen und partiellen Differentialgleichungen mit Hilfe von Differenzenverfahren führen auf
lineare Gleichungssysteme. In der Betriebswirtschaftslehre spielen lineare Gleichungssy-
steme im Zusammenhang mit linearer Programmierung eine große Rolle.

Theoretisch ist das Problem der Auflösung linearer Gleichungssysteme vollständig ge-
klärt. So lassen sich die Lösungen z. B. mit der Cramerschen Regel explizit berechnen;
dieser Weg erfordert jedoch einen immensen Rechenaufwand. Zur Lösung eines Systems
von n Gleichungen mit n Unbekannten erfordert die Cramersche Regel (n2 − 1) n! + n
Punktoperationen; dies sind 359 251 210 Punktoperationen für n = 10 und bereits 1021
für n = 20. Daher ist die Cramersche Regel (schon ab n = 3) für praktische Rechnungen
total unbrauchbar. Man muss also nach anderen, effektiveren Lösungsmöglichkeiten su-
chen. Ein solches Verfahren ist z. B. der Gaußsche Algorithmus, der für die Lösung von
n Gleichungen mit n Unbekannten nur n3 (n2 + 3n − 1) Punktoperationen benötigt, d. h.
im Fall n = 10 nur 430, im Fall n = 20 nur 3060 (gegenüber 1021 bei der Cramerschen
Regel).

Anzahl der erforderlichen Punktoperationen


(Multiplikationen, Divisionen)

Zahl der Unbekannten Cramersche Regel Gaußscher Algorithmus


n (n2 − 1) n! + n n (n2 + 3n − 1)/3
2 8 6
3 51 17
4 364 36
5 2885 65
10 359 251 210 430
20 1021 3060
4.1 Aufgabenstellung und Motivation 117

Rechenzeit
(3 ns im Durchschnitt pro Multiplikation/Division)

Zahl der Unbekannten Cramersche Regel Gaußscher Algorithmus


10 1.08 sec ≈ 10−6 sec
20 95 000 Jahre ≈ 10−5 sec

Es gibt also brauchbare numerische Methoden. Trotz dieser Tatsache ist die praktische
Bestimmung der Lösung für sehr große n eine problematische numerische Aufgabe; die
Gründe hierfür sind:
1. Arbeitsaufwand (Rechenzeit) und Speicherplatzbedarf bei sehr großen Systemen,
siehe Beispiele
2. Verfälschung der Ergebnisse durch Rundungsfehler (numerische Instabilität)
3. Schlecht konditionierte Probleme (mathematische Instabilität)

Im Folgenden sollen nicht nur Lösungsmethoden angegeben, sondern auch auf numeri-
sche Effekte, anfallenden Arbeitsaufwand u.a.m. aufmerksam gemacht werden. Von einem
Lösungsverfahren wird gefordert, dass es Attribute wie Bandstruktur und Symmetrie
berücksichtigt, rechenzeitoptimal ist, Rundungsfehler unter Kontrolle gehalten werden
u.a.m.

Beispiele, bei denen große lineare Gleichungssysteme auftreten

1. LKW-Lagerbock (Beispiel der Fa. MEC Alsdorf):


Pro LKW gibt es zwei Lagerböcke; die Blattfeder wird mit beiden Lagerböcken am
Rahmen befestigt. Wenn sich die Feder z. B. bei einer Bodenwelle bewegt, tritt ein
Moment auf (Abb. 4.1).
Bei FEM-Berechnungen, die die mechanische Belastung und Temperaturberech-
nung betreffen, treten bei linearem Ansatz und bei Gleichungssystemen z. B. 4320
Gleichungen auf (siehe Finites Netz Abb. 4.2).

Abb. 4.1. Abb. 4.2.


118 4. Lösung linearer Gleichungssysteme

2. Parabolantenne der Firma Krupp mit 100 m Durchmesser am oberen Rand:


Es handelt sich dabei um einen räumlichen Verbund aus Stäben und Balken, die
geometrisch ein Rotationsparaboloid bilden. Die Berechnung muss so erfolgen, dass
bei Verformung durch Neigung und Eigengewicht wegen der Richtgenauigkeit der
Antenne immer wieder ein Rotationsparaboloid entsteht. Es sind jeweils ca. 5000
Gleichungen mit 5000 Unbekannten zu lösen.

Abb. 4.3.
3. Beispiel des Aerodynamischen Instituts der RWTH Aachen. Numerische Simulation
einer ablösenden Strömung um Tragflügelprofile, gerechnet mit den Navier-Stokes-
Gleichungen:
Wenn 3-dimensional gerechnet wird und ein (31 × 31 × 51)-Gitter mit je 4 Glei-
chungen verwendet wird, so erhält man nichtlineare Systeme aus 196 044 Glei-
chungen mit 196 044 Unbekannten, die iterativ (etwa mit 5 Iterationen) gelöst
werden. Rechnet man bis zum Wirbelablösen 10 000 Zeitschritte, so ergeben sich
5 × 10 000 = 50 000 lineare Gleichungssysteme aus rund ca. 200 000 Gleichungen,
die zu lösen sind.

Abb. 4.4.
4.1 Aufgabenstellung und Motivation 119

4. Beispiel des Instituts für Bildsame Formgebung der RWTH Aachen zum Freiform-
schmieden: Ein 8-kantiger Schmiedeblock aus Stahl wird mit 4 Hämmern bearbei-
tet, dann um 45◦ gedreht und wieder bearbeitet usw. Ziel ist die Berechnung des
Temperaturfeldes. Hier entstehen bei 1400 Knoten Gleichungssysteme von 4200
Gleichungen. Bei 50 Zeitschritten und 5 Iterationen pro Zeitschritt hat man also
250 lineare Gleichungssysteme mit je 4200 Gleichungen zu lösen.

Abb. 4.5.
Betrachtet man einen Rundblock mit 200 mm Durchmesser und 250 mm Länge, so
entstehen bei 3000 Knoten 9000 nichtlineare Gleichungen, d. h. bei 100 Zeitschrit-
ten mit 5 Iterationen pro Zeitschritt 500 lineare Systeme mit je 9000 Gleichungen.

5. Ein weiteres Finite-Element-Beispiel aus dem Institut für Bildsame Formgebung


der RWTH Aachen: Bei der Simulation des Fließpress-Verfahrens zur Herstellung
eines Zahnrades mit zwölf Zähnen wird unter Ausnutzung der Symmetriebedingun-
gen mit dem Modell eines halben Zahnes gerechnet. In diesem Beispiel wird dazu
ein Netz mit 2911 Knoten erstellt. Man erhält unter Berücksichtigung aller Rand-
bedingungen insgesamt 7560 nichtlineare Gleichungen, die iterativ gelöst werden.
Dabei tritt eine Bandmatrix auf.

Abb. 4.6.
120 4. Lösung linearer Gleichungssysteme

4.2 Definitionen und Sätze


In diesem Abschnitt werden einige Definitionen und Sätze über Matrizen und Determi-
nanten zusammengestellt, die im weiteren Verlauf dieses Kapitels für numerische Verfah-
ren benötigt werden.

Definition 4.1. (Hauptabschnittsmatrix, Hauptabschnittsdeterminante)


Die (k, k)-Matrix Ak , die aus den ersten k Zeilen und k Spalten von A = (aik ),
i, k = 1(1)n, gebildet wird, heißt Hauptabschnittsmatrix. Ihre Determinante det (Ak )
heißt Hauptabschnittsdeterminante der Ordnung k.

Beispiel 4.2.
⎛ ⎞
1 −2 3
A = ⎝ 4 5 6 ⎠ vom Typ (3, 3)
7 8 −9

A1 = (1) mit det(A1 ) = 1,


Hauptabschnittsdeterminante der Ordnung 1
 
1 −2
A2 = mit det(A2 ) = 13,
4 5
Hauptabschnittsdeterminante der Ordnung 2

A3 = A mit det(A3 ) = −258,


Hauptabschnittsdeterminante der Ordnung 3
gleich Determinante der Matrix A


Definition 4.3. (Regulär, streng regulär )


Eine Matrix A = (aik ), i, k = 1(1)n, heißt regulär, falls det (A) = 0 gilt; sie heißt
streng regulär, wenn alle Hauptabschnittsdeterminanten von Null verschieden sind:

det(Ak ) = 0 für alle k = 1(1)n.

Beispiel 4.4.
Die Matrix A aus dem Beispiel 4.2 ist regulär und zugleich streng regulär, während
⎛ ⎞
1 2 3
A = ⎝ 4 5 6 ⎠ mit det(A) = 0
7 8 9

nicht regulär ist. 


4.2 Definitionen und Sätze 121

Definition 4.5. (Untere Dreiecksmatrix, obere Dreiecksmatrix )


Eine (n, n)-Matrix L = (lik ) heißt untere Dreiecksmatrix (Subdiagonalmatrix), wenn
lik = 0 für k > i gilt; sie heißt normierte untere Dreiecksmatrix, wenn außerdem
lii = 1 für alle i ist.
Eine (n, n)-Matrix R = (rik ) heißt obere Dreiecksmatrix (Superdiagonalmatrix), wenn
rik = 0 für i > k gilt; sie heißt normierte obere Dreiecksmatrix, wenn außerdem rii = 1
für alle i ist.

Beispiel 4.6. ⎛ ⎞ ⎛ ⎞
1 0 0 5 7 −8
L1 = ⎝ 3 2 0 ⎠ R1 = ⎝ 0 1 3 ⎠
−3 5 7 0 0 4
untere Dreiecksmatrix obere Dreiecksmatrix
⎛ ⎞ ⎛ ⎞
1 0 0 1 7 −8
L2 = ⎝ 3 1 0 ⎠ R2 = ⎝ 0 1 3 ⎠
−3 5 1 0 0 1
normierte untere Dreiecksmatrix normierte obere Dreiecksmatrix


Definition 4.7. (Permutationsmatrix )


Eine (n, n)-Matrix P heißt Permutationsmatrix, wenn in jeder Zeile und Spalte genau
eine Eins und n−1 Nullen vorkommen.

Eine (n, n)-Permutationsmatrix P entsteht aus der (n, n)-Einheitsmatrix E dadurch,


dass man in E die i-te und k-te Zeile vertauscht. Dann ist PA diejenige Matrix, die aus
A durch Vertauschung der i-ten und k-ten Zeile hervorgeht.

Beispiel 4.8.
⎛ ⎞ ⎛ ⎞
1 0 0 0 1 0
⎝ 0 aus E durch Vertauschung
E = 1 0 ⎠, P = ⎝ 1 0 0 ⎠
der 1. und 2. Zeile
0 0 1 0 0 1
⎛ ⎞⎛ ⎞ ⎛ ⎞
0 1 0 1 −2 3 4 5 6
PA = ⎝ 1 0 0 ⎠⎝ 4 5 6 ⎠=⎝ 1 −2 3 ⎠
0 0 1 7 8 −9 7 8 −9

122 4. Lösung linearer Gleichungssysteme

Satz 4.9.
Jede (n, n)-Matrix A mit det (Ak ) = 0 für k = 1(1)n−1 kann ohne Zeilenvertau-
schungen eindeutig in das Produkt LR aus einer normierten unteren Dreiecksmatrix
L und einer oberen Dreiecksmatrix R zerlegt werden:
⎛ ⎞ ⎛ ⎞
1 r11 r12 · · · r1n
⎜ l21 1 ⎟ ⎜ r22 · · · r2n ⎟
⎜ ⎟ ⎜ ⎟
L=⎜ . . ⎟ , R=⎜ .. .. ⎟.
⎝ .. .. ⎠ ⎝ . . ⎠
ln1 ln2 ··· 1 rnn

Diese Dreieckszerlegung (Faktorisierung) wird als LR-Zerlegung bezeichnet.

Beispiel 4.10.
⎛ ⎞
1 −1 −1
Gegeben: A = ⎝ −2 6 3 ⎠ vom Typ (3, 3).
−1 13 6

Es gilt det(A1 ) = 1 = 0, det(A2 ) = 4 = 0 ⇒ die LR-Zerlegung existiert eindeutig.

LR-Zerlegung von A:
⎛ ⎞ ⎛ ⎞⎛ ⎞
1 −1 −1 1 0 0 1 −1 −1
A = ⎝ −2 6 3 ⎠ = ⎝ −2 1 0 ⎠⎝ 0 4 1 ⎠ = LR
−1 13 6 −1 3 1 0 0 2

Wie macht man das schrittweise?


⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞
a11 a12 a13 1 −1 −1 1 0 0 r11 r12 r13
A = ⎝ a21 a22 a23 ⎠ = ⎝ −2 6 3 ⎠ = ⎝ l21 1 0 ⎠ ⎝ 0 r22 r23 ⎠ = LR
a31 a32 a33 −1 13 6 l31 l32 1 0 0 r33

Die Multiplikation der beiden Matrizen L und R rechts und ein Koeffizientenvergleich
mit der Matrix A links ergibt zeilenweise die zu berechnenden Koeffizienten der Drei-
ecksmatrizen L und R.
!
1. Zeile: a11 = 1 = 1 · r11 ⇒ r11 = 1
a12 = −1 = 1 · r12 ⇒ r12 = −1
a13 = −1 = 1 · r13 ⇒ r13 = −1
2. Zeile: a21 = −2 = l21 · r11 + 1 · 0 ⇒ l21 = −2
a22 = 6 = l21 · r12 + 1 · r22 ⇒ r22 = 4
a23 = 3 = l21 · r13 + 1 · r23 + 0 · r33 ⇒ r23 = 1
3. Zeile: a31 = −1 = l31 · r11 ⇒ l31 = −1
a32 = 13 = l31 · r12 + l32 · r22 ⇒ l32 = 4 (13 − 1) = 3
1

a33 = 6 = l31 · r13 + l32 · r23 + r33 ⇒ r33 = 6−1−3=2


4.2 Definitionen und Sätze 123

Analog ergeben sich die Formeln im folgenden

Algorithmus 4.11.
Die Elemente der Matrizen L und R gemäß Dreieckszerlegung nach Satz 4.9 werden
wie folgt berechnet:
1. Für k = 1(1)n: r1k := a1k
2. Für jedes i = 2(1)n
ai1
2.1 Für k = 1: li1 :=
a11

k−1
2.2 Für k = 2(1)i−1: lik := (aik − lij rjk )/rkk
j=1


i−1
2.3 Für k = i(1)n: rik := aik − lij rjk
j=1

Werden für eine Dreieckszerlegung Zeilenvertauschungen zugelassen, so kann die Voraus-


setzung det (Ak ) = 0 für k = 1(1)n−1 in Satz 4.9 entfallen; es gilt dann der

Satz 4.12.
Für eine (n, n)-Matrix A mit det A = 0 gilt mit einer (n, n)-Permutationsmatrix P
die Zerlegung
PA = LR,
wobei L und R durch P und A eindeutig bestimmt sind.
In PA sind die Zeilen von A permutiert. Es gilt mit det(P) = (−1)k , k = Anzahl der
Zeilenvertauschungen,

det A = (−1)k det R = (−1)k r11 r22 . . . rnn .

Jede reguläre Matrix A kann somit durch Linksmultiplikation mit einer Permutationsma-
trix P (also durch Zeilenvertauschungen) in eine streng reguläre Matrix PA transformiert
werden.

Beispiel 4.13.
Für die Matrix

⎛ ⎞
1 −1 −1
A = ⎝ −1 1 −1 ⎠ , det(A2 ) = 0
−1 −1 1

existiert keine LR-Zerlegung ohne Zeilenvertauschung nach Satz 4.9. Nach Vertauschung
124 4. Lösung linearer Gleichungssysteme

der 2. und der 3. Zeile von A lässt sich eine eindeutige LR-Zerlegung angeben, denn mit
⎛ ⎞⎛ ⎞ ⎛ ⎞
1 0 0 1 −1 −1 1 −1 −1
PA = ⎝ 0 0 1 ⎠ ⎝ −1 1 −1 ⎠ = ⎝ −1 −1 1 ⎠ ,
0 1 0 −1 −1 1 −1 1 −1

gilt ⎛ ⎞⎛ ⎞
1 0 0 1 −1 −1
PA = LR = ⎝ −1 1 0 ⎠⎝ 0 −2 0 ⎠
−1 0 1 0 0 −2


Definition 4.14. (Transponierte Matrix )


Es sei A = (aik ), i = 1(1)m, k = 1(1)n, eine Matrix vom Typ (m, n). Dann heißt die
Matrix AT = (aki ), k = 1(1)n, i = 1(1)m, die aus A durch Vertauschung von Zeilen
und Spalten entsteht, die zu A transponierte Matrix.

Beispiel 4.15.
⎛ ⎞
1 2  
1 3 4
A = ⎝ 3 4 ⎠ vom Typ (3, 2) ⇒ T
A = vom Typ (2, 3)
2 4 6
4 6


Definition 4.16. (Symmetrische Matrix )


Gilt für eine (n, n)-Matrix A = (aik ), i, k = 1(1)n,
aik = aki
für alle i, k, so heißt A symmetrisch; es gilt A = AT , wobei AT die zu A transponierte
Matrix ist.

Beispiel 4.17.
⎛ ⎞
1 2 −3
A=⎝ 2 4 5 ⎠ = AT ⇒ A ist symmetrisch
−3 5 6


Definition 4.18. (Orthogonale Matrix )


Eine reelle (n, n)-Matrix Q heißt orthogonal, falls mit der Einheitsmatrix E vom Typ
(n, n) gilt
Q T Q = QQ T = E bzw. Q −1 = Q T .
4.2 Definitionen und Sätze 125

Beispiel 4.19.
⎛ ⎞ ⎛ ⎞
cos α 0 sin α cos α 0 − sin α
Q1 = ⎝ 0 1 0 ⎠ , Q1T = ⎝ 0 1 0 ⎠
− sin α 0 cos α sin α 0 cos α

Q1 · Q1T = Q1T · Q1 = E ⇒ Q1 orthogonal

   
1 2 −1 1 2 1
Q2 = √ , =√ Q2T
,
5 1 2 5 −1 2
      
1 2 −1 2 1 1 5 0 1 0
⇒ Q2 · Q2T = = = =E
5 1 2 −1 2 5 0 5 0 1


Satz 4.20.
Sei v ∈ IRn ein Vektor und E die (n, n)-Einheitsmatrix. Dann ist
2
H := E − vv T
v 2

eine symmetrische, orthogonale (n, n)-Matrix (Householder-Matrix), d. h. es gilt


H TH = H 2 = E .

Beispiel 4.21.
   
2 2 T 2
v = , v = v v = (2, 1) = 5
1 1
   
2 4 2
v vT = (2, 1) =
1 2 1
       8 4

1 0 4 2 1 0
E − 2 2 v vT =
5 5
H := − 25 = −
v 0 1 2 1 0 1 4 2
5 5
   
1− 5
8
−5 4
−5 −5
3 4
= =
− 54 1 − 25 − 45 3
5
    
− 35 − 54 − 53 − 45 1 0
H TH = = ,
− 45 3
5 − 54 3
5 0 1

d. h. H T = H −1 ist eine orthogonale Matrix. 


126 4. Lösung linearer Gleichungssysteme

Definition 4.22. (Bandmatrix )


Eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, heißt Bandmatrix, wenn ihre Elemente
außerhalb eines Bandes längs der Hauptdiagonale verschwinden. Sei m die Anzahl
der unteren Nebendiagonalen und mr die Anzahl der oberen, dann gilt für die Null-
elemente: aik = 0 für
i − k > m mit 0 ≤ m ≤ n − 2 und k − i > mr mit 0 ≤ mr ≤ n − 2.
Die Größe m = m + mr + 1 heißt Bandbreite; es können höchstens m Nichtnull-Ele-
mente in einer Zeile auftreten. Spezielle Bandmatrizen sind:

Diagonalmatrizen mit m = mr = 0,
bidiagonale Matrizen mit m = 1, mr = 0 oder m = 0, mr = 1,
tridiagonale Matrizen mit m = mr = 1,
fünfdiagonale Matrizen mit m = mr = 2.

Beispiel 4.23.
⎛ ⎞ ⎛ ⎞
1 0 0 0 1 0 0 0
⎜ 0 2 0 0 ⎟ ⎜ 2 1 0 0 ⎟
A = ⎜

⎟ B = ⎜ ⎟
0 0 5 0 ⎠ ⎝ 0 −1 2 0 ⎠
0 0 0 −6 0 0 3 4
Diagonalmatrix untere Bidiagonalmatrix
⎛ ⎞ ⎛ ⎞
1 2 0 0 1 2 0 0
⎜ 0 1 3 0 ⎟ ⎜ −1 2 3 0 ⎟
C = ⎜

⎟ D = ⎜ ⎟
0 0 4 5 ⎠ ⎝ 0 4 5 6 ⎠
0 0 0 1 0 0 1 3
obere Bidiagonalmatrix tridiagonale Matrix
⎛ ⎞
1 2 1 0 0
⎜ 3 4 5 2 0 ⎟
⎜ ⎟
F = ⎜ ⎜ 3 1 −2 4 3 ⎟
⎟ fünfdiagonale Matrix
⎝ 0 5 3 4 5 ⎠
0 0 7 1 2


Definition 4.24. (Zyklisch tridiagonale Matrix )


Eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, heißt zyklisch tridiagonal, falls gilt

aik = 0 für 2 ≤ |i − k| ≤ n − 2 , (a1n , an1 ) = (0, 0) .

Dies bedeutet, dass bei einer zyklisch tridiagonalen Matrix die Hauptdiagonale und die
beiden Nebendiagonalen mit Nichtnull-Elementen besetzt sein können und mindestens ei-
nes der beiden Elemente links unten (an1 ) und rechts oben (a1n ) von Null verschieden ist.
4.2 Definitionen und Sätze 127

Beispiel 4.25.
⎛ ⎞
⎛ ⎞ 1 2 0 0 4
1 2 0 1 ⎜ ⎟
⎜ −3 4 −3 4 1 0 0
1 0 ⎟ ⎜ ⎟
A=⎜
⎝ 0 1
⎟, B =⎜
⎜ 0 −1 5 −1 0 ⎟

2 1 ⎠ ⎝ ⎠
0 0 −3 6 3
−1 0 2 3
−5 0 0 2 1
sind zyklisch tridiagonale Matrizen. 

Definition 4.26. (Diagonaldominante und stark diagonaldominante Matrix )


Eine Matrix A = (aik ), i, k = 1(1)n, heißt diagonaldominant, falls

n
|aii | ≥ |aik | für i = 1(1)n ;
k=1
k=i

für mindestens ein i muss das Zeichen echt größer“ gelten (d. h. der Betrag des Dia-

gonalelements ist größer oder gleich der Summe der Beträge der anderen Elemente in
derselben Zeile; für mindestens eine Zeile muß dabei echt größer“ gelten).

Die Matrix heißt stark diagonaldominant, wenn gilt


n
|aii | > |aik | für i = 1(1)n .
k=1
k=i

Das heißt, dass für alle Zeilen der Betrag des Diagonalelements echt größer als die
Summe der Beträge der übrigen Elemente der Zeile ist.

Beispiel 4.27.
⎛ ⎞
10 −1 2
A = ⎝ 5 8 1 ⎠ ist diagonaldominant
−1 2 3m
⎛ ⎞
10 −1 2
A = ⎝ 5 8 1 ⎠ ist stark diagonaldominant
−1 2 5m


Definition 4.28. (Positiv definite und positiv semidefinite Matrix )


Eine symmetrische Matrix A = (aik ), i, k = 1(1)n, heißt positiv definit, wenn für ihre
quadratische Form Q gilt
Q(x ) := x T Ax > 0 für alle x = 0 , x ∈ IRn .
Sie heißt positiv semidefinit, wenn gilt
Q(x ) ≥ 0 für alle x ∈ IRn .
128 4. Lösung linearer Gleichungssysteme

Notwendige Bedingung für positive Definitheit einer symmetrischen Matrix A = (aik ),


i, k = 1(1)n, ist:
aii > 0 für alle i.

Notwendige und hinreichende Kriterien für positive Definitheit einer symmetri-


schen Matrix A = (aik ), i, k = 1(1)n:
1. A = AT ist genau dann positiv definit, wenn sämtliche Hauptabschnittsdetermi-
nanten positiv sind:
det(Ak ) > 0 für k = 1(1)n.

Beispiel 4.29. ⎛ ⎞
5 −1 −2
A = ⎝ −1 6 −1 ⎠ = AT symmetrisch
−2 −1 5
ist positiv definit, da sämtliche Hauptabschnittsdeterminanten positiv sind

det(A1 ) = |5| = 5 > 0


 
 5 −1 
det(A2 ) =  
 = 29 > 0
−1 6
det(A3 ) = det(A) = 112 > 0


2. Die Zerlegung A = LR mit A = AT gemäß Satz 4.9 führt auf ein R mit rii > 0
für alle i.

Beispiel 4.30.
⎛ ⎞ ⎛ ⎞⎛ ⎞
4 −2 0 1 0 0 4m−2 0
⎜ ⎟ ⎜ 1 ⎟⎜ ⎟
A = ⎝ −2 5 −2 ⎠ = ⎝ − 2 1 0 ⎠⎝ 0 4m−2 ⎠ = LR
0 −2 5 0 − 12 1 0 0 4m

mit rii > 0 für alle i 

3. Die Zerlegung A = RT DR mit A = AT , R = normierte Superdiagonalmatrix,


D = (dik ) = Diagonalmatrix, führt auf dii > 0 für alle i.

Hinreichende Kriterien für positive Definitheit einer symmetrischen Matrix A = (aik ),


i, k = 1(1)n :
1. Jede symmetrische, stark diagonaldominante Matrix mit positiven Hauptdiagonal-
elementen (aii > 0 für alle i) ist positiv definit.
2. Jede symmetrische, diagonaldominante Matrix A mit positiven Hauptdiagonalele-
menten (aii > 0 für alle i) und aik < 0 für alle i = k ist positiv definit.
3. Jede symmetrische, tridiagonale, diagonaldominante Matrix A = (aik ), i, k = 1(1)n,
mit aii > 0 für alle i, aik = 0 für |i − k| = 1 ist positiv definit.
4.2 Definitionen und Sätze 129

Beispiel 4.31.
⎛ ⎞ ⎛ ⎞
16 0 4 3 −1 −2
zu 1. A = ⎝ 0 9 0 ⎠, zu 2. B = ⎝ −1 6 −3 ⎠
4 0 17 −2 −3 8

⎛ ⎞
10 1 0 0
⎜ 1 10 −2 0 ⎟
zu 3. C = ⎜ ⎟
⎝ 0 −2 5 −3 ⎠
0 0 −3 6


Satz 4.32.
Eine stark diagonaldominante Matrix A = (aik ), i, k = 1(1)n, ist streng regulär.

Beispiel 4.33.
⎛ ⎞
10 −1 2
A=⎝ 5 8 1 ⎠ streng regulär, da det(A1 ) = |10| = 10 = 0 ,
−1 2 5
 
 10 −1 

det(A2 ) =   = 85 = 0 , det(A3 ) = det(A) = 442 = 0
5 8 


Satz 4.34.
Jede symmetrische, streng reguläre Matrix A = (aik ), i, k = 1(1)n, kann eindeutig in
das Produkt RT DR mit einer normierten oberen Dreiecksmatrix R, ihrer Transpo-
nierten RT und einer Diagonalmatrix D zerlegt werden.

Zerlegung für n = 3: Mit A = RT DR gilt

⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
a11 a12 a13 1 0 0 d11 0 0 1 r12 r13
⎝ a12 a22 a23 ⎠ = ⎝ r12 1 0 ⎠ ⎝ 0 d22 0 ⎠ ⎝ 0 1 r23 ⎠
a13 a23 a33 r13 r23 1 0 0 d33 0 0 1

⎛ ⎞ ⎛ ⎞
1 0 0 d11 d11 r12 d11 r13
= ⎝ r12 1 0 ⎠ ⎝ 0 d22 d22 r23 ⎠
r13 r23 1 0 0 d33

⎛ ⎞
d11 d11 r12 d11 r13
= ⎝ r12 d11 2
d11 r12 + d22 d11 r13 r12 + d22 r23 ⎠ .
2 2
r13 d11 d11 r12 r13 + d22 r23 d11 r13 + d22 r23 + d33
130 4. Lösung linearer Gleichungssysteme

Aus dem Koeffizientenvergleich zwischen Ausgangsmatrix A und Produktmatrix ergibt


sich zeilenweise für das obere Dreieck von A
a11 = d11 ⇒ d11 = a11
a12 = d11 r12 ⇒ r12 = a12 / d11
a13 = d11 r13 ⇒ r13 = a13 / d11

a22 = 2
d11 r12 + d22 ⇒ d22 = a22 − d11 r12
2

a23 = d11 r13 r12 + d22 r23 ⇒ r23 = (a23 − d11 r13 r12 ) / d22

a33 = 2
d11 r13 2
+ d22 r23 + d33 ⇒ d33 = a33 − d11 r13
2
− d22 r23
2

Algorithmus 4.35.
Gegeben: A = (aik ), i, k = 1(1)n, symmetrisch, streng regulär
Gesucht: Elemente von D und R bei der Zerlegung A = RT DR
1. d11 = a11
a1k
r1k = d11 , k = 2(1)n

2. Für jedes i = 2(1)n−1



i−1
2.1 dii = aii − 2
djj rji
j=1
 

i−1
2.2 ri,i+1 = 1
dii ai,i+1 − djj rj,j+1 rj,j+2
j=1


n−1
3. dnn = ann − 2
djj rjn
j=1

Beispiel 4.36. (vgl. Beispiel 4.30)


1
d11 = 4 r12 = − 21 r13 = 0 ; d22 = 5 − 4 · =4
  1  4  2
r23 = 4 − 2 − 4 · 0 · − 2 = − 21 ;
1
d33 = 5 − 4 · 0 − 4 · − 12 = 5 − 1 = 4 .

⎛ A ⎞ = ⎛ RT ⎞ ⎛ D ⎞ ⎛ R ⎞
4 −2 0 1 0 0 4 0 0 1 − 12 0
⎝ −2 5 −2 ⎠ = ⎝ −1 1 0 ⎠ ⎝ 0 4 0 ⎠ ⎝ 0 1 − 21 ⎠
2
0 −2 5 0 − 12 1 0 0 4 0 0 1

Satz 4.37.
Jede symmetrische, positiv definite Matrix A = (aik ), i, k = 1(1)n, ist in das Produkt
RT DR gemäß Satz 4.34 zerlegbar, wobei alle Diagonalelemente von D (Pivotelemen-
te) positiv sind und A streng regulär ist.
4.2 Definitionen und Sätze 131

Satz 4.38.
Jede symmetrische, positiv definite Matrix A = (aik ), i, k = 1(1)n, kann eindeutig in
das Produkt RT R mit der oberen Dreiecksmatrix R = (rik ), rii > 0 für alle i, und
ihrer Transponierten RT zerlegt werden. Die Zerlegung heißt Cholesky-Zerlegung.

Cholesky-Zerlegung für n = 3: A = RT R
⎛ ⎞ ⎛ ⎞⎛ ⎞
a11 a12 a13 r11 0 0 r11 r12 r13
⎝ a12 a22 a23 ⎠ = ⎝ r12 r22 0 ⎠ ⎝ 0 r22 r23 ⎠
a13 a23 a33 r13 r23 r33 0 0 r33
⎛ 2 ⎞
r11 r11 r12 r11 r13
= ⎝ r11 r12 r12
2 2
+ r22 r12 r13 + r22 r23 ⎠
2 2 2
r11 r13 r12 r13 + r22 r23 r13 + r23 + r33

Koeffizientenvergleich liefert zeilenweise:



a11 = 2
r11 ⇒ r11 = a11
a12 = r11 r12 ⇒ r12 = a12 /r11
a13 = r11 r13 ⇒ r13 = a13 /r11
"
a22 = 2
r12 2
+ r22 ⇒ r22 = a22 − r12 2

a23 = r12 r13 + r22 r23 ⇒ r23 = (a23 − r12 r13 )/r22
"
a33 = 2
r13 2
+ r23 2
+ r33 ⇒ r33 = a33 − r13 2 − r2
23

Die Verallgemeinerung liefert den folgenden Algorithmus:

Algorithmus 4.39.

Gegeben: A = (aik ), i, k = 1(1)n, symmetrisch, positiv definit


Gesucht: Elemente rik von R in der Cholesky-Zerlegung A = RT R

1. r11 = a11
2. Für jedes j = 2(1)n−1
#
 2
j−1
2.1 rjj = ajj − rij
i=1

2.2 Für jedes k = j+1(1)n


 

j−1
rjk = rjj ajk −
1
rik rij
i=1
#

n−1
3. rnn = ann − 2
rin
i=1
132 4. Lösung linearer Gleichungssysteme

Beispiel 4.40.
⎛ ⎞
4 −2 0
Gegeben: Die Matrix A = ⎝ −2 5 −2 ⎠.
0 −2 5

Gesucht: Die Matrix R mit A = RT R nach Algorithmus 4.39.


√ "
Lösung: r11 = 4 = 2; r22 = 5 − (−1)2 = 2
r12 = −2/2 = −1 ; r23 = (−2 − (−1) · 0)/2 = −1
"
r13 = 0/2 = 0; r33 = 5 − 02 − (−1)2 = 2

A = RT R
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
4 −2 0 2 0 0 2 −1 0
⎝ −2 5 −2 ⎠ = ⎝ −1 2 0 ⎠ ⎝ 0 2 −1 ⎠
0 −2 5 0 −1 2 0 0 2

4.3 Lösbarkeitsbedingungen
für ein lineares Gleichungssystem
Ein lineares Gleichungssystem Ax = a mit einer (m, n)-Matrix A, x ∈ IRm , Rg(A) = r,
m ≥ n, heißt homogen, wenn a = 0 ist, andernfalls heißt es inhomogen.

1. Das homogene System Ax = 0 ist stets lösbar; es besitzt n − r linear unabhängige


Lösungen yi . Die Gesamtheit der Lösungen lässt sich als Linearkombination
x = c1 y1 + c2 y2 + . . . + cn−r yn−r

darstellen. Im Falle r = n existiert nur die triviale Lösung x = 0 .


Für Systeme (4.2) aus n Gleichungen mit n Unbekannten gilt in der Formulierung
über die Determinante:

a) det A = 0: Es existiert nur die triviale Lösung x = 0 .


b) det A = 0: Die Matrix A habe den Rang r: Rg(A) = r. Dann besitzt das
homogene System genau n − r linear unabhängige Lösungen.

2. Das inhomogene Gleichungssystem: Ax = a mit a = 0 . Es gilt der

Satz 4.41.
Ein inhomogenes Gleichungssystem Ax = a = 0 ist genau dann auflösbar, wenn der
Rang der erweiterten Matrix (A, a) gleich dem Rang der Matrix A ist: Rg(A, a) =
Rg(A). Die Gesamtheit der Lösungen setzt sich aus der Lösung xh des homogenen
Systems und einer speziellen Lösung des inhomogenen Systems zusammen.
4.4 Prinzip der direkten Methoden zur Lösung linearer Gleichungssysteme 133

Für Systeme (4.2) mit m = n gilt in der Formulierung über die Determinante
a) det A = 0: Es existiert genau eine Lösung, sie lautet x = A−1 a.
(Hier gilt: Rg(A, a) = Rg(A) = n)
b) det A = 0: Ist das System auflösbar, d. h. Rg(A, a) = Rg(A) < n, so ist die Lösung
nicht eindeutig bestimmt. Sie ergibt sich als Summe aus einer Linearkombination
der n−r linear unabhängigen Lösungen des homogenen Systems und einer speziellen
Lösung des inhomogenen Systems.

4.4 Prinzip der direkten Methoden


zur Lösung linearer Gleichungssysteme

Das Prinzip der direkten Methoden besteht in einer Dreieckszerlegung (Faktorisierung)


der Matrix A des zu lösenden Gleichungssystems Ax = a aus n Gleichungen mit n
Unbekannten. Die (n, n)-Matrix A wird im Allgemeinen in das Produkt LR einer unte-
ren Dreiecksmatrix L und einer oberen Dreiecksmatrix R zerlegt (sofern die Zerlegung
existiert), wobei eine der beiden Dreiecksmatrizen normiert sein muss, um eine eindeuti-
ge Zerlegung zu erreichen. Die Dreieckszerlegung bewirkt eine Überführung des Systems
Ax = a in ein äquivalentes System Rx = r , aus dem sich wegen der oberen Dreiecksform
von R rekursiv die Lösung gewinnen lässt. Sind für die Dreieckszerlegung Zeilenvertau-
schungen erforderlich, so wird statt A eine aus A durch die gleichen Zeilenvertauschungen
hervorgegangene Matrix PA (P Permutationsmatrix) in die beiden Dreiecksmatrizen L
und R zerlegt.

Aus den Sätzen 4.9 bzw. 4.12 ergeben sich die folgenden Algorithmen für die Lösung
linearer Systeme durch Dreieckszerlegung (Faktorisierung).

Algorithmus 4.42. (Elimination ohne Zeilenvertauschungen)


Gegeben: Ax = a mit det (Ak ) = 0 für k = 1(1)n−1.
Gesucht: Lösung x .
1. Schritt: Dreieckszerlegung A = LR zur Ermittlung von L und R gemäß Satz 4.9
und Algorithmus 4.11.
2. Schritt: Vorwärtselimination a = Lr zur Bestimmung von r . Es gilt
r1 = a1

i−1
ri = ai − lik ri für i = 2(1)n
k=1

3. Schritt: Rückwärtselimination Rx = r zur Berechnung der Lösung x . Es gilt


rn
xn = ann 

n
xi = 1
aii ri − aik xk für i = n−1(−1)1
k=i+1
134 4. Lösung linearer Gleichungssysteme

Beweis. Aus A x = a folgt nach Satz 4.9 mit A = LR die Beziehung LR x = a. Ziel
ist die Herstellung der oberen Dreiecksform R x = r , so dass gilt

Rx =a
L  =⇒ Lr =a .
:=r

Das heißt man muss nach der Faktorisierung A = LR zuerst L r = a durch Vorwärtse-
limination lösen, bevor man aus R x = r rekursiv die Lösung x ermitteln kann. Daraus
ergibt sich die Reihenfolge der Schritte im Algorithmus.

Beispiel 4.43.
Gegeben: A x = a mit
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
4 −1 −1 2 x1
A=⎝ 8 0 −1 ⎠ a =⎝ 7 ⎠ x = ⎝ x2 ⎠
4 1 4 9 x3

Gesucht: Der Lösungsvektor x .

Lösung:

1. Schritt: Dreieckszerlegung A = LR =⇒ L, R
⎛ ⎞ ⎛ ⎞⎛ ⎞
4 −1 −1 1 0 0 4 −1 −1
A=⎝ 8 0 −1 ⎠ = ⎝ 2 1 0 ⎠⎝ 0 2 1 ⎠
4 1 4 1 1 1 0 0 4

2. Schritt: Vorwärtselimination L r = a
⎛ ⎞⎛ ⎞ ⎛ ⎞
1 0 0 r1 2
⎝ 2 1 0 ⎠ ⎝ r2 ⎠ = ⎝ 7 ⎠
1 1 1 r3 9
⎫ ⎛ ⎞
r1 = 2 ⎬ 2
2r1 + r2 = 7 ⇒ r2 = 7−4 = 3 =⇒ r =⎝3⎠.

r1 + r2 + r3 = 9 ⇒ r3 = 9−3−2 = 4 4

3. Schritt: Rückwärtselimination
⎛ ⎞⎛ ⎞ ⎛ ⎞
−1 −1
4 x1 2
⎝ 02 1 ⎠ ⎝ x2 ⎠ = ⎝ 3 ⎠
00 4 x3 4
⎫ ⎛ ⎞
4x3 = 4 ⇒ x3 = 1 ⎬ 1
2x2 + x3 = 3 ⇒ x2 = (3 − 1)/2 = 1 =⇒ x =⎝1⎠

4x1 − x2 − x3 = 2 ⇒ x1 = (2 + 1 + 1)/4 = 1 1

4.4 Prinzip der direkten Methoden zur Lösung linearer Gleichungssysteme 135

Algorithmus 4.44. (Elimination mit Zeilenvertauschungen)


Gegeben: Ax = a mit det A = 0, d. h. mit regulärer Matrix A.
Gesucht: Lösung x .
1. Schritt: Dreieckszerlegung PA = LR zur Ermittlung von L und R gemäß Satz
4.12.
2. Schritt: Vorwärtselimination Pa = Lr zur Bestimmung von r .
3. Schritt: Rückwärtselimination Rx = r zur Berechnung der Lösung x .

Aus Satz 4.12 ergibt sich für A x = a durch Linksmultiplikation mit der Permutations-
matrix P
PA x = P a
und mit PA = LR
Rx = P a ,
L 

woraus sich für R x =: r ergibt


Lr = P a (Vorwärtselimination).
Die Vorwärtselimination muss nach der Faktorisierung aber vor der Rückwärtseliminati-
on R x = r durchgeführt werden, so dass sich die Reihenfolge in Algorithmus 4.44 ergibt.

Beispiel 4.45.

Gegeben: A x = a mit ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
3 3 6 −3 x1
A=⎝ 2 2 3 ⎠ a = ⎝ −1 ⎠ x = ⎝ x2 ⎠
1 0 1 0 x3

Gesucht: x , det(A) über LR-Zerlegung mit Zeilenvertauschung.

Lösung:

1. Schritt: PA = LR

⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞
1 0 0 3 3 6 3 3 6 1 0 0 3 3 6
⎜ ⎟⎜ ⎟
PA = ⎝ 0 0 1 ⎠ ⎝ 2 2 3 ⎠ = ⎝ 1 0 1 ⎠ = LR = ⎝ 13 1 0 ⎠ ⎝ 0 −1 −1 ⎠
0 1 0 1 0 1 2 2 3 2
0 −1
3 0 1 0

2. Schritt: P a = L r

⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞
1 0 0 −3 −3 1 0 0 r1 −3
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ 1 ⎟⎜ ⎟ ⎜ ⎟
⎝ 0 0 1 ⎠ ⎝ −1 ⎠ = ⎝ 0 ⎠ = ⎝ 3 1 0 ⎠ ⎝ r2 ⎠ =⇒ r =⎝ 1 ⎠
0 1 0 0 −1 2
3 0 1 r3 1
136 4. Lösung linearer Gleichungssysteme

3. Schritt: R x = r durch Rückwärtselimination


⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
3 3 6 x1 −3 x1 1
A = ⎝ 0 −1 −1 ⎠ ⎝ x2 ⎠ = ⎝ 1 ⎠ =⇒ ⎝ x2 ⎠ = ⎝ 0 ⎠
0 0 −1 x3 1 x3 −1

Aus PA = LR folgt

det(PA) = det(P) · det(A) = det(L) · det(R) = det(R)


det(P ) · det(R) −3
1
=⇒ det(A) = = (−1) (3) (−1) (−1) =


Die folgenden direkten Eliminationsverfahren arbeiten nach den angegebenen Algorith-
men. Sie unterscheiden sich lediglich dadurch, dass spezielle Eigenschaften der Matrix
A in Ax = a ausgenutzt werden, wodurch eine zum Teil erhebliche Ersparnis an
Rechenaufwand erreicht werden kann. Im Wesentlichen wird hier nur mit Systemen aus n
Gleichungen für n Unbekannte gearbeitet, lediglich in Abschnitt 4.13 mit überbestimm-
ten Systemen. Bevor aber spezielle Lösungsverfahren für lineare Systeme mit speziellen
Matrizen entwickelt werden, soll der Gauß-Algorithmus in der Form des klassischen Gauß-
Schemas hergeleitet werden, und danach wird der Zusammenhang zur Dreieckszerlegung
hergestellt.

4.5 Der Gauß-Algorithmus

4.5.1 Gauß-Algorithmus mit Spaltenpivotsuche


als Rechenschema

Das Prinzip des Gaußschen Algorithmus ist die Überführung eines Gleichungssystems
der Form (4.1) mit m = n in ein gestaffeltes System in oberer Dreiecksform


⎪ r11 x1 + r12 x2 + · · · + r1n xn = r1 ,

⎨ r22 x2 + · · · + r2n xn = r2 ,
.. .. .. (4.3)

⎪ . . .


rnn xn = rn ,
aus dem sich die xi , i = 1(1)n, durch Rückwärtselimination berechnen lassen, falls
r11 r22 . . . rnn = 0 ist.

Zunächst wird der Algorithmus hergeleitet und anschließend wird der Zusammenhang
mit den Algorithmen in Abschnitt 4.4 hergestellt.

Konstruktion des Verfahrens


Bekanntlich ist die Lösung eines Gleichungssystems (4.1) unabhängig von der Anordnung
der Gleichungen. Man kann also o. B. d. A. eine Zeilenvertauschung derart vornehmen,
4.5 Der Gauß-Algorithmus 137

dass das betragsgrößte Element der ersten Spalte von A in die erste Zeile kommt (Spal-
tenpivotsuche vgl. Abschnitt 4.5.2). Die durch die Umordnung entstandene Matrix heiße
(0) (0)
A(0) , ihre Elemente aik und die Komponenten der rechten Seite ai , so dass (4.1) in
das äquivalente System

n
(0) (0)
aik xk = ai , i = 1(1)n, (4.4)
k=1

übergeht. Ist det A = 0, so gilt für das betragsgrößte Element (Pivotelement) der er-
(0)
sten Spalte a11 = 0. Zur Elimination von x1 aus den Gleichungen i = 2(1)n multipli-
(0) (0)
ziert man die 1. Gleichung von (4.4) mit −ai1 /a11 und addiert sie jeweils zur i-ten
Gleichung, so dass sich für i = 2(1)n zusammen mit der unveränderten 1. Zeile ergibt
(1. Eliminationsschritt):

⎧ (0) (0) (0) (0)



⎪ a11 x1 + a12 x2 + . . . +a1n xn = a1 ,


⎨ 
(1)
a22 x2
(1)
a2n xn = 
+ . . . + a2 ,
(1)

.. .. (4.5)



⎪ . .
⎩ (1) (1) (1)
an2 x2 ann xn = 
+ . . . + an ,

mit



⎪ 0 für k = 1, i = 2(1)n,
⎨ (0)
(1) (1) (0) (0) ai1

aik = (0) 
ai = ai − a1 , i = 2(1)n.

⎪ (0) (0) a (0)
⎩ aik − a1k i1 (0) sonst, a11
a11

Das System (4.5) besteht also aus einer Gleichung mit den n Unbekannten x1 , x2 , . . . , xn
und n−1 Gleichungen mit den n−1 Unbekannten x2 , . . . , xn .

Auf die n−1 Gleichungen i = 2(1)n von (4.5) wendet man das Eliminationsverfahren er-
neut an. Dazu muss man zunächst wieder eine Zeilenvertauschung durchführen, so dass
(1)
das betragsgrößte Element der 
ai2 für i = 2(1)n in der 2. Gleichung erscheint; nach der
(1)
Zeilenvertauschung werden die Elemente der neu entstandenen Zeilen 2 bis n mit aik
(1)
bzw. ai bezeichnet:




(0)
a11 x1 +
(0)
a12 x2
(0)
+ . . . +a1n xn =
(0)
a1 ,



⎨ (1) (1) (1)
a22 x2 + . . . +a2n xn = a2 ,
(4.6)

⎪ .. ..

⎪ . .

⎩ (1) (1) (1)
an2 x2 + . . . +ann xn = an ,

(1)
wobei wegen det A = 0 gelten muss a22 = 0.
Verfährt man nun analog mit der 2. bis n-ten Gleichung von (4.6), so sind für jeden
138 4. Lösung linearer Gleichungssysteme

weiteren Eliminationsschritt j mit j = 2(1)n−1 die Elemente




⎨ 0 für k = 1(1)j, i = (j + 1)(1)n,
(j)

aik = (j−1)

⎩ a(j−1) − a
(j−1) aij
sonst,
ik jk (j−1)
ajj

(j−1)
(j) (j−1) (j−1) aij

ai = ai − aj (j−1) , i = (j + 1)(1)n,
ajj

zu berechnen. Nach jedem Eliminationsschritt j sind die Gleichungen j + 1 bis n so


(j)
umzuordnen, dass das betragsgrößte Element der  ai,j+1 für j + 1 ≤ i ≤ n in der (j + 1)-
ten Gleichung steht; die Elemente der neu entstandenen Gleichungen j + 1 bis n werden
(j) (j)
mit aik bzw. ai bezeichnet. Man erhält so nach n−1 Eliminationsschritten das gestaffelte
Gleichungssystem
⎧ (0) (0) (0) (0) (0)

⎪ a11 x1 + a12 x2 + a13 x3 + . . . + a1n xn = a1 ,



⎪ (1) (1) (1) (1)
⎨ a22 x2 + a23 x3 + . . . + a2n xn = a2 ,
(2) (2) (2) (4.7)


a33 x3 + . . . + a3n xn = a3 ,

⎪ .
.. .
..


⎩ (n−1) (n−1)
ann xn = an .
(i−1) (i−1)
Mit rik = aik , ri = ai besitzt (4.7) die Gestalt (4.3). Aus dem zu (4.1) äquivalenten
System (4.7) berechnet man rekursiv die xi gemäß

(n−1)
an aj
(j−1)

n (j−1)
ajk
xn = (n−1)
, xj = (j−1)
− (j−1)
xk , j = n−1, n−2, . . . , 1 . (4.8)
ann ajj k=j+1 ajj

(j−1)
Im Fall det A = 0 darf keines der Diagonalelemente ajj verschwinden. Ist es nach ir-
(j−1)
gendeinem Eliminationsschritt nicht mehr möglich, ein Element ajj = 0 zu finden, so
bedeutet dies, dass det A = 0 ist. Ob dann überhaupt eine Lösung existiert und wenn ja,
wieviele Parameter sie besitzt, folgt automatisch aus der Rechnung. Für die Determinan-
te von A gilt det A = (−1)k r11 r22 . . . rnn , wobei k die Anzahl der Zeilenvertauschungen
ist.
Da der Rang r von A gleich der Anzahl der nicht verschwindenden Diagonalelemente
(j−1)
rjj = ajj der Superdiagonalmatrix R (gegebenenfalls unter Spaltenvertauschungen)
ist, lässt sich die Anzahl n−r der Parameter nach Durchführung der n−1 Eliminations-
schritte sofort angeben.
4.5 Der Gauß-Algorithmus 139

Rechenschema 4.46. (Gaußscher Algorithmus für n = 3)

Bezeichnung A a erfolgte Operationen


der Zeilen
(0) (0) (0) (0)
1(0) a11 a12 a13 a1
(0) (0) (0) (0)
2(0) a21 a22 a23 a2 —
(0) (0) (0) (0) (0)
3 a31 a32 a33 a3
(0)
 (1) (1) (1) a21 (0)
2(1) 0 
a22 
a23 
a2 − (0) 1 + 2(0)
a11
(0)
 (1) (1) (1) a31 (0)
3(1) 0 
a32 
a33 
a3 − (0) 1 + 3(0)
a11
(1) (1) (1)
2(1) 0 a22 a23 a2 Zeilenvertauschung von
2(1) , 
3(1) in 2(1) , 3(1) ,
(1) (1) (1)
3(1) 0 a32 a33 a3 so dass gilt
(1) (1) (1)
|a22 | = max(| a22 |, |
a32 |)
(1)
 (2) (2) (2) (2) a32 (1)
3(2) = 3(2) 0 0 
a33 = a33 
a3 = a3 − (1) 2 + 3(1)
a22

Die Zeilen 1(0) , 2(1) , 3(2) bilden das gesuchte gestaffelte System (4.7), aus dem die Lösun-
gen xi rekursiv gemäß (4.8) bestimmt werden. Die Zeilenvertauschung der Zeilen  2(1) ,

3(1) erübrigt sich, falls |
(1)
a22 | ≥ |
(1)
a32 | ist; dann ist 
(1) (1)
a2i = a2i und 
(1) (1)
a3i = a3i für i = 2, 3
zu setzen.

Beispiel 4.47.
Gegeben: Das Gleichungssystem Ax = a mit
⎛ ⎞ ⎛ ⎞ ⎛

3 3 6 x1 −3
A=⎝ 2 2 3 ⎠, x = ⎝ x2 ⎠ , a =⎝ 1 ⎠
1 0 1 x3 0

Gesucht: Die Lösung x mit Hilfe des Gaußschen Algorithmus.


140 4. Lösung linearer Gleichungssysteme

Lösung:
Bezeichnung A a erfolgte Operationen
der Zeilen

1(0) 3m 3 6 −3
(0)
2 2 2 3 1 —
(0)
3 1 0 1 0
 
 2
2(1) 0 0 −1 3 − · 1(0) + 2(0)
3m
 
 1
3(1) 0 −1 −1 1 − · 1(0) + 3(0)
3m

2(1) 0 −1 −1 1 Vertauschung der


3(1) 0 0 −1 3 Zeilen 
2(1) und 
3(1)

Aus 3(1) folgt x3 = −1 3


= −3, mit 2(1) folgt x2 = 2, mit 1(0) folgt x1 = 3,
also: x = (3, 2, −3)T .

Bemerkung: Würde man hier ohne Zeilenvertauschung von  2(1) und 3(1) arbeiten, so
käme es beim 2. Eliminationsschritt zur Division durch Null; dies wird durch die Zeilen-
vertauschung vermieden. 

Bemerkung. (Homogene Systeme)


Die Lösung homogener Systeme Ax = 0 mit Rg(A) = r erfolgt so, dass mit dem Gauß-
schen Algorithmus die Dreiecksmatrix
 R hergestellt wird. Das System reduziert sich aufr
linear unabhängige Gleichungen d. h. man erhält r Diagonalelemente rii = 0, i = 1(1)r .
Für die restlichen n−r Unbekannten setzt man beliebige Parameter ein, so dass sich damit
die ersten r Unbekannten aus Rx = 0 ermitteln lassen.
4.5 Der Gauß-Algorithmus 141

Beispiel 4.48.
Gegeben: Ein homogenes System Ax = 0 .

Gesucht: Die Lösungen des homogenen Systems mit dem Gaußschen Algorithmus.

Lösung:

Bezeichnung A a erfolgte Operationen


der Zeilen

1(0) 2 −2 4 0
2(0) −1 2 3 0 —
3(0) 1 −1 2 0
 
2(1) 0 1 5 0 − − 21 · 1(0) + 2(0)
 
3(1) 0 0 0 0 − 12 · 1(0) + 3(0)

Das gestaffelte System Rx = 0 lautet:

1(0) : 2x1 − 2x2 + 4x3 = 0


2(1) : x2 + 5x3 = 0
3(1) : 0 · x3 = 0

Wegen det A = 0 existiert eine nichttriviale Lösung. Aus 3(1) folgt: x3 = t, t ∈ IR, aus
2(1) : x2 = −5t und aus 1(0) : x1 = −7t, so dass sich der vom Parameter t abhängige
Lösungsvektor ergibt ⎛ ⎞ ⎛ ⎞
x1 −7
⎝ x2 ⎠ = t ⎝ −5 ⎠
x3 1

d. h. alle Punkte einer Gerade durch den Nullpunkt sind Lösung des homogenen Sy-
stems. 

4.5.2 Spaltenpivotsuche

Wenn die Koeffizienten gerundete Zahlen sind oder im Verlaufe der Rechnung gerundet
werden muss, sind Zeilenvertauschungen unerlässlich, um Verfälschungen des Ergebnis-
ses durch Rundungsfehler möglichst zu dämpfen. Man bezeichnet diese Strategie als
(j−1)
Spaltenpivotsuche oder teilweise Pivotsuche und die Diagonalelemente rjj = ajj als
Pivotelemente. Unter Verwendung der Spaltenpivotsuche wird der Gauß-Algorithmus in
den meisten Fällen stabil. Vollkommen stabil wird er, wenn man als Pivotelement je-
weils das betragsgrößte Element der gesamten Restmatrix verwendet, man spricht dann
von vollständiger Pivotsuche. Hierfür ist der Aufwand sehr groß; für die Praxis ist die
Spaltenpivotsuche bzw. die weiter unten erläuterte skalierte Pivotsuche in vielen Anwen-
dungsfällen ausreichend.
142 4. Lösung linearer Gleichungssysteme

Beispiel 4.49.
Gegeben: Das lineare Gleichungssystem

(1) 0.2420 · 10−3 x1 + 0.6004 · 10−2 x2 = 0.1743 · 10−2 ,
(2) 0.4000 · 100 x1 + 0.9824 · 101 x2 = 0.2856 · 101 .

Gesucht: Zu bestimmen sind x1 und x2 nach dem Gaußschen Algorithmus; die exakten
Lösungen sind x1 = 1, x2 = 0.25.

Lösung:

1. Fall: Die Gleichungen werden in der obigen Reihenfolge benutzt. Zur Elimination
von x1 aus Gleichung (2) wird (1) mit
0.4000
− = −0.1653 · 104 = c1
0.2420 · 10−3

multipliziert und c1 · (1) + (2) gebildet. Man erhält das gestaffelte System

0.2420 · 10−3 x1 + 0.6004 · 10−2 x2 = 0.1743 · 10−2
−0.1010 · 10 x2 = −0.2500 · 10−1 .
0

Als Lösungen ergeben sich daraus: x1 = 0.1062 · 101; x2 = 0.2475, sie weichen
stark von den exakten Lösungen ab.

2. Fall: Die Reihenfolge der Gleichungen (1) und (2) wird vertauscht, so dass jetzt
das betragsgrößte Element der ersten Spalte in der ersten Gleichung steht

1(0) 0.4000 · 100 x1 + 0.9824 · 101 x2 = 0.2856 · 101 ,
2(0) 0.2420 · 10−3 x1 + 0.6004 · 10−2 x2 = 0.1743 · 10−2 .

Zur Elimination von x1 aus 2(0) wird 1(0) mit

0.2420 · 10−3
− = −0.6050 · 10−3 = c2
0.4000

multipliziert und c2 · 1(0) + 2(0) gebildet. Man erhält das gestaffelte System

0.4000 · 100 x1 + 0.9824 · 101 x2 = 0.2856 · 101 ,
0.6000 · 10−4 x2 = 0.15000 · 10−4 .

Hieraus ergeben sich als Lösungen x1 = 0.1000 · 101 und x2 = 0.2500, sie
stimmen mit den exakten Lösungen überein.

Die Abweichungen der Lösungen im 1. Fall sind dadurch entstanden, dass mit dem sehr
großen Faktor c1 multipliziert wurde und die Rundungsfehler dadurch entsprechend an-
gewachsen sind. 
4.5 Der Gauß-Algorithmus 143

Beispiel 4.50.
Gegeben: Das lineare Gleichungssystem
⎛ ⎞⎛ ⎞ ⎛ ⎞
7 8 9 x1 24
⎝ 8 9 10 ⎠ ⎝ x2 ⎠ = ⎝ 27 ⎠ .
9 10 8 x3 27

Gesucht: Eine näherungsweise Lösung mit dem Gaußschen Algorithmus unter Verwen-
dung der Gleitpunktarithmetik mit dreistelliger Mantisse
(i) ohne Pivotisierung
(ii) mit Spaltenpivotsuche.
Die exakte Lösung ist xex = (1, 1, 1)T .

Lösung:

zu (i): Gaußscher Algorithmus ohne Pivotisierung

Bezeichnung A a erfolgte Operationen


der Zeilen

1(0) 7.00 8.00 9.00 24.0


2(0) 8.00 9.00 10.0 27.0 —
3(0) 9.00 10.0 8.00 27.0

2(1) 0.00 −0.12 −0.30 −0.400 − 8.00


7.00 · 1
(0)
+ 2(0)

3(1) 0.00 −0.30 −3.60 −4.00 − 9.00


7.00 · 1
(0)
+ 3(0)

−0.300
3(2) 0.00 0.00 −2.85 −3.00 − −0.120 · 2(1) + 3(1)

⇒ Lösungskomponenten: x3 =1.05, x2 =0.708, x1 =1.27


⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1.27 1.27 1.00 0.270
x = ⎝ 0.708 ⎠ ⇒ r = x −xex = ⎝ 0.708 ⎠−⎝ 1.00 ⎠ = ⎝ −0.292 ⎠
1.05 1.05 1.00 0.0500

|r | = 0.401 (Abstand der Lösung x von der exakten Lösung xex ).


144 4. Lösung linearer Gleichungssysteme

zu (ii): Gaußscher Algorithmus mit teilweiser Pivotisierung

Bezeichnung A a Operationen
der Zeilen


1(0) 7.00 8.00 9.00 24.0

2(0) 8.00 9.00 10.0 27.0 —

3(0) 9.00 10.0 8.00 27.0

1(0) 9.00 10.0 8.00 27.0


2(0) 8.00 9.00 10.0 27.0 —
3(0) 7.00 8.00 9.00 24.0

 − 8.00
2(1) 9.00 · 1
(0)
0.00 0.110 2.89 3.00 + 2(0)

 − 7.00
3(1) 9.00 · 1
(0)
0.00 0.220 2.78 3.00 + 3(0)

2(1) 0.00 0.220 2.78 3.00


3(1) 0.00 0.110 2.89 3.00 —

3(2) 0.00 0.00 1.50 1.50 − 0.220


0.110
· 2(1) + 3(1)

⇒ Lösungskomponenten: x3 = 1.00, x2 = 1.00, x1 = 1.00


⎛ ⎞
1.00
x = ⎝ 1.00 ⎠ = xex ,
1.00

d. h. hier erhält man die exakte Lösung auf 3 Mantissenstellen genau. 

Bemerkung. (Pivotsuche ist nur entscheidend wirkungsvoll, wenn alle Zeilen- und Spal-
tenbetragssummen annähernd gleich groß sind)


n 
n
zi := |aij | ≈ sk := |ajk | für i, k = 1(1)n. (4.9)
j=1 j=1

Matrizen, für die (4.9) gilt, heißen äquilibriert (vgl. [MAES1985], 2.2.2). Da sich aber
der Rechenaufwand bei einer Äquilibrierung (vgl. Abschnitt 4.14.3) beträchtlich erhöhen
würde, führt man bei nicht äquilibrierten Matrizen statt der Spaltenpivotsuche eine so-
genannte skalierte Spaltenpivotsuche durch. Man ersetzt bei der Elimination das Glied
 
(j−1) (j−1)
|ajj | = max | aij |
i=j(1)n
4.5 Der Gauß-Algorithmus 145

in Abschnitt 4.5.1 durch


(j−1)
 (j−1)

|ajj | aij |
|
:= max . (4.10)
zj i=j(1)n zi

4.5.3 Gauß-Algorithmus als Dreieckszerlegung

Die Vorgehensweise beim Gaußschen Algorithmus entspricht genau dem Algorithmus


4.42, wenn ohne Zeilenvertauschung gearbeitet wird.
Dann besteht der folgende Zusammenhang: Für die Elemente der Zerlegungsmatrizen
L = (lij ), R = (rij ) und den Vektor r = (r1 , r2 , . . . , rn )T gilt
⎧ (j−1) (j−1)
 (i−1) ⎨ aij /ajj , i>j
aij , i≤j
rij = , lij = 1 , i=j ,
0 , i>j ⎩
0 , i<j
(i−1)
ri = ai , i = 1(1)n,
und die Lösungen xi ergeben sich rekursiv aus

xn = rrnn
n ,

⎛ ⎞

n
xi = r1ii ⎝ri − rij xj ⎠ , i = n−1, n−2, . . . , 1.
j=i+1

Während des Eliminationsprozesses können die Elemente von A zeilenweise mit den
Elementen der Zerlegungsmatrizen überspeichert werden; die lij für i > j stehen dann
unterhalb der Hauptdiagonale, die lii = 1 werden nicht abgespeichert und die rij (i ≤ j)
stehen in und über der Hauptdiagonale. Ebenso können die Elemente von a durch die
von r überspeichert werden.

Beispiel 4.51.

Gesucht: Die Lösung x des Gleichungssystems Ax = a mit


⎛ ⎞ ⎛ ⎞ ⎛

2 1 1 x1 4
A=⎝ 2 3 0 ⎠, x = ⎝ x2 ⎠ , a =⎝ 5 ⎠
4 −4 7 x3 7

Lösung (ohne Zeilenvertauschung): Wegen


 
 2 1 
det(A1 ) = |2| = 2 = 0, det(A2 ) =  =4=0

2 3
sind die Voraussetzungen des Satzes 4.9 erfüllt. Mit dem vorgenannten Algorithmus 4.42
erhält man
146 4. Lösung linearer Gleichungssysteme

1. Zerlegung A = LR: Durch Koeffizientenvergleich erhält man zeilenweise (von oben


nach unten)
⎛ ⎞ ⎛ ⎞⎛ ⎞
2 1 1 1 0 0 2 1 1
A=⎝ 2 3 0 ⎠=⎝ 1 1 0 ⎠ ⎝ 0 2 −1 ⎠ = LR
4 −4 7 2 −3 1 0 0 2

2. Vorwärtselimination Lr = a:
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0 r1 4 r1 4 ⏐

⎝ 1 1 0 ⎠ ⎝ r2 ⎠ = ⎝ 5 ⎠ ⇒ r = ⎝ r2 ⎠ = ⎝ 1 ⎠ ⏐
-
2 −3 1 r3 7 r3 2

3. Rückwärtselimination Rx = r:
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
2 1 1 x1 4 x1 1 .

⎝ 0 2 −1 ⎠ ⎝ x2 ⎠ = ⎝ 1 ⎠ ⇒ x = ⎝ x2 ⎠ = ⎝ 1 ⎠ ⏐

0 0 2 x3 2 x3 1

Zum Vergleich wird der Gaußsche Algorithmus als Rechenschema angegeben:

Bezeichnung A a erfolgte Operationen Koeffizienten


der Zeilen von L

⇒ 1(0) 2 1 1 4
2(0) 2 3 0 5 — —
3(0) 4 −4 7 7
 
2 2
⇒ 2(1) = 
2(1) 0 2m −1 1 − · 1(0) + 2(0) l21 = 2 =1
2
 
4 4
3(1) = 
3(1) 0 −6 5 −1 − · 1(0) + 3(0) l31 = 2 =2
2
 
−6  −6 
⇒ 3 (2)
0 0 2 2 − · 2(1) + 3(1) l32 = = −3
2m
2

Aus den Zeilen 1(0) , 2(1) und 3(2) ergeben sich die obere Dreiecksmatrix R sowie die
rechte Seite r des Systems R x = r .

Die Faktoren der Operationen in den Klammern sind die lij . Man erhält für die Zerle-
gungsmatrizen L und R und den Vektor r :
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0 2 1 1 4
L=⎝ 1 1 0 ⎠, R = ⎝ 0 2 −1 ⎠ , r =⎝ 1 ⎠
2 −3 1 0 0 2 2
so dass aus Rx = r rekursiv die Lösung x = (1, 1, 1)T folgt. 
4.5 Der Gauß-Algorithmus 147

Im folgenden Algorithmus soll die Vorgehensweise der Dreieckszerlegung mit Spaltenpi-


votsuche unter Verwendung der Überspeicherung der Elemente von A durch die Elemente
von L und R formuliert werden.

Algorithmus 4.52. (Dreieckszerlegung mit Spaltenpivotsuche)

Gegeben: A = (aij ), i, j = 1(1)n, det A = 0, d. h. A ist regulär.


Gesucht: Dreieckszerlegung PA = LR, wobei L und R auf A überspeichert werden.
Dann sind nacheinander folgende Schritte auszuführen:
1. Vorbesetzen des Pivotvektors p = (p1 , p2 , . . . , pn )T mit pi = i für alle i.
2. Für jeden Wert j = 1(1)n−1 ist durchzuführen:
2.1 Bestimme i0 ≥ j mit |ai0 j | = max{|aij |, i = j(1)n} (Pivotsuche) und
vertausche pi0 mit pj und die i0 -te Zeile in A mit der j-ten Zeile. Gilt ajj = 0,
dann ist A singulär und das Verfahren ist abzubrechen. Andernfalls:
2.2 Für jedes i = j + 1(1)n ist durchzuführen:
2.2.1 Ersetze aij durch aij /ajj .
2.2.2 Führe für k = j + 1(1)n durch:
Ersetze aik durch aik − ajk aij .

Dann ist P = (ep1 , ep2 , . . . , epn )T ,


⎛ ⎞ ⎛ ⎞
1 0 ··· 0 a11 a12 ··· a1n
⎜ a21 1 0 ⎟ ⎜ 0 a22 ··· a2n ⎟
⎜ ⎟ ⎜ ⎟
L=⎜ .. .. .. ⎟ , R = ⎜ .. .. .. ⎟;
⎝ . . . ⎠ ⎝ . . . ⎠
an1 ··· an,n−1 1 0 ··· ann
epj ist der pj -te Standard-Einheitsvektor mit einer 1 in der pj -ten Komponente.

Algorithmus 4.53. (Gauß-Algorithmus mit Spaltenpivotsuche)

Gegeben: Ax = a, det A = 0.
Gesucht: Lösung x .

1. Schritt: Bestimmung des Pivotvektors p und der Dreiecksmatrizen L und R nach


Algorithmus 4.52.
2. Schritt: Berechnung von r = (r1 , r2 , . . . , rn )T durch Vorwärtselimination aus
Pa = Lr mit

Pa = (ap1 , ap2 , . . . , apn )T nach der Vorschrift



i−1
r1 = ap1 , ri = api − aij rj für i = 2(1)n.
j=1
148 4. Lösung linearer Gleichungssysteme

3. Schritt: Berechnung der Lösung x aus Rx = r durch Rückwärtselimination mit


rn
xn = ann, 

n
xi = 1
aii ri − aij xj für i = n−1, n−2, . . . , 1.
j=i+1

Ganz analog lassen sich die letzten beiden Algorithmen unter Verwendung der skalierten
Spaltenpivotsuche formulieren. Dann ist lediglich noch die in Abschnitt 4.5.2 angegebene
Skalierung gemäß Formel (4.10) zu beachten.

Beispiel 4.54.

Gesucht: Wiederum die Lösung x des Gleichungssystems Ax = a mit


⎛ ⎞ ⎛⎞ ⎛⎞
3 3 6 x1 −3
A=⎝ 2 2 3 ⎠, x = ⎝ x2 ⎠ , a =⎝ 1 ⎠
1 0 1 x3 0

Lösung durch den Gauß-Algorithmus mit Spaltenpivotsuche.

Bezeichnung A a erfolgte Operationen Koeffizienten


der Zeilen von L

⇒ 1(0) 3m 3 6 −3
(0)
2 2 2 3 1 — —
(0)
3 1 0 1 0
 
(1) 2
2 0 0 −1 3 − · 1(0) + 2(0)
3m
 
 1
3(1) 0 −1 −1 1 − · 1(0) + 3(0) —
3m
 1
⇒ 2(1) 0 −1 −1 1 Vertauschung von l21 = = 1
 3 3
2
3(1) 0 0 −1 3 2. und 3. Zeile l31 = 3 = 2
3

⎛ ⎞
0  
⇒ 3(2) 0 0 −1 3 − ⎝  ⎠ · 2(1) + 3(1) l32 = 0
−1 =0
−1

4.5 Der Gauß-Algorithmus 149

Daraus ergeben sich die Zerlegungsmatrizen L und R sowie der Vektor r


⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0 3 3 6 −3
L = ⎝ 3 1 0 ⎠, R = ⎝ 0 −1 −1 ⎠ , r =⎝ 1 ⎠
1

2
3 0 1 0 0 −1 3

so dass sich aus R x = r rekursiv die Lösung x T = (3, 2, −3) errechnen lässt. Wegen der
Zeilenvertauschung gilt auch die Zerlegung
⎛ ⎞⎛ ⎞ ⎛ ⎞
1 0 0 3 3 6 3 3 6
LR = ⎝ 3 1 0 ⎠ ⎝ 0 −1 −1 ⎠ = ⎝ 1 0 1 ⎠
1

2
0 1 0 0 −1 2 2 3
⎛3 ⎞⎛ ⎞
1 0 0 3 3 6
= ⎝ 0 0 1 ⎠⎝ 2 2 3 ⎠ = PA
0 1 0 1 0 1

mit einer Permutationsmatrix P, die aus der Einheitsmatrix E durch Vertauschung der
2. und 3. Zeile entsteht.

Der Vektor r ergibt sich aus


⎛ ⎞ ⎛ ⎞⎛ ⎞
−3 1 0 0 r1 ⏐

Pa = ⎝ 0 ⎠ = Lr = ⎝ 1
1 0 ⎠ ⎝ r2 ⎠ ⏐
3 -
2
1 3 0 1 r3

durch Vorwärtselimination: r T = (−3, 1, 3). 

4.5.4 Gauß-Algorithmus für Systeme


mit mehreren rechten Seiten

Liegen Systeme mit gleicher Matrix A und m rechten Seiten aj , j = 1(1)m, vor, so kann
man statt Axj = aj schreiben

AX = A∗ mit X = (x1 , x2 , . . . , xm ) und A∗ = (a1 , a2 , . . . , am ),

wobei A = (aik ), i, k = 1(1)n, die gemeinsame Matrix der m Systeme ist, X die (n, m)-
Matrix, die spaltenweise aus den m Lösungsvektoren xj , j = 1(1)m, aufgebaut ist und
A∗ die (n, m)-Matrix, deren m Spalten die m rechten Seiten aj sind. Die Dreiecks-
zerlegung der Matrix A braucht also nur einmal für alle m Systeme durchgeführt zu
werden, während Vorwärts- und Rückwärtselimination m-mal zu machen sind. Es sind
n3 /3 − n/3 + mn2 Punktoperationen erforderlich. Zusammengefasst ergibt sich damit
folgender
150 4. Lösung linearer Gleichungssysteme

Algorithmus 4.55. (Ohne Spaltenpivotsuche)


Gegeben: AX = A∗ , det(Ak ) = 0 für k = 1(1)n−1, A∗ = (a1 , a2 , . . . , am ).
Gesucht: X = (x1 , x2 , . . . , xm )

1. Schritt: Faktorisierung A = LR gemäß Satz 4.9.


2. Schritt: Vorwärtselimination A∗ = LR∗ zur Berechnung von R∗ .
3. Schritt: Rückwärtselimination RX = R∗ zur Berechnung von X .

Mit Spaltenpivotsuche muss analog mit der Permutationsmatrix P (vgl. Satz 4.12 bzw.
Algorithmus 4.44) multipliziert werden.

Das folgende Beispiel wird mit Spaltenpivotsuche im Gauß-Schema gerechnet.

Beispiel 4.56.
Gegeben sind A x1 = a1 und A x2 = a2 mit
⎛ ⎞ ⎛ ⎞ ⎞ ⎛
3 3 6 −3 −6
A=⎝ 2 2 3 ⎠, a1 = ⎝ 1 ⎠ , a2 = ⎝ −3 ⎠
1 0 1 0 −2

Bezeichnung A a1 a2 erfolgte Operationen


der Zeilen

⇒ 1(0) 3 3 6 −3 −6
2(0) 2 2 3 1 −3 —
3(0) 1 0 1 0 −2
2

2(1) 0 0 −1 3 1 − · 1(0) + 2(0)
 31 

3(1) 0 −1 −1 1 0 − · 1(0) + 3(0)
3
1
⇒ 2(1) 0 −1 −1 1 0 − · 1(0) + 3(0)
 32 
3(1) 0 0 −1 3 1 − 3 · 1(0) + 2(0)
 
⇒ 3(2) 0 0 −1 3 1 − 0
−1 · 2(1) + 3(1)

Es ergeben sich aus 1(0) , 2(1) und 3(2) :


⎛ ⎞ ⎛ ⎞ ⎞ ⎛
3 3 6 −3 −6
R = ⎝ 0 −1 −1 ⎠ , r1 = ⎝ 1 ⎠ , r2 = ⎝ 0 ⎠
0 0 −1 3 1
4.6 Matrizeninversion mit dem Gauß-Algorithmus 151

Die Lösungen ergeben sich aus


R x 1 = r1 und R x2 = r2
bzw. verkürzt geschrieben
R(x1 , x2 ) = (r1 , r2 ) bzw. RX = R∗ ,
also ⎛ ⎞⎛ ⎞ ⎛ ⎞
3 3 6 x1,1 x1,2 −3 −6
⎝ 0 −1 −1 ⎠ ⎝ x2,1 x2,2 ⎠ = ⎝ 1 0 ⎠
0 0 −1 x3,1 x3,2 3 1
   
x1 x2 r1 r2

Daraus ergeben sich rekursiv die Lösungen


⎛ ⎞ ⎛ ⎞
3 −1
x1 = ⎝ 2 ⎠ , x2 = ⎝ 1 ⎠
−3 −1

4.6 Matrizeninversion mit dem Gauß-Algorithmus


Gegeben seien n lineare Gleichungssysteme aus n Gleichungen mit n Unbekannten

Axi = ei , i = 1(1)n,

mit det A = 0, ei i-ter Einheitsvektor. Fasst man die n rechten Seiten ei zu der Einheits-
matrix E zusammen und die n Lösungsvektoren xi zu einer Matrix X , so lassen sich die
n Systeme kompakt in der Form AX = E schreiben.

Daraus resultiert gemäß Definition der Inversen: X = A−1 , d. h. die n Lösungsvektoren


xi der n Systeme Axi = ei bauen spaltenweise die inverse Matrix A−1 auf. Man gewinnt
A−1 , indem man die n Systeme mit dem Gaußschen Algorithmus löst; auch hier ist die
Spaltenpivotsuche unerlässlich. Es sind 4n3 /3 − n/3 Punktoperationen erforderlich.

Algorithmus 4.57. (Ohne Spaltenpivotsuche)

Gegeben: AX = E , A = (aik ), i, k = 1(1)n, streng regulär.


Gesucht: X = A−1 .
1. Schritt: Faktorisierung A = LR gemäß Satz 4.9 liefert L und R.
2. Schritt: Vorwärtselimination E = LR∗ liefert R∗ .
3. Schritt: Rückwärtselimination RX = R∗ liefert X = A−1 .
152 4. Lösung linearer Gleichungssysteme

Algorithmus 4.58. (Mit Spaltenpivotsuche)


Gegeben: AX = E , A = (aik ), i, k = 1(1)n, A regulär.
Gesucht: X = A−1 .
1. Schritt: Faktorisierung PA = LR gemäß Satz 4.12 bzw. Algorithmus 4.52 liefert
L und R.
2. Schritt: Vorwärtselimination PE = LR∗ liefert R∗ .
3. Schritt: Rückwärtselimination RX = R∗ liefert X = A−1 .

Man sollte dieses Verfahren nur anwenden, wenn A−1 explizit gebraucht wird. Auf kei-
nen Fall sollte es zur Lösung von m Systemen Axi = yi , i = 1(1)m, durch xi = A−1 yi
verwendet werden, weil dann 4n3 /3 − n/3 + mn2 Punktoperationen benötigt werden im
Gegensatz zu n3 /3 − n/3 + mn2 bei Anwendung des in Abschnitt 4.5.4 angegebenen
Verfahrens.

Beispiel 4.59.
 
2 3
Gegeben: Die Matrix A = .
1 4

Gesucht: Die Inverse A−1 .

Lösung: Rechenschema

Bezeichnung A E erfolgte Operationen


der Zeilen
1(0) 2 3 1 0
2(0) 1 4 0 1 —

2(1) 0 + 25 − 12 1 − 12 · 1(0) + 2(0)

Gestaffeltes System
      
2 3 x11 x12 1 0 −1 1 4 −3
= ⇒A = .
0 52 x21 x22 − 12 1 5 −1 2
        
R A−1 R∗


Beispiel 4.60.
Gegeben: Die Matrix ⎛ ⎞
2 −1 0 0
⎜ −1 2 −1 0 ⎟
A=⎜
⎝ 0 −1
⎟.
2 −1 ⎠
0 0 −1 2

Gesucht: Die Inverse A−1 .


4.7 Verfahren für Systeme mit symmetrischen Matrizen 153

Lösung: Rechenschema

Bezeichnung A E erfolgte Operationen


der Zeilen
1(0) 2 −1 0 0 1 0 0 0
2(0) −1 2 −1 0 0 1 0 0
3(0) 0 −1 2 −1 0 0 1 0 —
4(0) 0 0 −1 2 0 0 0 1
 −1 
2(1) 0 3
2 −1 0 1
2 1 0 0 − 2 · 1(0) + 2(0)

3(1) 0 −1 2 −1 0 0 1 0

4(1) 0 0 −1 2 0 0 0 1
 −2 
3(2) 0 0 4
3 −1 1
3
2
3 1 0 − 3 · 2(1) + 3(1)

4(2) 0 0 −1 2 0 0 0 1
 −3 
4(3) 0 0 0 5
4
1
4
2
4
3
4 1 − 4 · 3(2) + 4(2)

Gestaffeltes System
⎛ ⎞⎛ ⎞ ⎛ ⎞
2 −1 0 0 x11 x12 x13 x14 1 0 0 0
⎜ 3
−1 ⎟⎜ ⎟ ⎜ 1
0 0 ⎟
⎜ 0 0 ⎟⎜ x21 x22 x23 x24 ⎟ ⎜ 1 ⎟
⎜ 2
⎟⎜ ⎟=⎜ 2

⎝ 0 0 4
3 −1 ⎠⎝ x31 x32 x33 x34 ⎠ ⎝ 1
3
2
3 1 0 ⎠
5 1 2 3
0 0 0 x41 x42 x43 x44 1
  4
    4 4
 4 
R A−1 R∗

⎛ ⎞
4 3 2 1
1⎜ 3 6 4 2 ⎟
⇒ A−1 = ⎜ ⎟.
5⎝ 2 4 6 3 ⎠
1 2 3 4


4.7 Verfahren für Systeme


mit symmetrischen Matrizen

Ist die Matrix A = (aik ), i, k = 1(1)n, in Ax = a symmetrisch (A = AT ), so genügt es,


die Elemente des oberen Dreiecks einschließlich der Diagonale zu speichern. Für Systeme
mit symmetrischen, streng regulären Matrizen (det Ak = 0 für alle k) und symmetri-
schen, positiv definiten (und damit streng regulären) Matrizen, für die det(Ak ) > 0 für
alle k gilt, werden im Folgenden Lösungsalgorithmen angegeben, die auf den Sätzen 4.34,
154 4. Lösung linearer Gleichungssysteme

4.37 und 4.38 aufbauen. Die Verfahren haben nur Sinn ohne Spaltenpivotsuche. Deshalb
ist strenge Regularität stets Voraussetzung.

4.7.1 Systeme mit symmetrischer, streng regulärer Matrix

Algorithmus 4.61. (Ohne Spaltenpivotsuche)


Gegeben: Ax = a mit symmetrischer, streng regulärer Matrix A = (aik ),
i, k = 1(1)n, und rechter Seite a = (ai ), i = 1(1)n.
Gesucht: x = (xi ), i = 1(1)n.

1. Schritt: (Faktorisierung A = RT DR mit normierter oberer Dreiecksmatrix R und


Diagonalmatrix D; es ergeben sich D und R bzw. RT )

1.1 d11 = a11


a1k
r1k = d11 , k = 2(1)n

1.2 Für jedes i = 2(1)n−1



i−1
1.2.1 dii = aii − 2
djj rji
j=1
 

i−1
1.2.2 ri,i+1 = 1
dii ai,i+1 − djj rj,j+1 rj,j+2
j=1

n−1
1.3 dnn = ann − 2
djj rjn
j=1

2. Schritt: (Vorwärtselimination RT z = a ⇒ z und Dr = z ⇒ r)


a1
2.1 z1 = r11
2.2 Für jedes
 j j−1
= 2(1)n 

z j = aj − rij zi r1jj
i=1

2.3 Für jedes j = 1(1)n


z
rj = djjj

3. Schritt: (Rückwärtselimination Rx = r )
rn
3.1 xn = rnn
3.2 Für jedes
 i = n−1(−1)1 
n
xi = rii ri −
1
rik xk
k=i+1
4.7 Verfahren für Systeme mit symmetrischen Matrizen 155

Die Durchführung des Verfahrens verläuft analog zu Algorithmus 4.42. Hier ergeben sich
auch negative Hauptdiagonalelemente der Matrix D (siehe auch Beispiel 4.43).

4.7.2 Systeme mit symmetrischer, positiv definiter Matrix –


Cholesky-Verfahren
Ist die Matrix A in Ax = a symmetrisch (aik = aki ) und positiv definit (x T Ax > 0 für
alle x = 0 ), so kann das Cholesky-Verfahren angewandt werden; es benötigt asympto-
tisch nur halb so viele Punktoperationen wie der Gaußsche Algorithmus und ca. halb so
viel Speicherplatz. Im Anschluss werden zwei Darstellungsformen angegeben, die erste
mit der Zerlegung A = RT R, die zweite mit der Zerlegung A = RT DR. Die zweite
Form ist numerisch günstiger, da die Berechnung von Quadratwurzeln vermieden wird.

Prinzip des Verfahrens für die 1. Darstellungsform mit der Cholesky-Zerle-


gung A = RT R

Mit der Zerlegung A = RT R, wo R = (rik ) eine obere Dreiecksmatrix mit rii > 0 ist,
wird das System Ax = a in ein äquivalentes System Rx = r überführt in folgenden
Schritten:
1. (Faktorisierung) A = RT R ⇒ R,
2. (Vorwärtselimination) a = RT r ⇒ r ,
3. (Rückwärtselimination) Rx = r ⇒ x .

Durchführung des Verfahrens

Die Elemente der Matrizen A, R, RT und des Vektors r werden wie folgt bezeichnet
⎛ ⎞
a11 a12 · · · a1n
⎜ a21 a22 · · · a2n ⎟
A=⎜ .
⎝ .. . .. .
..
⎟ = AT , d. h. aik = aki

an1 · · · an,n−1 ann
⎛ ⎞
r11 r12 · · · r1n
⎜ 0 r22 · · · r2n ⎟
R=⎜ .
⎝ .. .. . ⎟ , rii > 0

. ..
0 ··· rnn
⎛ ⎞ ⎛ ⎞
r11 0 ··· 0 r1
⎜ r12 r22 0 ⎟ ⎜ r2 ⎟
RT = ⎜ ⎝ ... .. .. ⎟ , rii > 0
⎠ r =⎜ ⎟
⎝ ... ⎠ .
. .
r1n · · · r1,n−1 rnn rn

Aus dem Koeffizientenvergleich A = RT R ergeben sich zeilenweise die Formeln für die
rik . Aus dem Koeffizientenvergleich a = RT r ergeben sich die ri durch Vorwärtselimina-
tion und aus dem Koeffizientenvergleich Rx = r ergeben sich die xi durch Rückwärts-
elimination. Man erhält den
156 4. Lösung linearer Gleichungssysteme

Algorithmus 4.62.
Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A = (aik ),
i, k = 1(1)n, n ≥ 2, a = (ai ), i = 1(1)n.
Gesucht: x = (xi ), i = 1(1)n.
Dann sind nacheinander folgende Schritte auszuführen:
1. Schritt: (Zerlegung A = RT R)

1.1 r11 = a11
1.2 Für jedes j = 2(1)n−1
#

j−1
1.2.1 rjj = ajj − 2
rij
i=1

1.2.2 Für jedes k = j+1(1)n


 

j−1
rjk = r1jj ajk − rik rij
# i=1
 2
n−1
1.3 rnn = ann − rin
i=1

2. Schritt: (Vorwärtselimination a = RT r )
a1
2.1 r1 = r11
2.2 Für jedes
 j j−1
= 2(1)n 

rj = aj − rij ri r1jj
i=1

3. Schritt: (Rückwärtselimination Rx = r )
rn
3.1 xn = rnn
3.2 Für jedesi = n−1(−1)1 

n
xi = r1ii ri − rik xk
k=i+1

Für die Determinante von A gilt:


det A = det(RT ) det R = (r11 r22 . . . rnn )2 .

Beispiel 4.63.

Gegeben: Das System Ax = a mit


⎛ ⎞ ⎛ ⎞
2 0 −1 1
A=⎝ 0 2 −1 ⎠ , a = ⎝ 1 ⎠.
−1 −1 2 0
4.7 Verfahren für Systeme mit symmetrischen Matrizen 157

Prüfung der Voraussetzungen für die Anwendung des Cholesky-Verfahrens:


Wegen aik = aki ist A = AT , also A symmetrisch. Außerdem sind sämtliche Hauptab-
schnittsdeterminanten (vgl. Definition 4.1)  
 2 0 
det(A1 ) = |2| = 2 > 0 , 
det(A2 ) =  =4>0, det A = 4 > 0
0 2 
positiv, d. h. A ist positiv definit.

1. Weg: Lösung des Systems Ax = a mit positiv definiter Matrix A gemäß Alg. 4.62

1. Schritt: A = RT R (Zerlegung)
⎛ ⎞ ⎛ √ ⎞⎛ √ ⎞
0 −1 2 2 0 − √12
2 √0 0
⎜ √ ⎟
⎝ 0 2 −1 ⎠ = ⎝ 0 2 0 ⎠⎝ 0 2 − √12 ⎠ .
−1 −1 2 − √12 − √12 1 0 0 1
2. Schritt: a = RT r (Vorwärtselimination)
⎛ ⎞ ⎛ √ ⎞⎛ ⎞
1 2 0 − √12 √1

⎝ 1 ⎠=⎜ ⎟ 2
⎝ 0 2 − √12 ⎠ ⎝ √12 ⎠ .
0 0 0 1 1
3. Schritt: Rx = r (Rückwärtselimination)
⎛ √ √ ⎞⎛ ⎞ ⎛ √ ⎞
2 √0 − 12 √2 x1 1
2 √2
⎝ 0 2 − 12 2 ⎠ ⎝ x2 ⎠ = ⎝ 1 ⎠,
2 2
0 0 1 x3 1
woraus sich rekursiv die Lösung x3 = x2 = x1 = 1 ergibt.

Die Lösung des Systems Ax = a mit dem Cholesky-Verfahren gemäß Algorithmus 4.62
kann verkürzt wie folgt geschrieben werden
(A, a) = (RT R, RT r ) = RT (R, r ) .
Durch zeilenweisen Koeffizientenvergleich der Matrix (A, a) mit dem Matrizenprodukt
RT (R, r ) können die Matrix R und der Vektor r berechnet werden, danach aus Rx = r
die Lösung.
⎛ ⎞ ⎛ √ ⎞⎛ √ ⎞
2 0 −1 1 2 0 0 2 0 − √12 √1
⎜ ⎟ ⎜ √ √ 2
⎝ 0 2 −1 1 ⎠=⎝ 0 2 0 ⎟ ⎜
⎠⎝ 0 2 − √12 √1

⎠.
2
−1 −1 2 0 − √2 − √2 1
1 1
0 0 1 1
          
A a RT R r

Das gestaffelte System Rx = r lautet


⎛ √ √ ⎞⎛ ⎞ ⎛ √ ⎞
2 0 − 12 2 x1 1
2 2
⎜ √ √ ⎟⎜ ⎟ ⎜ √ ⎟
⎝ 0 2 − 12 2 ⎠ ⎝ x2 ⎠ = ⎝ 1
2 2 ⎠.
0 0 1 x3 1

158 4. Lösung linearer Gleichungssysteme

2. Weg: Prinzip des Verfahrens in der 2. Darstellungsform mit der Zerlegung A = RT DR

Mit der Zerlegung A = RT DR, wobei D eine Diagonalmatrix und R eine normierte
obere Dreiecksmatrix ist, wird das System Ax = a gemäß Algorithmus 4.61 in ein äqui-
valentes System Rx = r übergeführt. Die Zerlegung wird so vorgenommen, dass die
Anzahl der Punktoperationen wie in der 1. Darstellung n3 /6 + O(n2 ) ist.

Durchführung des Verfahrens


Es werden folgende Bezeichnungen benutzt:
⎛ ⎞ ⎛ ⎞
d1 1 r12 · · · r1n ⎛ ⎞ ⎛ ⎞
r1 z1
⎜ d2 ⎟ ⎜ 1 r23 · · · r2n ⎟
⎜ ⎟ ⎜ ⎟ ⎜ r2 ⎟ ⎜ z2 ⎟
D=⎜ ⎜
..
. ⎟, R = ⎜
⎟ ⎜
.. ..
. . .. ⎟
. ⎜ ⎟ ⎜ ⎟
⎟ , r = ⎝ .. ⎠ , z = ⎝ .. ⎠ .
⎝ dn−1 ⎠ ⎝ 1 rn−1,n ⎠
. .
rn zn
dn 1

Algorithmus 4.64.

Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A = (aik ),


i, k = 1(1)n, n ≥ 2, a = (ai ), i = 1(1)n.
Gesucht: x = (xi ), i = 1(1)n .

Dann sind nacheinander folgende Schritte auszuführen:

1. (Faktorisierung A = RT DR)

1.1 d1 = a11
1.2 Für jedes j = 1(1)n:
1.2.1 Für jedes i = 1(1)j−1
hi = rij di (Zwischenspeicher) für j > 1

j−1
1.2.2 dj = ajj − hi rij für j = 2(1)n
i=1

1.2.3 Für jedesk = j+1(1)n 



j−1
rjk = d1j ajk − hi rik für j ≤ n−1
i=1

2. (Vorwärtselimination RT z = a, D r = z )

2.1 z1 = a1

j−1
2.2 zj = aj − rij zi für j = 2(1)n
i=1
2.3 rj = zj /dj für j = 1(1)n
4.7 Verfahren für Systeme mit symmetrischen Matrizen 159

3. (Rückwärtselimination Rx = r )
3.1 xn = rn

n
3.2 xj = rj − rji xi für j = n−1(−1)1
i=j+1

Wenn man bei der Faktorisierung den Koeffizientenvergleich zwischen A und RT DR


in etwas anderer Form ausführt, können gegenüber Algorithmus 4.64 noch n(n − 1)/2
Punktoperationen eingespart werden, vgl. dazu [MAES1985], S. 77. Dann ergibt sich der
folgende Algorithmus 4.65.

Algorithmus 4.65.
Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A.
Gesucht: x = (xi ), i = 1(1)n.

1. (Faktorisierung A = RT DR)
Für jedes j = 1(1)n
1.1 Für jedes i = 1(1)j−1
1.1.1 h = aij
1.1.2 rij = h/di
1.1.3 Für jedes k = i+1(1)j
akj wird durch akj − hrik ersetzt
1.2 dj = ajj
2. (Vorwärtselimination RT z = a , D r = z )
Für jedes j = 1(1)n
2.1 zj = aj
2.2 Für jedes i = 1(1)j−1
zj := zj − rij zi
2.3 rj = zj /dj
3. (Rückwärtselimination Rx = r )
Für jedes j = n(−1)1
3.1 xj = rj
3.2 Für jedes i = j+1(1)n
xj := xj − rji xi

Für die Determinante von A gilt:

det A = det(RT ) det D det R = det D = d1 d2 . . . dn .


160 4. Lösung linearer Gleichungssysteme

4.7.3 Systeme mit symmetrischer, positiv definiter Matrix –


Verfahren der konjugierten Gradienten (CG-Verfahren)

Ist die Matrix A symmetrisch und positiv definit, so kann auch das Verfahren der konju-
gierten Gradienten (CG-Verfahren) angewandt werden. Anstelle des linearen Gleichungs-
systems Ax = a wird hier iterativ die äquivalente Minimierungsaufgabe gelöst. Es gilt
der

Satz 4.66.
Die folgenden Aufgaben sind äquivalent:
(i) löse Ax = a und (ii) minimiere F (x ) = 12 x T Ax − x T a.

Der Beweis ergibt sich sofort mit der Hilfsfunktion


1
E(x ) = (Ax − a)T A−1 (Ax − a) .
2
Da auch A−1 positiv definit ist, ist E(x ) ≥ 0. Somit ist E(x ) genau dann minimal, wenn
gilt Ax − a = 0 . Die Berechnung von E(x ) ergibt unter Verwendung von AT = A
1 T −1
E(x ) = F (x ) + a A a .
2   
≥0

Daraus folgt, dass E(x ) und F (x ) an derselben Stelle minimal sind, d. h.


!
F (x ) = Min. ⇐⇒ Ax − a = 0 .

Die Richtung des stärksten Abstiegs einer Funktion ist durch ihren negativen Gradienten
gegeben.
Für F gilt : grad F (x ) = Ax − a.

Es besteht also die Aufgabe, jenen Punkt zu suchen, in dem der Gradient verschwindet.

Algorithmus 4.67. (CG-Verfahren)


Gegeben ist eine symmetrische, positiv definite (n, n)-Matrix A.
Gesucht ist die Lösung x des linearen Gleichungssystems Ax = a.

1. Startpunkt x0 ∈ IRn (beliebig)


d0 = −g0 = −(Ax0 − a). Falls g0 = 0 , kann abgebrochen werden, x0 ist dann
Lösung.
2. Für k = 0, 1, . . . , n−1 werden nacheinander berechnet:
dkT gk
2.1 αk = −
dkT Adk
2.2 xk+1 = xk + αk dk mit {xk+1 ∈ x0 + Uk+1 (d0 , . . . , dk )}
4.7 Verfahren für Systeme mit symmetrischen Matrizen 161

2.3 gk+1 = gk + αk Adk


mit {gk+1 ⊥ d0 , . . . , dk , gk+1 ∈
/ Uk+1 (d0 , . . . , dk )}
Gilt zu vorgegebenem ε > 0 gk+1 ∞ < ε, dann kann abgebrochen werden
mit xk+1 als Lösung.

T
gk+1 Ad k
2.4 βk = dkT Ad k

2.5 dk+1 = −gk+1 + βk dk


mit {dk+1 ⊥ Adk , dk+1 ∈
/ Uk+1 (d0 , . . . , dk )}

Für k = n − 1 (d. h. im n-ten Schritt) erhält man Un (d0 , d1 , . . . , dn−1 ) = IRn , denn
dn = 0 mit dn ∈
/ Un = IRn kann nicht existieren!

Das CG-Verfahren kann sowohl den direkten Verfahren zugerechnet werden, weil es nach
genau n Schritten bis auf Rundungsfehler die exakte Lösung liefert, als auch den ite-
rativen Verfahren, weil es im Allgemeinen wegen der raschen Konvergenz bereits nach
wenigen Schritten eine ausreichend gute Lösung liefert.

Vorteile des Verfahrens sind

• die leichte Vektorisierbarkeit und Parallelisierbarkeit

• die rasche Konvergenz; ihre Geschwindigkeit hängt allerdings von der Kondition
der Matrix A ab; je besser die Kondition um so geringer die benötigte Schrittzahl
bei vorgegebener Genauigkeit.

Ein Nachteil des Verfahrens ist die große Empfindlichkeit gegen Rundungsfehler.
Dass das Verfahren im Gegensatz zum Gauß-Algorithmus leicht vektorisierbar und par-
allelisierbar ist, ergibt sich aus der Art der Operationen, die pro Iterationsschritt aus-
zuführen sind. Es sind pro Schritt drei Skalarprodukte zu berechnen und eine Matrix-
Vektor-Multiplikation (Adk ). Da diese Operationen bei herkömmlicher Verarbeitung ca.
97 % der Rechenzeit ausmachen, muss hier auf besonders effektive Berechnung geachtet
werden.

In der Literatur ist eine Variante des CG-Verfahrens, das sogenannte CG-Verfahren
mit Vorkonditionierung zu finden. Man erreicht damit eine Verringerung der Zahl der
Iterationsschritte bei erhöhtem Rechenaufwand pro Schritt. Das Verfahren ist z. B. in
[BUNS1995], S. 156 ff., [SCHW1991], [SCHW1988], [MAES1985], S. 132-133 beschrieben.

Geometrische Interpretation des CG-Verfahrens für den Fall n = 2:


F (x, y) ist dann ein elliptisches Paraboloid, die Höhenlinien sind Ellipsen, die Grundrisse
der Höhenlinien sind ähnliche Ellipsen mit demselben Mittelpunkt.
Für diesen Fall beinhaltet das Verfahren der konjugierten Gradienten folgende Konstruk-
tionsschritte, die in der Abbildung erkennbar sind.
162 4. Lösung linearer Gleichungssysteme

1. Wähle x0 auf einer Ellipse


2. Konstruiere die Tangente in x0 : t0
3. Konstruiere die Normale in x0 : n0 = t⊥
0

4. Halbiere die auf n0 liegende Sehne der Ellipse: x1


5. Konstruiere den zu x0 x1 konjugierten Durchmesser durch x1 ; er verbindet die Punk-
te der Ellipse, deren Tangenten zu x0 x1 parallel sind.
6. Halbiere den Durchmesser: x2
............................................................
...........................
............... ... ....................
............ ... ........... ...
.......... ... ......... ..
.............. ... ........
....... .....
.
...
...... ...
.
...... ..
....... ...
.......
. ..
...
... ...... ...
.. ...
... ..... ... .......................
..................................
........... .....
......
.......
... .... ... ........... ........ .. .....
... .... ... .
. ........ ... . ....
... .. ... .. .
..... ... .
......... x
..... 1.... .... .... .... .... ........
......
r
... .
. ... .. . .. . ... .
... .... ... ..... . ..
... .. ... ... x r9
2 ......................... ...............
. ....... ...................
.....
. . ......
......
... ..
... ...
... ..
.....
... ...............................................
........................... ]
.. ..... .. .
.. ...
−α d
.
.....
..... .. ..
..
.
.. .... .. .....
.
−α g
.... . . ...
. 1 1 .
. . ... .
... ..
.. .... .... .... . . ... .
. .. .
... ............. ..
. .
. .
... ..
..........
......
.... . .
... 0 0 ..... ....................... ..
.... .... .... . ... ........
.......
...
.. ... ...
.... .... .... .....
...... ... ...........
. .............. ...
............
...
. ................. ...
.
....... .
... ....................................... ...
..... .
... ..
...
... ....... ... ... ...........
... ..................
Zur Richtung g 0
... .......
... .........
... ........
...
...
... .. r
........ ... ...
....... ... ....
... ......... ............... .. ... .
konjugierter . ...........
..............
.................... .............. ......
............................................................................... .............
x
.................. 0 ............
...
. ...
...... ...
Durchmesser ..
........... ...
...
.......... ...
...... ...
durch x 1 . ...
.. .
....... ...
Normale n0 in x0 ist
...
.
Tangente t0 in x0 Tangente t1 in x1

Abb. 4.7. Geometrische Interpretation des CG-Verfahrens

Beispiel 4.68.
Gegeben: Das Gleichungssystem Ax = b mit der symmetrischen und positiv definiten
Matrix A sowie der rechte Seite b
   
5.0000 −2.0000 2.0000
A= , b=
−2.0000 10.0000 2.0000

Gesucht: Die Lösung x mittels CG-Verfahren (Alg. 4.67)

1. Es werden gesetzt
     
1.0000 −1.0000 1.0000
x0 = , d0 = , g0 =
1.0000 −6.0000 6.0000
4.7 Verfahren für Systeme mit symmetrischen Matrizen 163

Für k = 0 wird berechnet Für k = 1 wird berechnet

Schritt Rechnung Schritt Rechnung

2.1 α0 = 0.108504 2.1 α1 = 0.200353


   
0.8915 0.5217
2.2 x1 = x0 + α0 d0 = 2.2 x2 = x1 + α1 d1 =
0.3490 0.3043
   
1.7595 −0.0000
2.3 g1 = g0 + α0 A d0 = 2.3 g2 = g1 + α1 A d1 =
−0.2933 0.0000
2.4 β0 = 0.085999
 
−1.8455
2.5 d1 = −g0 + β0 d0 =
−0.2227

Da die Norm von g2 verschwindet, wird x2 als Lösung verwendet.


   
0.5217 2.0000 !
Probe: A · = =a 
0.3043 2.0000

Beispiel 4.69.

Gegeben: Das lineare Gleichungssystem Ax = b mit


⎛ ⎞ ⎛ ⎞
7 2 −1 2 −1 −13
⎜ 2 7 2 −1 2 ⎟ ⎜ 8 ⎟
⎜ ⎟ ⎜ ⎟
A=⎜
⎜ −1 2 7 2 −1 ⎟
⎟, b=⎜
⎜ 3 ⎟

⎝ 2 −1 2 7 2 ⎠ ⎝ −8 ⎠
−1 2 −1 2 7 19

Gesucht: Die Lösung x unter Anwendung des CG-Verfahrens (Alg. 4.67).

Lösung: Da A symmetrisch ist und alle Hauptabschnittsdeterminanten (7, 45, 272,


1280 und 3072) positiv sind, A also auch positiv definit ist, ist das CG-
Verfahren anwendbar.

Der Algorithmus führt folgende Schritte durch:


⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1.0000 22.0000 −22.0000
⎜ 1.0000 ⎟ ⎜ 4.0000 ⎟ ⎜ −4.0000 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
x0 = ⎜
⎜ 1.0000 ⎟,
⎟ g0 = ⎜
⎜ 6.0000 ⎟,
⎟ d0 = ⎜
⎜ −6.0000 ⎟

⎝ 1.0000 ⎠ ⎝ 20.0000 ⎠ ⎝ −20.0000 ⎠
1.0000 −10.0000 10.0000
164 4. Lösung linearer Gleichungssysteme

α0 = 0.113646 , β0 = 0.029001
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
−1.5002 −1.4111 0.7731
⎜ 0.5454 ⎟ ⎜ −1.0004 ⎟ ⎜ 0.8844 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
x1 = ⎜
⎜ 0.3181
⎟,
⎟ g1 = ⎜
⎜ −2.8644 ⎟
⎟ d1 = ⎜
⎜ 2.6904


⎝ −1.2729 ⎠ ⎝ 0.4528 ⎠ ⎝ −1.0328 ⎠
2.1365 −4.3177 4.6077

α1 = 0.169390 , β1 = 0.528165
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
−1.3693 −1.7809 2.1893
⎜ 0.6952 ⎟ ⎜ 2.9576 ⎟ ⎜ −2.4905 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
x2 = ⎜
⎜ 0.7739
⎟,
⎟ g2 = ⎜
⎜ −0.6360 ⎟
⎟ d2 = ⎜
⎜ 2.0570


⎝ −1.4479 ⎠ ⎝ 1.8127 ⎠ ⎝ −2.3582 ⎠
2.9170 0.5088 1.9248

α2 = 1.082218
⎛ ⎞ ⎛ ⎞
1.0000 −0.0000
⎜ −2.0000 ⎟ ⎜ 0.0000 ⎟
⎜ ⎟ ⎜ ⎟
x3 = ⎜
⎜ 3.0000
⎟,
⎟ g3 = ⎜
⎜ −0.0000 ⎟

⎝ −4.0000 ⎠ ⎝ −0.0000 ⎠
5.0000 0.0000

Norm von g3 verschwindet ⇒ x3 ist Lösung.

Damit erhält man als Lösung x des Gleichungssystems x3 = (1, −2, 3, −4, 5)T . 

4.8 Das Gauß-Jordan-Verfahren


Das Gauß-Jordan-Verfahren ist eine Modifikation des Gaußschen Algorithmus, welche
die rekursive Berechnung der Lösungen xi gemäß (4.8) erspart. Der erste Schritt des
Verfahrens ist identisch mit dem ersten Eliminationsschritt des Gaußschen Algorithmus;
(1)
man erhält somit (4.6). Die Gleichungen 2 bis n sind so umgeordnet, dass a22 das be-
(1)
tragsgrößte Element der ai2 für i = 2(1)n ist. Jetzt wird die 2. Gleichung von (4.6)
(0) (1) (1) (1)
nacheinander für i = 1 mit −a12 /a22 und für i = 3(1)n mit −ai2 /a22 multipliziert und
jeweils zur i-ten Gleichung addiert. Man erhält nach diesem ersten Jordan-Schritt ein
Gleichungssystem der Form
⎧ (1) (1) (1) (1) (1)

⎪ a11 x1 + a13 x3 + a14 x4 + . . . + a1n xn = a1 ,



⎪ (1) (1) (1) (1) (1)

⎪ a22 x2 + a23 x3 + a24 x4 + . . . + a2n xn = a2 ,
⎨ (1) (1) (1) (1)
a33 x3 + a34 x4 + . . . + a3n xn = a3 , (4.11)



⎪ .
..




⎩ (1) (1) (1) (1)
an3 x3 + an4 x4 + . . . + ann xn = an .
4.9 Gleichungssysteme mit tridiagonaler Matrix 165

(1) (0) (1) (1)


Dabei ist a11 = a11 und a22 = a22 ; für diese unveränderten und für die neu gewonnenen
Elemente soll die Bezeichnung mit dem oberen Index verwendet werden. Die Gleichungen
(1) (1)
3 bis n von (4.11) sind bereits so umgeordnet, dass a33 das betragsgrößte Element der ai3
für i = 3(1)n ist. In einem zweiten Jordan-Schritt multipliziert man die dritte Gleichung
(1) (1)
von (4.11) mit −ai3 /a33 für i = 1(1)n und i = 3 und addiert sie zur i-ten Gleichung.
So fortfahrend erhält man nach n − 1 Jordan-Schritten schließlich n Gleichungen der
(n−1) (n−1)
Form aii xi = ai , i = 1(1)n, aus denen sich unmittelbar die xi berechnen lassen.
Da die Anzahl der Punktoperationen n3 /2 + O(n2 ) ist und beim Gauß-Algorithmus nur
n3 /3 + O(n2 ), ist der Gauß-Algorithmus vorzuziehen !

4.9 Gleichungssysteme mit tridiagonaler Matrix

4.9.1 Systeme mit tridiagonaler Matrix

Eine Matrix A = (aik ) heißt tridiagonal, falls gilt aik = 0 für |i − k| > 1, i, k = 1(1)n,
n ≥ 3. Ein Gleichungssystem (4.1) bzw. (4.2) mit tridiagonaler Matrix hat die Gestalt
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
a11 a12 x1 a1
⎜ a21 a22 a23 ⎟ ⎜ x2 ⎟ ⎜ a2 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ a32 a33 a34 ⎟ ⎜ x3 ⎟ ⎜ a3 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ .. .. .. ⎟ ⎜ .. ⎟=⎜ .. ⎟. (4.12)
⎜ . . . ⎟ ⎜ . ⎟ ⎜ . ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ an−1,n−2 an−1,n−1 an−1,n ⎠ ⎝ xn−1 ⎠ ⎝ an−1 ⎠
an,n−1 ann xn an

Prinzip des Verfahrens

Das System Ax = a lässt sich mit der Zerlegung A = LR, wo L eine bidiagonale
untere Dreiecksmatrix und R eine normierte bidiagonale obere Dreiecksmatrix ist, in
ein äquivalentes System Rx = r überführen. Voraussetzung für die Zerlegbarkeit ohne
Zeilenvertauschung ist strenge Regularität von A, d. h. es muss gelten (siehe Satz 4.9)

det(Ak ) = 0 für k = 1(1)n−1 .

Ist diese Voraussetzung verletzt, muss mit Spaltenpivotsuche gearbeitet werden, wodurch
sich jedoch im Allgemeinen die Bandbreite erhöht (vgl. Abschnitt 4.12). Die Überführung
von Ax = a in Rx = r erfolgt in den Schritten:

1. (Faktorisierung) A = LR ⇒ L,R ,
2. (Vorwärtselimination) a = Lr ⇒ r,
3. (Rückwärtselimination) Rx = r ⇒ x.
166 4. Lösung linearer Gleichungssysteme

Durchführung des Verfahrens


Die Elemente der Matrizen A , L , R werden wegen vektorieller Speicherung der Diago-
nalen wie folgt bezeichnet
⎧ ⎛ ⎞ ⎛ ⎞

⎪ d1 c1 1 γ1

⎪ ⎜ b2 d2 c2 ⎟ ⎜ 1 γ2 ⎟

⎪ ⎜ ⎟ ⎜ ⎟

⎪ ⎜ ⎟ ⎜ ⎟

⎪ A = ⎜ .. .. .. ⎟ , R = ⎜ .. .. ⎟,

⎪ ⎜ . . . ⎟ ⎜ . . ⎟

⎪ ⎝ ⎠ ⎝ ⎠

⎨ b d c
n−1 n−1 n−1 1 γ n−1
bn dn 1 (4.13)

⎪ ⎛ ⎞ ⎛ ⎞

⎪ α1 r1



⎪ ⎜ β2 α2 ⎟ ⎜ r2 ⎟

⎪L = ⎜ ⎟ ⎜ ⎟

⎪ ⎜ .. .. ⎟, r = ⎜ . ⎟.

⎪ ⎝ . . ⎠ ⎝ .. ⎠


βn αn rn

1. A = LR =⇒
⎛ ⎞ ⎛ ⎞⎛ ⎞
d1 c1 α1 1 γ1
⎜ b2 d2 c2 ⎟ ⎜ β2 α2 ⎟ ⎜ 1 γ2 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎜ b3 d3 c3 ⎟ ⎜ β3 α3 ⎟⎜ 1 γ ⎟
⎜ ⎟ ⎜ ⎟⎜ 3 ⎟
A=⎜ . . . ⎟ =⎜ . . ⎟ ⎜ . . ⎟
⎜ .. .. .. ⎟ ⎜ .. .. ⎟⎜ .. .. ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎝ bn−1 dn−1 cn−1 ⎠ ⎝ βn−1 αn−1 ⎠ ⎝ 1 γn−1 ⎠
bn dn βn αn 1
⎛ ⎞
α1 α1 γ1
⎜ β2 β2 γ1 + α2 α2 γ2 ⎟
⎜ ⎟
⎜ β β γ + α α γ ⎟
⎜ 3 3 2 3 3 3 ⎟
=⎜ . . . ⎟
⎜ .. .. .. ⎟
⎜ ⎟
⎝ βn−1 βn−1 γn−2 + αn−1 αn−1 γn−1 ⎠
βn βn γn−1 + αn

Koeffizientenvergleich liefert:

α1 = d1 ⇒ α1 = d1 am

c1 = α1 γ1 ⇒ γ1 = c1
α1
bm

βi = b i cm i = 2(1)n

bi γi−1 + αi = di ⇒ αi = di − bi γi−1 dm i = 2(1)n

αi γi = ci ⇒ γi = ci
αi
em i = 2(1)n−1

immer zeilenweise, also zuerst am, dann bm, dann dmund emfür i = 2(1)n−1
und anschließend dmfür i = n; cmist nur Umbenennung.
4.9 Gleichungssysteme mit tridiagonaler Matrix 167

2. Vorwärtselimination a = L r
⎛ ⎞ ⎛ ⎞⎛ ⎞
a1 α1 r1
⎜ a2 ⎟ ⎜ b 2 α2 ⎟⎜ r2 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎜ a3 ⎟ ⎜ b3 α3 ⎟⎜ r3 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎜ .. ⎟ = ⎜ .. .. ⎟⎜ .. ⎟
⎜ . ⎟ ⎜ . . ⎟⎜ . ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎝ an−1 ⎠ ⎝ bn−1 αn−1 ⎠ ⎝ rn−1 ⎠
an bn αn rn

Beginnend mit der 1. Zeile erhält man


a1
a1 = α1 r1 =⇒ r1 =
α1
und für i = 2(1)n
ri = (ai − bi ri−1 ) / αi .

3. Rückwärtselimination R x = r
⎛ ⎞⎛ ⎞ ⎛ ⎞
1 γ1 x1 r1
⎜ 1 γ2 ⎟⎜ x2 ⎟ ⎜ r2 ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ 1 γ3 ⎟⎜ x3 ⎟ ⎜ r3 ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ .. .. ⎟⎜ .. ⎟=⎜ .. ⎟
⎜ . . ⎟⎜ . ⎟ ⎜ . ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ 1 γn−1 ⎠ ⎝ xn−1 ⎠ ⎝ rn−1 ⎠
1 xn rn

Beginnend mit der letzten Zeile erhält man


xn = rn

und für i = n−1, n−2, . . . , 2, 1


xi = ri − γi xi+1 .

Algorithmus 4.70.
Gegeben: Ax = a mit tridiagonaler Matrix A, det (Ak ) = 0 für k = 1(1)n−1, n ≥ 3.
Gesucht: x = (xi ), i = 1(1)n.
Dann sind nacheinander folgende Schritte auszuführen:
1. (Zerlegung A = LR)
1.1 α1 = d1
1.2 γ1 = c1 /α1
1.3 Für jedes i = 2(1)n−1 sind zu berechnen:
1.3.1 αi = di − bi γi−1
1.3.2 γi = ci /αi
1.4 αn = dn − bn γn−1
168 4. Lösung linearer Gleichungssysteme

2. (Vorwärtselimination a = Lr )
2.1 r1 = a1 /d1
2.2 Für jedes i = 2(1)n sind zu berechnen:
ri = (ai − bi ri−1 )/αi
3. (Rückwärtselimination Rx = r )
3.1 xn = rn
3.2 Für jedes i = n−1(−1)1 sind zu berechnen:
xi = ri − γi xi+1

Anzahl der Punktoperationen:


zu 1. 1 + (n−1) + (n−2) = 2(n−1); zu 2. 1 + 2(n−1); zu 3. n−1.

Insgesamt sind dies 2(n − 1) + 1 + 2(n − 1) + n − 1 = 5n − 4 Punktoperationen. Im


Vergleich dazu benötigt der Gauß-Algorithmus für vollbesetzte Matrizen

n3 n
+ n2 −
3 3
Punktoperationen, d. h. zum Beispiel bei n = 1000 benötigt der Gauß-Algorithmus ∼
109 /3 Punktoperationen, während das Verfahren speziell für tridiagonale Matrizen nur
knapp 5 000 Punktoperationen erfordert.

Beispiel 4.71.

Gegeben: Das Gleichungssystem Ax = a mit


⎛ ⎞⎛ ⎞ ⎛

2 −1 0 0 x1 −5
⎜ −1 2 −1 0 ⎟ ⎜ ⎟ ⎜ 1 ⎟
⎜ ⎟ ⎜ x2 ⎟=⎜ ⎟
⎝ 0 −1 2 −1 ⎠ ⎝ x3 ⎠ ⎝ 4 ⎠
0 0 −1 2 x4 −1

Gesucht: Die Lösung x mit dem Algorithmus 4.70.

Lösung:

1. Zerlegung A = LR
⎛ ⎞ ⎛ ⎞⎛ −1

2 −1 0 0 2 0 0 0 1 2 0 0
⎜ −1 2 −1 0 ⎟ ⎜ −1 3
0 0 ⎟ ⎜ 0 1 −2
0 ⎟
⎜ ⎟=⎜ 2 ⎟⎜ 3 ⎟
⎝ 0 −1 2 −1 ⎠ ⎝ 0 −1 4
0 ⎠⎝ 0 0 1 −3 ⎠
3 4
0 0 −1 2 0 0 −1 5
4 0 0 0 1
4.9 Gleichungssysteme mit tridiagonaler Matrix 169

2. Vorwärtselimination Lr = a
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ −5 ⎞
2 0 0 0 r1 −5 r1 2
⎜ −1 3
0 0 ⎟ ⎜ r2 ⎟ ⎜ 1 ⎟ ⎜ r2 ⎟ ⎜ −1 ⎟
⎜ 2 ⎟⎜ ⎟=⎜ ⎟ =⇒ ⎜ ⎟=⎜ 9 ⎟
⎝ 0 −1 4
0 ⎠⎝ r3 ⎠ ⎝ 4 ⎠ ⎝ r3 ⎠ ⎝ ⎠
3 4
0 0 −1 54 r4 −1 r4 1

3. Rückwärtselimination Rx = r
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 −12 0 0 x1 −5
2 −2
⎜ 0 1 −2 0 ⎟ ⎜ x2 ⎟ ⎜ −1 ⎟ ⎜ 1 ⎟
⎜ 3 ⎟ ⎜ ⎟=⎜ 9 ⎟ =⇒ x =⎜ ⎟
⎝ 0 0 1 −3 ⎠ ⎝ x3 ⎠ ⎝ ⎠ ⎝ 3 ⎠.
4 4
0 0 0 1 x4 1 1


Die tridiagonale Matrix A (4.13) ist regulär, d. h. det A = 0, wenn gilt:


|d1 | > |c1 | > 0 |di | ≥ |bi | + |ci | für i = 2(1)n−1 .
bi ci = 0 für i = 2(1)n−1 |dn | > |bn | > 0 .

Es liegt dann eine tridiagonale, diagonaldominante Matrix vor. ([CONT1987], S. 184).


Für die Determinante einer tridiagonalen Matrix A gilt mit A = LR, (4.12) und (4.13)
wegen det R = 1
det A = det L det R = det L = α1 α2 . . . αn .
Bei Gleichungssystemen mit symmetrischen, tridiagonalen bzw. zyklisch tridiagonalen,
diagonaldominanten und anderen positiv definiten Matrizen ist der Gaußsche Algorith-
mus auch ohne Pivotsuche numerisch stabil; Konditionsverbesserung und Nachiteration
tragen nicht zur Verbesserung der Lösung bei (s. [FORS1971], 8, 10, 11; [SPAT1986],
S.15, [WILK1961]). In allen anderen Fällen ist Pivotsuche erforderlich. Dadurch kann
sich jedoch die Bandbreite (s. Abschnitt 4.12) erhöhen, sie kann sich aber höchstenfalls
verdoppeln.

4.9.2 Systeme mit symmetrischer, tridiagonaler,


positiv definiter Matrix
Ist A eine symmetrische, tridiagonale, positiv definite (n, n)-Matrix, so kann bei der
Lösung des Systems Ax = a ein zum Cholesky-Verfahren äquivalentes Verfahren an-
gewandt werden; es kann dabei Speicherplatz eingespart werden. Die Überführung von
Ax = a in ein äquivalentes System Rx = r geschieht gemäß Algorithmus 4.64 in den
Schritten:

1. Faktorisierung: A = RT DR ⇒ R und D ,
2. Vorwärtselimination: RT z = a ⇒ z,
Dr = z ⇒ r,
3. Rückwärtselimination: Rx = r ⇒ x.
170 4. Lösung linearer Gleichungssysteme

Durchführung des Verfahrens

Die Elemente von A , R , D , r , z und x werden wie folgt bezeichnet:

⎛ ⎞ ⎛ ⎞
d1 c1 1 γ1
⎜ c1 d2 c2 ⎟ ⎜ 1 γ2 ⎟
⎜ ⎟ ⎜ ⎟
⎜ .. .. .. ⎟ ⎜ .. .. ⎟
A=⎜ . . . ⎟, R = ⎜ . . ⎟,
⎜ ⎟ ⎜ ⎟
⎝ cn−2 dn−1 cn−1 ⎠ ⎝ 1 ⎠
γn−1
cn−1 dn 1
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
α1 r1 z1 x1 a1
⎜ α2 ⎟ ⎜ r2 ⎟ ⎜ z2 ⎟ ⎜ x2 ⎟ ⎜ a2 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
D=⎜ .. ⎟, r = ⎜ .. ⎟, z = ⎜ .. ⎟, x = ⎜ .. ⎟ , a = ⎜ .. ⎟
⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠
αn rn zn xn an

Algorithmus 4.72.
Gegeben: Ax = a, A symmetrisch, tridiagonal, positiv definit.
Gesucht: x = (xi ), i = 1(1)n.
Dann sind nacheinander folgende Schritte auszuführen:
1. (Zerlegung A = RT DR)
1.1 α1 = d1
1.2 γ1 = c1 /α1
1.3 Für jedes i = 2(1)n−1 sind durchzuführen:
1.3.1 αi = di − ci−1 γi−1
1.3.2 γi = ci /αi
1.4 αn = dn − cn−1 γn−1
2. (Vorwärtselimination RT z = a, D r = z )
2.1 z1 = a1
2.2 Für jedes i = 2(1)n ist zu berechnen:
zi = ai − γi−1 zi−1
2.3 Für jedes i = 1(1)n ist zu berechnen:
ri = zi /αi
3. (Rückwärtselimination Rx = r )
3.1 xn = rn
3.2 Für jedes i = n−1(−1)1 ist zu berechnen:
xi = ri − γi xi+1
Für die Determinante von A gilt
det A = det(RT DR) = det(RT ) det D det R = det D = α1 α2 . . . αn .
4.9 Gleichungssysteme mit tridiagonaler Matrix 171

Beispiel 4.73.

Gegeben: Das Gleichungssystem


⎛ ⎞⎛ ⎞ ⎛ ⎞
2 −1 0 0 x1 −5
⎜ −1 2 −1 0 ⎟ ⎜ x2 ⎟ ⎜ 1 ⎟
⎜ ⎟⎜ ⎟=⎜ ⎟
⎝ 0 −1 2 −1 ⎠ ⎝ x3 ⎠ ⎝ 4 ⎠
0 0 −1 2 x4 −1

Gesucht: Die Lösung x mit dem Algorithmus 4.72.

Lösung:

1. Zerlegung A = RT DR

⎛ ⎞ ⎛ ⎞⎛ ⎞⎛ ⎞
2 −1 0 0 1 0 0 0 2 0 0 0 1 − 21 0 0
⎜ −1 2 −1 0 ⎟ ⎜ −1 1 0 0 ⎟ ⎜0 3
0 0 ⎟⎜ 0 1 − 2
0 ⎟
⎜ ⎟=⎜ 2 ⎟⎜ 2 ⎟⎜ 3 ⎟
⎝ 0 −1 2 −1 ⎠ ⎝ 0 − 23 1 0 ⎠ ⎝ 0 0 43 0 ⎠ ⎝ 0 0 1 − 43 ⎠
0 0 −1 2 0 0 − 34 1 0 0 0 45
0 0 0 1

2. Vorwärtselimination RT z = a, D r = z

⎛ ⎞⎛ ⎞ ⎞⎛ ⎛ ⎞
1 0 0 0 z1 −5 −5
⎜ −1 0 ⎟ ⎜ z2 ⎟ ⎜ 1 ⎟ ⎜ 3 ⎟
⎜ 2 1 0 ⎟⎜ ⎟=⎜ ⎟ ⇒ z = ⎜ −2 ⎟
⎝ 0 −2 1 0 ⎠ ⎝ z3 ⎠ ⎝ 4 ⎠ ⎝ 3 ⎠
3
0 0 − 34 1 z4 −1 5
4

⎛ ⎞⎛ ⎞ ⎞⎛ ⎛ 5 ⎞
2 0 0 0 r1 −5 −2
⎜ 0 3
0 0 ⎟ ⎜ r2 ⎟ ⎜ −3 ⎟ ⎜ −1 ⎟
⎜ 2 ⎟⎜ ⎟=⎜ 2 ⎟⇒r =⎜ 9 ⎟
⎝ 0 0 4
0 ⎠ ⎝ r3 ⎠ ⎝ 3 ⎠ ⎝ ⎠
3 4
5 5
0 0 0 4 r4 4 1

3. Rückwärtselimination Rx = r

⎛ ⎞⎛ ⎞ ⎛ 5 ⎞ ⎛⎞
1 − 12 0 0 x1 −2 −2
⎜ 0 1 − 32 0 ⎟ ⎜ x2 ⎟ ⎜ −1 ⎟ ⎜ ⎟
⎜ ⎟⎜ ⎟=⎜ ⎟ ⇒ x = ⎜ 1 ⎟.
⎝ 0 0 3 ⎠⎝
1 −4 x3 ⎠ ⎝ 94 ⎠ ⎝ 3 ⎠
0 0 0 1 x4 1 1


172 4. Lösung linearer Gleichungssysteme

4.10 Gleichungssysteme
mit zyklisch tridiagonaler Matrix

4.10.1 Systeme mit zyklisch tridiagonaler Matrix


Eine Matrix A = (aik ), i, k = 1(1)n, n ≥ 4, heißt zyklisch tridiagonal, falls gilt aik = 0
für 1 < |i − k| < n − 1, i, k = 1(1)n.
Es sei Ax = a ein System mit zyklisch tridiagonaler Matrix A.

Prinzip des Verfahrens


Das System kann mit der Zerlegung A = LR in ein äquivalentes System Rx = r
überführt werden, sofern det(Ak ) = 0 für k = 1(1)n−1 gilt. Die Lösung erfolgt gemäß
Algorithmus 4.42 in den Schritten:
1. (Faktorisierung) A = LR ⇒ L und R ,
2. (Vorwärtselimination) Lr = a ⇒ r ,
3. (Rückwärtselimination) Rx = r ⇒ x .

Durchführung des Verfahrens


Die Elemente von A, L, R, r , x , a werden wie folgt bezeichnet
⎛ ⎞
⎛ ⎞ 1 γ1 δ1
d1 c1 e1 ⎜ ⎟
⎜ b2 d2 c2 ⎟ ⎜ 1 γ2 δ2 ⎟
⎜ ⎟ ⎜ .. .. .. ⎟
⎜ .. .. .. ⎟ ⎜ . . . ⎟
A=⎜ . . . ⎟, R = ⎜ ⎟,
⎜ ⎟ ⎜ γn−2 δn−2 ⎟
⎝ bn−1 dn−1 cn−1 ⎠ ⎜ ⎟
⎝ 1 γn−1 ⎠
cn bn dn
1
⎛ ⎞
α1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜ β2 ⎟ r1 a1 x1
⎜ α2 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ r2 ⎟ ⎜ a2 ⎟ ⎜ x2 ⎟
L=⎜ .. .. ⎟, r = ⎜ ⎟, a = ⎜ ⎟,x = ⎜ ⎟.
. . .. .. ..
⎜ ⎟ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠
⎝ βn−1 αn−1 ⎠
rn an xn
ε3 ε4 · · · εn βn αn

Analog zur Vorgehensweise bei den tridiagonalen Systemen (Algorithmus 4.70) ergeben
sich auch hier durch Koeffizientenvergleich die Elemente von L, R, r und schließlich von
der Lösung x .
4.10 Gleichungssysteme mit zyklisch tridiagonaler Matrix 173

Algorithmus 4.74.
Gegeben: Ax = a mit zyklisch tridiagonaler Matrix A und det (Ak ) = 0 für
k = 1(1)n−1, n ≥ 4.
Gesucht: x = (xi ), i = 1(1)n.
Dann sind nacheinander folgende Schritte auszuführen:
1. (Faktorisierung A = LR)
1.1 α1 = d1
1.2 γ1 = c1 /α1
1.3 δ1 = e1 /α1
1.4 Für jedes i = 2(1)n−2 sind durchzuführen:
1.4.1 αi = di − bi γi−1
1.4.2 γi = ci /αi
1.4.3 βi = b i
1.4.4 δi = −βi δi−1 /αi
1.5 αn−1 = dn−1 − bn−1 γn−2
1.6 βn−1 = bn−1
1.7 ε3 = cn
1.8 Für jedes i = 4(1)n ist zu berechnen:
εi = −εi−1 γi−3
1.9 γn−1 = (cn−1 − βn−1 δn−2 )/αn−1
1.10 βn = bn − εn γn−2

n
1.11 αn = dn − εi δi−2 − βn γn−1
i=3

2. (Vorwärtselimination Lr = a)
2.1 r1 = a1 /α1
2.2 Für jedes i = 2(1)n−1 ist zu berechnen:
ri = (ai − ri−1 βi )/αi

n
2.3 rn = (an − εi ri−2 − βn rn−1 )/αn
i=3

3. (Rückwärtselimination Rx = r )
3.1 xn = rn
3.2 xn−1 = rn−1 − γn−1 xn
3.3 Für jedes i = n−2(−1)1 ist zu berechnen:
xi = ri − γi xi+1 − δi xn
Für die Determinante von A gilt:

det A = det L det R = det L = α1 α2 . . . αn .


174 4. Lösung linearer Gleichungssysteme

Beispiel 4.75.
Gegeben: Das Gleichungssystem Ax = a mit zyklisch tridiagonaler Matrix A und
det(Ak ) =0 für k = 1(1)4
⎛ ⎞⎛ ⎞ ⎛ ⎞
2 −1 0 0 1 x1 5
⎜ −1 2 −1 0 ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 0 ⎟ ⎜ x2 ⎟ ⎜ −8 ⎟
⎜ 0 −1 2 −1 0 ⎟ ⎜ x3 ⎟ = ⎜ 9 ⎟ .
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ 0 0 −1 2 −1 ⎠ ⎝ x4 ⎠ ⎝ −6 ⎠
−1 0 0 −1 2 x5 2

Gesucht: x = (xi ), i = 1(1)5 mit dem Algorithmus 4.74

Lösung:
1. Faktorisierung A = LR:
⎛ ⎞ ⎛ ⎞⎛ ⎞
2 −1 0 0 1 2 0 0 0 0 1 − 12 0 0 1
2
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎜ −1 2 −1 0 0 ⎟ ⎜ −1 3
0 0 0 ⎟⎜ 0 1 −3
2
0 1

⎜ ⎟ ⎜ 2 ⎟⎜ 3 ⎟
⎜ 0 −1 2 −1 ⎟ ⎜
0 ⎟ = ⎜ 0 −1 4
0 0 ⎟⎜ 0 0 1 − 34 1 ⎟
⎜ 3 ⎟⎜ 4 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
⎝ 0 0 −1 2 −1 ⎠ ⎝ 0 0 −1 5
4 0 ⎠⎝ 0 0 0 1 − 35 ⎠
−1 0 0 −1 2 −1 − 2 − 13 − 54
1
2 0 0 0 0 1

2. Vorwärtselimination Lr = a
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ 5

2 0 0 0 0 r1 5 2
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ −1 3
0 0 0 ⎟⎜ r2 ⎟ ⎜ −8 ⎟ ⎜ −3
11

⎜ 2 ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 0 −1 4
0 0 ⎟⎜ r3 ⎟=⎜ 9 ⎟ ⇒ r =⎜ 4 ⎟
⎜ 3 ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ 0 0 −1 5
4 0 ⎠⎝ r4 ⎠ ⎝ −6 ⎠ ⎝ −5
8

−1 − 2 − 31 − 54
1
2 r5 4 2

3. Rückwartselimination Rx = r
⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 − 21 0 0 1
2 x1 5
2 1
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 0 1 − 23 0 1
⎟⎜ x2 ⎟ ⎜ − 11 ⎟ ⎜ −2 ⎟
⎜ 3 ⎟⎜ ⎟ ⎜ 3 ⎟ ⎜ ⎟
⎜ 0 0 1 − 3 1 ⎟⎜ x3 ⎟=⎜ 4 ⎟ ⇒ x =⎜ 3 ⎟
⎜ 4 4 ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ 0 0 0 1 − 53 ⎠⎝ x4 ⎠ ⎝ −5
8
⎠ ⎝ −1 ⎠
0 0 0 0 1 x5 1 1


4.10 Gleichungssysteme mit zyklisch tridiagonaler Matrix 175

4.10.2 Systeme mit symmetrischer, zyklisch tridiagonaler Matrix

Die Matrix A = (aik ), i, k = 1(1)n, sei zyklisch tridiagonal, symmetrisch und positiv
definit.

Prinzip des Verfahrens


Zur Lösung eines Systems Ax = a mit einer zyklisch tridiagonalen, symmetrischen,
positiv definiten Matrix A kann ein zum Cholesky-Verfahren äquivalentes Verfahren an-
gewandt werden. Es kann gegenüber 4.11.1 Speicherplatz eingespart werden. Mit der
Zerlegung A = RT DR wird Ax = a gemäß Algorithmus 4.64 in ein äquivalentes Sy-
stem Rx = r überführt in den Schritten:
1. (Faktorisierung) A = RT DR ⇒ R und D,
2. (Vorwärtselimination) RT z = a ⇒ z,
Dr = z ⇒ r,
3. (Rückwärtselimination) Rx = r ⇒ x.

Durchführung des Verfahrens


Die Elemente von A , R , D , r , z , x , a werden wie folgt bezeichnet:
⎛ ⎞
⎛ ⎞ 1 γ1 δ1
d1 c1 cn ⎜ ⎟
⎜ c1 d2 c2 ⎟ ⎜ 1 γ2 δ2 ⎟
⎜ ⎟ ⎜ .. .. .. ⎟
⎜ .. .. .. ⎟ ⎜ . . . ⎟
A=⎜ . . . ⎟,R = ⎜ ⎟,
⎜ ⎟ ⎜ γn−2 δn−2 ⎟
⎝ cn−2 dn−1 cn−1 ⎠ ⎜ ⎟
⎝ 1 γn−1 ⎠
cn cn−1 dn
1
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
α1 r1 a1 x1 z1
⎜ α2 ⎟ ⎜ r2 ⎟ ⎜ a2 ⎟ ⎜ x2 ⎟ ⎜ z2 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
D=⎜ .. ⎟, r = ⎜ .. ⎟, a = ⎜ .. ⎟,x = ⎜ .. ⎟, z = ⎜ .. ⎟.
⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠
αn rn an xn zn

Durch Koeffizientenvergleich in den drei Schritten ergibt sich der folgende Algorithmus.
176 4. Lösung linearer Gleichungssysteme

Algorithmus 4.76.
Gegeben: Ax = a mit symmetrischer, zyklisch tridiagonaler, positiv definiter
Matrix A.
Gesucht: x = (xi ), i = 1(1)n, n ≥ 4.
Dann sind nacheinander folgende Schritte auszuführen:
1. (Faktorisierung A = RT DR)
1.1 α1 = d1
1.2 γ1 = c1 /α1
1.3 δ1 = cn /α1
1.4 Für jedes i = 2(1)n−2 sind zu berechnen:
1.4.1 αi = di − ci−1 γi−1
1.4.2 γi = ci /αi
1.4.3 δi = −δi−1 ci−1 /αi
1.5 αn−1 = dn−1 − cn−2 γn−2
1.6 γn−1 = (cn−1 − cn−2 δn−2 )/αn−1

n−2
1.7 αn = dn − αi δi2 − cn−1 γn−1
i=1

2. (Vorwärtselimination RT z = a, D r = z )
2.1 z1 = a1
2.2 Für jedes i = 2(1)n−1 ist zu berechnen:
zi = ai − zi−1 γi−1

n−2
2.3 zn = an − δi zi − γn−1 zn−1
i=1
2.4 Für jedes i = 1(1)n ist zu berechnen:
ri = zi /αi
3. (Rückwärtselimination Rx = r )
3.1 xn = rn
3.2 xn−1 = rn−1 − γn−1 xn
3.3 Für jedes i = n−2(−1)1 ist zu berechnen:
xi = ri − γi xi+1 − δi xn
Für die Determinante von A gilt:

det A = det(RT DR) = det(RT ) det D det R = det D = α1 α2 . . . αn .


4.11 Gleichungssysteme mit fünfdiagonaler Matrix 177

4.11 Gleichungssysteme mit fünfdiagonaler Matrix


4.11.1 Systeme mit fünfdiagonaler Matrix

Eine Matrix A = (aik ), i, k = 1(1)n, heißt fünfdiagonal, falls gilt aik = 0 für |i − k| ≥ 2,
n ≥ 4, i, k = 1(1)n.

Prinzip des Lösungsverfahrens


Mit der Zerlegung A = LR, wobei L eine tridiagonale Subdiagonalmatrix und R ei-
ne normierte tridiagonale Superdiagonalmatrix ist, lässt sich ein System Ax = a mit
fünfdiagonaler Matrix A ohne Zeilenvertauschung gemäß Algorithmus 4.42 in ein äqui-
valentes System Rx = r überführen, sofern det(Ak ) = 0 für k = 1(1)n−1:
1. (Faktorisierung) A = LR ⇒ L und R,
2. (Vorwärtselimination) a = Lr ⇒ r,
3. (Rückwärtselimination) Rx = r ⇒ x.

Durchführung des Verfahrens


Wegen der Speicherung der Diagonalen als Vektoren werden die Elemente der beteiligten
Vektoren und Matrizen wie folgt bezeichnet und anschließend durch Koeffizientenver-
gleich in den Schritten 1., 2., 3. ermittelt:
⎛ ⎞
d1 e1 f1 ⎛ ⎞ ⎛ ⎞
⎜ c2 d2 e2 f2 ⎟ a1 r1
⎜ ⎟
⎜ g3 c3 d3 e3 f3 ⎟ ⎜ a2 ⎟ ⎜ r2 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ .. .. .. .. .. ⎟ ⎜ . ⎟ ⎜ . ⎟
A=⎜ . . . . . ⎟ , a = ⎜ .. ⎟ , r = ⎜ .. ⎟ ,