Numerische Mathematik I [version 19 Feb 2008 (?) ed.]

  • Commentary
  • Downloaded from the net; no longer available
Citation preview

Numerische Mathematik I Vorl¨aufige Version L´aszl´o Erd˝os



Feb 19, 2008



Mit den Korrekturen von Dr. Heribert Zenk, Dr. Kurt Keilhofer und Edith H¨ochst

1

Numerik I. Version: 19.02.08

1

2

Einfu ¨ hrung

Die Numerische Mathematik besch¨aftigt sich mit der praktischen Durchf¨ uhrung mathematischer Algorithmen. Ihre Wichtigkeit beruht auf zwei Tatsachen. Die erste ist, dass die Mathematik, obwohl sie eine ganz abstrakte Konstruktion ist, die beste Formulierung f¨ ur die physikalischen Probleme anbietet. E. Wigner hat diese Tatsache als die “unvern¨ unftige Effektivit¨at der Mathematik in den Naturwissenschaften” [The unreasonable effectiveness of mathematics in natural sciences] bezeichnet und in einem empfehlenswerten Artikel ver¨offentlicht. F¨ ur den ganzen Artikel, siehe http://learn.sdstate.edu/cogswelk/Modeling/Wigner.htm. Der letzte Absatz lautet: “The miracle of the appropriateness of the language of mathematics for the formulation of the laws of physics is a wonderful gift which we neither understand nor deserve. We should be grateful for it and hope that it will remain valid in future research and that it will extend, for better or for worse, to our pleasure, even though perhaps also to our bafflement, to wide branches of learning.” [E. Wigner (1960)] Die zweite Tatsache f¨ ur die Wichtigkeit des algorithmischen Denkens und der numerischen Verfahren stammt von der Tendenz zur Abstraktion in der Mathematik. Viele mathematische Konzepte und S¨atze formulieren eine Wahrheit, die nicht direkt greifbar ist. Die Aussage: “F¨ ur jedes ε existiert ein δ· ”, “Wenn n gegen ∞ konvergiert ...”, “Es existieren unendlich viele Primzahlen...”, oder “Es existiert eine beliebig große Konstante c, so dass ...” haben eine exakte mathematische Bedeutung, aber es gibt keine direkten Hinweise, wie man sie in unserem endlichen Raum und Zeit benutzen kann. Wenn eine Funktion stetig ist, wissen wir, dass es f¨ ur jedes ε ein δ gibt, aber nur aufgrund der Stetigkeit haben wir keine Ahnung, wie man solche δ f¨ ur ε = 0.0001 finden kann. Die Begr¨ undung f¨ ur das Konzept der Stetigkeit in Analysis I war ihre Vorhersagbarkeit; wenn wir den Wert einer stetigen Funktion f im Punkt x kennen, k¨onnen wir auch die Werte in einer Umgebung von x erraten. Beachten Sie, dass dieses Konzept ganz nutzlos ist, wenn man keine effektive und a-priori Absch¨atzung von der Gr¨oße der Umgebung kennt. Das Wort “effektiv” weist darauf hin, daß eine korrekte Absch¨atzung in endlicher Zeit algorithmisch berechenbar sein sollte. Das Wort “a-priori” bedeutet, dass wir manchmal keine M¨oglichkeit f¨ ur “Versuch und Irrtum” (trial and error) haben. Die meisten physikalischen Experimente sind wiederholbar, aber man m¨ochte mit einer Boeing 747 oder mit einem Atomkraftwerk nicht zu viele “Versuch und Irrtum” Experimente durchf¨ uhren...

3

Numerik I. Version: 19.02.08

1.1

Ein kleines Beispiel

In Analysis wurden die folgenden Limiten bewiesen ex − 1 =1 x→0 x

lim ex = 1,

lim

x→0

(1.1)

Die Physiker schreiben dieselbe Tatsache wie folgt: ex ≈ 1

ex ≈ 1 + x,

und

f¨ ur |x|  1

Mit der Taylor-Entwicklung der Funktion ex um Null, kann man genauere Approximationen aufschreiben (und die Physiker verwenden sie fast automatisch) 1 ex − 1 − x = [Math] 2 x→0 x 2

1 ex ≈ 1 + x + x2 , [P hys] usw. 2

lim

Nehmen wir an, dass wir das bestimmte Integral

R1 0

ex dx berechnen m¨ ussen, aber wir haben

die Stammfunktion von ex vergessen... (in den meisten F¨allen wird die Stammfunktion durch keine explizite Formel gegeben). Wir k¨onnen ex durch 1 ersetzen, und berechnen Z

1

0

ex dx ≈

Z

0

1

1 dx = 1 .

(1.2)

Ist das gut genug? Wir haben die Relation ex ≈ 1, die in der N¨ahe von x ≈ 0 gilt, auf dem ganzen Interval [0, 1] benutzt, aber ist das ganze Interval [0, 1] wirklich “in der N¨ahe von 0”? Wir k¨onnen die bessere Approximation ex ≈ 1 + x benutzen, und dann erhalten wir Z

0

1

x

e dx ≈

Z

0

1

(1 + x) dx =

3 . 2

(1.3)

Ist das besser? Wir vermuten, dass ex ≈ 1 + x genauer als ex ≈ 1 in der N¨ahe von Null ist, weil die erste Relation die zweite impliziert aber nicht umgekehrt. Aber die Frage bleibt: ist die Relation ex ≈ 1 + x wirklich besser als ex ≈ 1 in dem ganzen Intervall? Und wenn ja, wie genau ist (1.3) wirklich? Sollten wir die Approximation fortsetzen: Z

0

1

x

e dx ≈

Z

0

1



1  5 1 + x + x2 dx = ? 2 3

(1.4)

Oder ist (1.3) schon gut genug? Betrachten Sie die Frage umgekehrt. Ihr Boss fragt Sie nach

R1 0

ex dx mit einem Fehler

kleiner als 10−1 . Sollten Sie ihm 1, 3/2 oder 5/3 nennen? Oder auch den n¨achsten Term aus der Taylor-Entwicklung einbeziehen? Die naive Daumenregel ist: wir erzeugen die Sequenz der genaueren Approximationen, 1, 3/2=1.5, 5/3=1.66. Wenn die Differenz zwischen den letzten zwei Ann¨aherungen kleiner als

4

Numerik I. Version: 19.02.08

10−1 ist, akzeptieren wir das Ergebnis. In diesem konkreten Fall ist 1.66 − 1.5 = .16 zu groß. Die n¨achste Ann¨aherung, die auf 1 1 ex ≈ 1 + x + x2 + x3 2 6 beruht, liefert

1  1 1 + x + x2 + x3 dx = 1.708 , 2 6 0 0 und dieses Ergebnis ist akzeptabel, weil 1.708 − 1.66 = 0.042 ≤ 10−1 . Z

1

x

e dx ≈

1

Z



(1.5)

(1.6)

Aber die Frage bleibt immer noch: K¨onnen Sie absolut sicher sein, dass Z

1

0



ex dx − 1.708 < 10−1 ?

Wenn die Sicherheit eines Flugzeugs von dieser Antwort abh¨angen w¨ urde, w¨ urden Sie mit diesem Flugzeug fliegen? Hier ist eine ganz ¨ahnliche Frage: Der Boss fragt nach dem Wert der unendlichen Summe 1+

1 1 + + ... 2 3

Es ist ganz einfach zu sehen, dass die Differenzen zwischen endlichen Approximationen, 1,

1+

1 = 1.5, 2

1+

1 1 + = 1.833, 2 3

1+

1 1 1 + + = 2.089, . . . 2 3 4

immer kleiner und kleiner werden. Offensichtlich ist die Differenz zwischen 1+ und

1 1 1 + + ...+ = 2.927 2 3 10

1 1 1 1 + + ...+ + = 3.019 2 3 10 11 . Der oberen Daumenregel nach sollten Sie Ihrem Boss 3.019 als Antwort 1+

kleiner als 10−1

geben... Aber die wahre Antwort ist Unendlich. Noch einmal: w¨ urden Sie das obere Flugzeug nehmen? Wie k¨onnen wir sicher sein, dass 1.708 eine gute Antwort war? Die der Approximation (1.5) entsprechende mathematische Aussage ist ex − 1 − x − 21 x2 1 = . 3 x→0 x 6 lim

(1.7)

Beachten Sie, dass diese Aussage nicht ausreichend ist, um unsere Antwort (1.6) zu beurteilen. Der Limes (1.7) legt fest, dass, zum Beispiel, f¨ ur ε = 10−1 eine Zahl δ > 0 existiert, so dass ex

− 1 − x − 12 x2 1 − < 10−1 x3 6

(1.8)

5

Numerik I. Version: 19.02.08 falls |x| ≤ δ. Folglich, x e

 1 1  − 1 + x + x2 + x3 < 10−1 |x|3 ≤ 10−1 2 6

falls |x| ≤ min{δ, 1}, aber wir k¨onnen diese Absch¨atzung auf [0, 1] nicht integrieren, d.h. das Argument

1 1  1 + x + x2 + x3 dx 2 6 0 0 Z 1 Z 1   1 1 x ≤ e − 1 + x + x2 + x3 dx ≤ 10−1 dx = 10−1 2 6 0 0 ist falsch, weil wir nicht wissen, ob (1.8) auf dem ganzen Intervall [0, 1] gilt. Aus der mathe Z

1

x

e dx −

Z

1



matischen Aussage haben wir keine Kontrolle u ¨ber δ. Der Ausweg ist, die Aussage u ¨ber einen Limes durch eine Absch¨atzung mit einem kontrollierten Restglied zu ersetzen. Die Taylor-Formel mit Restglied liefert eine solche Kontrolle: f (x) = f (0) + f 0 (0)x +

f 00 (0) 2 f 000 (0) 3 f (4) (ξ) 4 x + x + x 2! 3! 4!

mit einem geeigneten ξ ∈ [0, x]. F¨ ur f (x) = ex erhalten wir x e

 1 1  x4 e − 1 + x + x2 + x3 ≤ max eξ ≤ = 0.1132, 2 6 4! ξ∈[0,x] 24

0≤x≤1

da f (4) (ξ) = eξ und f¨ ur ξ ≤ x ≤ 1 gilt eξ ≤ e1 . Da diese Absch¨atzung f¨ ur alle x ∈ [0, 1] gilt, erhalten wir jetzt Z

1

0

 1 1  ex − 1 + x + x2 + x3 dx ≤ 2 6

Z

0

1

0.1132 dx = 0.1132

(1.9)

Diese Absch¨atzung ist ein rigoroser Beweis, dass Z



ex dx − 1.708 ≤ 0.1132

M¨oglicherweise approximiert 1.708 das Integral viel besser, aber wir k¨onnen sicher sein, dass der Fehler in der Antwort nicht gr¨oßer als 0.1132 ist. Um einen Fehler kleiner als 10−1 zu erreichen, m¨ ussen wir noch einen Term aus der TaylorEntwicklung einbeziehen und die ganze Rechnung wiederholen. Die andere M¨oglichkeit ist, die obere Absch¨atzung zu verbessern. Die Tatsache ist, dass die obrige Approximation wesentlich besser ist als die Fehlerabsch¨atzung hinweist: Z

0

1



1 1  1 1 1 1 + x + x2 + x3 dx = 1 + + + = 1.7083333 2 6 2 6 24

6

Numerik I. Version: 19.02.08 und Z

1

0

also

ex dx = e − 1 = 1.71828





Fehler = 1.71828 − 1.7083333 = 0.00994

Aufgabe 1.1 (i) F¨uhren Sie die obere Absch¨atzung mit dem Taylor-Polynom der n¨achsten Ordnung durch. (ii) Verbessern Sie die Absch¨atzung (1.9) und beweisen Sie, dass 1.708 nicht weiter als 10−1 vom wahren Wert des Integrals ist. [Hinweise: Benutzen Sie die Absch¨atzung (1.9) nur auf dem Intervall x ∈ [ 12 , 1] und verbessern Sie diese Absch¨atzung f¨ur x ∈ [0, 21 ].] Zum Schluss m¨ochten wir erw¨ahnen, dass die Taylor-Entwicklung manchmal ganz irref¨ uhrend sein kann. Die Funktion f (x) =

(

1

e− x2 0

f¨ ur x 6= 0 f¨ ur x = 0

ist glatt (unendlich differenzierbar) (Aufgabe !), und sie konvergiert gegen 0 (falls x → 0) schneller als eine beliebige Potenzfunktion xn . Insbesondere ist f beschr¨ankt und es gilt |f (x)| ≤ 1 ,

x beliebig

(1.10)

Die naive Taylor-Entwicklung der Exponentialfunktion liefert 1

e− x2 ≈ 1 −

1 x2

(1.11)

und sie explodiert in der N¨ahe von Null. Weitere Terme in der Entwicklung sind schlimmer 1

e− x2 ≈ 1 −

1 1 1 + 2 x 2 x4

weil x−4 sogar singul¨arer als x−2 ist. Folglich ist die Taylor-Entwicklung absolut irref¨ uhrend bez¨ uglich des Verhltens der Funktion f in der N¨ahe von Null. Bemerkung: Die Taylor-Entwicklung von f (x) im Punkt 0 ist nat¨ urlich identisch Null, weil f (n) (0) = 0 f¨ ur alle n (Aufgabe!). In (1.11) betrachten wir das Taylor-Polynom von y → ey . dann wurde y = −1/x2 eingesetzt. Aufgabe 1.2 Berechnen Sie

mit einer Genauigkeit von 10−1

sin x dx x 0 mit Hilfe der Taylor-Entwicklung der Sinusfunktion. Sie Z

1

m¨ussen beweisen, dass Ihre Antwort die erforderte Genauigkeit hat.

Numerik I. Version: 19.02.08

1.2

7

Fortsetzung der Einfu ¨ hrung

Vom reinen mathematischen Standpunkt aus gibt es zwei Typen von Argumentationen. Die so genannten “Existenz-Beweise” liefern nur die Existenz eines Objekts, ohne Hinweise wie man es finden kann. Meistens folgen diese Argumente einem Beweis durch Widerspruch. Das klassische Beispiel ist der Satz von Heine-Borel: Jede Folge {xn } ⊂ [0, 1] hat eine konvergente Teilfolge. Wenn man den Beweis anschaut, bemerkt man, dass er nicht-konstruktiv ist: Man kann ihn nicht f¨ ur die Konstruktion einer konvergenten Teilfolge einer gegebenen Folge ben¨ utzen. Wir wissen, dass etwas existiert, aber wir haben es nicht in der Hand. Im Gegensatz dazu, liefern die so genannten konstruktiven Beweise “ einen Algorithmus, ” um die gesuchten Objekte zu finden. Der Algorithmus kann aus endlich oder unendlich vielen Schritten bestehen. Das Schema f¨ ur die Nullstelle der quadratischen Gleichung oder das Gauß -Eliminationsverfahren enden und liefern die Resultate nach endlich vielen Schritten. Das Newton-Verfahren (um die Nullstelle einer nichtlinearen Gleichung zu finden) ist das klassische Beispiel f¨ ur einen unendlichen Algorithmus: man kann die Nullstelle nur mit beliebiger Genauigkeit ann¨ahern, aber nie genau feststellen. Beachten Sie, dass vom praktischen Standpunkt aus die unendlichen Verfahren ebenso n¨ utzlich sein k¨onnen wie die endlichen Verfahren, wenn wir eine effektive (berechenbare!) Kontrolle u ¨ber das Restglied haben. In der Praxis brauchen wir die exakte L¨osung nicht; eine gute Ann¨aherung ist v¨ollig ausreichend. Jedoch m¨ ussen wir wissen, wie genau unser Resultat ist, wie viele Dezimalen verl¨asslich sind. Es gibt jedoch immer einen wichtigen Punkt zu bedenken. Gerade die endlichen konstruktiven Verfahren k¨onnen ganz irref¨ uhrend sein und falsche Resultate liefern. Es gibt zwei Gr¨ unde daf¨ ur: • Das mathematische Modell kann schlecht konditioniert sein. Ein Problem heißt gut ¨ konditioniert, wenn kleine St¨orungen der Eingangsdaten kleine Anderungen im Ergebnis bei exakter L¨ osung bewirken. Die Herkunft der schlechten Konditionierung liegt nicht in der Mathematik, sondern im urspr¨ unglichen praktischen Problem. Zum Beispiel, ist das Wetter ein so genanntes chaotisches System. Wegen seiner physikalischen ¨ Gesetze, kann eine kleine St¨orung nach einer gewissen Zeit zu einer großen Anderung f¨ uhren. Man kann dagegen nichts tun, abgesehen von der Kenntnisnahme dieser Tatsache, und versuchen genauere Eingangsdaten zu messen. Es kann auch passieren, dass das urspr¨ ungliche praktische Problem gut konditioniert ist, aber sein mathematisches Modell (das immer viele Vereinfachungen voraussetzt) schlecht konditioniert ist. Das typische Beispiel ist die Vernachl¨assigung der Reibung: das langzeitige Verhalten eines resonan-

Numerik I. Version: 19.02.08

8

ten Systems ist schlecht konditioniert, aber die Reibung, die bei der ersten Ann¨aherung oft vernachl¨assigt ist, kann die Effekte der Resonanz vermindern und die Kondition des Problems verbessern. • Das mathematische Modell kann gut konditioniert sein, d.h. das Verfahren w¨ urde einen verl¨asslichen Output liefern, wenn es exakt durchgef¨ uhrt w¨ urde, aber das numerische Verfahren ist nicht stabil. Dies bedeutet, dass die Rundungs- und Approximationsfehler sich akkumulieren. Auf typische Weise entsteht solch eine Situation, wenn man ein schlecht konditioniertes Teilproblem w¨ahrend des ganzen Verfahrens l¨ost. Oft gibt es viele Wege zu demselben Ziel. Der einfachste Weg ist nicht immer der beste: er kann instabil sein. Da die Numerik eine praxisorientierte Wissenschaft ist, muss man die folgenden Punkte zur Kenntnis nehmen: • Die Verfahren sollten in der Praxis durchf¨ uhrbar sein. Die Geschwindigkeit und der Speicheraufwand des Algorithmus sind wichtige Elemente eines Verfahrens, die naturgem¨aß gegen der Genauigkeit wirken. Der Kompromiss h¨angt von den Benutzern des Verfahrens ab. In diesem Kurs konzentrieren wir uns auf die Genauigkeit. Manchmal werden wir einige Algorithmen aufgrund der Anzahl ihrer elementaren arithmetischen Schritte vergleichen. • “Mathematics is science, computing is art”. Außer den grundlegenden mathematischen Theorien, besteht die Numerik aus einer großen Menge von Tricks und Daumenregeln. Einige von diesen beruhen auf einem theoretischen Hintergrund, andere funktionieren einfach in “den meisten F¨allen”. In diesem Kurs betrachten wir die mathematischen Aspekte der Numerik. Wir schließen diese Einf¨ uhrung mit einer Warnung ab. Man kann irrt¨ umlich denken, dass man mit unseren schnellen und leistungsf¨ahigen Rechnerkapazit¨aten alle in der Praxis n¨otigen Berechnungen mit der gew¨ unschten Genauigkeit durchf¨ uhren k¨onnte. Werfen Sie einen Blick auf einen Wirbel der Isar. Wir kennen ganz genau alle physikalischen Gesetze, die diese Bewegung bestimmen [Navier-Stokes Gleichung]. Wir k¨onnen die Anfangsdaten ganz genau messen (wir k¨onnen kleine rote Teilchen einwerfen und die Bewegung fotografieren). Jedoch k¨onnen wir das Verhalten dieses Wirbels nach einer Minute nicht berechnen oder vorhersagen...

9

Numerik I. Version: 19.02.08

Winzige Fehler in numerischen Verfahren k¨onnen zu reellen Katastrophen f¨ uhren. Die folgende Webseite enth¨alt drei erschreckende Beispiele, die zeigen, wie ganz kleine Rundungsfehler in der Realit¨at Katastrophen verursacht haben: http://www.ima.umn.edu/~arnold/disasters/disasters.html Weitere Beispiele (auch Programmierungsfehler) finden Sie hier: http://www5.in.tum.de/~huckle/bugse.html

1.3

Wichtige Bezeichnungen

• Die Notation := wird die definierende Gleichheit (defining equality) bezeichnen. D.h. A := B wird verwendet, wenn die Gr¨oße B auf der rechten Seite schon definiert ist, und A wird durch diese Formel jetzt definiert. Zum Beispiel, f (x) := x2 + 1 bezeichnet: “Sei die neu eingef¨ uhrte Funktion f (x) durch die Formel x2 + 1 gegeben”. Die Relation A = B wird verwendet, wenn beide A und B fr¨ uher definiert wurden, und die Aussage ist, dass diese zwei Gr¨oßen gleich sind. • Eine Menge kann durch die Eigenschaften ihrer Elemente definiert werden. Z. B. schreiben wir: A := {n ∈ N : n ≥ 4 und n ist gerade} f¨ ur die Menge der nat¨ urlichen Zahlen, die gr¨oßer-gleich 4 und gerade sind. • ∃ : = “es existiert” (there exists) • ∀ := “f¨ ur alle” (for all) • ⇐⇒ = “genau dann, wenn” = “gdw.” (if and only if= iff) • Die Notation ∼ (“¨ahnlich”) und ≈ (“n¨aherungsweise gleich”) werden nur in Erkl¨arungstexten benutzt. Normalerweise wird f ∼ g bezeichnen, dass die Gr¨oßenordnung von f und g (in einem bestimmten Bereich) gleich sind. f ≈ g bezeichnet, dass die Gr¨oßenordnung der Differenz f − g kleiner als die Gr¨oßenordnung von f (und g) ist. Der Begriff “Gr¨oßenordnung” ist mathematisch sinnvoll nur dann, wenn es einen Lime. sparameter im Problem gibt. In pr¨azisem mathematischen Kontext werden = statt ≈ f¨ ur denselben Begriff benutzt. Z.B. wenn f und g von einem kleinen Parameter ε abh¨angen, . der im Kontext gegen Null konvergiert, bedeutet f = g den Limes f =1 ε→0 g lim

10

Numerik I. Version: 19.02.08

¨ ˙ f¨ Ahnlich wird f ≤g ur den Begriff “kleiner, abgesehen von einem asymptotisch kleineren Term” benutzt: ˙ ⇐⇒ f ≤ g + r, wobei lim r = 0 f ≤g ε→0

¨ • C[a, b] bezeichnet die Menge der stetigen Funktionen auf dem Intervall [a, b]. Ahnlich bezeichnet C k [a, b] die Menge der k-mal stetig differenzierbaren Funktionen auf [a, b]. • 2 bezeichnet das Ende des Beweises. ¨ • Aufgabe bezeichnet “Aufgabe, dessen Details zu Hause oder in der Ubung, selbst oder mit der Hilfe des Professors/Assistenten (Sprechstunde), der Freunde, der Bibliothek, der B¨ ucher sorgf¨altig u ¨berlegt werden sollten”. Diese Aufgaben geh¨oren zum Kernstoff der Vorlesung und k¨onnen in Klausur/Exam usw. gefragt werden. Einige von diesen ¨ werden in Ubungen diskutiert. • Aufgabe∗ bezeichnet “Aufgaben, die schwieriger und interessanter als die normalen ¨ Aufgaben sind”. Diese geh¨oren nicht zu dem Kernstoff, sofern sie nicht in der Ubung ¨ diskutiert wurden”. Alle Aufgaben, die in den Ubungen besprochen wurden, sind obligatorisch.

11

Numerik I. Version: 19.02.08

2

Ein Beispiel und der Haken an der Sache

In lineare Algebra I-II wurde gezeigt, wie durch das Gaußsche Verfahren lineare Gleichungssysteme gel¨ost werden. Das folgende einfache Beispiel zeigt, dass diese Aufgabe viel wichtiger ist, als die lineare Algebra andeutet. Es zeigt auch das grundlegende Verfahren f¨ ur numerische Modellierung: die Diskretisierung.

2.1

Ein Stab unter der Lupe

Betrachten wir einen eindimensionalen flexiblen Stab, parameterisiert durch die Variable x ∈ R. Sei % die Massendichte des Stabes. Legen wir den Stab auf zwei St¨ utzen an beiden Enden. Die Frage ist, wie sich der Stab im Gravitationsfeld kr¨ ummt. Wir teilen den Stab in n+2 kleine St¨ ucke von gleicher L¨ange h auf und es seien x0 , x1 , . . . , xn , xn+1 die Mittelpunkte der St¨ ucke, wobei n + 2 = L/h und L die L¨ange des Stabes ist. Wir approximieren den urspr¨ unglich kontinuierlichen Stab mit einem “Modellstab”, wobei wir die gesamte Masse des i-ten St¨ ucks mi :=

Z

xi +h/2

xi −h/2

%(x)dx

im Mittelpunkt xi konzentrieren. Wenn %(x) stetig ist, kann mi durch mi := %i h mit %i := %(xi ) angen¨ahert werden. Die Flexibilit¨at des Stabes bedeutet, dass sich die Massenpunkte nicht mehr entlang einer geraden Linie befinden sollten. Setzen wir voraus, dass die Kr¨ ummung nicht zu groß ist und wir die horizontale Lage der Mittelpunkte festgelegt betrachten k¨onnen und wir uns nur mit der vertikalen Verschiebung besch¨aftigen. Es sei f0 = f (x0 ), f1 = f (x1 ), . . . , fn = f (xn ), fn+1 = f (xn+1 ) die vertikale Abweichung des i-ten Mittelpunkts von der horizontalen Position des Stabes, die durch die Funktion f (x) beschrieben werden kann. Man kann die Abweichung in den festgelegten Endpunkten mit Null ann¨ahern: f0 = fn+1 = 0. Drei Kr¨afte wirken auf den i-ten Massenpunkt: die Gravitation und die zwei materiellen Kr¨afte seiner Nachbarn, die den Stab zusammenhalten. F¨ ur die erste N¨aherung besch¨aftigen wir uns nur mit den vertikalen Komponenten dieser drei Kr¨afte, die den Massenpunkt im Gleichgewicht halten. Eins der Gesetze der Elastizit¨atstheorie legt fest, dass in einem gebogenen Stab eine Kraft auftritt, die der Kr¨ ummung und der L¨ange proportional ist und gegen die Kr¨ ummung wirkt (in unserem Fall: nach oben). Die Kr¨ ummung im Punkt i kann mit der zweiten Ableitung der

12

Numerik I. Version: 19.02.08 Kurve f (x) angen¨ahert werden. Die zweite Ableitung nach xi kann durch Diskretisierung f 00 (xi ) ≈

f (xi−1 ) − 2f (xi ) + f (xi+1 ) h2

berechnet werden, und wir erhalten die Gleichgewichtsgleichung im Punkt i als F

f (xi−1 ) − 2f (xi ) + f (xi+1 ) × |{z} h = gmi = g%i h h{z2 } L¨ | ange ZweiteAbleitung

(g = 9.81 m/s2 )

(2.1)

oder fi−1 − 2fi + fi+1 = gi ,

mit

gi := −gF −1 h2 %i

(2.2)

wobei F eine materialabh¨angige Konstante ist, die die Proportionalit¨at zwischen Kr¨ ummung und Kraft beschreibt. Die Gleichung (2.1) kann auch direkt bewiesen werden [Fig. 1]. Die Zugkraft, die von dem (i − 1)-ten Punkt auf den i-ten Punkt ausge¨ ubt wird hat eine konstante St¨arke F , und ihre vertikale Komponente ist durch F sin(90◦ − α) ≈ F tan(90◦ − α) = F

fi−1 − fi h

gegeben. Beachten Sie, dass α ≈ 90◦ , so dass die Approximation des Sinus durch den Tangens erlaubt ist. Die Gleichgewichtsgleichung lautet F und ist mit (2.1) ¨aquivalent.

fi−1 − fi fi+1 − fi +F = g%i h h h

13

Numerik I. Version: 19.02.08

h fi

f i-1

F

f i-1 -f i

F

h

f i+1 -f i h

F

α

f i-1 -f i

F gρ h i

h Fig 1. Gleichgewicht eines flexiblen Stabes Die Gleichung (2.2) gilt f¨ ur jeden Punkt i = 1, 2, 3, . . . n und wir erhalten ein lineares Gleichungssystem f¨ ur die Komponenten des unbekannten Vektors f = (f1 , f2 , . . . , fn ), wobei der Vektor g = (g1 , g2 , . . . , gn ) gegeben ist. [Beachten Sie zur Notation: fett gedruckte Buchstaben bezeichnen Vektoren.] Es gilt Af = g

14

Numerik I. Version: 19.02.08 wobei





−2 1  1 −2 1    1 −2 1   1 −2  A :=  ..  .     

1 .. . 1

..

. −2 1 1 −2 1 1 −2

             

(2.3)

(die leeren Elemente der Matrix sind alle 0). Beachten Sie, dass die Randbedingungen f0 = fn+1 = 0 in der ersten und letzten Zeile in Betracht gezogen wurden. Erinneren Sie sich an diese Matrix! Diese Matrix ist die Matrix der diskretisierten zweiten Ableitung. Die zweite Ableitung ist die h¨aufigste und wichtigste Operation in den Anwendungen. In n Dimensionen wird die zweite Ableitung durch die Laplaceoperatoren ersetzt: ∆f =



∂2 ∂2 ∂2  f + + . . . + ∂x21 ∂x22 ∂x2n

Aufgabe 2.1 Schreiben Sie die Matrix des diskretisierten Laplaceoperators mit Null-Randbedingungen in n = 2 Dimensionen auf. Nehmen Sie ein Gitter von 5 × 5 Punkten, wobei alle Randwerte 0 sind (also wird die Matrix von der Dimension 9 × 9 sein, weil (5 − 2)2 = 9). Beachten Sie, die f¨ur die Organisation des Vektors f empfehlenswerte Anordnung 

f = f11 , f12 , f13 , f21 , f22 , f23 , f31 , f32 , f33



Der Laplaceoperator ist aus (mindestens) zwei Gr¨ unden wichtig: • ∆f ¨außert die einfachste (isotropische) Elastizit¨atkraft im Material. Wenn eine Stab (in n = 1) oder eine flexible Oberfl¨ache (wie eine Trommel) aufgespannt oder ausgedehnt wird, tritt eine Kraft auf, die die urspr¨ ungliche, nicht aufgespannte Form wiederherstellen m¨ochte. In einer guten Approximation ist diese Kraft durch die Einwirkung des Laplaceoperators auf die Funktion, die den Stab oder die Oberfl¨ache beschreibt, gegeben. • Das Newtonsche Gesetz erkl¨art, dass bei allen dynamischen Problemen die wichtigste physikalische Gr¨oße die Beschleunigung ist. Es ist genau die zweite, und nicht die erste oder die dritte Ableitung des Ortes nach der Zeit, die eine physikalische Bedeutung (die Kraft dividiert durch die Masse) hat: F = mx00 (t)

15

Numerik I. Version: 19.02.08

2.2

Vorsicht: Inversion der Matrizen

Das vorherige Kapitel hat uns gezeigt, dass Matrizen A und lineare Gleichungen in der Form Af = g (wobei g gegeben und f gesucht sind) naturgem¨aß auftauchen k¨onnen. Die L¨osung, f = A−1 g, scheint ganz einfach zu sein: wir wissen, wie man die Inverse einer Matrix berechnen kann. Wir haben mindestens zwei Verfahren daf¨ ur: • Cramersche Regel: detA(ji) detA dabei bezeichnet Aij die Elemente in der i-ten Zeile und der j-ten Spalte der Matrix A (A−1 )ij = (−1)i+j

und A(ji) ist die Matrix der Gr¨oße (n − 1) × (n − 1), die aus A durch Streichen der j-ten Zeile und der i-ten Spalte entsteht. • Gaußsches Eliminationsverfahren: Man erg¨anzt A mit einer Identit¨atsmatrix: [ A | I ] und man bringt sie in die Form [ I | B ] mit Gaußschen Eliminationsoperationen. Wenn die Identit¨atsmatrix auf der linken Seite auftaucht, bekommt man B = A−1 auf der rechten Seite. Nat¨ urlich bekommt man keine Inverse A−1 ,wenn A nicht invertierbar ist (detA = 0). (Beachten Sie, dass die Gleichung Af = g f¨ ur spezielle Vektoren g jedoch l¨osbar sein kann!) Dies ist ein theoretisches Hindernis, und damit haben Sie sich schon in der Linearen Algebra besch¨aftigt. Betrachten wir nun das folgende Beispiel f¨ ur ein 4 × 4 lineares Gleichungssystem in der Form Ax = b, wobei A und b gegeben sind und x gesucht ist. [Das Beispiel kommt aus: “Introduction to numerical linear algebra and optimisation” von P. Ciarlet, Cambridge Univ. Press, 1989]



10  7    8 7









7 8 7 x1 32 x   23  5 6 5   2    =  6 10 9   x3   33  5 9 10 x4 31

(2.4)

Die L¨osung, wie man einfach berechnen kann, ist  

1

x=

1     1

1

(2.5)

16

Numerik I. Version: 19.02.08

Jetzt nehmen wir an, dass die Elemente des Vektors b auf der rechten Seite ein bisschen modifizert wurden (z.B. wegen Messfehler) und statt (2.4) haben wir die Gleichung 

10  7    8 7









7 8 7 x1 32.1 x   22.9  5 6 5   2    =  6 10 9   x3   33.1  5 9 10 x4 30.9

(2.6)

zu l¨osen. Man erwartet keine große Abweichung von (2.5) in der L¨osung der Gleichung (2.6): man hat den Eingabevektor b um 10−1 ge¨andert, der relative Fehler ist sogar kleiner (etwa ≈ 10−1 /23 ≈ 1%). Aber die L¨osung des neuen Systems (2.6) ist 



9.2  −12.6    x=   4.5  −1.1 und die ¨ahnelt der urspr¨ unglichen L¨osung (2.5) gar nicht!! Der gr¨oßte relative Fehler ist zirka 13.6 1

≈ 10. Der Verst¨arkungsfaktor der relativen Fehler ist von der Gr¨oßenordnung 1000! Als ein anderes Beispiel betrachten wir jetzt den Fall, wenn die Elemente der Matrix A

falsch gemessen wurden und die modifizierte Aufgabe lautet: 









10 7 8.1 7.2 x1 32  7.08 5.04 x   23  6 5   2     =   8 5.98 9.89 9   x3   33  6.99 4.99 9 9.98 x4 31 Die L¨osung ist





−81  137   x=   ,  −34  22 ¨ die trotz der winzigen Anderung der Eingabedaten noch nicht einmal in der N¨ahe der urspr¨ unglichen L¨osung (2.5) liegt. Da die L¨osung durch x = A−1 b gegeben ist, kann man denken, dass die urspr¨ ungliche Matrix A eine “schlechte” Inverse hat, d.h. “fast” nicht-invertierbar ist. Letztendlich ist die Matrixinversion wie eine Division, die ganz instabil sein kann, wenn der Divisor nahe bei der Null ist. Aber die Inverse ist “sch¨on”

A−1





25 −41 10 −6  −41 68 −17 10    =   10 −17 5 −3  −6 10 −3 2

17

Numerik I. Version: 19.02.08

und es gilt sogar det(A) = 1, so dass die Division in der Cramerschen Regel auch ganz OK sein sollte. Was ist schiefgegangen? Der wesentliche Grund, warum diese Matrix sich so schlecht verh¨alt, ist die Tatsache, dass sie einen ganz kleinen Eigenwert besitzt. Die Eigenwerte von A sind λ1 ≈ .01015 < λ2 ≈ .8431 < λ3 ≈ 3.858 < λ4 ≈ 30.2887

(2.7)

Die wichtige Gr¨oße ist das Verh¨ altnis des gr¨ oßten und des kleinsten Eigenwertes: λ4 ≈ 2984 . λ1

(2.8)

Wie wir sp¨ater beweisen werden, kann der relative Fehler im schlimmsten Fall um diesen Faktor verst¨arkt werden. Behalten Sie dieses Beispiel im Kopf. Es ist k¨ unstlich und es wurde ganz sorgf¨altig vorbereitet. Aber es zeigt das Grundproblem: in einer ganz einfachen Aufgabe, wie die L¨osung eines 4 × 4 Systems, k¨onnen ganz unerwartete und nicht offensichtliche Instabilit¨aten auftreten.

18

Numerik I. Version: 19.02.08

3

Fehleranalyse

Im Allgemeinen gibt es drei verschiedene Ursachen der numerischen Fehler: • Rundungsfehler • Approximationsfehler • Konditionsfehler (Instabilit¨at) Alle diese Fehler k¨onnen zu inakzeptabel großen Abweichungen des Outputs vom wahren Wert f¨ uhren.

3.1

Rundungsfehler und Maschinenzahlen

Offensichtlich kann der Rechner nur endlich viele Ziffern speichern. Jede reelle Zahl hat eine eindeutige Darstellung in der Dezimalentwicklung. Im Allgemeinen fixiert man eine nat¨ urliche Zahl b ≥ 2 (Basis, meistens b = 2 oder b = 10) und betrachtet die Entwicklung x = (−1)s bN

∞ X

cj b−j

(3.1)

j=1

f¨ ur jede reelle Zahl x 6= 0, wobei s ∈ {0, 1} N ∈Z

das Signum von x ist der Exponent von x ist

und cj ∈ {0, 1, . . . b − 1} sind die Koeffizienten oder Ziffern von x . Um die Eindeutigkeit zu sichern, fordert man die Normalisierungsbedingung c1 6= 0 und, dass nicht alle Ziffer (abgesehen von endlichen vielen) gleich b − 1 sind: ∀K ∈ N ∃j ≥ K,

cj 6= b − 1

Zum Beispiel, wenn b = 10 und x = 195.34, dann schreibt man 

x = 195.34 = (−1)0 · 103 1 · 10−1 + 9 · 10−2 + 5 · 10−3 + 3 · 10−4 + 4 · 10−5



19

Numerik I. Version: 19.02.08 d.h. N = 3, s = 0, c1 = 1, c2 = 9, c3 = 5, c4 = 3, c5 = 4. Wenn x = −0.034, dann gilt 

x = (−1)1 · 10−1 3 · 10−1 + 4 · 10−2



d.h. N = −1, s = 1, c1 = 3, c2 = 4.

Die Rechner benutzen eine endliche Darstellung der reellen Zahlen, die sog. Gleitpunkt-

Maschinenzahlen (floating point numbers). Meistens wird die Basis b = 2 benutzt. In der IEEE standard single precision Darstellung mit b = 2 ist der Exponent N nur aus der Menge {−126, . . . , 126, 127} erlaubt (sonst: Null oder OVERFLOW) und es werden nur die ersten

23 Ziffern, c1 , c2 , . . . , c23 ∈ {0, 1} behalten. Zusammen mit dem Signum braucht man 32 Bits,

(=4 Bytes) um eine reelle Zahl darzustellen (N braucht 8 Bits). Folglich betrachtet man statt x die folgende Darstellung

x 7→

              

0

falls

N < −126

OV ERF LOW

falls

N > 127

(−1)s 2N

P23

j=1 cj 2

−j

andernfalls

wobei x in Form (3.1) dargestellt wird. Zum Beispiel: 7 1 x = − = −2 = −10.010101... {z } 3 3 | binary



7→ (−1)1 22 1 · 2−1 + 0 · 2−2 + 0 · 2−3 + 1 · 2−4 . . . + 1 · 2−22 + 0 · 2−23



Dieses Verfahren rundet die letzte Ziffer immer herunter. Die sog. Standardrundung rundet die letzte Ziffer aufw¨arts, wenn die n¨achste Ziffer mindestens b/2 ist (in der Bin¨arentwicklung b/2 = 1). Diese Rundung wird von einer Funktion

x 7→ f l(x) :=

                        

0

falls

N < −126

OV ERF LOW

falls

N > 127

falls

c24 = 0

falls

c24 = 1

(−1)s 2N (−1)s 2N

P

P23

j=1 cj 2

23 −j j=1 cj 2

−j

+ 2−23



beschrieben, dabei steht f l(x) f¨ ur die Gleitpunktdarstellung (floating point representation) der Zahl x. Der Grenzbereich des Overflow ist 2127 ≈ 1038 , dies ist die gr¨oßte Zahl in dieser Arithmetik.

20

Numerik I. Version: 19.02.08

Der Grenzbereich des Underflow ist 2−126 ≈ 10−38 , dies ist die kleinste Zahl (im Absolut-

betrag), die noch nicht als Null betrachtet wird:

f l(x) = 0 falls |x| < 2−126 Z.B. werden sich zwei Zahlen, x, y, deren Differenz kleiner als 2−126 ist, |x − y| < 2−126 in

unserer Arithmetik nicht unterscheiden lassen. Wichtiger ist der relative Rundungsfehler, d. h. die Gr¨oße

|x − f l(x)| ≤ 2−23 , |x|

(3.2)

wobei 2−23 die kleinste positive Zahl ε > 0 ist, so dass 1 + ε und 1 sich in unserer Arithmetik unterscheiden lassen, d.h f l(1 + δ) = 1 wenn |δ| < 2−23 . Diese Zahl wird auch als relative Maschinengenauigkeit bezeichnet. Aufgabe 3.1 Beweisen Sie, dass (3.2) f¨ur alle Zahlen x mit x 6= 0, 2−127 ≤ |x| ≤ 2126 gilt. Die praktische Folgerung ist: nur die ersten 7-8 signifikanten dezimalen Ziffern in der “single precision” Arithmetik werden behalten. [Die erste signifikante dezimale Ziffer einer Zahl heißt die erste Ziffer in dezimaler Form, die nicht Null ist.] Die sog. IEEE standard double precision Darstellung verwendet 64 Bits f¨ ur jede reelle Zahl. 11 bits werden dem Exponent N gewidmet, 52 Bits den Ziffern und 1 Bit dem Signum. Die kleinste Zahl in dieser Darstellung ist 2−1022 ≈ 10−308 , der Grenzwert von Overflow ist 10308

und die relative Maschinengenauigkeit wird auf 2−52 ∼ 10−16 verbessert.

Die Maschinenarithmetik mit Gleitpunktzahlen wird Gleitpunktarithmetik (floating point

arithmetics) genannt. In dieser Arithmetik wird jede arithmetische Operation (Addition, Subtraktion usw.) von einer Rundungsoperation gefolgt: x ⊕ y := f l(x + y) x y := f l(x · y)

usw.

Aufgabe 3.2 Finden Sie Beispiele, die zeigen, dass die Assoziativit¨at der Addition und die Distributivit¨at bei der Gleitpunktarithmetik (leider!) verloren gehen. Maschinen benutzen irgendeine Form der Gleitpunktarithmetik. Die genaue Definition ist f¨ ur uns nicht so wichtig. Jedoch gibt es zwei wichtige Daumenregeln als praktische Folgerung:

21

Numerik I. Version: 19.02.08

(i) Die Subtraktion von zwei großen Zahlen, x, y, die ganz nah beieinander liegen, ist ganz gef¨ahrlich. In diesem Fall k¨onnen sich die f¨ uhrenden Ziffern von x und y ausl¨oschen und die f¨ uhrenden Ziffern von x − y werden von den wenigen zuverl¨assigen letzten Ziffern von x, y

bestimmt. Dieses Ph¨anomen kann ganz wichtig sein, wenn das Programm eine Abzweigung (IF... THEN ... ELSE) enth¨alt, die vom Signum einer Zahl abh¨angt. Z.B. pr¨ uft das Gaußsche Verfahren, ob das Pivotelement Null ist. Ein Pivotelement, das in der Realit¨at Null ist, kann wegen Rundungsfehlern als nicht Null erscheinen und das ganze Verfahren irref¨ uhren, z.B. der Rang der Matrix wird dann falsch ausgerechnet. (ii) Ein Overflow kann das ganze Programm sperren. In vielen Rechnern ist es fast unvorhersagbar, wie die Maschine einen Overflow als Input der n¨achsten Rechnungschritte betrachtet. Der gute Ratschlag ist: In kritischen Punkten des Programms soll man explizit vorschreiben, in welche Richtung der Algorithmus fortsetzen soll, falls ein Overflow auftritt.

3.2

Approximationsfehler

Viele numerische Verfahren sind iterativ und w¨ urden das genaue Ergebnis nur im Limes, nach unendlich vielen Schritten liefern. Z.B. konvergiert das Newtonsche Iterationsverfahren zur L¨osung sehr schnell, aber es erreicht sie “niemals”. Nat¨ urlich beendet man die Berechnung nach endlich vielen Schritten, aber man muss den auftretenden Fehler beachten. In den meisten F¨allen ist die Konvergenzgeschwindigkeit ganz schnell (exponentiell), und mit wenig Aufwand kann man den Approximationsfehler unter den Rundungsfehler bringen. Wenn in einem iterativen Verfahren der Limeswert besser als der Rundungsfehler approximiert wird, ergibt es keinen Sinn, das Verfahren fortzusetzen.

3.3

Die Symbole O und o

Meistens interessieren wir uns nicht f¨ ur die exakte Gr¨oße der Fehler, sondern nur f¨ ur die Gr¨oßenordnung, die durch eine einfache Funktion (z.B. Polynom oder Exponentialfunktion) beschrieben werden kann. Definition 3.3 Seien f und g zwei reelle Funktionen, wobei g(x) ≥ 0. Dann heißt f (x) = O(g(x)) im Punkt x0 [f ist “groß- O” von g in x0 ], falls f (x)

lim sup x→x0

g(x)

0 und K < ∞ mit |f (x)| ≤ K|g(x)| f¨ ur alle |x − x0 | ≤ δ. Wegen g = o(1), gibt es ein δ 0 mit |g(x)| ≤ 0

00

0

|x − x0 | ≤ δ . W¨ahle wir δ := min{δ, δ }, dann 1 |f (x)| ≤ , 2

|x − x0 | ≤ δ 00 ,

1 2K

f¨ ur alle

24

Numerik I. Version: 19.02.08 und die geometrische Reihe 1 = 1 − f (x) + f 2 (x) − f 3 (x) + . . . 1 + f (x) konvergiert f¨ ur |x − x0 | ≤ δ 00 . Dann folgt f¨ ur (3.3) 

| − f (x) + f 2 (x) − f 3 (x) + . . . | = |f (x)| 1 + |f (x)| + |f (x)|2 + . . .) ≤ 2|f (x)| = O(g). Mit diesen Daumenregeln kann man Folgendes berechnen: ex = 1 + O(x),

sin x = x + O(x3 )

im Punkt x0 = 0 (aus Taylor-Entwicklung)

dann ex + sin x = 1 + x + O(x) + O(x3 ) = 1 + O(x) ex sin x = x + xO(x) + O(x3 ) + O(x)O(x3 ) = x + O(x2 )

1 + O(x) 1 1 + O(x) 1 1 1 ex 2 = = · = · (1 + O(x))(1 + O(x )) = · (1 + O(x)) = + O(1) sin x x + O(x3 ) x 1 + O(x2 ) x x x Eine Approximation der h¨oheren Ordnung erfordert eine pr¨azisere Taylor-Entwicklung: ex = 1 + x + O(x2 ), und dann, z.B.

sin x = x −

x3 + O(x5 ) 6

ex 1 + x + O(x2 ) 1 + x + O(x2 ) 1 = · = 3 3 sin x 1 + O(x4 ) x − x6 + O(x5 ) x − x6

 1 1 1 x2 4 2 + O(x ) · (1 + x + O(x2 )) = · · (1 + x + O(x )) = 1 + 2 x x 1− 6 x 6

 1 1 1 + x + O(x2 ) = + 1 + O(x) . x x In der ersten Zeile hatten wir die Identit¨at

=

x−

 x3  x3 + O(x5 ) = x − (1 + O(x4 )) 6 6

benutzt. Um die Regel (3.3) zu verwenden, mußten wir den Nenner x −

Form

x−

  x3 + O(x5 ) = Explizit (ohne O) (1 + O(xα )) 6

mit einem geeigneten α schreiben. Dann ist es klar, daß Explizit = x − 

deshalb ist α = 4.

x−

x3 x3  (1 + O(xα )) = x − + O(xα+1 ) 6 6

x3 6

x3 6

+ O(x5 ) in der

und

25

Numerik I. Version: 19.02.08

3.4

Kondition eines Problems

Jeder mathematische Algorithmus kann als eine Maschine betrachtet werden, die die Ausgabe (Output) aus den Eingaben (Input) liefert. Der Output muss vom Input eindeutig bestimmt werden, so dass es sich um eine Funktion f auf der Menge der Eingaben handelt. Bei der Ver¨anderung der Eingaben, ¨andert sich das Ergebnis. Die Frage ist: wie empfindlich die Output¨anderung gegen¨ uber der Input¨anderung ist. Diese Empfindlichkeit wird durch den Begriff der Kondition des Problems beschrieben. F¨ ur eine quantitative Beschreibung f¨ uhrt man eine Zahl, die Kondition, ein. Die Bedeutung dieses Begriffs ist offensichtlich: Die Eingaben sind nie exakt. Um etwas u ¨ber die Zuverl¨assigkeit des Outputs zu wissen, muss man nicht nur die Zuverl¨assigkeit des Inputs, sondern auch den Vergr¨oßerungsfaktor des Inputfehlers kennen. Der Einfachheit halber nehmen wir an, dass f : U → R, wobei U ⊂ Rn . Z.B. im Fall des

Multiplikationsalgorithmus betrachtet man U = R2 und berechnet f (x1 , x2 ) = x1 x2 . Im Fall des Divisionsalgorithmus ist U = R×(R\{0}) und f (x1 , x2 ) = x1 /x2 . Im Fall des Algorithmus der L¨osung der quadratischen Gleichung x2 + px + q = 0 hat man √   2 −p+

f (p, q) =



−p−

p −4q

√2

p2 −4q 2



und die L¨osung ist ein Element aus C2 , und liegt nicht mehr in R. Seien x die wahre Gr¨oße des Inputs und xe die Messdaten f¨ ur x, die zur Verf¨ ugung stehen.

Das wahre Ergebnis w¨are f (x), aber unser Output ist f (xe).

Erinnern Sie sich an die Norm eines Vektors x = (x1 , x2 , . . . , xn ) ∈ Rn (oder ∈ Cn ): kxk :=

q

|x1 |2 + |x2 |2 + . . . + |xn |2

(3.4)

Definition 3.10 Der absolute Fehler im Input eines numerischen Verfahrens ist die Abweichung der wahren Gr¨oße x der Eingabedaten von den Wert xe, der zur Verf¨ugung steht: kx − xek

Der absolute Fehler im Output ist die Abweichung der wahren Gr¨oße f (x) von dem ausgerechneten Wert f (xe)

kf (x) − f (xe)k

Zum Beispiel, wenn die wahre Gr¨oße x =

1 3

ist, und die Abweichung in xe von x aus der

Rundung nach der dritten Dezimalen stammt, erh¨alt man xe = 0.333 und einen absoluten

Eingabefehler

1 1 |x − xe| = | − 0.333| = 0.0003333... = 10−3 3 3

26

Numerik I. Version: 19.02.08

Sei f (x) := x2 . Die Maschine rechnet xe2 = 0.3332 = 0.110889 und der absolute Fehler ist 1 |f (x) − f (xe)| = | − 0.110889| = 0.000111 . . . 9

Diese Berechnung setzt voraus, dass am Ende keine Rundung gibt.

Falls f explizit bekannt und glatt ist, kann man die Taylor-Entwicklung einsetzen, um die Abweichung zu bestimmen: f (xe) − f (x) = ∇f (x) · (xe − x) + O(kxe − xk2 )

wenn kxe − xk  1 .

(3.5)

Falls kxe − xk “klein” ist, k¨onnen wir die Terme zweiter Ordnung vernachl¨assigen (weil sie viel kleiner als die Terme erster Ordnung sind), und wir erhalten

oder

f (xe) − f (x) = ∇f (x) · (xe − x) + Terme der h¨oheren Ordnung (THO) . f (xe) − f (x) = ∇f (x) · (xe − x)

. wobei = f¨ ur die Approximation in erster Ordnung steht. Dies gilt nur, falls ∇f (x) 6= 0, sonst

wird der n¨achste Term der f¨ uhrende Term sein.

Erinnern Sie sich, dass der Gradient ∇f in jedem Punkt ein n-Vektor ist. Der absolute

Fehler im Output kann durch den absoluten Fehler im Input abgesch¨atzt werden: |f (xe) − f (x)|

|

{z

}

absoluter Fehler im Output

˙ k∇f (x)k · ≤

kxe − xk

|

{z

}

(3.6)

absoluter Fehler im Input

Der absolute Fehler hat sich um den Faktor κabs := k∇f (x)k vergr¨oßert. Beachten Sie, dass diese Gleichung nur eine Absch¨atzung ist und den “gr¨oßten anzunehmenden Unfall” zeigt (worst-case scenario). In den meisten F¨allen ist der relative Fehler wichtiger und informativer als der absolute Fehler. Ein Fehler von 1 Millimeter bei Erdarbeiten ist unbedeutend, aber das ist ganz anders bei der Chipherstellung... Definition 3.11 Der relative Fehler eines numerischen Verfahrens/Problems ist das Verh¨altnis des absoluten Fehlers zu der wahren Gr¨oße: f (x e) − f (x)

Relative Fehler =

f (x)

.

27

Numerik I. Version: 19.02.08

BEDEUTUNG: Falls der relative Fehler kleiner als 10−k ist, bedeutet das, dass die ersten k signifikanten Ziffern zuverl¨ assig sind. [Die erste signifikante Ziffer einer Zahl heißt die erste Ziffer in dezimaler Form, die nicht Null ist.] Die Absch¨atzung der Verst¨arkung des relativen Fehlers lautet:

folglich

f (xe) − f (x) = f (x e) − f (x) |

f (x) {z

}

˙ ≤

relativer Fehler im Output

n X

n X

∂f (x) (xei − xi ) + (T HO) i=1 ∂xi ∂f (x)

i=1

|

∂xi

·

{z

xi f (x)

x ei − xi x | {zi }

·

}

i-ter Verst¨arkungsfaktor relativer Fehler im i-ten Input

Dieser Ausdruck ber¨ ucksichtigt jede Koordinateneingabe separat. Der gesamte Verst¨arkungsfaktor ist der gr¨oßte unter allen Faktoren, der auch relative (koordinatenweise) Kondition bestimmt:

∂f (x)

κrel := max i=1,...,n

∂xi

·

xi . f (x)

(3.7)

Sp¨ater werden wir eine koordinatenunabh¨angige Definition der relative Kondition geben; die endg¨ ultige Version ist Definition 3.18. Definition 3.12 Ein Problem f : U → R ist gut konditioniert, wenn die relative Kondition

nicht zu groß ist, sonst ist es schlecht konditionert.

Beachten Sie, dass der Begriff “nicht zu groß” keine exakte mathematische Bedeutung hat. In der Praxis ist κrel ≤ 10 eine ganz angenehme Kondition, und κrel ≤ 100 ist eben

ganz akzeptabel. Falls κrel ≤ 10k , verliert man h¨ochstens k zuverl¨assige Ziffern im Output im Vergleich zum Input.

Man kann eine andere relative Fehlerabsch¨atzung auch von (3.6) erhalten: f (x e) − f (x)

|

f (x) {z

}

relativer Fehler im Output

˙ ≤

k∇f (x)k · kxk |f (x)|

|

{z

}

·

kxe − xk kxk

|

{z

(3.8)

}

Verst¨arkungsfaktor relativer Fehler im Input

Die Verst¨arkungsfaktoren in (3.7) und (3.8) sind nicht identisch. Die Absch¨atzung (3.7) ist sch¨arfer und der Unterschied kann ganz signifikant sein. Beispiel 3.13 Wir berechnen beide Verst¨arkungsfaktoren im Fall der Multiplikation x=



x1 x2



f (x) = x1 x2

∇f (x) =



x2 x1



28

Numerik I. Version: 19.02.08 So ist

∂f (x)

∂x1

·

x1 ∂f (x) x2 · = =1 f (x) ∂x2 f (x)

und κrel = 1. Dies zeigt, dass die Multiplikation (koordinatenweise) gut konditionert ist. Die Formel (3.8) liefert einen Verst¨arkungsfaktor k∇f (x)k · kxk x2 + x22 = 1 , |f (x)| |x1 x2 | der immer gr¨oßer (oder gleich) 2 ist (warum?), und er kann sehr groß sein, falls |x1 |  |x2 |

oder |x2 |  |x1 |. Dies zeigt, dass die Multiplikation als eine Funktion von beiden Variabeln

schlecht konditioniert ist.

Aufgabe 3.14 Berechnen Sie die beiden Verst¨arkungsfaktoren im Fall der Addition x=



x1 x2



f (x) = x1 + x2

∇f (x) =

 

1 1

.

Zur Beachtung: Aus dem Ergebnis geht hervor, dass die Addition (auch koordinatenweise) schlecht konditioniert ist, wenn x1 ≈ −x2 , d.h. wenn es um die Subtraktion gleich großer Zahlen geht. In diesem Fall k¨onnen sich die f¨ uhrenden Ziffern ausl¨oschen. Das Ergebnis der

Subtraktion 1.2345 − 1.2344 = 0.0001 ist ganz unzuverl¨assig, weil ihre erste signifikante Ziffer

von der f¨ unften Ziffer der Eingabe abh¨angt.

Beispiel 3.15 Die (koordinatenweise) Kondition κrel der Division, f (x1 , x2 ) = x1 /x2 , ist auch κrel = 1 (Berechnen Sie das!). Aber wir wissen aus unseren Erfahrungen, dass die Division durch eine Zahl, die fast Null ist, ganz gef¨ahrlich ist. Die Aufl¨osung dieses Widerspruchs kommt aus dem zweiten, vernachl¨assigten Term der Taylor-Entwicklung. Betrachten wir nur den einfachsten Fall, die Berechnung des Reziproken: f (x) = 1/x. Aus der Taylor-Entwicklung mit zwei Termen erhalten wir 1 1  1 1 2  = + − 2 (xe − x) + (xe − x)2 + O(|xe − x|3 ) xe x x 2! x3

deshalb



2

1 e x



− x1 1 x



x e − x 2 e − x x +



x

x

  x e − x 3

+O

x

Der Term ex−x , der wegen seiner h¨ oheren Ordnung in der Differenz |xe −x|2 in der Berechnung x



von κrel vernachl¨assigt wurde, kann sogar gr¨oßer als der Term ex−x sein, falls x mit dem x

absoluten Fehler |xe − x| vergleichbar ist.

Schlussfolgerung: die Division ist schlecht konditionert, falls der Nenner von der-

selben Gr¨ oßenordnung (oder eben kleiner) wie der absolute Fehler ist.

29

Numerik I. Version: 19.02.08

Aufgabe 3.16 Beweisen Sie diese Aussage im allgemeinen Fall der Division: f (x1 , x2 ) = x1 /x2 . Dieses Problem mit der nicht erlaubten Vernachl¨assigung von Termen h¨oherer Ordnung erfordert eine genauere Definition der Kondition. Dar¨ uber hinaus m¨ochten wir eine Definition erhalten, die keine Differenzierbarkeit voraussetzt. Definition 3.17 Betrachten wir ein Problem, das durch die Funktion f : U → Rn definiert ist. Sei x ∈ U und δ > 0. Das Problem f in der Umgebung

Bδ (x) := {xe : kxe − xk ≤ δ}

heißt gut gestellt (well-posed), falls es eine endliche Konstante K gibt, so dass kf (xe) − f (x)k kxe − xk ≤K kf (x)k kxk

(3.9)

f¨ur alle xe ∈ Bδ (x) gilt, wobei x 6= 0, f (x) 6= 0. Sonst heißt das Problem schlecht gestellt (ill-posed).

Sei K(δ) die minimale (beste) Konstante, damit (3.9) gilt. Definition 3.18 Die relative Kondition des Problems f im Punkt x definieren wir durch κrel := lim K(δ) δ→0

[Warum existiert der Limes?] Das Problem ist gut konditioniert, falls κrel klein (etwa 1–100) ist. Beachten Sie, dass die Division aufgrund dieser Definition wegen des Limes δ → 0 gut

konditioniert ist. Aber die Division ist in der Umgebung Bδ (x) schlecht gestellt, falls δ ≥ |x| ist. D.h. ein Problem kann in einer Umgebung schlecht gestellt sein (d.h. es ist keine

endliche Absch¨atzung vorhanden), doch in einer kleineren Umgebung gut gestellt sein. F¨ ur nichtlineare Probleme ist die Kondition ein infinitesimaler Begriff (d.h. gilt nur f¨ ur eine ganz kleine Umgebung) und ohne effektive Absch¨atzung f¨ ur die Gr¨oße der Umgebung, in der das Problem gut gestellt ist, kann sie irref¨ uhrend sein. Definition 3.19 Sei A ∈ Rm×n eine m × n Matrix. Die (Euklidische) Norm von A ist

durch

kAk := sup x6=0

definiert.

kAxk kxk

(3.10)

30

Numerik I. Version: 19.02.08

Bemerkung 3.20 Erinnern Sie sich, dass eine Matrix A auch als eine lineare Transformation betrachtet werden kann. In diesem Sinn kann man die Vergr¨oßungsfaktoren der Abbildung x → Ax betrachten, wobei die L¨ange der Vektoren x ∈ Rn und Ax ∈ Rm durch die Norm (3.4)

gegeben wird. Die Norm der Matrix A ist der Vergr¨oßungsfaktor in am meisten expandierende Richtung. Insbesondere gilt kAxk ≤ kAk kxk .

(3.11)

Beachten Sie, dass die drei Normen in dieser Ungleichung unterschiedlich sind. Die erste Norm ist die Vektornorm (3.4) im Rm , die zweite ist die in (3.10) definierte Matrixnorm und die dritte ist die Vektornorm im Rn . Die Matrixnorm h¨angt von der ausgew¨ahlten Vektornorm ab; wir sagen, die Vektornorm induziert diese Matrixnorm. Aufgabe 3.21 Zeigen Sie, dass das Supremum in der Definition durch Maximum ersetzt werden kann. Satz 3.22 Es sei U ⊂ Rn und sei f : U → Rm stetig differenzierbar in der Umgebung eines Punktes x ∈ U, wobei x 6= 0, f (x) 6= 0. Die relative Kondition des Problems f : U → Rm im Punkt x ist

κrel = kDf (x)k ·

kxk . kf (x)k

(3.12)

Hier bezeichnet Df (x) ∈ Rm×n die Jacobi-Matrix von f im Punkt x. Bemerkung: Diese Formel sieht etwas anders als unsere vorl¨aufige Definition (3.7) aus (siehe auch die Bemerkung nach (3.7)). In dieser Definition wurde die Kondition bez¨ uglich jeder Koordinate berechnet und der i-te Verst¨arkungsfaktor ∂f

∂xi

·

xi f (x)

(3.13)

ist einfach die Kondition (=Empfindlichkeit des relativen Fehlers) der Funktion xi 7→ f (x1 , . . . xi−1 , xi , xi+1 , . . .) von einer (der i-ten) Variablen, falls alle anderen Variablen festgehalten werden. Wenn man f als eine Funktion von xi betrachtet, sind (3.12) und (3.13) identisch. In den meisten F¨allen ist die Kondition bez¨ uglich aller m¨oglichen St¨orungs- oder Fehlervektoren und nicht nur f¨ ur die Koordinatenrichtungen wichtig, deshalb werden wir (3.7) nicht mehr benutzen. Die korrekte Definition ist Definition 3.18.

31

Numerik I. Version: 19.02.08 Beweis. Aufgrund der Taylor-Entwicklung in Integralform gilt f (xe) − f (x)

=

Z

1

0





Df (1 − s)x + sxe (xe − x)ds

(Achten Sie auf die Matrix-Vektor Multiplikation innerhalb des Integrals) also folgt kf (xe) − f (x)k ≤

Z

1

0

Deshalb gilt

 

e

Df (1 − s)x + sx

K(δ) ≤

kxe − xk ds ≤





sup kDf (y)k kxe − xk.

y∈Bδ (x)

kxk · sup kDf (y)k kf (x)k y∈Bδ (x)

(3.14)

und aufgrund der Stetigkeit der Ableitung Df folgt: lim K(δ) ≤

δ→0

  kxk kxk lim sup sup kDf (y)k = kDf (x)k . kf (x)k δ→0 kf (x)k y∈Bδ (x)

Dies hat κrel ≤ kDf (x)k · bewiesen.

kxk kf (x)k

(3.15)

[Warnung: Man kann den Limes in einer Ungleichung nicht ohne weiteres nehmen. Sei M(δ) := dass

kxk kf (x)k

· supy∈Bδ (x) kDf (y)k die Funktion auf der rechten Seite von (3.14). Wir wissen, K(δ) ≤ M(δ)

f¨ ur alle δ > 0 gilt. Daraus folgt aber nicht, dass lim K(δ) ≤ lim M(δ)

δ→0

δ→0

weil die Existenz des Limes nicht garantiert ist. Die folgenden Aussagen sind immer korrekt: lim sup K(δ) ≤ lim sup M(δ) δ→0

δ→0

und lim inf K(δ) ≤ lim inf M(δ) δ→0

δ→0

Falls wir die Existenz des Limes auf einer Seite wissen, k¨onnen wir lim sup oder lim inf auf derselben Seite durch lim ersetzen, aber a priori nicht an der anderen Seite. In unserem Fall folgt die Existenz des Limes auf der linken Seite aus der Monotonie der Funktion K(δ). An der rechten Seite folgt sie aus der Stetigkeit der Jacobimatrix und der Norm (Zum Nachdenken!).]

32

Numerik I. Version: 19.02.08 F¨ ur die andere Richtung sei v ein Einheitsvektor der kDf (x) vk = kDf (x)k kvk

(3.16)

erf¨ ullt. Ein solcher Vektor existiert wegen der Minimaleigenschaft der Matrixnorm und Kom¨ paktheit (Uberlegen Sie!). Betrachten wir xe := x + δv, wobei δ klein ist: f (xe) − f (x) = δ

= δDf (x)v + δ

Z

0

1

Z

h

1

0







Df (1 − s)x + sxe v ds 

i

Df (1 − s)x + sxe − Df (x) v ds

Es folgt, mittels (3.16), kxe −xk = δ und der Dreiecksungleichung (in der Form |a+b| ≥ |a|−|b|) kf (xe) − f (x)k ≥ kf (x)k

(

"

kxk kDf (x)k − kf (x)k

Z

0

1

 

e − Df (x)

Df (1 − s)x + sx

ds

#)

kxe − xk kxk

Der zweite Term verschwindet im Limes δ → 0, weil Df (x), als stetige Funktion auf einem

kompakten Gebiet Bδ (x), gleichm¨aßig stetig ist: lim

Z

δ→0 0

1

 

e − Df (x)

Df (1 − s)x + sx

ds = 0

Der erste Term liefert die Gegenrichtung der Ungleichung (3.15). 2

3.5

Stabilit¨ at eines Verfahrens

Die relative Kondition eines Problems bestimmt die Fehlerverst¨arkung (oder Fehlerd¨ampfung). Im vorherigen Kapitel wurde dieses Ph¨anomen als eine objektive Tatsache des Problems betrachtet. In der Praxis teilt man die numerische Aufgabe auf kleinere Unterprobleme auf (z.B. jeder Algorithmus der Multiplikation von Zahlen besteht aus Additionen). Der Outputfehler jedes Schrittes wird als Inputfehler der n¨achsten Schritte auftreten. Im schlimmsten Fall werden sich diese Verst¨arkungsfaktoren multiplizieren. Auch wenn jeder Schritt gut gestellt ist (z. B. κrel ≈ 2), kann man nach n Schritten einen exponentiellen großen Verst¨arkungfaktor 2n

sammeln.

Die Gefahr ist, dass man ein urspr¨ unglich gut gestelltes Problem durch einen Algorithmus l¨ost, der entweder ein schlecht gestelltes Unterproblem enth¨alt, oder zu viele Unterprobleme verwendet, deren Kondition gr¨oßer als eins ist. In beiden F¨alle wird ein gut gestelltes physikalisches Problem k¨unstlich in ein schlecht gestelltes mathematisches Problem umgewandelt. Ein numerisches Verfahren wird stabil oder gutartig genannt, wenn der Fehlerverst¨arkungsfaktor des Verfahrens nicht (zu viel) gr¨oßer als die Kondition des Problems ist. D.h. der Fehler des Verfahrens nicht (zu viel) gr¨oßer als der unvermeidbare Fehler ist.

33

Numerik I. Version: 19.02.08

Das folgende Beispiel zeigt, dass man manchmal mit einfachen Tricks einen instabilen Algorithmus durch einen stabilen ersetzen kann. Beispiel. Sei x die kleinere der beiden Nullstellen von x2 − 2bx + c = 0 und nehmen wir

an, dass b2  c > 0. Die L¨osung ist durch

gegeben. Weil b2  c, gilt



x= b−



b2 − c

(3.17)

b2 − c ≈ b, und eine Ausl¨oschung der f¨ uhrenden Ziffern tritt auf.

Der von (3.17) beschriebene Algorithmus besteht aus vier elementaren Unterproblemen (dabei bezeichnen y1 , y2 , . . . die Zwischenresultate): Schritt 1. y1 := b · b

Schritt 2. y2 := y1 − c √ Schritt 3. y3 := y2

Schritt 4. x = y4 := b − y3 Die ersten drei Schritte sind gut gestellt, aber der letzte ist es nicht (man benutzt (3.7)): √ √ √ ∂y (b + b2 − c) b2 − c − b2 − c |b|2 4 y3 √ · = 1 κrel (letzter Schritt) = = ∼ ∂y3 y4 c |c| b − b2 − c

Gl¨ ucklicherweise kann man die L¨osung auch in der folgenden Form aufschreiben: x= Der neue Algorithmus ist

c √ b + b2 − c

(3.18)

Schritt 1. y1 := b · b

Schritt 2. y2 := y1 − c √ Schritt 3. y3 := y2

Schritt 4. y4 := b + y3 Schritt 5. x = y5 = c/y4 Die Kondition der letzten zwei Schritte ist κrel (Schritt 4 und 5) =

∂y y 5 3 ·

∂y3 y5



−c (b + √ = 2 2 (b + b − c)



√ √ b2 − c) b2 − c b2 − c √ = ≤1 c b + b2 − c

Beide Algorithmen sind mathematisch a¨quivalent. Vom numerischen (praktischen) Standpunkt wird der zweite bevorzugt, weil er (im Bereich b2  c) stabil ist.

Aufgabe∗ 3.23 Betrachten Sie dasselbe Problem in dem Parameterbereich b2 ≈ c (d.h. |b2 − c|  b2 ). Welcher Algorithmus ist stabil? Ist das Problem gut gestellt? [Vorsicht: die Antwort

ist anders als Sie oberfl¨achlich denken k¨onnten!]

34

Numerik I. Version: 19.02.08

3.6

Allgemeine Normen auf einem Vektorraum

Definition: Sei V ein Vektorraum (reell oder komplex). Eine Funktion k · k : V → [0, ∞)

heißt Norm, falls sie die folgenden drei Eigenschaften erf¨ ullt: kxk ≥ 0

und kxk = 0 ⇐⇒ x = 0 ;

kλxk = |λ| kxk ,

wobei λ ∈ R, (C)

kx + yk ≤ kxk + kyk .

(3.19) (3.20) (3.21)

[Dreiecksungleichung: triangle inequality] Bemerkung 3.24 Erinnern Sie sich, dass man f¨ur die Definition eines Vektorraums einen K¨orper [der K¨orper der Skalaren: “Zahlen”] braucht. In der Praxis ist dieser K¨orper immer der K¨orper der reellen oder der komplexen Zahlen (R oder C). Wir formulieren alle unsere Definitionen und Aussagen f¨ur reelle Zahlen, Vektoren und Matrizen, aber genau dieselben gelten f¨ur komplexe Zahlen. Wir weisen auf diesen Unterschied hin, wenn es wichtig ist. Das bekannteste Beispiel ist die Euklidische Norm auf V = Rn oder V = Cn : kxk :=

q

|x1 |2 + |x2 |2 + . . . + |xn |2

In den meisten F¨allen wird die Euklidische Norm als Vektornorm benutzt. Weitere wichtige Beispiele (auf Rn oder Cn ) sind: kxk1 :=

n X i=1

|xi |

kxk∞ := max |xi | i=1...n

Summennorm

(3.22)

Maximumnorm

(3.23)

Wenn es n¨otig ist, um Missverst¨andnisse zu vermeiden, kann man die euklidische Norm durch einen Index 2 von anderen Normen unterscheiden: kxk2 :=

q

|x1 |2 + . . . + |xn |2

Wenn es keinen Index gibt, bezeichnet kxk die euklidische Norm. Aufgabe 3.25 Beweisen Sie, dass alle diese Normen die nat¨urlichen Eigenschaften(3.19), (3.20),(3.21) einer Norm erf¨ullen.

35

Numerik I. Version: 19.02.08

Diese Normen sind spezielle F¨alle der so genannten p-Normen (oder `p -Normen), die durch die Formel



kxkp := |x1 |p + . . . + |xn |p definiert werden, wobei 1 ≤ p < ∞ ist.

1/p

(3.24)

Aufgabe 3.26 Beweisen Sie, dass lim kxkp = max |xi |,

p→∞

i=1...n

deshalb ist die Notation kxk∞ gerechtfertigt, obwohl diese Norm nicht direkt aus der Formel

(3.24) stammt.

Aufgabe∗ 3.27 Beweisen Sie, dass kxkp wirklich eine Norm ist, d.h. sie erf¨ullt die Eigen-

schaften (3.19), (3.20), (3.21), falls 1 ≤ p < ∞.

Aufgabe 3.28 Beweisen Sie, dass im Fall 0 < p < 1 die Dreiecksungleichung kx + ykp ≤ kxkp + kykp nicht immer gilt. Damit ist kxkp in diesem Fall keine Norm.

3.7

Die Normen einer Matrix

Unser Ziel ist zu verstehen, was mit der Matrix in Kapitel 2.2 schiefgegangen ist. Wir m¨ ussen geeignete Begriffe einf¨ uhren, um die Gr¨oße einer Matrix zu messen. Wir wiederholen die Definition der Norm einer allgemeinen m × n Matrix. Zuerst setzen wir voraus, dass beliebige Vektornormen auf Rn und auch auf Rm gegeben werden.

Definition 3.29 Sei A ∈ Rm×n eine reelle m × n Matrix. Die Norm von A ist durch kAk := sup x6=0

kAxk kxk

(3.25)

definiert. Genauso wie im Euklidischen Fall (Aufgabe 3.21) kann das Supremum durch das Maximum ersetzt werden. Offensichtlich h¨angt die Matrixnorm von den ausgew¨ahlten Vektornormen ab; wir sagen, dass gegebene Vektornormen auf Rn und Rm eine Matrixnorm auf dem Raum der m × n Matrizen durch die Formel (3.25) induzieren. Im Allgemeinen wird die Norm (3.25) als die von der Vektornorm k · k induzierte Matrixnorm bezeichnet.

36

Numerik I. Version: 19.02.08

Aufgabe 3.30 Beweisen Sie, dass die von (3.25) definierte Gr¨oße eine Norm auf dem Vektorraum der m × n Matrizen ist, d.h. sie erf¨ullt die folgende Bedingungen (entsprechend den Gleichungen (3.19), (3.20), (3.21) ) kAk ≥ 0 ,

und kAk = 0 ⇐⇒ A = 0 ;

kλAk = |λ| kAk ,

wobei λ ∈ R

kA + Bk ≤ kAk + kBk . Dar¨uber hinaus gelten kIk = 1 und die zus¨atzliche Relation kABk ≤ kAkkBk ,

(3.26)

falls die Matrizen A und B wegen ihrer Dimensionen multipliziert werden k¨onnen. Aufgabe 3.31 Beweisen Sie, dass die Maximumnorm (3.23) die folgende, sogenannte Zeilensummennorm auf dem Raum der m × n Matrizen induziert: kAk∞ := max

i=1...m

n X

j=1

|Aij |

(3.27)

Beweisen Sie auch, dass die Summennorm (3.22) die Spaltensummennorm induziert, die man durch die Formel kAk1 := max

j=1...n

m X i=1

|Aij |

(3.28)

berechnen kann. Bemerkung 3.32 Die Menge der m × n Matrizen bildet einen Vektorraum mit den nat¨ urli-

chen Operationen (Vektoraddition und Multiplikation mit Konstanten). Man kann unterschiedliche Normen auf diesem Vektorraum definieren und nicht alle Normen werden von einer Vektornorm durch (3.25) definiert. Es gibt Matrixnormen, die nicht von einer Vektornorm induziert sind. Das wichtigste Beispiel ist die Frobeniusnorm (oder Hilbert-Schmidt- Norm) der Matrix A, die durch kAkF rob := kAkHS :=

q

Sp(A∗ A) =

q

Sp(AA∗ ) =

v uX n um X t |Aij |2

(3.29)

i=1 j=1

definiert wird. Erinnern Sie sich, dass A∗ die adjungierte Matrix [adjoint matrix] ist: A∗ = At t

(transponierte Matrix) im Falle des reellen K¨orpers und A∗ = A (Hermitische transponierte

37

Numerik I. Version: 19.02.08

Matrix [hermitian transpose]) im Falle des komplexen K¨orpers [complex field]. Sp bezeichnet die Spur [trace] der quadratischen Matrix, Sp M = T r M =

n X

Mii .

i=1

Die Frobeniusnorm der Identit¨atsmatrix I ist kIkHS =



n und jede Norm von I, die durch

(3.25) definiert wird, ist offensichtlich 1. Oberfl¨achlich betrachtet, scheint dieses Problem nur eine falsche Normalisierung zu sein. Wenn k · k eine Norm ist, dann ist auch k · k0 := ck · k eine Norm f¨ ur alle positiven Konstanten c. Mit anderen Worten kann jede Norm so normalisiert

werden, dass kIk = 1 ist. Zum Beispiel, die modifizierte Frobeniusnorm kAk0F rob :=

v u X n u1 m X t |Aij |2

n i=1 j=1

(3.30)

erf¨ ullt kIk0F rob = 1 und ist ein nat¨ urlicher Kandidat, um von einer Vektornorm induziert zu

sein.

Aufgabe 3.33 Beweisen Sie, dass die modifizierte Frobeniusnorm (3.30) nicht von irgendeiner Vektornorm im Rm und Rn induziert werden kann. Hinweis: Beweisen Sie, dass jede von einer Vektornorm induzierte Matrixnorm die Relation (3.26) erf¨ullt, aber die modifizierte Frobeniusnorm nicht. ¨ Warnung: Trotz aller Ahnlichkeiten, ist die Frobeniusnorm nicht die von der euklidischen k · k2 Vektornorm induzierte Matrixnorm! Leider ist keine einfache Formel (¨ahnlich zu (3.27), (3.28)) f¨ ur die von der euklidischen Norm induzierten Matrixnorm kAk2 verf¨ ugbar. Definition 3.34 F¨ur jede quadratische n × n Matrix M bezeichnet r(M) := max{|λ| : λ ∈ C ist Eigenwert von M}

(3.31)

den Spektralradius von M. Bemerkung 3.35 Die Eigenwerte k¨onnen auch im Fall reeller Matrizen komplexe Zahlen sein. Die grundlegende Tatsache, dass jede n × n Matrix (reell oder komplex) genau n Eigen-

werte besitzt, gilt nur unter der Voraussetzung, dass alle komplexen Eigenwerte auch mitgez¨ahlt werden, und jeder Eigenwert mit seiner Vielfachheit in Betracht gezogen wird.

38

Numerik I. Version: 19.02.08 Satz 3.36 Die von der euklidischen Vektornorm induzierte Matrixnorm ist durch kAk2 =

q

r(A∗ A)

(3.32)

zu berechnen. Wenn A symmetrisch ist, A = A∗ , erh¨alt man die einfachere Formel kAk2 = r(A).

(3.33)

Beweis. A∗ A ist eine symmetrische, positiv semidefinite Matrix, so dass es ein vollst¨andiges System x1 , . . . , xn von orthonormierten Eigenvektoren von A∗ A gibt: A∗ Axk = λk xk wobei λk ≥ 0, k = 1, 2, . . . , n. Sei x ∈ Rn beliebig, dann erh¨alt man die Basisdarstellung x=

P

k ck xk .

Dann

kAxk22 = x · A∗ Ax = Dies hat kAk2 ≤

X k



λk |ck |2 ≤ max λk k

X k





|ck |2 = max λk kxk22 = r(A∗ A)kxk22 . k

q

r(A∗ A) bewiesen. Die andere Ungleichung erh¨alt man mit der Wahl x = xm ,

wobei xm ist der Eigenvektor zu einem maximalen Eigenwert ist. Im Falle einer symmetrischen Matrix ist A∗ A = A2 , und offensichtlich r(A2 ) = r(A)2 , weil die Eigenwerte von A2 das Quadrat der Eigenwerte von A sind. Deshalb ist q

r(A∗ A) =

q

r(A2 ) = r(A) .

2

Warnung: Die einfachere Formel (3.33) gilt nur f¨ ur symmetrische Matrizen. Ein Gegenbeispiel ist A=



0 1 0 1



Satz 3.37 F¨ur jede Matrix gilt kAk2 = kA∗ k2 . Insbesondere r(A∗ A) = r(AA∗ ) , folglich kann man die einfachere (kleinere) Matrix unter A∗ A und AA∗ bei der Berechnung der Matrixnorm kAk2 betrachten. Beispiel: Berechne die Norm von A=



1 2 3 4 5 6 7 8



39

Numerik I. Version: 19.02.08 Wir k¨onnen zwei verschiedene Matrizen, A∗ A und AA∗ bilden: 

26  32  A∗ A =   38 44

32 40 48 56

38 48 58 68



44 56    68  80

AA∗ =



30 70 70 174



Wir m¨ ussen die Eigenwerte berechnen und es ist klar, dass dies f¨ ur die kleinere Matrix (etwas) einfacher ist. Die Eigenwerte sind λ(AA∗ ) = {202.41, 1.58} und die Norm ist kAk2 =



202.41 = 14.22

Die Eigenwerte der anderen Matrix sind λ(A∗ A) = {202.41, 1.58, 0, 0}. Es gilt immer, dass die Eigenwerte von A∗ A und die Eigenwerte von AA∗ (mit Vielfachheiten mitgerechnet) identisch sind, abgesehen von zus¨atzlichen Null-Eigenwerten. Beweis des Satzes 3.37. Es gilt f¨ ur jeden Vektor y kyk2 = max{v · y : kvk2 = 1} (Variationsprinzip – Aufgabe). Folglich kAk2 = max{kAxk2 : kxk2 = 1} = max{v · Ax : kxk2 = kvk2 = 1} = max{(A∗ v) · x : kxk2 = kvk2 = 1} = max{kA∗ vk2 : kvk2 = 1} = kA∗ k . 2 Die nat¨ urliche Frage taucht auf: wenn die durch die Euklidische Vektornorm induzierte Matrixnorm so schwierig zu berechnen ist (im Vergleich zu den einfacheren Formeln (3.27), (3.28)), warum benutzen wir meistens dennoch diese Norm? Warum nicht k · k1 oder k · k∞ ? Die Antwort: die Euklidische Norm ist durch ein Skalarprodukt induziert. Diese zus¨atzliche

Struktur, die nur im Fall der Norm k · k2 verf¨ ugbar ist, erm¨oglicht viele Berechnungen. In einem Vektorraum mit Skalarprodukt kann man vieles berechnen!

3.8

Die Konditionszahl einer Matrix

Sei A ∈ Rn×n nichtsingul¨ar und b ∈ Rn gegeben. Das Problem des linearen Gleichungssystems Ax = b ist durch die Funktion f (b) = A−1 b gel¨ost. Die Jacobi-Matrix ist Df (b) = A−1

(konstante Matrix). Also ist die Kondition des Problems durch die Formel (3.12) berechenbar: κrel = kA−1 k

kAxk kbk = kA−1 k ≤ kAk · kA−1 k , −1 kA bk kxk

40

Numerik I. Version: 19.02.08

wobei alle Matrixnormen von einer festen Vektornorm induziert sind. In den meisten F¨allen wird die euklidische Norm benutzt. Definition 3.38 Die Konditionszahl (oder einfach die Kondition) einer nichtsingul¨aren Matrix ist κ(A) := kAk · kA−1 k wobei k · k eine induzierte Matrixnorm ist. Im Falle der euklidischen Norm gilt

κ(A) =

v u u max |λ(A∗ A)| t

(3.34)

min |λ(A∗ A)|

im Fall der allgemeinen regul¨aren Matrizen, und κ(A) =

max |λ(A)| min |λ(A)|

im Fall der symmetrischen Matrizen. Dabei bezeichnet |λ(M)| = {|λ1 (M)|, |λ2 (M)|, . . . , |λn (M)|} die Menge der Absolutbetr¨age der Eigenwerte von M. Offensichtlich gilt κ(A) ≥ 1 f¨ur jede Matrix. F¨ ur den Beweis der Formel (3.34) beachten Sie dass −1

kA k2 =

r 

r

(A−1 )(A−1 )∗



=

r 

r

(A∗ A)−1



=

s

1 min |λ(A∗ A)|

weil die Eigenwerte von (A∗ A)−1 die Kehrwerte der Eigenwerte von A∗ A sind. Bemerkung 3.39 Die Konditionszahl h¨angt von der angewandten Vektornorm und der davon induzierten Matrixnorm ab. Im Falle der von der euklidischen Vektornorm induzierten Matrixnorm k · k = k · k2 , nennt man κ(A) die spektrale Kondition der Matrix A (Formel

(3.34)). Oft wird die Notation κ2 (A) benutzt.

Offensichtlich liefert die spektrale Konditionszahl der Matrix A eine obere Absch¨atzung f¨ ur die Kondition des Problems der L¨osung der Gleichung Ax = b. Wenn κ(A) groß ist, ist dieses Problem schlecht konditioniert: Eine kleine St¨ orung im Input b kann zu ¨ einer großen Anderung im Output fu ¨hren.

41

Numerik I. Version: 19.02.08 3.8.1

Fehlerabsch¨ atzung fu orten rechten ¨r lineare Gleichungssysteme mit gest¨ Seiten

Satz 3.40 Es sei A eine regul¨are Matrix und b, x und ∆b, ∆x seien Vektoren mit Ax = b,

A(x + ∆x) = b + ∆b

(3.35)

Dann gelten f¨ur den absoluten, bzw. relativen Fehler die folgenden Absch¨atzungen k∆xk ≤ kA−1 k k∆bk,

k∆xk k∆bk ≤ κ(A) . kxk kbk

Die Bedeutung dieses Satzes ist, dass die Konditionszahl den Verst¨arkungsfaktor der relativen Fehler bei der L¨osung eines linearen Gleichungssystems nach oben absch¨atzt. Der Vektor x l¨ost die urspr¨ ungliche Gleichung Ax = b. Man st¨ort die rechte Seite der Gleichung von b zu b + ∆b, wobei ∆b ein beliebiger Vektor ist (in der Praxis ist k∆bk viel kleiner als kbk, aber der Satz benutzt diese Tatsache gar nicht). Die L¨osung des gest¨orten Problems hat sich von x zu x + ∆x ge¨andert. Beweis. Aus (3.35) erh¨alt man A∆x = ∆b, woraus die erste Absch¨atzung des Satzes folgt. Dann benutzt man diese Absch¨atzung f¨ ur die Berechnung des relativen Fehlers k∆bk kAxk k∆bk k∆xk ≤ kA−1 k ≤ κ(A) kxk kbk kxk kbk wobei Ax = b in zweitem Schritt benutzt wurde. 2 Das folgende Problem ist absolut wichtig. Es wird in jeder Numerik Pr¨ ufung gefragt. Aufgabe 3.41 Ihr Boss fragt nach der L¨osung der Gleichung Ax = b Dabei ist A=



1 1

2 1



und

b=

 

1 4

(i) Die Eingabe b auf der rechten Seite wird gemessen. Wie genau muss die Messung sein, damit der relative Fehler des Resultats x kleiner als 10−2 ist? (ii) Nehmen wir an, dass die Elemente von A mit Genauigkeit (=relativer Fehler) 10−3 gemessen wurden. Ist es m¨oglich eine Genauigkeit von 10−2 in der L¨osung x zu erreichen? Wenn ja, was ist der gr¨oßte erlaubte Fehler bei der Messung von b?

42

Numerik I. Version: 19.02.08

Bemerkung 3.42 (Wichtig!!) Beachten Sie, dass der Satz 3.40 st¨arker ist als die urspr¨ ungliche Berechnung von κ(A), die sich auf den Satz 3.22 st¨utzt. Satz 3.22 behauptet, dass der relative Fehler h¨ochstens um einen Faktor von ca. κrel verst¨arkt wird, vorausgesetzt, dass der relative Fehler des Inputs klein war. [Bitte stellen Sie sicher, dass Sie die Bedeutung der K(δ) und κrel gut verstanden haben!!]. Wie klein dieser Fehler sein soll, ist im Satz 3.22 nicht angegeben, weil der Limes in Definition 3.18 keine effektive Kontrolle hat. Deshalb ist ¨ der Satz 3.22 (in der vorliegenden Form) in der Praxis nutzlos. Ahnlich sind alle S¨atze in der Praxis nutzlos, die das erw¨unschte Ergebnis nur nach einem Limes¨ubergang ohne Kontrolle der Abweichung vom Limes erhalten. Dagegen gilt Satz 3.40 f¨ur alle relativen Fehler, und liefert eine effektive Absch¨atzung f¨ ur den relativen Fehler ohne Limes. Man kann Satz 3.22 verbessern, um eine effektive Absch¨atzung f¨ur die Differenz K(δ)−κrel bez¨uglich der δ zu erhalten. Daf¨ur muss man eine st¨arkere Bedingung bez¨uglich der Differenzierbarkeit der Funktion f voraussetzen. Aufgabe∗ 3.43 Nehmen Sie an, dass f im Satz 3.22 zweimal stetig differenzierbar ist und alle Ableitungen bis zur zweiten Ordnung gleichm¨aßig beschr¨ankt sind: h

i

max |f (x)| + kDf (x)k + kD 2 f (x)k ≤ C x

wobei C eine Konstante ist. Sch¨atzen Sie die Differenz |K(δ) − κrel | von oben ab. 3.8.2

Was ging schief mit der Matrix in Kapitel 2.2?

Jetzt k¨onnen wir erkl¨aren, warum die Inversion der Matrix in Kapitel 2.2 so schlecht konditioniert war. Die Matrix in (2.4) ist symmetrisch, deshalb kAk = r(A) = max{|λ| : λ Eigenwert von A} ≈ 30.29 (f¨ ur die Eigenwerte, siehe (2.7)). Die Eigenwerte der Inversen von A sind die Kehrwerte der Eigenwerte von A, deshalb gilt kA−1 k = r(A−1 ) = max{|λ| : λ Eigenwert von A−1 } = max{|λ|−1 : λ Eigenwert von A} =

1 1 ≈ = 98.52 min{|λ| : λ Eigenwert von A} .01015

Die Kondition von A ist κ(A) = kAk · kA−1 k = 30.29 · 98.52 = 2984

43

Numerik I. Version: 19.02.08

Sei A eine nichtsingul¨are symmetrische Matrix, und seien vmax , vmin die normalisierten Eigenvektoren zu den maximalen, bzw. minimalen (im Absolutbetrag) Eigenwerten λmax , λmin. Das schlimmste Szenario bei der L¨osung der Ax = b ist, wenn b der Eigenvektor vmax ist, und e := b + εv . Die die Eingabe b in die Richtung des Eigenvektors vmin gest¨ort wird: b → b min

L¨osung der urspr¨ unglichen Aufgabe, Ax = vmax , ist offensichtlich x = λ−1 osung max vmax . Die L¨ e = vmax + εvmin , folgt der gest¨orten Aufgabe, Ax

−1 e = A−1 (vmax + εvmin ) = λ−1 x max vmax + ελmin vmin

Der relative Fehler der L¨osung ist

e − xk kx λmax =ε , kxk λmin

w¨ahrend der relative Fehler der Eingabe nur e − bk kb =ε kbk

ist. Dieses Beispiel zeigt, dass im schlimmsten Falle der Verst¨arkungsfaktor der relativen Fehler, κ(A) = λmax /λmin, erreicht werden kann. Aufgabe 3.44 Pr¨ufen Sie nach, dass dieses Szenario im Kapitel 2.2 aufgetreten ist. 3.8.3

Fehlerabsch¨ atzung fu orter Matrix ¨r lineare Gleichungssysteme mit gest¨

Unseres Ziel ist, die L¨osungen von Ax = b,

(A + ∆A)(x + ∆x) = b + ∆b

zu vergleichen, wobei A eine regul¨are Matrix ist. Beachen Sie, dass die gest¨orte Matrix A+∆A singul¨ar sein kann und es keine Garantie daf¨ ur gibt, dass die zweite Gleichung u ¨berhaupt eine L¨osung hat. Gl¨ ucklicherweise ist die Inversion der regul¨aren Matrizen eine stetige Operation, und die Menge der regul¨aren Matrizen ist offen. D.h. wenn A regul¨ar und k∆Ak gen¨ ugend klein ist, ist A + ∆A regul¨ar.

Im Folgenden setzen wir voraus, dass die Matrixnorm k · k von einer Vektornorm induziert

wurde.

Lemma 3.45 Sei B eine Matrix mit kBk < 1. Dann ist I + B regul¨ar und es gilt k(I + B)−1 k ≤

1 1 − kBk

(3.36)

44

Numerik I. Version: 19.02.08 Beweis. F¨ ur alle Vektoren x gilt k(I + B)xk ≥ kxk − kBxk ≥ kxk − kBkkxk = (1 − kBk)kxk

und die Regularit¨at folgt. Die Substitution y := (I + B)x, d.h. x = (I + B)−1 y liefert dann k(I + B)−1 yk ≤

1 kyk , 1 − kBk

daraus erh¨alt man (3.36). 2. Lemma 3.46 Sei A eine regul¨are Matrix. F¨ur jede Matrix ∆A mit k∆Ak < 1/kA−1 k ist A + ∆A regul¨ar, und ihre Inverse ist durch

k(A + ∆A)−1 k ≤

1 kA−1 k−1 − k∆Ak

(3.37)

beschr¨ankt. Die Operation der Inversion ist stetig mit einer effektiven Kontrolle: k(A + ∆A)−1 − A−1 k ≤ Ck∆Ak,

f¨ur k∆Ak ≤

1 2kA−1 k

(3.38)

wobei die Konstante C := 2kA−1 k2 gew¨ahlt werden kann. Beweis. Schreiben wir A + ∆A = A(I + A−1 ∆A). Wegen kA−1 ∆Ak ≤ kA−1 kk∆Ak < 1 ist

nach dem vorherigen Lemma die Matrix A + ∆A regul¨ar (Produkt zweier regul¨arer Matrizen) und



k(A + ∆A)−1 k = (I + A−1 ∆A)−1 A−1 ≤

kA−1 k kA−1 k ≤ 1 − kA−1 ∆Ak 1 − kA−1 kk∆Ak

liefert (3.37). Die Absch¨atzung (3.38) folgt aus der Darstellung (A + ∆A)−1 − A−1 = −(A + ∆A)−1 (∆A)A−1

[Pr¨ ufen Sie es nach!]

und aus (3.37). 2 Satz 3.47 Es sei A eine regul¨are Matrix, ∆A eine andere Matrix mit k∆Ak < kA−1 k−1 und b, x und ∆b, ∆x seien Vektoren mit Ax = b,

(A + ∆A)(x + ∆x) = b + ∆b

(3.39)

Dann gilt die folgende Absch¨atzung f¨ ur den relativen Fehler  k∆Ak κ(A) k∆bk  k∆xk . ≤ + kxk 1 − kA−1 kk∆Ak kAk kbk

(3.40)

45

Numerik I. Version: 19.02.08 Beweis. Aus den Gleichungen (3.39) folgt unmittelbar (A + ∆A)∆x = ∆b − (∆A)x und aus der Absch¨atzung (3.37) k∆xk ≤

  1 k∆bk + k∆Ak kxk kA−1 k−1 − k∆Ak

Division durch kxk und kbk ≤ kAkkxk liefert (3.40). 2

46

Numerik I. Version: 29.05.08

4

Interpolation

4.1

Einfu ¨ hrung

Nehmen wir an, dass eine Funktion f : R → R eine physikalische Gr¨oße beschreibt und wir

ihre Werte an n + 1 verschiedenen Punkten x0 , x1 , . . . , xn messen k¨onnen. Die Ergebnisse sind die Werte f0 , f1 , . . . , fn und wir erhalten (n + 1) Stu ¨tzpunkte, (x0 , f0 ), (x1 , f1 ), . . . , (xn , fn )

(4.1)

in R2 . Man nennt die ersten Koordinaten, x0 , . . . , xn , Stu ¨tzstellen und die zweiten Koordinaten, f0 , . . . , fn , Stu utzpunkte liegen auf dem Graph der Funktion f ¨tzwerte. Die St¨ Γ = {(x, f (x)) : x ∈ R} ⊂ R2 Andere Punkte des Graphen sind nicht bekannt (sind nicht messbar, oder sind zu teuer, um sie zu messen). Wir m¨ochten diese teilweise Kenntnis u ur weitere Berechnungen benutzen, ¨ ber f f¨ die normalerweise die Kenntnis der ganzen Funktion verlangen. Die wichtigsten Beispiele: • Auswertung von f in einem beliebigen Punkt x; • Auswertung der (vielleicht auch h¨oheren) Ableitung von f in einem beliebigen Punkt x; • Auswertung des bestimmten Integrals,

Rb a

f (x)dx, auf einem gegebenen Intervall [a, b].

• Die Suche nach dem Minimal/Maximalwert von f auf einem gegebenen Intervall [a, b]. • Die Suche nach den Nullstellen von f . Vom rein theoretischen Standpunkt aus sind alle diese Aufgaben unl¨osbar: Die Werte von f auf endlich vielen Punkten bestimmen die vorhergenannten Gr¨oßen nicht. Der Wert von f an einem Punkt x kann beliebig sein, auch wenn die Werte an den St¨ utzpunkten festgelegt werden. Gl¨ ucklicherweise liefert die Natur meistens “sch¨one” Funktionen f , die stetig, oder sogar besser, differenzierbar sind. Erinneren Sie sich, dass die Differenzierbarkeit eine Verst¨arkung der Stetigkeit ist. Beide implizieren etwa regul¨ares Verhalten der Funktion auf nahe gelegenen Punkten. Dies ist einer der wichtigsten Begriffe der Mathematik, weil diese Eigenschaft bestimmte Vorhersagen erlaubt. Die Grundidee ist, eine Funktion fe zu finden, deren Graph durch die gegebenen St¨ utzpunk-

te geht, und so dass fe einfach genug ist, um verschiedene Berechnungen damit durchzuf¨ uhren.

47

Numerik I. Version: 29.05.08

Die Hoffnung ist, dass, wegen der “Sch¨onheit” von fe und f , diese beiden Funktionen f¨ ur die meisten praktischen Zwecke nicht zu entfernt voneinander sind.

Sie haben schon die zwei wichtigsten Beispiele dieser Grundidee gesehen. Der Ursprung der Ableitung ist der Ersatz der Funktion f durch eine gerade Linie: f (x) ≈ f (x0 ) + f ′ (x0 )(x − x0 ) wobei x0 festgehalten ist und die rechte Seite als eine lineare Funktion von x betrachtet werden sollte. Die Ableitung f ′ (x0 ) wurde als der Limes von endlichen Differenzenquotienten definiert: f ′ (x0 ) ∼

f (x1 ) − f (x0 ) x1 − x0

wobei x1 in der N¨ahe von x0 liegt. Damit gilt f (x) ≈ f (x0 ) +

f (x1 ) − f (x0 ) (x − x0 ) x1 − x0

(4.2)

wobei die Formel auf der rechten Seite die Gleichung der geraden Linie zwischen den St¨ utzpunkten (x0 , f (x0 )) und (x1 , f (x1 )) ist. Bekanntermaßen ist diese Approximation erlaubt, wenn f differenzierbar ist und die Punkte x, x0 und x1 nebeneinander sind.

f1

p(x)

f(x)

f0 x0

x1

Ersetzen der unbekannten Funktion durch eine lineare Funktion Eine ¨ahnliche Ersetzung bildet auch den Hintergrund der Integration. Wenn das bestimmte Integral

Rb a

f (x)dx durch den Limes der Fl¨achen von approximierenden Rechtecken bestimmt

wurde, benutzt man die einfachste Approximation von f : man ersetzt den wahren Wert von f auf einem kleinen Intervall [xj , xj+1 ] durch seinen Wert an einem der Endpunkte. Wenn f stetig ist, und die St¨ utzstellen x0 , x1 , . . . , xn hinreichend dicht auf dem Intervall [a, b] liegen, liefert dieses Verfahren eine gute Approximation zu den Wert des Integrals.

48

Numerik I. Version: 29.05.08

Nehmen wir an, dass f (x0 ), f (x1 ), . . . f (xn ) bekannt sind und sei a = x0 , b = xn die Limespunkte der Integration. Dann gilt Z

b

a

f (x)dx = ≈

Z

x1 x0

Z

x1

x0

f (x)dx +

f (x0 )dx +

Z

x2

x1

Z

x2 x1

f (x)dx + . . .

f (x1 )dx + . . .

≈ f (x0 )(x1 − x0 ) + f (x1 )(x2 − x1 ) + . . .

f(x)

x0

x1

x2

x3

Ersetzen die unbekannte Funktion st¨ uckweise durch eine horizontale Linie (Polynomen vom Grad 0) Der wichtigste Punkt bei der Interpolation ist die Auswahl der Menge F der interpolie-

renden Funktionen. Diese Menge soll hinreichend groß sein, so dass man f¨ ur jede gegebene Familie von St¨ utzpunkten mindestens eine Funktion f ∈ F finden kann, die auf diesen St¨ utz-

punkten liegt. Andererseits soll diese Menge aus einfacheren Funktionen bestehen, damit man numerisch (und hoffentlich auch analytisch) schnell rechnen kann. Die drei wichtigsten Beispiele sind: • Polynominterpolation, • Trigonometrische Interpolation, • Rationale Interpolation. In jedem Fall kann man die Interpolation st¨ uckweise durchf¨ uhren: das Basisintervall wird in kleinere Teilintervalle aufgeteilt, und man benutzt, zum Beispiel, eine Polynominterpolation auf jedem Teilintervall. Auf diese Weise bekommt man, z.B., eine Interpolation durch eine st¨ uckweise Polynomfunktion (sog. Splines). Die Auswahl der besten Interpolation h¨angt von den vermuteten Eigenschaften der urspr¨ unglichen Funktion f ab. Polynome sind die am einfachsten zu berechnenden Funktionen.

49

Numerik I. Version: 29.05.08

Aber wenn f eine bestimmte qualitative Eigenschaft hat, ist es erw¨ unscht, dass die interpolierende Funktion dieselbe Eigenschaft wiedergibt. Z.B. periodische Funktionen sollten fast immer durch trigonometische Funktionen (x → sin kx, cos kx, oder eikx ) interpoliert wer-

den; Polynome und rationale Funktionen haben ein bestimmtes, nicht periodisches Verhalten im Unendlichen. Funktionen, die eine bestimmte Singularit¨at haben, sollten durch rationale Funktionen interpoliert werden, die dieselbe Singularit¨atsstruktur haben. Polynome und trigonometrische Funktionen sind daf¨ ur nicht geeignet, weil sie keine Singularit¨aten besitzen. In diesem Semester betrachten wir nur Polynominterpolationen, die anderen (aber sehr wichtigen!!) Interpolationen werden in Numerik II. diskutiert.

4.2

Existenz und Eindeutigkeit bei der Polynominterpolation

Sei Pn := {p : p : R 7→ R ist ein Polynom vom Grad ≤ n}

n∈N

die Menge der (reellen) Polynome, die h¨ochstens Grad n haben. Offensichtlich ist Pn ein

Vektorraum; die u ¨blichen linearen Operationen (Addition und Multiplikation mit einer reellen

Zahl) sind auf dieser Menge wohldefiniert. Dieser Vektorraum hat die Dimension n + 1 und ein beliebiges Element von P ist durch n + 1 Koeffizienten gegeben: p(x) = a0 + a1 x + . . . + an xn Satz 4.1 (i) Zu beliebigen n + 1 St¨utzpunkten, (x0 , f0 ), (x1 , f1 ), . . . , (xn , fn ), an paarweise verschiedenen St¨utzstellen x0 , x1 , . . . , xn existiert genau ein interpolierendes Polynom p ∈ Pn so dass

p(xj ) = fj ,

j = 0, 1, . . . , n.

(4.3)

(ii) Dieses Polynom wird mit pn (x) bezeichnet und es ist durch die sog. Lagrangesche Interpolationsformel explizit gegeben: pn (x) =

n X

fj Lj (x) ,

(4.4)

j=0

wobei Lj (x) :=

n Y i=0 i6=j

x − xi , xj − xi

j = 0, 1, . . . , n

(4.5)

die sog. Lagrangeschen Basispolynome sind. [Das Produkt l¨auft ¨uber alle Indizes i = 0, 1, . . . n, ausgenommen i = j.]

50

Numerik I. Version: 29.05.08 Beispiel. F¨ ur n = 0 ist das Produkt (4.5) leer, also L0 (x) ≡ 1 und p0 (x) = f0

konstantes Polynom

F¨ ur n = 1 erhalten wir L0 (x) = und p1 (x) = f0

x − x1 , x0 − x1

L1 (x) =

x − x0 x1 − x0

x − x1 x − x0 f1 − f0 + f1 = f0 + (x − x0 ) x0 − x1 x1 − x0 x1 − x0

Dies ist die gerade Linie zwischen den zwei Punkten (x0 , f0 ) und (x1 , f0 ). F¨ ur n = 2, L0 (x) =

(x − x1 )(x − x2 ) , (x0 − x1 )(x0 − x2 )

L1 (x) =

(x − x0 )(x − x2 ) , (x1 − x0 )(x1 − x2 )

L2 (x) =

(x − x0 )(x − x1 ) (x2 − x0 )(x2 − x1 )

und p2 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) = f0 +

f1 − f0 1  f2 − f1 f1 − f0  (x − x0 ) + − (x − x0 )(x − x1 ) . x1 − x0 x2 − x0 x2 − x1 x1 − x0

[Pr¨ ufen Sie diese letzte Berechnung nach!]

Beweis von (i). Die Forderung (4.3) entspricht dem folgenden System von linearen Gleichungen a0 + a1 x0 + a2 x20 + . . . + an xn0 = f0 a0 + a1 x1 + a2 x21 + . . . + an xn1 = f1 .. . a0 + a1 xn + a2 x2n + . . . + an xnn = fn , wobei die Koeffizienten a0 , a1 , . . . des gesuchten Polynoms p(x) die unbekannten Variablen sind. Da die Anzahl der Gleichungen gleich der Anzahl der Variablen ist, hat das System immer genau eine L¨osung, wenn die Determinante

1 x0 1 x1 D := 1 x2 .. .. . . 1 xn

x20 x30 x21 x31 x22 x32 .. .. . . 2 xn x3n



. . . xn0 . . . xn1 . . . xn2 . .. . .. . . . xnn

51

Numerik I. Version: 29.05.08

nicht verschwindet. Dies ist die sog. Vandermonde-Determinante und ihr Wert sollte aus der linearen Algebra bekannt sein: D=

Y

(xj − xi )

0≤i 1, d.h. die Iteration wird absichtlich u ¨berschossen [overshooted].

x(1)

x(2) x(3).... x

x(1)

Monotone Konvergenz

x(3) x

x(2)

Alternierende Konvergenz

Im Fall des Gauß-Seidel-Verfahrens l¨auft die Implementierung wie folgt: Man w¨ahlt eine Zahl 0 ≤ ω ≤ 2 und definiert 

und

b (n) := D −1 b − Lx(n) − Rx(n−1) x b (n) + (1 − ω)x(n−1) , x(n) := ω x



258

Numerik I. Version: 24.06.08 oder in Koordinaten (n)

xbi

und

=

i−1 n  X X 1 (n) (n−1) bi − aij xj − aij xj aii j=1 j=i+1

(n)

xi

(n)

bi := ω x

(n−1)

+ (1 − ω)xi

.

In der Form einer Iterationsmatrix ist diese Iteration durch die Formel x(n) := Hω x(n−1) + ω(D + ωL)−1 b gegeben, wobei die Iterationsmatrix h

i

Hω := (D + ωL)−1 (1 − ω)D − ωR = I − ω(D + ωL)−1 A ist. (Aufgabe: Nachpru ¨fen!) F¨ ur ω = 1 stimmt dieses Verfahren nat¨ urlich mit dem urspr¨ unglichen Einzelschrittverfah¨ ren (Gauß-Seidel) u ur ω < 1 spricht man von Unter-, im Fall ω > 1 von Uberrela¨berein. F¨ xation. Die Wahl ω 6∈ (0, 2) f¨ uhrt zu einem divergenten Verfahren: Satz 9.10 Das Spektralradius r(Hω ) der Iterationsmatrix erf¨ullt: r(Hω ) ≥ |ω − 1| Beweis. Seien λ1 , . . . λk die Eigenwerte von Hω : k Y

j=1

h

i

λj = det(Hω ) = det(D + ωL)−1 det (1 − ω)D − ωR = (1 − ω)k |

=

Q{z

1/ajj

}|

=

Q {z

(1−ω)ajj

}

also muss der Betrag von mindestens einem Eigenwert wenigstens |1 − ω| sein. 2

Es gibt keine allgemeine Regel f¨ ur die beste Wahl von ω. Im Falle der tridiagonalen Ma-

trizen gilt das Folgende: (f¨ ur den Beweis, siehe [Plato: Thm. 10.43]) Satz 9.11 Es sei A tridiagonal und alle Eigenwerte von D −1 (L + R) liegen innerhalb (−1, 1) (insbesondere sie sind reell). Dann wird das Minimum r(Hω∗ ) := min{r(Hω ) : 0 < ω < 2} im Punkt ω∗ = erreicht und

2 √ , 1 + 1 − r2

r := r(D −1(L + R))

√ 1 − 1 − r2 √ r(Hω∗ ) = ω − 1 = 1 + 1 − r2 Mit anderen Worten, ω ∗ ist die beste Wahl f¨ur den Relaxationsparameter. Die Voraussetzungen ∗

werden f¨ur jede symmetrische, positiv definite, tridiagonale Matrix erf¨ullt.

259

Numerik I. Version: 24.06.08

Aufgabe 9.12 Bestimmen Sie den besten Relaxationsparameter f¨ur die Matrix B (4.50) in der Theorie der Splineinterpolation. Eine der wichtigsten Eigenschaften des Gauß-Seidel-Verfahrens ist, dass es f¨ ur alle definiten (positiv oder negativ) Matrizen konvergent ist. Die Nachpr¨ ufung dieser Eigenschaft ist viel schwieriger als diejenige der strikten Diagonaldominanz. Doch in manchen F¨allen folgt die positive Definitheit aus der Struktur des Problems. Z.B. die Matrix des Laplaceoperators (2.3) ist negativ definit. Die Korrelationsmatrizen in der Statistik sind positiv definit (manchmal nur semidefinit). Alle Matrizen der Form A = BB t sind positiv semidefinit (z.B. die Matrix der Normalgleichung beim linearen Ausgleichsproblem). Obwohl positive Semidefinitheit theoretisch f¨ ur die Konvergenz nicht hinreichend ist, kann man das Problem oft regularisieren: Statt A einfach A + εC betrachten, wobei C positiv definit ist (z.B. die Identit¨atsmatrix), und sp¨ater ε entfernen. Satz 9.13 F¨ur eine symmetrische, positiv definite Matrix A ist das Gauß-Seidel-Verfahren mit beliebigem Relaxationsparamter ω ∈ (0, 2) konvergent. Beweis. Wir m¨ ussen beweisen, dass r(Hω ) < 1 f¨ ur alle ω ∈ (0, 2) gilt. Mit elementarer

Matrixalgebra berechnet man die Identit¨at (Nachpru ¨fen!)

h i−1 1 Hω = I − ω(D + ωL)−1 A = I − 2 2A−1 ( D + L) = I − 2(Q + I)−1 = (Q − I)(Q + I)−1 ω

mit der Wahl

1 Q := 2A−1 ( D + L) − I ω Wir zeigen, dass alle Eigenwerte von Q einen positiven Realteil besitzen. Mit anderen Worten, das Spektrum von Q (σ(Q) ≡ Menge der Eigenwerte) liegt in der positiven komplexen Halbebene:

n

o

σ(Q) ⊂ λ ∈ C : Reλ > 0 . Sei λ ein Eigenwert von Q, d.h. 1 λx = Qx = 2A−1 ( D + L)x − x ω f¨ ur einen Vektor x 6= 0. Daraus folgt

1 λAx = 2( D + L)x − Ax. ω

(9.11)

260

Numerik I. Version: 24.06.08

Wir bilden das Skalarprodukt dieser Gleichung mit x und betrachten nur den Realteil beider Seiten. Wir benutzen x∗ Ax = (x, Ax) ∈ R (da A symmetrisch ist) und die Identit¨at 2 Re x∗ Bx = 2 Re (x, Bx) = (x, Bx) + (x, Bx) = (x, Bx) + (Bx, x) = (x, (B + B ∗ )x) in der folgenden Berechnung: 1 ( Reλ) x∗ Ax = 2 Re x∗ ( D + L)x − x∗ Ax ω = x∗

2

ω



D + L + |{z} L∗ x − x∗ (D + L + R)x = =R

2

ω



− 1 x∗ Dx > 0 .

(Hier L∗ = R folgt aus der Symmetrie von A = L + D + R.) Wegen x∗ Ax > 0, x∗ Dx > 0 und ω ∈ (0, 2) folgt daraus, dass Reλ > 0, damit ist (9.11) bewiesen. Wegen Hω = (Q−I)(Q+I)−1

gilt

σ(Hω ) ⊂

nλ − 1

λ+1 Einfache Arithmetik zeigt (Nachpru ¨fen!) λ − 1

λ+1

< 1,

und dann folgt r(Hω ) < 1 aus (9.11). 2

o

: λ ∈ σ(Q) .

f¨ ur jedes λ mit Reλ > 0

260

Numerik I. Version: 24.06.08

Wir bilden das Skalarprodukt dieser Gleichung mit x und betrachten nur den Realteil beider Seiten. Wir benutzen x∗ Ax = (x, Ax) ∈ R (da A symmetrisch ist) und die Identit¨at 2 Re x∗ Bx = 2 Re (x, Bx) = (x, Bx) + (x, Bx) = (x, Bx) + (Bx, x) = (x, (B + B ∗ )x) in der folgenden Berechnung: 1 ( Reλ) x∗ Ax = 2 Re x∗ ( D + L)x − x∗ Ax ω = x∗

2

ω



D + L + |{z} L∗ x − x∗ (D + L + R)x = =R

2

ω



− 1 x∗ Dx > 0 .

(Hier L∗ = R folgt aus der Symmetrie von A = L + D + R.) Wegen x∗ Ax > 0, x∗ Dx > 0 und ω ∈ (0, 2) folgt daraus, dass Reλ > 0, damit ist (9.11) bewiesen. Wegen Hω = (Q−I)(Q+I)−1

gilt

σ(Hω ) ⊂

nλ − 1

λ+1 Einfache Arithmetik zeigt (Nachpru ¨fen!) λ − 1

λ+1

< 1,

und dann folgt r(Hω ) < 1 aus (9.11). 2

o

: λ ∈ σ(Q) .

f¨ ur jedes λ mit Reλ > 0

261

Numerik I. Version: 24.06.08

10

Numerische lineare Algebra: Eigenwertprobleme

Wir sind schon auf verschiedene Eigenwertprobleme getroffen. Hier ist eine kurze Liste: • Bestimmung der Nullstellen der Orthopolynome (Kapitel 5.11). • Bestimmung der Konditionszahl mittels des Spektralradius (Kapitel 3.8). • Gleichgewichtsprobleme in der Statik. Betrachten wir noch einmal den Stab aus Kapitel 2.1. Nehmen wir an, dass eine horizontale Druckkraft d auf die beiden Enden des Stabs

wirkt, die den Stab zu zermalmen versucht. Der Effekt der horizontalen Druckkraft auf einen gekrummten Stab ist eine vertikale Kraft, die die Kr¨ ummung vergr¨oßern will. Diese Kraft ist proportional zur Druckkraft d und zum Abstand des Stabes von der geraden Linie; im Massenpunkt i wird es cdfi sein (c ist eine Konstante). Die Elastizit¨atskraft aus der Kr¨ ummung im Massenpunkt i, (Af)i , wird dieser vertikalen Kraft entgegenwirken: Af = −cdf In diesem Fall vernachl¨assigen wir die Schwerkraft. Die L¨osung f = 0 ist eine instabile L¨osung des physikalischen Problems. Die stabile L¨osung ist durch ein Eigenvektorproblem gegeben. • L¨osung eines linearen Differentialgleichungssystems: Die quadratische Matrix A und der

Anfangsvektor sind vorgegeben. Gesucht ist der (zeitabh¨angige) Vektor x = x(t), der die Differentialgleichung

d x(t) = Ax(t) dt l¨ost. In Analogie zum eindimensionalen Fall, d x(t) = ax(t) dt

(10.1)

x(t) = eat x(0),

=⇒

kann man naiv die L¨osung in der Form x(t) = eAt x(0)

(10.2)

ansetzen. Falls die formalen Ableitungsregeln gelten w¨ urden, w¨are es einfach zu u ¨berpr¨ ufen, dass die Vektorfunktion (10.2) die Gleichung (10.1) l¨ost. Aber was bedeutet Exponentialfunktion einer Matrix in (10.2)? Wie kann man einfach 

a b e c d



262

Numerik I. Version: 24.06.08 definieren? Der elementweise Versuch ist falsch: 

a b e c d



6=



ea ec

eb ed



(!!!)

(in ¨ahnlicher Weise, wie die elementweise Multiplikation von Matrizen sinnlos ist, weil sie die erwartete Kompositionseigenschaft nicht besitzt), z.B. wird die erwartete Eigenschaft eA eA = e2A nicht erf¨ ullt sein. Es gibt zwei korrekte (¨aquivalente) Definitionen. Entweder definiert man eA durch die Taylor-Entwicklung eA := I + A +

1 2 1 3 A + A + ... 2! 3!

(10.3)

oder man diagonalisiert A in der Form

A = V DV −1 ,





λ1

  

λ2

D=

..

. λn

   

und dann definiert man

eA := V eD V −1 ,





eλ1



 eD := 

eλ2



..

. eλn

   

(10.4)

(d.h. die Exponentialfunktion diagonaler Matrizen kann elementweise gebildet werden). Dieses letzte Beispiel ist besonders wichtig. In ¨ahnlicher Weise kann man andere Funktionen f (A) einer Matrix A definieren, falls die Funktion f auf dem Spektrum (= Menge der Eigenwerte) definiert ist:

f (A) := V f (D)V

−1

,

f (D) :=

     

f (λ2 )

Der Nachteil ist, dass nicht alle Matrizen diagonalisierbar sind. Aufgabe 10.1 A



f (λ1 ) ..

. f (λn )

    

i) Beweisen Sie, dass die Reihe in (10.3) in Norm konvergent ist, somit

ist e durch (10.3) wohldefiniert.

263

Numerik I. Version: 24.06.08 ii) Beweisen Sie, dass mit dieser Definition etA esA = e(t+s)A f¨ur alle t, s ∈ R gilt. iii) Beweisen Sie, dass eA eB = eA+B

(10.5)

gilt, wenn AB = BA (A und B kommutieren), aber nicht im Allgemeinen. iv) Finden Sie ein Gegenbeispiel, das zeigt, dass (10.5) nicht immer gilt. Aufgabe 10.2 Sei A diagonalisierbar. Beweisen Sie, dass die zwei Definitionen (10.3) und (10.4) f¨ur die Exponentialfunktion dieser Matrix ¨aquivalent sind. Der Nachteil der ersten Definition (10.3) ist, dass man eA durch einen Limes¨ ubergang bestimmen muss. Außerdem ist diese Definition f¨ ur unendlich dimensionale Matrizen (so genannte lineare Operatoren in unendlich dimensionalen R¨aumen) mit kAk = ∞ nicht verwend-

bar. Der Nachteil der zweiten Definition (10.4) ist, dass man die Matrix zuerst diagonalisieren muss, und nicht alle Matrizen diagonalisierbar sind. Der Ausweg ist die Tatsache, dass jede Matrix eine Jordansche Normalform besitzt: A = V JV −1 ,

J=

    

J2

..





J1 . Jk

  , 

Ji =

      

λ

1 λ

1 .. .



      1

..

. λ

λ ist ein Eigenwert von A

λ

(wobei die verschiedenen Jordan-Bl¨ocke, Ji , nicht unbedingt verschiedene Eigenwerte enthalten m¨ ussen), und wir definieren eA := V eJ V −1 mit J

e :=

    



eJ1 eJ2

..

. eJk

  , 

Ji

λ

e =e



1

    

1 1!

1

1 2! 1 1!

..

.

1 3! 1 2!

.. . .. .

Aufgabe 10.3 Beweisen Sie, dass mit dieser Definition eαA eβA = e(α+β)A f¨ur jede quadratische Matrix A und Konstanten α, β gilt. Der folgende Satz wurde (hoffentlich) in lineare Algebra bewiesen.

1 4! 1 3!

.. . .. .

...



  . ..  .  1 4!

..

.

264

Numerik I. Version: 24.06.08 Satz 10.4 Sei A eine n × n Matrix. Das lineare Differentialgleichungssystem d x(t) = Ax(t) dt mit vorgegebene Startwert x(0) ist eindeutig l¨osbar und die Formel x(t) = eAt x(0) liefert die L¨osung mit der obrigen Definition der Matrixexponential.

10.1

Theoretische Grundlagen

10.1.1

Basiswechsel (Wiederholung)

Die Matrixmultiplikation kann als eine lineare Abbildung von Rn nach Rn betrachtet werden: x → Ax Aber die Matrix A kann nur auf eine n-Tupel von Zahlen wirken nicht direkt auf einen abstrakten Vektor x:





x1 x  A 2 .. .

Sie sollten an x als ein bestimmtes Element des Vektorraums Rn ohne Koordinatisierung denken. Dies ist eine schwierige Abstraktion, weil die Elemente von Rn ganz nat¨ urlich durch die Koordinatendarstellung x = x1 e1 + x2 e2 + . . .

(10.6)

gegeben sind. Aber beachten Sie, dass die Definitionen der grunds¨atzlichen Operationen in einem Vektorraum (Addition, Skalarmultikation usw.) keine Koordinatendarstellung benutzen. Wenn Sie auch an Rn als einen abstrakten Vektorraum denken, dann sehen Sie, dass die Koordinatendarstellung willk¨ urlich ist: sie h¨angt von der Wahl der Basis ab. Noch schlimmer (oder besser...): wenn man lineare Algebra f¨ ur einen Vektorraum unterschiedlich von Rn , Cn , verwendet, muss man zuerst die Elemente dieses Vektorraums in die Sprache der n-Folgen von Zahlen u urliche” Basis und ¨ bersetzen. Manchmal gibt es keine “nat¨ man muss mit der Festlegung einer Basis beginnen. Sobald eine Basis gegeben ist, kann man jedes Element des abstrakten Vektorraums als eine n-Folge von Zahlen (Elemente des Rn oder Cn ) darstellen, und wir sind in das Reich der (¨ ublichen) Vektoren und Matrizen zur¨ uckgekommen.

265

Numerik I. Version: 24.06.08

Wenn man die Basis wechselt, z.B. von der Standardbasis auf eine andere Basis v1 , v2 , . . ., dann werden sich die Koordinaten desselben Vektors x ¨andern: x = y1 v1 + y2 v2 + . . . Der Vektor x bleibt derselbe, aber seine Darstellung, d.h. die n-Folgen der darstellenden Zahlen (x1 , . . . , xn ), (y1 , . . . , yn ), sind ganz anders. Wie wirkt die Matrix auf den Vektor x, wenn dieser Vektor durch die Zahlen (y1 , y2 , . . .) dargestellt ist? Die “urspr¨ unglichen” Koordinaten (x1 , x2 , . . .) sind nicht erlaubt gesehen zu werden. Man kann









y1′ y1 ′     A  y2  =  y2  .. .. . .

berechnen, aber diese neuen Koordinaten werden nicht den urspr¨ unglichen Bildvektor Ax wiedergeben (weder in der Basis e, noch in der Basis v). Man muss die Matrix A ver¨andern, so dass die Matrixmultiplikation angewandt auf die neuen Koordinaten des Vektors x, die neuen Koordinaten des Bildvektors Ax ergibt. Wir fassen diese Bemerkungen zusammen. Satz 10.5 Sei A : Rn → Rn , x → A(x) eine lineare Abbildung, die in der Standardbasis durch die Multiplikation mit einer Matrix A





x1  x2    .  x → A(x) := A   ..  xn

gegeben ist. Dieselbe Abbildung wird in der Basis v1 , v2 , . . . , vn durch die Matrix V −1 AV gegeben werden, wobei V := [v1 |v2 | . . . |vn ] die Matrix mit Spalten v1 , v2 , . . . , vn ist. Hier sind diese Basisvektoren in der Standardbasis dargestellt. Dies bedeutet, dass die Koordinaten des Bildes A(x) in der neuen Basis durch die Formel





y1    y2  −1  V AV  ..    . 

yn gegeben sind. Hier sind y1 , y2 , . . . , yn die Koordinaten des Vektors x in der Basis v1 , v2 , . . . , vn : x = y1 v1 + y2 v2 + . . . + yn vn .

266

Numerik I. Version: 24.06.08

Diese Idee ist absolut fundamental. Wenn Sie etwa Zweifel haben, ob Sie sie perfekt verstanden haben und verwenden k¨onnen, wiederholen Sie bitte diesen Stoff aus der linearen Algebra! 10.1.2

Diagonalisierung (Wiederholung)

Definition 10.6 Sei A quadratisch. Der (m¨oglicherweise komplexe) Vektor v 6= 0 und die

(m¨oglicherweise komplexe) Zahl λ heißen Eigenvektor und Eigenwert [eigenvektor, eigenvalue] von A, falls Av = λv Die Menge der Eigenwerten heißt das Spektrum der Matrix A und wird durch σ(A) ⊂ C bezeichnet.

Bemerkung 10.7

• λ ist ein Eigenvektor genau dann, wenn Ker(A−λI) nichttrivial ist,

d.h., Ker(A − λI) 6= {0}.

• Der Nullvektor ist kein Eigenvektor, aber λ = 0 kann ein Eigenwert sein (falls Ker(A) nichttrivial ist, d.h. Ker(A) 6= {0}).

• Der Eigenvektor und Eigenwert geh¨oren zusammen. Der Eigenwert zugeh¨orig zu einem Eigenvektor ist eindeutig. Der Eigenvektor v zugeh¨orig zu einem Eigenwert ist nicht

eindeutig aus zwei Gr¨unden. Der triviale Grund ist, dass cv mit einer beliebigen Konstante c 6= 0 auch ein Eigenvektor ist (deshalb w¨are es besser, von Eigenrichtungen zu sprechen). Der nichttriviale Grund ist, dass die Dimension von Ker(A−λI) auch gr¨oßer

als 1 sein kann. In diesem Fall spannen die Eigenvektoren zugeh¨orig zum Eigenwert λ einen mehrdimensionalen Unterraum auf. • Der Eigenvektor und Eigenwert k¨onnen komplex sein, auch wenn A nur reelle Elemente enth¨alt.

Definition 10.8 Die quadratische n × n Matrix A heißt diagonalisierbar [diagonalizable], falls eine diagonale Matrix D und eine regul¨are Matrix V existieren mit A = V DV −1 . WICHTIGE BEMERKUNG: Die Diagonalisierung ist eine Wende der Ansicht. Eine beliebige Matrix A definiert eine lineare Abbildung   x1  x2    wobei x = x1 e1 + x2 e2 + . . . + xn en x → A(x) := A  ..  ,  .  xn

267

Numerik I. Version: 24.06.08

in der Standardbasis dargestellt ist. Die Basis ist “sch¨on”, aber die Matrix kann kompliziert sein. Die Grundidee der Diagonalisierung ist, dass man dieselbe lineare Abbildung durch eine andere, viel “sch¨onere” Matrix, V −1 AV = D darstellen (z.B. diagonale Matrix) kann, falls man die Basis entsprechend wechselt. Die Basis ist “komplizierter”, aber die Matrix ist “sch¨oner”. Definition 10.9 Zwei quadratische Matrizen, A, B, heißen ¨ ahnlich [similar], falls es eine regul¨are Matrix T gibt, so dass B = T AT −1 . ¨ Lemma 10.10 Ahnliche Matrizen besitzen dasselbe Spektrum σ(A) = σ(T AT −1 ).

(10.7)

Was dieses Lemma behauptet ist, dass das Spektrum unabh¨angig von der Basisdarstellung einer linearen Abbildung ist. Das Spektrum enth¨ alt die Kerninformation u ¨ber eine lineare Abbildung. Eine Matrix ist diagonalisierbar genau dann, wenn sie zu einer Diagonalmatrix ¨ahnlich ist. Falls A diagonalisierbar ist, dann sind die Spalten von V = [v1 |v2 | . . . |vn ] alle Eigen-

vektoren von A. Umgekehrt: Die Existenz einer Basis aus Eigenvektoren ist ¨aquivalent zur Diagonalisierbarkeit. Wie kann man eine gegebene Matrix diagonalisieren? Definition 10.11 Sei A eine quadratische n × n Matrix. Das Polynom p(λ) := det(A − λI) in der Variable λ heißt das charakteristische Polynom [characteristic polynom] von A. Offensichtlich ist p(λ) ein Polynom vom Grad n mit f¨ uhrendem Koeffizienten p(λ) = (−λ)n + . . . Satz 10.12 Die Eigenwerte von A sind genau die Nullstellen des charakteristischen Polynoms. Jede n × n Matrix besitzt genau n (im Allgemeinen komplexe) Eigenwerte gez¨ahlt mit

Vielfachheiten [Fundamentalsatz der Algebra]. Die zugeh¨origen Eigenvektoren sind die nicht-

trivialen Elemente des Kerns Ker(A − λI). Die Matrix A ist diagonalisierbar genau dann, wenn

h

i

dim Ker(A − λI) = mult(λ)

(10.8)

f¨ur jeden Eigenwert λ gilt, wobei mult(λ) die algebraische Vielfachheit des Eigenwertes λ ist.

268

Numerik I. Version: 24.06.08 Insbesondere sind alle Matrizen mit einfachen Eigenwerten diagonalisierbar. Nicht alle Matrizen sind diagonalisierbar. Aufgabe 10.13 Beweisen Sie direkt, dass die Matrix A=



1 1 0 1



keine Zerlegung der Form A = V DV −1 besitzt. Falls A diagonalisierbar ist, ist die Diagonalmatrix D eindeutig bis auf eine Permutation der Diagonalelemente. Die Matrix V hat mehrere Freiheitsgrade. Zuerst kann die Matrix V durch eine Matrix V C, mit einer beliebigen regul¨aren Diagonalmatrix C, ersetzt werden (Skalierung der Eigenvektoren). Diese Freiheit kann sich auf eine Freiheit des Vorzeichens ±vk reduzieren,

wenn man normalisierte Eigenvektoren kvk k = 1 fordert. Falls vielfache Eigenwerte existieren, kann man eine beliebige Basis im Unterraum Ker(A − λI) w¨ahlen. Z.B. f¨ ur einen zweifachen

Eigenwert λ bietet sich ein Rotationsfreiheitsgrad dar¨ uber hinaus der Skalierungsfreiheitsgrad. Eine wichtige Klasse der Matrizen sind die symmetrischen (im komplexen Fall: hermite-

schen) Matrizen. Diese Matrizen sind immer diagonalisierbar, d.h. (10.8) gilt auch f¨ ur mehrfache Eigenwerte. Dieser Satz wurde schon im Kapitel 6.5 (Teil b) des Satzes 6.17) f¨ ur den Fall der positiv definiten Matrizen diskutiert: Satz 10.14 [Spektralsatz] Sei A eine symmetrische quadratische Matrix. Dann sind alle Eigenwerte λ1 , . . . λn von A reell und es existiert eine Basis aus orthonormalen Eigenvektoren, v1 , v2 , . . . , vn . Die Eigenvektoren, die zu unterschiedlichen Eigenwerten geh¨oren, sind immer orthogonal. Die Matrix



|  Q :=  v1 |

| v2 |



... |  . . . vn  ... |

ist orthogonal (QQt = Qt Q = I) und sie diagonalisiert die Matrix A:

A = QDQt ,





λ1



 mit D :=  

λ2

..

. λn

Diese Relation kann man auch in der folgenden Form aufschreiben: A=

n X

λj vj vjt

  . 

(10.9)

j=1

Im Fall des komplexen K¨orpers m¨ussen alle Transponierten durch die Adjungierten ersetzt werden.

269

Numerik I. Version: 24.06.08 Aufgabe 10.15 Bestimmen Sie die Spektralzerlegung der Matrix 



2 2 A=  2 −1 1 −2

1 −2   2

L¨ osung: Das charakteristische Polynom ist p(λ) = det(A − λ) = −λ3 + 3λ2 + 9λ − 27 und es l¨aßt sich faktorisieren: −λ3 + 3λ2 + 9λ − 27 = −λ2 (λ − 3) + 9(λ − 3) = −(λ + 3)(λ − 3)2 Der Eigenwert λ1 = −3 ist einfach, und ein m¨oglicher Eigenvektor ist 



−1   v1 =  2  . 1 Der andere Eigenwert ist doppelt: λ2 = λ3 = 3, wir m¨ ussen eine orthonormale Basis in Ker(A − 3I) finden. Mit anderen Worten l¨osen wir die Gleichung (A − 3I)x = 0. Durch Gauß-Elimination erhalten wir









−1 2 1 −1 2 1     A − 3I =  2 −4 −2  =⇒  0 0 0  0 0 0 1 −2 −1 und Ker(A − 3I) = Die Vektoren

 

1   v2 =  0  , 1

(

   

2

1

    0,1

0

1

)

 

2

v3 =

  1

0

sind linear unabh¨angig, also ist die Matrix der Eigenvektoren

und A = V DV −1 mit









−1 1 2   V =  2 0 1 1 1 0 −3 0 0   D =  0 3 0. 0 0 3

.

270

Numerik I. Version: 24.06.08

Dies ist eine Diagonalisierung von A, aber die Eigenvektoren sind noch nicht orthonormal. Die Eigenvektoren, die zu unterschiedlichen Unterr¨aumen geh¨oren, sind orthogonal; in diesem Fall gilt automatisch v1 ⊥ v2 , v3 . Normalisieren wir





−1 1  v1  =√  2  q1 = kv1 k 6 1

und statt v1 betrachten wir q1 als einen Eigenvektor zu λ1 . Die Vektoren v2 , v3 sind noch nicht orthogonal, da wir die Basis in Ker(A − 3I) fast

willk¨ urlich ausgew¨ahlt haben. Wir m¨ ussen das Gram-Schmidt-Verfahren auf diese Vektoren anwenden. q2 := und

somit

 

1 v2 1   = √ 0 kv2 k 2 1 



1   w3 = v3 − (v3 · q2 )q2 =  1  −1 



1 w3 1   q3 := =√  1  kw3 k 3 −1 Die Vektoren q1 , q2 , q3 bilden eine orthonormale Eigenbasis und folglich ist: √ √ √   −1/√ 6 1/ 2 1/√3   Q :=  2/√6 0√ 1/ √3  1/ 6 1/ 2 −1/ 3

Man kann die Relation A = QDQt einfach u ufen. ¨ berpr¨ 10.1.3

Jordan-Zerlegung (Wiederholung)

Was kann man mit nichtdiagonalisierbaren Matrizen tun? Falls man auf die diagonale Form verzichtet, dann k¨onnen alle Matrizen in eine kanonische Form gebracht werden: Satz 10.16 Jede quadratische Matrix A besitzt eine Jordansche Zerlegung [Jordan decomposition] A = V JV −1 mit einer invertierbaren Matrix V und einer Jordan-Matrix J der Gestalt   λ 1   J1   λ 1       J2 . .   . .   . . λ ist ein Eigenwert von A , J = J = i .   ..     λ 1  Jk λ

271

Numerik I. Version: 24.06.08

(wobei die verschiedenen Jordan-Bl¨ocke, Ji , nicht unbedingt verschiedene Eigenwerte enthalten m¨ussen) Die Bestimmung der Jordanschen Faktorisierung ist schlecht konditioniert. Die Matrix 

1 1 0 1





1 1 0 1



A= hat Jordansche Form A=



1 0 0 1

1 0 0 1



Mit einer kleinen St¨orung von A, ′

A =





1 1 , 0 1+ε

¨andert sich die Faktorisierung ganz drastisch: A′ = 10.1.4



1 1/ε 0 1



1 0 0 1+ε



1 −1/ε 0 1



Schur-Zerlegung

Wegen der Instabilit¨at der Jordan-Zerlegung wird stattdessen die sogenannte Schur-Faktorisierung in numerischen Verfahren verwendet. Die Schur-Faktorisierung ist gut-konditioniert. Satz 10.17 (Komplexe Schur-Faktorisierung) Zu jeder (m¨oglicherweise komplexen) n ×

n Matrix A gibt es eine unit¨are Matrix U (d.h. UU ∗ = U ∗ U = I), so dass A = URU ∗ mit einer oberen Dreiecksmatrix    

R := 

λ1

∗ λ2

∗ ∗ .. .



... ...  , ..  . 

(10.10)

λn

wobei die Diagonalelemente die Eigenwerte von A sind. Dieser Satz wird in den meisten Vorlesungen u ¨ber lineare Algebra nicht erw¨ahnt. Hier ist eine konstruktiver Beweis: Beweis. Vollst¨andige Induktion nach n. Sei λ ein Eigenwert von A mit Eigenvektor v, kvk =

1. Erg¨anzen Sie v zu einer orthonormalen Basis von Cn , {v, v2, . . . , vn } und konstruieren Sie

die unit¨are Matrix

V := [v, v2 , . . . , vn ].

272

Numerik I. Version: 24.06.08 Berechne V ∗ AV = [λV ∗ v, V ∗ Av2 , . . . , V ∗ Avn ]. Wegen





 

v·v 1 0  v2 · v      V ∗ v =  ..  =  ..  , .  .  0 vn · v

sind alle Elemente in der ersten Spalte von V ∗ AV eliminiert:

V ∗ AV =



λ ∗ ∗ ∗ 0 ∗

0   .. .

∗ ∗ ∗ ∗







λ ∗

 ...   ...  0 =. ...   ..  ... 0





...

A1



    .   

A1 ist eine (n − 1) × (n − 1) Matrix. Aus der Induktion folgt die Existenz einer unit¨aren (n − 1) × (n − 1) Matrix U1 , so dass

U1∗ A1 U1 = R1 eine obere Dreiecksmatrix ist, d.h. 

  0  . . .  |



1 0

0



Dann gilt

0 U1∗

{z e1∗ =:U

...



  0   .  .  .  }



λ ∗ 0





...

A1



  0   .  .  .  |



1 0

0



0

U1 {z e1 =:U

...

        

}



=

  0  . . .  |



λ ∗ 0



∗ R1 {z

=:R

...



    .    }

Ue1∗ V ∗ AV Ue1 = R

und damit ist A = URU ∗ mit U := V Ue1 bewiesen. Die Diagonalelemente von R sind die Eigenwerte von A, weil

σ(A) = σ(URU ∗ ) = σ(URU −1 ) = σ(R) wegen der Unitarit¨at und (10.7) gilt. 2 Wir erw¨ahnen die reelle Variante ohne Beweis. Satz 10.18 (Reelle Schur-Faktorisierung) Zu jeder reellen n × n Matrix gibt es eine orthogonale Matrix Q (d.h. QQt = I), so dass

A = QRQt

273

Numerik I. Version: 24.06.08 gilt, mit einer Matrix von Quasi-oberer-Dreiecksform:    

R := 

R11

∗ R22

∗ ∗ .. .

... ... .. . Rmm



  , 

wobei f¨ur jedes i entweder Rii ∈ R oder Rii ∈ R2×2 . Im letzten Fall hat Rii zwei konjugiert

komplexe Eigenwerte.

Beachten Sie, dass die Schur-Faktorisierungen orthogonale Matrizen verwenden. Diese Tatsache garantiert die Stabilit¨at. 10.1.5

Singul¨ arwertzerlegung

Alle bisherigen Faktorisierungen gelten f¨ ur quadratische Matrizen. In diesem Kapitel betrachten wir eine allgemeine m × n Matrix A. Die Matrix A ist einfach die Matrix der linearen

Abbildung

x → A(x) := Ax,

A : Rn → Rm

in der Standardbasis. Beachten Sie, dass die zwei Vektorr¨aume (Definitionsbereich und Bildbereich [domain und range]) unterschiedlich sind. Die Frage ist immer, ob man eine gute Basis w¨ahlen kann, so dass die entsprechende Matrix derselben linearen Abbildung A m¨oglichst

einfach ist.

Im Fall der linearen Abbildungen eines Raums in sich (A : Rn → Rn ) erwartete man,

dass Rn als Definitionsbereich und Rn als Bildbereich mit derselben Basis ausgestattet ist,

und diese Aufgabe hat uns zur Diagonalisierung gef¨ uhrt. Im Fall der unterschiedlichen R¨aume bietet sich die zus¨atzliche Freiheit, zwei geeignete Basen in Rn und Rm unabh¨angig zu w¨ahlen. Wegen dieser Freiheit hat diese Aufgabe eine viel “angenehmere” L¨osung als die Diagonalisierungsaufgabe. Der folgende Satz behauptet, dass man jede Matrix mit zwei orthogonalen Matrizen “diagonalisieren” kann. Mit anderen Worten kann man eine orthonormale Basis in Rn , und eine andere in Rm finden, so dass die Matrix der linearen Abbildung A “diagonal” ist.

Nat¨ urlich muss der Begriff “diagonale Matrix” f¨ ur rechteckige Matrizen verallgemeinert werden: Ein rechteckige m × n Matrix S ist von Diagonalform, falls sij = 0 f¨ ur alle i 6= j.

274

Numerik I. Version: 24.06.08 F¨ ur m ≥ n



s11  0   .  ..   S= 0   0   ..  . 0

und f¨ ur m ≤ n



s11  0  S =  ..  . 0

0 s22 0

0 s22 0 0 0



... 0 ... 0   ..  ..  e . .   S  = . . . snn   0 ... 0   ..  .  ... 0

... 0 ... 0 .. .. . . . . . smm

0 0 0 0

e mit der Diagonalmatrix S.

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



0 0  e  = [S|0] 0 0

Satz 10.19 (Singul¨ arwertzerlegung) (Singular value decomposition, SVD) Sei A eine m× n Matrix, m ≥ n. Dann existieren orthogonale Matrizen U ∈ Rm×m und V ∈ Rn×n und eine

Matrix S ∈ Rm×n von Diagonalform S=





Σ , 0





σ1

  

mit der Diagonalmatrix Σ = 

σ2

..

. σn

   

so dass A = USV t . Die Diagonalelemente σj der Matrix Σ heißen die Singul¨ arwerte [singular values] der Matrix A. Sie k¨onnen so gew¨ahlt werden, daß sie nicht negativ und abnehmend geordnet σ1 ≥ σ2 ≥ . . . σp > σp+1 = . . . = σn = 0 sind, wobei p = rg(A). Die Zerlegung A = USV t kann auch in folgender Form aufgeschrieben werden: A=

p X

σi ui vit

(10.11)

i=1

wobei U = [u1 |u2 | . . . |um ] und V = [v1 |v2 | . . . |vn ]. Die Vektoren ui und vi heißen (Links-

oder Rechts-) Singul¨ arvektoren [singular vector].

Bemerkung 10.20 Die Zerlegung ist ganz ¨ahnlich f¨ur den Fall m < n: A = USV t ,

S = [Σ|0],

Σ ∈ Rm×m , 0 ∈ Rm×(n−m)

275

Numerik I. Version: 24.06.08

Beweis. Betrachen wir die symmetrische, positiv semidefinite Matrix At A. Wegen des Spektralsatzes 10.14 existiert eine orthogonale Matrix V , die die Matrix At A diagonalisiert:    

d2

V t (At A)V =  mit dj ≥ 0. Seien σj :=

q



d1 ..

. dn

   

dj , j = 1, 2, . . . , n abnehmend angeordnet. Es gilt rg(V t (At A)V ) = rg(At A) = rg(A) = p

also sind genau p Diagonalemente, d1 ≥ d2 ≥ . . . ≥ dp von Null verschieden. Dann gilt V t (At A)V = Σ2 Spalten wir V auf in: V = [V1 |V2 ]

V1 ∈ Rn×p ,

so merken wir V1t At AV1 = Σ21 ∈ Rp×p ,

V2 ∈ Rn×(n−p),    

σ2

Σ1 := 

und



σ1 ..

. σp

   

V2t At AV2 = 0 ∈ R(n−p)×(n−p) ⇐⇒ AV2 = 0 ∈ Rn×(n−p) Definieren wir dann m×p U1 := AV1 Σ−1 , 1 ∈ R

(10.12)

so gilt t t −1 U1t U1 = Σ−1 1 V1 A AV1 Σ1 = I

d.h. die Spalten von U1 sind orthonormal. Erg¨anzen wir U1 mit weiteren (m−p) orthonormalen Spalten U2 ∈ Rm×(m−p) (Z.B. mittels Gram-Schmidt) und definieren U = [U1 |U2 ]. Dann gilt t

U AV =





U1t A[V1 |V2 ] = U2t



U1t AV1 U2t AV1

U1t AV2 U2t AV2



=



Σ 0



da AV2 = 0 und AV1 = U1 Σ1 . 2 Der Beweis liefert einen Algorithmus f¨ ur die Bestimmung der Singul¨arwertzerlegung. Zuerst berechnet man die Spektralzerlegung von At A um die Singul¨arwerte und die V -Matrix zu bestimmen. Dann definieren wir die Matrix U1 (10.12) und erg¨anzen ihre Spalten zu einer orthogonalen Matrix U.

276

Numerik I. Version: 24.06.08 10.1.6

Verwendung der Singul¨ arwertzerlegung in Bildkompression

[Dieses Kapitel folgt der Pr¨asentation des Buches Applied Numerical Linear Algebra von James Demmel, (SIAM, 1997), Seiten 114-116.] Ein Bild auf dem Rechnerschirm kann in einer rechteckigen Matrix A kodiert werden. Falls der Bildschirm n × m Pixel hat (z.B. n = 320 Zeilen und m = 400 Spalten) und die Helligkeit

eines Pixels ist durch eine reelle Zahl zwischen 0 und 1 gegeben ist, dann wird das Bild von der Matrix A = (aij ) kodiert, wobei aij die Helligkeit des Pixels in der i-ten Zeile und j-ten Spalte ist. Farbbilder k¨onnen durch drei Matrizen kodiert werden: eine f¨ ur die rote Farbe, eine f¨ ur die gr¨ une und eine f¨ ur die blaue. Eine große Matrix A enth¨alt viele Informationen und es ist sehr aufwendig solche Matrizen zu speichern und im Internet weiterzuschicken. Wie kann man die Gr¨oße reduzieren und die relevante Mehrheit der Informationen behalten? Man kann z.B. jedes zweite oder jedes zehnte Pixel behalten, aber dieses Verfahren ist nicht effektiv. Das Bild hat “langweilige” Teile (z.B. der gleichfarbige Hintergrund), wo die Beibehaltung jedes zehnten Pixels hinreichend ist, alle anderen Pixel k¨onnen einfach approximiert werden. Aber dieses Verfahren verwirrt die “interessanten” Teile des Bildes (scharfe Umrisse, feine Details). In diesem Bereich m¨ochten wir alle Pixel behalten. Wir m¨ ussen dem Rechner zeigen, wie er die “langweiligen” und die “interessanten” Teile erkennen kann. Es gibt viele verfeinerte Methoden. Hier diskutieren wir die einfachste Version und die Grundidee. Sei A=

p X

σi ui vit

i=1

die Singul¨arwertzerlegung der Matrix A (10.11) mit p ≤ n ≤ m. Es ist (fast) zweimal so aufwendig die Matrizen U und V (oder ihre Spaltenvektoren) zu speichern als die Matrix A . Die Matrix A ben¨otigt nm Zahlen zur Speicherung, die Singul¨arwertzerlegung speichert n2 + m2 + n Zahlen (etwas weniger, wenn man die Nullvektoren nicht speichert). Die Idee ist, dass die Singul¨arvektoren mit ganz kleinen Singul¨arwerten von winziger Bedeutung sind. Diese Vektoren entsprechen dem “langweiligen” Teil des Bildes (genauer: sie kodieren die kleinen Abweichungen des urspr¨ unglichen Bildes vom gleichfarbigen Hintergrund). Legen wir k ≤ n fest und definieren die folgende Matrix Ak =

k X

σi ui vit

i=1

d.h. wir berechnen die Matrix A unter Beibehaltung der k gr¨oßten Singul¨arwerte und bei Vernachl¨assigung der restlichen Singul¨arwerte (zusammen mit den Singul¨arvektoren) ab. Falls

277

Numerik I. Version: 24.06.08

k ≪ n, so ist der Speicheraufwand O(km) ≪ O(nm), d.h. viel kleiner als der Speicheraufwand f¨ ur A.

Die Frage ist: wie gut ist das approximierende Bild. Nat¨ urlich ist Ak 6= A, aber es ist eine

ziemlich gute N¨aherung. Im gewissen Sinne ist Ak die beste Approximation mit bestimmtem Speicheraufwand. Der folgende Satz [ohne Beweis] stellt diese Aussage genauer fest:

Satz 10.21 F¨ur beliebige k ≤ n ≤ m minimiert die Matrix Ak den Abstand von A zur Menge aller Matrizen mit Rang k in der Frobeniusnorm (3.29): n

kA − Ak kF rob = min kA − BkF rob : rg(B) = k

o

Nat¨ urlich ist es eine andere Frage, ob die Empfindlichkeit unserer Augen durch die Frobeniusnorm angemessen beschrieben wird. Die Bilder auf meiner Internetseite zeigen, dass wenn man ein Bild der u ¨blichen Gr¨oße (z.B. 320 × 400) mit einer Matrix A20 vom Rang k = 20 approximiert, das Bild schon ziemlich gut ist, und der Speicheraufwand ist etwa 20-mal kleiner.

Noch ein Vorteil der Speicherung eines Bildes mit der Singul¨arwertzerlegung. Das Herunterladen eines Bildes vom Internet kann ganz langsam sein. In den meisten F¨allen m¨ochte man zuerst das Bild nur oberfl¨achig sehen, um zu entscheiden, ob man weiterklickt oder nicht. Wenn das Bild nun Zeile um Zeile auf dem Bildschirm auftaucht, sieht man alle Details der oberen Teile des Bildes (meistens nur den blauen Himmel) bevor man die wesentlichen Teile erfasst. Bessere Programme benutzen etwa so genannte “coarse-graining” Verfahren, d.h. man sieht sofort das ganze Bild aber ganz grob, und sp¨ater wird es verfeinert. Die Folge der ¨ Matrizen A1 , A2 , . . . liefern genau diese N¨aherungen. Nach der Ubersendung der Matrix A20 ¨ ist die Ubersendung der n¨achsten Matrix A21 ganz einfach: man schickt die Vektoren u21 und t v21 und die Zahl σ21 und der Empf¨anger addiert die Matrix σ21 u21 v21 zum vorherigen Bild.

10.2

St¨ orungsresultate fu ¨ r die Eigenwerte

Das Problem der Diagonalisierung (und ihrer Verwandten) erfordert die Bestimmung der Eigenwerte. Tats¨achlich ist diese Aufgabe schwieriger; sobald die Eigenwerte bekannt sind, k¨onnen die Eigenvektoren durch L¨osung linearer Gleichungssysteme bestimmt werden. Eigenwerte treten als Nullstellen des charakteristischen Polynoms auf. Jedes Polynom kann das charakteristische Polynom irgendeiner Matrix sein (Aufgabe 10.22) und wir wissen von der Galois-Theorie aus Algebra, dass es kein endliches Verfahren f¨ ur die Bestimmung der Nullstellen eines Polynoms vom Grad ≥ 5 gibt. Deshalb muss unser Vorgehen f¨ ur die Bestimmung

der Eigenwerte iterativ sein.

278

Numerik I. Version: 24.06.08 10.2.1

Kondition des Eigenwertsproblems

Die Bestimmung der Eigenwerte kann eine ganz schlecht konditionierte Aufgabe sein. Beispiel. Betrachten Sie die n × n Matrix 

0 1 0   1 0   1 0 Aε =    1   

ε

0 ..

.

..

.

1

0

           

wobei ε ≪ 1 ganz klein ist. Das charakteristische Polynom von Aε ist p(λ) = λn − ε. (Aufgabe!). F¨ ur ε = 0 sind alle Eigenwerte Null. F¨ ur ε > 0 besitzt Aε genau n komplexe Eigenwerte, ε1/n , die n-ten Einheitswurzeln [roots of unity]. Das Problem ist sehr schlecht konditioniert. Sei n = 40 und sei der St¨orungsparameter ε := 10−40 , der ganz klein im Vergleich zu den anderen Matrixelementen ist (10−40 /1 = 10−40 relativer Fehler). Doch einer der Eigenwerte ist λ = 10−1 = 0.1, der in einem Abstand 0.1 von den “ungest¨orten” Eigenwerten liegt. Der relative Fehlerverst¨arkungsfaktor ist 1039 ! Diese dramatische Fehlerverst¨arkung wurde von der hohen Vielfachheit des ungest¨orten Eigenwerts verursacht. Aber die Situation ist nicht viel besser f¨ ur einfache Eigenwerte. Beim Polynom (8.11) von Grad 20 trat ein Fehlerverst¨arkungsfaktor der Ordnung 107 auf. Die Matrix wurde dort nicht konstruiert, aber Folgendes gilt: Aufgabe 10.22 Zeigen Sie, dass jedes Polynom das charakteristische Polynom einer Matrix ist. Satz 10.23 (i) Sei die Matrix A ∈ Rn×n diagonalisierbar: A = V DV −1 ,

D = diag(λ1 , . . . , λn ),

wobei D die Diagonalmatrix mit Elementen λ1 , . . . , λn und V regul¨ar ist. Sei A + ∆A eine St¨orung der Matrix A und sei µ ∈ σ(A + ∆A) ein Eigenwert der gest¨orten Matrix. Dann gilt min |µ − λi | ≤ κ(V )k∆Ak

i=1,...,n

Diese Absch¨atzung bestimmt die Kondition des Eigenwertsproblems.

(10.13)

279

Numerik I. Version: 24.06.08

(ii) Sei die Matrix A ∈ Rn×n symmetrisch. Dann gilt f¨ur jede (nicht unbedingt symmetri-

sche) Matrix ∆A das Folgende:

min |µ − λi | ≤ k∆Ak,

i=1,...,n

f¨ur jedes µ ∈ σ(A + ∆A)

(10.14)

Das erste Resultat gilt f¨ ur alle Vektornormen kvkp = (|v1 |p + . . . + |vn |p )1/p (und f¨ ur die

induzierte Matrixnorm und Konditionszahl). Das zweite gilt nur f¨ ur die euklidische Norm (p = 2). Beachten Sie, dass die Matrix V nicht eindeutig ist: man kann immer V ′ = V C mit einer beliebigen regul¨aren Diagonalmatrix C statt V einsetzen: V ′ D(V ′ )−1 = V CDC −1 V −1 = V DV −1 (Diagonalmatrizen kommutieren). Die Konditionszahl κ(V ) h¨angt von dieser Wahl ab. Die rechte Seite der Absch¨atzung (10.13) kann mit dem Faktor n

o

min κ(V C) : C regul¨ar, diagonal optimiert werden.

(10.15)

Beweis. (i) Wir k¨onnen annehmen, dass µ 6∈ σ(A) ist, sonst ist die Absch¨atzung offenbar.

Wegen A = V DV −1 gilt

(A − µI)−1 = V (D − µI)−1V −1 und damit k(A − µI)−1 k ≤ κ(V ) max |µ − λi |−1 = i=1,...,n

d.h. min |µ − λi | ≤

i=1,...,n

Sei x ein Eigenvektor von A + ∆A zu µ: (A + ∆A)x = µx,

κ(V ) , mini=1,...,n |µ − λi |

κ(V ) k(A − µI)−1 k

(10.16)

x = −(A − µI)−1 (∆A)x.

Somit 1 ≤ k(A − µI)−1 (∆A)k ≤ k(A − µI)−1 k k∆Ak (f¨ ur die erste Ungleichung betrachten Sie den Testvektor x in der Definition der Norm). Diese Absch¨atzung zusammen mit (10.16) liefert (10.13). (ii) Der Beweis f¨ ur den symmetrischen Fall ist a¨hnlich, aber die Matrix V kann orthogonal gew¨ahlt werden (Spektralsatz) und dann ist κ(V ) = 1. 2 Der folgende Satz behandelt den allgemeinen Fall [f¨ ur den Beweis siehe Plato: Kapitel 12.2.2]

280

Numerik I. Version: 24.06.08

Satz 10.24 F¨ur die Eigenwerte von A + ∆A mit beliebigen Matrizen A, ∆A ∈ Rn×n gelten die folgenden Absch¨atzungen f¨ur jedes µ ∈ σ(A + ∆A) n

min |µ − λ| ≤ C max k∆Ak, k∆Ak1/n

λ∈σ(A)

mit C := max{θ, θ1/n }, Hier ist

e R

wobei θ :=

n−1 X k=0

o

e k kRk 2

der nichtdiagonale Anteil aus der Dreiecksmatrix R in einer Schur-Faktorisierung

e wobei R durch die Formel (10.10) gegeben ist. der Matrix A, d.h. R = Diagonalmatrix + R,

In den meisten F¨allen ist k∆Ak ≤ 1, also

min |µ − λ| ≤ C k∆Ak1/n .

λ∈σ(A)

Diese n-te Wurzel ist dieselbe, die in dem einf¨ uhrenden Beispiel aufgetaucht ist. 10.2.2

Lokalisierung der Eigenwerte

Da die Methoden f¨ ur die Bestimmung der Eigenwerten iterativ sind, ist es ganz wichtig die Iteration mit einer guten N¨aherung als Startwert anzufangen (siehe Newton-Verfahren). Daf¨ ur sind verschiedene Resultate f¨ ur a priori Lokalisierung der Eigenwerte n¨ utzlich. Die folgende Eigenschaften sind unmittelbar. [Wiederholung oder Aufgabe] Lemma 10.25 (Wiederholung oder Aufgabe) Sei A, B ∈ Rn×n . Dann gilt i) λ ∈ σ(A)

⇐⇒

αλ + β ∈ σ(αA + βI),

α, β ∈ C beliebig

ii) Sei A regul¨ar, dann λ ∈ σ(A)

⇐⇒

λ−1 ∈ σ(A−1 ),

iii) λ ∈ σ(A)

⇐⇒

λ ∈ σ(A)

⇐⇒

λ ∈ σ(At )

(gilt nicht f¨ur komplexe Matrizen!) iv) λ ∈ σ(A)

281

Numerik I. Version: 24.06.08 v) σ(AB) = σ(BA) vi) σ(A) ⊂ {λ : |λ| ≤ kAk} Das wichtigste Ergebnis u ¨ber Lokalisierung der Eigenwerte ist der folgende Satz:

Satz 10.26 (Gerschgorin) Zu A ∈ Rn×n definiere die sogenannten Gerschgorin-Kreise n

X

Ki := z ∈ C : |z − aii | ≤ Dann gilt σ(A) ⊂

n [

j6=i

o

|aij | .

Ki

i=1

d.h. die Eigenwerte liegen in der Vereinigung der Gerschgorin-Kreise. Weiterhin gilt die folgende Verst¨arkung f¨ur jedes 1 ≤ j ≤ n: Falls die Vereinigung von j

Gerschgorin-Kreisen disjunkt von den anderen Kreisen ist, dann liegen genau j Eigenwerte in dieser Vereinigung. Beweis. Sei v ein Eigenvektor zugeh¨orig zum Eigenwert λ und sei vi eine Koordinate, die |vi | = kvk∞ = max |vj | j=1,...n

gen¨ ugt. Die i-te Gleichung des Gleichungssystems Av = λv lautet X

aij vj = λvi ,

j

daraus folgt, dass

Damit ist λ ∈ Ki .

X

|aii − λ||vi| =

j6=i



aij vj ≤ kvk∞

X j6=i

|aij | = |vi |

X j6=i

|aij |.

Der Beweis des zweiten Teils wird hier nicht diskutiert. 2 In der Anwendung dieses Satzes ist es ein guter Trick die Gerschgorin-Kreise von A und

auch von At zu betrachten, weil gilt: σ(A) ⊂

n [

i=1



Ki ∩

wobei Kit die Gerschgorin-Kreise von At sind.

n [



Kit ,

i=1

Aufgabe 10.27 Lokalisiere so genau wie m¨oglich die Eigenwerte von 

3  A =  −1 1



1 0  5 2. 0 2

282

Numerik I. Version: 24.06.08 10.2.3

Variationsprinzip fu ¨r symmetrische Matrizen

Satz 10.28 (Rayleigh/Ritz) Sei A ∈ Rn×n symmetrisch und seien λ1 ≤ λ2 ≤ . . . ≤ λn die Eigenwerte. Dann gilt λ1 = min x6=0

x · Ax = min x · Ax kxk=1 kxk2

λn = max x6=0

x · Ax = max x · Ax kxk=1 kxk2

Beweis: Aus dem Spektralsatz in der Form (10.9): A=

X

λi vi vit

i

folgt x · Ax =

X i

λi |x · vi |2 =:

X i

λi |ci |2

wobei x = c1 v1 + . . . + cn vn , und

X i

mit ci := x · vi

|ci |2 = 1

aufgrund der Parseval-Identit¨at (7.1). Dann gilt X i



λi |ci |2 ≤ max λi i

X i





|ci|2 = max λi = λn i

und die untere Absch¨atzung ist analog. 2

10.3

Vektoriteration oder Potenzverfahren [Power method]

Diese Methode ist das “zweij¨ahrige-Kind” Verfahren f¨ ur die Bestimmung der Eigenwerte. Sie ist absolut einfach. W¨ahlen Sie einen beliebigen Startvektor u0 , und erzeugen Sie die Folge u1 := Au0 , u2 := Au1 , u3 := Au2 , . . .

(10.17)

d.h. multiplizieren Sie diesen Vektor sukzessiv mit der Matrix A. Der folgende Satz behauptet, dass, außer wenn man ganz großes Pech hat, diese Folge der Vektoren den betragsm¨aßig gr¨oßten Eigenwert und die zugeh¨origen Eigenvektoren bestimmen.

283

Numerik I. Version: 24.06.08

Satz 10.29 Sei A eine quadratische k × k Matrix und sei λ1 , . . . , λk die Eigenwerte. Nehmen

wir an, dass

|λ1 | > |λ2 | ≥ |λ3 | ≥ . . .

(10.18)

d.h. der betragsm¨aßig gr¨oßte Eigenwert bestimmt gr¨oßer als alle andere Eigenwerte ist. Seien die Vektoren u0 und w beliebig und die Folge {un }n∈N durch (10.17) definiert. Dann gilt wt · un+1 = λ1 . n→∞ w t · un lim

f¨ur “fast alle” Startvektoren u0 und Testvektoren w. Im Falle der symmetrischen Matrizen bedeutet dies, dass u0 · v1 6= 0,

w · v1 6= 0,

(10.19)

wobei v1 ein Eigenvektor zum Eigenwert λ1 ist. Zur eindeutigen Festlegung vom Eigenvektor, bezeichne v1 den normalisierten Eigenvektor (zum λ1 ) mit der Vorzeichenkonvention dass die erste, von null verschiedene Koordinate positive ist. Dann konvergiert die Folge der normalisierten Vektoren e n := σn u

un kun k

gegen v1 , wobei die Vorzeichen σn ∈ {+1, −1} so ausgew¨ahlt werden, dass die erste von null e n positiv ist. verschiedene Koordinate von u

Diese beiden Konvergenzgeschwindigkeiten sind exponentiell mit einer Rate |λ2 |/|λ1 |, d.h. wt · u n+1 wt · un

− λ1

λ n 2 ,

≤ (Konst.)

λ1

(10.20)

wobei die Konstante von der Wahl von u0 und w abh¨angt.

Bemerkung 10.30 Der Begriff “fast alle” hat eine mathematische pr¨azise Definition, aber wir m¨ochten das hier vermeiden. Grob gesagt bedeutet es hier, dass die Vektoren u0 , w sich nicht in einem gewissen Unterraum von niedriger Dimension befinden sollten, z.B. die explizite Bedingung (10.19). Beweis. Der Einfachheit halber diskutieren wir den symmetrischen Fall. Falls A diagonalisierbar ist, ist der Beweis ganz ¨ahnlich (Aufgabe!). Falls A nicht diagonalisierbar ist, dann ist der Beweis einbisschen komplizierter. Aus dem Spektralsatz A=

k X i=1

λi vi vit

284

Numerik I. Version: 24.06.08 folgt An =

k X

λni vi vit

i=1

und

wt · un = wt · An u0 = Damit berechnen wir

k X i=1

λni (wt · vi )(vit · u0 ) .

k  X λi  n t wt · un = lim (w · vi )(vit · u0 ) = (wt · v1 )(v1t · u0 ) n→∞ n→∞ λn1 λ 1 i=1

lim

da |λ1 | > |λi | f¨ ur i > 1. Falls (10.19) gilt, erhalten wir t

w · un+1 = lim n→∞ w t · un

wt ·un+1 λn+1 1 λ1 wt ·un limn→∞ λn 1

limn→∞

(wt · v1 )(v1t · u0 ) = λ1 , = λ1 (wt · v1 )(v1t · u0 )

und dies komplettiert den Beweis der Konvergenz des Eigenwertes. Die Absch¨atzung f¨ ur die Konvergenzgeschwindigkeit (10.20) ist offenbar. F¨ ur die Konvergenz des Eigenvektors beachten Sie un = An u0 =

k X i=1

damit kun k =

qP k

i=1 |λi |

2n (vt i

· u0 )2 , also

P

λni vi (vit · u0 )

k un λn vi (vit · u0 ) en = u = qPi=1 i k kun k |λi |2n (vt · u0 )2

=

λ1 |λ1 |

!n

i

i=1

P



n

vt ·u

k λi i 0 (v1t · u0 ) v1 + i=2 λ1 v1t ·u0 · vi · r · 2n t P |(v1t · u0 )| (v ·u )2 1 + ki=2 λλ1i (vti ·u00 )2

(10.21)

1

e n offenbar gegen v1 . Das einzige Falls |λ1 | > |λi | f¨ ur alle i > 1, konvergiert der Vektor u

Problem ist, dass der Vorfaktor in (10.21) im Falle λ1 < 0 wie (−1)n oszillieren kann. Das ist

nur die Zweideutigkeit der Normalisierung. Man kann die Normalisierung z. B. so festlegen, dass die erste von Null verschiedene Koordinate positiv sei. 2 Dieses Verfahren liefert nur den betragsm¨aßig gr¨oßten Eigenwert. Mit einem kleinen Trick kann man auch andere Eigenwerte erhalten. Satz 10.31 Sei A eine quadratische k × k Matrix und sei p ∈ C eine komplexe Zahl, so dass die Matrix A einen Eigenwert λp hat, der bestimmt n¨aher bei p als alle anderen Eigenwerten

liegt: 0 < |λp − p| < |λi − p|,

∀i 6= p

(10.22)

285

Numerik I. Version: 24.06.08 Erzeugen Sie die Iterationsfolge un+1 := (A − pI)−1 un aus einem Startvektor u0 . Dann gilt f¨ur “fast alle” Vektoren u0 und w 1 wt · un+1 = . n→∞ w t · un λp − p lim

Deshalb ist λp aus

wt · un +p λp = lim t n→∞ w · un+1

zu erhalten.

en = Die normalisierten Vektoren u

Eigenwert λp .

un kun k

konvergieren gegen den Eigenvektor zugeh¨orig zum

Beweis. Beachten Sie einfach, dass (λ1 − p)−1 , (λ2 − p)−1 , . . ., die Eigenwerte von B :=

(A − pI)−1 sind, wobei λi die Eigenwerte von A sind (Lemma 10.25). Aus der Voraussetzung

(10.22) folgt, dass (λp − p)−1 der betragsm¨aßig gr¨oßte Eigenwert von B ist, also folgen beide

Aussage aus dem Satz 10.29. 2.

Das Potenzverfahren liefert den betragsm¨aßig gr¨oßten Eigenwert unmittelbar. Um den betragsm¨aßig kleinsten Eigenwert zu erhalten, kann man die Iteration mit der Inversen der Matrix A durchf¨ uhren. Wenn A symmetrisch ist, wissen wir schon, dass alle anderen Eigenwerte im Intervall [λmin , λmax ] liegen. Sei

λmin + λmax 2 der Mittelpunkt. Falls weitere Eigenwerte außer λmin und λmax existieren, dann gibt es einen p :=

Eigenwert, der n¨aher zu p ist, als λmin und λmax , sei λp der n¨achste. Im typischen Fall gibt es nur einen n¨achsten Eigenwert. Diesen Eigenwert k¨onnen wir mittels des Satzes 10.31 bestimmen. Dann k¨onnen wir die Mittelpunkte der zwei Teilintervalle betrachten: p1 =

λmin + λp , 2

p2 :=

λp + λmax 2

und lassen die Vektoriteration aus dem Satz 10.31 f¨ ur die beide Punkte laufen. Wir wissen nicht genau, wo die anderen Eigenwerte liegen (außer wenn wir den Satz 10.26 verwenden k¨onnen). Es kann sein, dass, z.B., das ersten Intervall [λmin , λp ] keinen Eigenwert enth¨alt und die Iteration wird nicht gegen einen neuen Eigenwert konvergieren. Es kann auch passieren,

286

Numerik I. Version: 24.06.08

dass sie nicht konvergiert , da |λmin − p1 | = |λp − p1 |, aber diese Tatsache ist aus der Iterati-

onsfolge erkennbar.

λ

λ

λp

min

min

λp

p

1

λ

p

p

λ

2

max

max

Potenzverfahren auf Teilintervallen mit Mittelpunkten. Wir setzen dieses Verfahren bei der Bestimmung aller k Eigenwerte fort. Im Fall einer nichtsymmetrischen Matrix A wissen wir nach der Bestimmung von λmin und λmax , dass alle Eigenwerte im kompakten Ring n

σ(A) ⊂ z ∈ C ; λmin ≤ |z| ≤ λmax

o

liegen. Man kann diesen Ring mit kleineren Kreisen u ur die Zentren dieser ¨berdecken und f¨ Kreise als Punkt p den Satz 10.31 verwenden. Die Gerschgorin-Kreise helfen dieses “ad hoc” Verfahren ein bisschen zu beschleunigen. Bemerkung 10.32 Das Potenzverfahren konvergiert nicht, wenn die Bedingung (10.18) nicht erf¨ullt ist. F¨ur reelle Matrizen tauchen die komplexen Eigenwerte in Paaren auf, und beide Eigenwerte sind betragm¨aßig gleich. Im Ablauf des Verfahrens ist diese Tatsache als ein Zyklus erkennbar. Diese Symmetrie ist einfach zu brechen: Man muss ein komplexe Zahl p mit Im(p) 6= 0 w¨ahlen. Aufgabe 10.33 Bestimmen Sie die Eigenwerte und die normalisierten Eigenvektoren der   3 1 Matrix A = 2 4 L¨osung: Fangen wir die Iteration mit einem beliebigen Vektor, z.B. u0 = wir w auch beliebig: w =

 

 

1 , an. W¨ahlen 1

1 , d.h. wt · un testet die erste Koordinate. Die Iteration liefert 0 u1 = Au0 =



3 1 2 4

 

1 1

=

 

4 6

287

Numerik I. Version: 24.06.08

u2 = Au1 =



3 1 2 4

 

4 6



=

18 32



usw. u3 =



86 164



u4 =



422 828



u5 =



2094 4156



u6 =



10438 20812



u7 =





52126 ... 104124

Berechnen wir die aufeinander folgenden Verh¨altnisse der Zahlen wt · un , d.h. die ersten

Koordinaten:

18 = 4.5 4

4 =4 1

86 = 4.77 18

422 = 4.9 86

2094 = 4.96 422

10438 52126 = 4.984 = 4.993, 2094 10438 so folgt λ1 ≈ 5 und ist die Konvergenz ganz schnell.   0 Nur aus Neugier testen wir die Folge un mit dem Vektor w = (zweite Koordinate) 1 6 =6 1

32 = 5.33 6

164 = 5.12 32

20812 = 5.007 4156

4156 = 5.02 828 d.h. der Limes ist derselbe.

828 = 5.04 164 104124 = 5.003 52126

Um den Eigenvektor zu finden, normalisiert man die Vektoren un : v0 = v3 =

u0 1 =√ ku0 k 2



0.464 0.885



 

1 1

=

v4 =







0.707 0.707

0.454 0.89

v1 =



v5 =



1 u1 =√ ku1 k 60 0.45 0.893



 

4 6

v6 =

=





0.55 0.83

0.448 0.8938





v2 = v7 =





0.49 0.87



0.4476 0.8942



usw, also ist dies der (approximierende) normalisierte Eigenvektor zu λ1 ≈ 5. Der genaue   1 Eigenwert ist 5 mit Eigenvektor , d. h. nach der Normalisierung 2    √  0.4472 1/√5 ≈ . 2/ 5 0.8944 Der andere (kleinere) Eigenwert kann aus der Inversen der Matrix A mit derselben Iteration bestimmt werden: −1

A

=

W¨ahlen wir den Startvektor u0 =



3 1 2 4

 

1 1

u1 = A−1 u0 =

−1

1 = 10



4 −1 −2 3



und erzeugen

1 10



4 −1 −2 3

 

1 1

=

1 10

 

3 1

288

Numerik I. Version: 24.06.08

u2 = A−1 u1 = und u3 =

1 103



1 10



47 , −31

1 u6 = 6 10





4 −1 −2 3 1 104

u4 = 

5251 , −5123





1 10

 

=



u5 =

3 1

219 , −187

1 u7 = 7 10





1 100

1 105 

11 −3 

26127 , −25871



1063 −999



usw.

Berechnen wir die aufeinander folgenden Verh¨altnisse der Zahlen wt · un , d.h. die ersten

Koordinaten:

3/10 = 0.3, 1

11/100 = 0.366, 3/10

47/103 = 0.427, 11/100

5251/106 = 0.494, 1063/105

1063/105 = 0.485, 219/104

219/104 = 0.466, 47/103

26127/107 = 0.498 5251/106

−1 Die Folge konvergiert gegen den gr¨oßten Eigenwert λ−1 2 ≈ 0.5 von A , wobei λ2 der kleinste

Eigenwert von A ist. Deshalb ist λ2 ≈ 2. Die normalisierten Vektoren, die den Eigenvektor

approximieren, sind u0 1 v0 = =√ ku0 k 2 v3 =



0.834 −0.55

 

=



0.707 0.707

v4 =



0.76 −0.649

1 1



Der wahre Eigenvektor ist

√1 2





1 u1 =√ v1 = ku1 k 10



1 −1



v5 = =





0.728 −0.684

0.7071... −0.7071...





 

3 1

=



v6 =

0.948 0.316





0.715 −0.698

v2 = 



0.964 −0.263

v7 =



0.710 −0.703

Aber vielleicht k¨onnen wir eine bessere Wahl f¨ ur p als p = 0 treffen? Die Gerschgorin-Kreise f¨ ur A und At bestimmen, dass alle Eigenwerte innerhalb der Menge 





M := {|z − 3| ≤ 1} ∪ {|z − 4| ≤ 2} ∩ {|z − 3| ≤ 2} ∪ {|z − 4| ≤ 1} |

liegen.

{z

Lage der Eigenwerte von A

}

|

{z

Lage der Eigenwerte von At

 }

 

289

Numerik I. Version: 24.06.08

0

1

2

3

4

0

5

1

2

4

Gerschgorin Kreise von A

Gerschgorin Kreise von A Wahl p=0

3

00000 11111 11111 00000 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111

5

t

Wahl p=2.5

0

1

2

3

4

Gro"sste Eigenwert = 5

5

Durchschnitt dieser zwei Menge = Lage der Eigenwerte Der Wert p = 0, der der Iteration mit der inversen Matrix A−1 entspricht, ist weit außerhalb dieser Menge, also ist p = 0 nicht die beste Wahl. Die Konvergenzgeschwindigkeit wird durch das Verh¨altnis

λmin ( 1 ) A−p λmax ( 1 ) A−p

bestimmt und diese Rate ist

2 5

=

|2 − p| |5 − p|

im Fall p = 0.

F¨ ur schnellere Konvergenz brauchen wir einen Wert p, der weit entfernt von λ1 = 5 ist, aber in der N¨ahe der unbekannten Eigenwerte liegt. Der Wert p = 0 ist weit außerhalb dieser Menge, also ist es nicht die beste Wahl. W¨ahlen wir eine Zahl, die innerhalb dieser Menge liegt, aber weit von λ1 = 5 entfernt ist, z. B. p = 5/2 = 2.5. Also wir berechnen die Matrix (A − 2.5)

−1

=



0.5 1 2 1.5

−1

=



−1.2 0.8 1.6 −0.4



290

Numerik I. Version: 24.06.08

und lassen die Iteration laufen. Der Startvektor ist noch einmal u0 = erste Koordinate. Die Iteration liefert u1 =





−1.2 0.8 u0 = 1.6 −0.4

u4 =



5.35 −5.3





−0.4 1.2 

u5 =



u2 =

−10.65 10.68







−1.2 0.8 u1 = 1.6 −0.4

u6 =



und die Verh¨altnisse der ersten Koordinaten sind −0.4 = −0.4 1

1.44 = −3.6 −0.4

21.336 −21.327

−2.62 = −1.82 1.44





 

1 1

und wir testen die 

u3 =





1.44 −1.12 u7 =

5.35 = −2.041 −2.62

−42.665 42.668



−2.62 2.75

−10.65 = −1.9906 5.35

42.665 21.336 = −2.0033 = −1.9996 −10.65 21.336 usw. Der Eigenwert ist etwa −2. Dies ist der Eigenwert von (A−2.5)−1 , und der entsprechende Eigenwert von A wird aus der Gleichung (λ − 2.5)−1 ≈ −2 bestimmt, d.h. λ ≈ 2. Die normalisierten Vektoren sind v0 = v4 =





0.707 0.707



0.7105 −0.7036



v1 =



v5 =

−0.316 0.948





−0.7064 0.7078

v2 = 



v6 =

0.789 −0.613 



0.7072 −0.7069

v3 = 



−0.68 0.723

v7 =





−0.70707 0.70713



Beachten Sie, dass die Vektoren in einem strikten Sinne nicht konvergieren, weil die Vorzeichen oszillieren. Dies ist die Zweideutigkeit der Normalisierung, die wir am Ende des Beweises des Satzes 10.29 erw¨ahnt haben. Wenn man die Normalisierung so festlegt, dass die erste von Null verschiedene Koordinate positiv ist, dann sind die approximierende Eigenvektoren

v0 = v4 =





0.707 0.707



0.7105 −0.7036

v1 = 



v5 =

0.316 −0.948





0.7064 −0.7078

v2 = 



0.789 −0.613

v6 =





0.7072 −0.7069

v3 = 

mit Eigenwert λ2 = 2. Die Konvergenz ist ziemlich schnell, die Rate ist 1 5−2.5 1 2−2.5

=

1 |2 − 2.5| = |5 − 2.5| 5



0.68 −0.723

v7 =

und sie konvergieren gegen den genauen Eigenvektor √     1/ √2 0.707 ≈ −1/ 2 −0.707







0.70707 −0.70713



291

Numerik I. Version: 24.06.08 Falls p = 3 ausgew¨ahlt wurde, erh¨alt man eine langsamere Konvergenz: (A − 3)−1 = Die Iteration (mit u0 = u1 =



u4 =

−1

=





 

0 1

u5 =

u2 = 

−0.31 0.37







−1/2 1/2 u1 = 1 0



u6 =





0.335 u8 = u9 = −0.328 und die Verh¨altnisse der ersten Koordinaten sind 1/2 =∞ 0

0 =0 1

−1/2 1/2 1 0



1 ) liefert 1



0.37 −0.25

0 1 2 1

 

−1/2 1/2 u0 = 1 0 



−0.25 = −0.5 1/2

0.343 −0.312





1/2 0



−0.332 0.335



u3 =

u7 =



0.37 = −1.48 −0.25





−0.25 0.5

−0.328 0.343





−0.31 = −0.83 0.37

−0.328 0.335 −0.332 0.343 = −1.1 = −0.95 = −1.02 = −0.99 −0.31 0.343 −0.328 −0.335 usw. Der Eigenwert ist etwa −1. Dies ist der Eigenwert von (A − 3)−1 , und der entspre-

chende Eigenwert von A wird aus der Gleichung (λ − 3)−1 ≈ −1 bestimmt, d.h. λ ≈ 2. Die normalisierten Vektoren sind v0 = 



0.707 0.707 



v1 = 

 

0 1

−0.64 0.74 v6 = 0.76 −0.67 Die Rate der Konvergenz ist

v5 =

v2 =



 

v7 =

v3 =





v8 =

1 0



1 5−3 1 2−3

−0.69 0.723

−0.44 0.89 



v4 =

0.715 −0.698





0.83 −0.55 v9 =





−0.702 0.711

1 = , 2

also langsamer als in den F¨allen p = 0 oder p = 2.5.

10.4

QR-Verfahren

Sei die n × n Matrix A diagonalisierbar A = V DV −1 . Der Einfachheit halber nehmen wir an, dass alle Eigenwerte einfach sind. Das Ziel ist, die ¨ Matrix A mit einer Folge der Ahnlichkeitstransformationen auf Diagonalform zu bringen: A =: A(0) −→ A(1) −→ A(2) −→ . . .



292

Numerik I. Version: 24.06.08 mit A(k+1) = Sk−1 A(k) Sk ,

Sk

regul¨ar

Dann gilt σ(A(k) ) = σ(A), Definiere



∀k

Tk := S1 . . . Sk dann gilt 

A(k) = S1 . . . Sk

−1 



−1



A S 1 . . . Sk = S 1 . . . Sk

V

−1





V DV −1 S1 . . . Sk = Tk DTk−1

Nehmen wir an, dass die Matrizen Sk so gew¨ahlt werden k¨onnen, dass die Folge A(k) gegen eine Diagonalmatrix konvergiert. Dann enth¨alt diese Diagonalmatrix die Eigenwerte von A ¨ wegen der Ahnlichkeit von A(k) und D. Wie stabil ist dieses Verfahren gegen¨ uber kleinen St¨orungen in der Matrix A(k) ? Wegen der Absch¨atzung (10.13) h¨angt dies von der Konditionszahl κ(Tk ) ab, und κ(Tk ) ≤ κ(S1 ) . . . κ(Sk )κ(V ). Dieses Produkt entspricht auch der schlimmsten relativen Fehlervergr¨oßerung w¨ahrend des Verfahrens, da die Matrix Tk iterativ berechnet wurde. Diese Fehlervergr¨oßerung wird am kleinsten, falls alle Sj -Matrizen orthogonal sind. Die Konditionszahl κ(V ) h¨angt von der urspr¨ unglichen Matrix ab (auch bei der besten Wahl von V , siehe (10.15)). Mit der Wahl der orthogonalen Matrizen Sj wird die Instabilit¨at der Bestimmung der Eigenwerte nicht h¨oher als die Kondition der theoretischen Aufgabe (gegeben durch (10.13)). Es gibt verschiedene Methoden f¨ ur die Bestimmung der Matrizen Sk . Eine theoretisch sehr sch¨one Methode ist das sogenannte Jacobi-Verfahren f¨ ur symmetrische Matrizen, das GivensRotationsmatrizen (7.25) als Sk benutzt. Es ist einfach zu sehen, dass man mit einer guten Wahl der Givensmatrix Sk ein beliebiges nichtdiagonales Element aij (i 6= j) der Matrix A(k−1) annullieren kann.

(k−1)

Sk A

Skt



(k−1)

a11  .  .. 

= Sk  

...  .. .

... (k−1)

aij

(k−1)

a1n .. .

... .. .



   t  Sk  



(k)



... .. .

a11  .  ..

= 

(k)



. . . a1n ..  .  0

... .. .

  

= A(k)

293

Numerik I. Version: 24.06.08

Im n¨achsten Schritt kann dieses annullierte Element wieder verschieden von Null sein (im Gegensatz zum Verfahren der LR- oder QR-Zerlegung, wo man immer mehr Elemente annulliert). Jedoch gilt die Absch¨atzung:

X i6=j

(k)

[aij ]2 ≤

X

(k−1) 2

[aij

]

i6=j

(k−1)

Also wenn man immer das betragm¨aßig gr¨oßte Element aij

annulliert, konvergieren alle

nichtdiagonalen Elemente gegen Null, d.h. im Limes ist eine Diagonalmatrix erreicht. Man kann dar¨ uber mehr in Kapitel 13.4. des Buches von Plato lesen. Hier besch¨aftigen wir uns mit der einfachsten Variante der leistungsf¨ahigsten Methode: Das QR Verfahren. Der Algorithmus ist u ¨ berraschend einfach: Berechnen Sie die QR-Zerlegung von A = A(0) : A(0) =: Q0 R0 dann definieren Sie A(1) := R0 Q0 . Berechnen Sie jetzt die QR-Zerlegung von A(1) : A(1) = Q1 R1 und definieren A(2) := R1 Q1 . Im m-ten Schritt berechnen Sie die QR-Zerlegung von A(m) : A(m) = Qm Rm und definieren Sie A(m+1) := Rm Qm . Alle diese Matrizen sind a¨hnlich, da 



A(m+1) = Rm Qm = Qtm Qm Rm Qm = Qtm A(m) Qm .

(10.23)

Tatsache ist, dass in vielen F¨allen die Folge A(m) gegen eine Diagonalmatrix (falls A symmetrisch ist) oder eine Dreiecksmatrix (falls A nichtsymmetrisch ist) konvergiert. Zum Beispiel gilt der folgende Satz f¨ ur symmetrische Matrizen:

294

Numerik I. Version: 24.06.08 Satz 10.34 Sei A symmetrisch mit Eigenwerten λ1 , . . . , λn , so dass |λ1 | > |λ2 | > . . . > |λn | > 0.

(10.24)

Dann gilt lim Qm = I

m→∞

lim Pm = Q,

mit Pm := Q0 Q1 . . . Qm

m→∞

wobei die Spalten von Q die (normalisierte) Eigenvektoren von A enthalten und 

lim A(m) = lim Rm = Λ :=  

m→∞

m→∞

λ1

..



. λn

 .

(10.25)

Die Geschwindigkeit der Konvergenz gegen die Diagonalmatrix ist exponentiell und ist durch (k)

 λ k  i

aij = O

gegeben.

f¨ur i > j

λj

Mit einer genaueren Analyse kann man beweisen, dass das Verfahren im Fall der symmetrischen Matrizen auch f¨ ur mehrfache Eigenwerte λi = . . . = λj konvergiert. Falls hingegen λi = −λi+1 , so konvergiert das Verfahren nicht und 2 × 2 Bl¨ocke bleiben in der Diagonale der Limesmatrix stehen.

Ohne die Symmetrie der Matrix gilt derselbe Satz, aber statt (10.25) steht    

lim A(m) = m→∞ lim Rm = Λ :=  m→∞

λ1

∗ λ2

∗ ∗ .. .

... ...



∗ ∗   , ..  .  λn

d.h. die Folge der Matrizen A(m) konvergiert gegen eine obere Dreiecksmatrix mit den Eigenwerten von A auf der Diagonale (Beweis: Platos Buch, Theorem 13.26). Dies liefert die Schur-Zerlegung. Beachten Sie, dass die Bedingung (10.24) f¨ ur reelle (nicht-symmetrische) Matrizen mit komplexen Eigenwerten nicht erf¨ ullt ist. Mittels reeller Verfahren (Multiplikation mit reellen Matrizen) kann man keine komplexen Eigenwerte auf der Diagonale erreichen. In diesen Fall ist das Ziel, gegen eine Matrix zu konvergieren, die entlang der Diagonale m¨oglicherweise auch 2 × 2 Bl¨ocke enth¨alt und in den meisten F¨allen gilt diese Konvergenz. Wie bei den

Potenzverfahren (Bemerkung 10.32), kann man auch beim QR-Verfahren diese Symmetrie mit einer Verschiebung brechen: Statt der Matrix A betrachtet man A − cI mit einer Konstante

295

Numerik I. Version: 24.06.08

c. Die Wahl dieser Konstante ist theoretisch fast beliebig: Fast jede Wahl wird die Symmetrie brechen. Um die Symmetrie der zwei komplexen Eigenwerte zu brechen, muss man nat¨ urlich eine komplexe Zahl mit Im(c) 6= 0 w¨ahlen.

(Partieller Beweis) des Satzes 10.34. (siehe z.B. Deuflhard-Hohmann: Numerische Mathe-

matik I, Satz 5.10, f¨ ur den ganzen Beweis). Seien v1 , . . . vn die Eigenvektoren von A. Der Einfachheit halber nehmen wir an, dass A regul¨ar ist und

 

1

e1 · v1 6= 0,

mit e1 =

0    ..  .

0

Mit Pm := Q0 Q1 . . . Qm gilt Pm A(m+1) = APm

(10.26)

aus dem Algorithmus und Pm Rm = Pm−1 Qm Rm = Pm−1 A(m) = APm−1 . Multiplizieren wir diese Matrix mit e1 : (m)

Pm Rm e1 = r11 Pm e1 = APm−1 e1 , da Rm obere Dreiecksmatrix ist. Sei y0 := e1 ,

ym := Pm e1 ,

dann ist kym k = kPm e1 k = 1, weil Pm orthogonal ist. Dar¨ uber hinaus gilt (m)

(m)

kAym−1 k = kr11 Pm e1 k = r11 (m)

(r11 > 0 wegen der Vorzeichenkonvention in der QR-Zerlegung!). Deshalb ym =

Aym−1 → ±v1 kAym−1 k

aufgrund des Potenzverfahrens (Satz 10.29). Die informelle Notation → ±v1 bedeutet, dass die

H¨aufungspunkte der Folge ym die Vektoren v1 und −v1 sind. Damit konvergiert Aym − λ1 ym

gegen Null, d.h.

Aym − λ1 ym = APm e1 − λ1 Pm e1 = Pm (A(m+1) e1 − λn e1 ) → 0 mit der Anwendung von (10.26). Deswegen A(m+1) e1 → λ1 e1

296

Numerik I. Version: 24.06.08 d.h. (m+1)

a11

(m+1)

→ λ1 ,

ai1

→ 0,

(i ≥ 2)

falls m → ∞. Die Geschwindigkeit der Konvergenz ist O(|λ2 /λ1 |m ) wie beim Potenzverfahren.

Dieses Argument zeigt nur die Konvergenz der ersten Spalte; die Idee ist ¨ahnlich f¨ ur die

anderen. Da alle Iterationsmatrizen symmetrisch sind (das Sandwiching (10.23) ¨andert die Symmetrie nicht), folgt unmittelbar auch die Elimination der ersten Zeile aus der Elimination der ersten Spalte. 2 Es gibt viele Verfeinerungen des QR-Verfahrens, die sich z. B. mit mehrfachen Eigenwerten besch¨aftigen. Eine der wichtigsten Ideen ist, die Matrix A zuerst mit Householder- (oder Givens-) Transformationen in eine Hessenbergmatrix umzuformen. Eine obere Hessenbergmatrix besitzt die Form:





∗ ... ... ... ∗ ∗ ∗ ∗    ..  .. 0 . . ∗  ..    .. . . .. .. . . . . . 0 ... 0 ∗ ∗

Es ist einfach zu sehen, dass jede Matrix durch “Sandwiching” mit (n−2) Householdermatrizen in eine Hessenbergmatrix umgeformt werden kann: 

 



Hn−2 Hn−3 . . . H1 A H1 . . . Hn−2 = Hessenberg

Beachten Sie: dieses Verfahren ist ganz unterschiedlich zur QR-Zerlegung durch Householder¨ Matrizen, wobei keine Ahnlichkeitstransformation gefordert wurde, d.h. nur Linksmultiplikationen mit Householder-Matrizen aufgetreten sind. Im Fall der symmetrischen Matrizen f¨ uhrt die Hessenberg-Form zu einer tridiagonalen Form (die Symmetrieeigenschaft bleibt nach dem Householder-Sandwiching erhalten, da H = H t = H −1 ist). Man kann zeigen, dass die tridiagonale Gestalt der urspr¨ unglichen Matrix A auch f¨ ur alle iterierten Matrizen A(1) , A(2) , . . . gilt. Damit sind die ben¨otigten QR-Zerlegungen wenig aufwendig. Weitere Details werden in Numerik II. diskutiert.