Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu...
Transcript of Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu...
![Page 1: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/1.jpg)
Beispiel: f(x) = 1 - cos(x) für x ≈ 0:
f(x) ist wieder gut konditioniert bei 0, da
Aber bei 0 ist cos(x) nahe bei 1 wieder Auslöschung!
66
0,2)2/1(1)cos(1
)sin(2
2
x
x
x
x
xx
f
fxcond x
In MATLAB: 1 - cos(10^(-8)) ergibt 0;
und mit cos(10^(-3)) = 0.99999950000004
verliert man bei der Differenz 6 signifikante Stellen
![Page 2: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/2.jpg)
67
Anderer Berechnungsweg:
1 - cos(x) = 2 sin2(x/2)
!6!42
)!6!42
1(1)cos(1642642 xxxxxx
x
oder Reihenentwicklung des Cosinus
1 – cos(x) für x=2π ? |𝑥𝑓′ 𝑥
𝑓 𝑥| = |
𝑥𝑠𝑖𝑛 𝑥
1 − cos 𝑥|
![Page 3: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/3.jpg)
Beispiel: y = a2 – b2 bei |a|=|b|
Anwendung der Epsilontik; seien a,b Maschinenzahlen:
Berechne erst beide Produkte, dann die Differenz.
68
3222
2
122
2
22
2
22
2 22appbay
ba
b
ba
a
ba
b
ba
a
Fehler: Eingabefehler Produktfehler Differenzfehler
Relativer Fehler:
Nun seien auch a und b fehlerhaft: a(1+a), b(1+b)
321 111 app bbaa
32
2
1
2 11)1(1)1( apbpa bbaa
![Page 4: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/4.jpg)
Andere Art der Berechnung: y = ( a – b )( a + b )
69
)1()1()1()1()1()1()1( * baba babaf
)1()21()21( *
22 ba ba
*22
2
22
2 22
ba
ba
b
ba
a
22
2
22
2
ba
a
ba
da
dya
conda
22
2
22
2
ba
b
ba
db
dyb
condb
Konditionszahlen:
,
Problem ist schlecht konditioniert für |a| |b|
Relativer Fehler in erster Näherung:
![Page 5: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/5.jpg)
Vergleich mit erstem Algorithmus:
Das neue Verfahren ist besser, da i.W. nur der
unvermeidbare Fehler (durch Eingabefehler) auftritt!
Grund: Auslöschung in a - b geringer als in a2 – b2 ,
da Fehler in a und b kleiner als in a2 und b2 .
70
![Page 6: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/6.jpg)
Zusammenfassung
Endlichkeit des Computers führt zu endlicher Menge von
Maschinenzahlen.
In jedem Schritt treten Rundungsfehler auf.
Gefährlich sind Operationen, bei denen man signifikante
Stellen verliert, wie z.B.:
- Auslöschung (Differenz fast gleicher, fehlerhafter Zahlen)
- Summe zwischen großer Zahl und sehr kleiner Zahl,
bei der die signifikanten Stellen in der kleinen
Zahl stecken (vgl. wiederholtes Wurzelziehen)
- Allgemein Operationsfolgen mit großen Zwischen-
werten und kleinen Endwerten
(vgl. exp, Teilfunktion schlecht konditioniert).71
![Page 7: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/7.jpg)
Vorsicht! Gesundes Misstrauen!
Algorithmus ist OK, wenn die Größenordnung der
relativen Fehler im Resultat ungefähr gleich der
Größenordnung der Eingabefehler bleibt.
Umformen eines numerisch instabilen Verfahrens durch
- andere Reihenfolge der Berechnung
- Anfang der Taylorentwicklung
- Trigonometrische Formeln
- algebraische Umformung (binomische F.)
- ....
- Ev. double precision rechnen, damit trotz schlechter
Kondition oder Rundungsfehler noch brauchbares
Resultat übrigbleibt.72
![Page 8: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/8.jpg)
Systematische Fehler und große Zahl der Operationen können
zu schlechten Ergebnissen führen!
(Siehe Beispiel Börsenindex)
Ev. Modellfehler gegen Rundungsfehler abwägen:
Feineres Modell Mehr Rechnung Mehr Rundungsfehler!
Man muss die optimale Balance finden!
Beispiel Übungsaufgabe Differenzenquotient.
Gesamtfehler:
73
Grob diskretisiert Optimum fein diskretisiert
Modellfehler Rundungsfehler
![Page 9: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/9.jpg)
Beispiel: Verbesserte Fehleranalyse für den numerisch
instabilen Fall großer Zwischenwerte
Zerlege Problem f(x) in zwei Schritte
y = f(x) = f2(f1(x)) = f2(z)
wobei z = f1(x) großer Zwischenwert und
y = f2(z) kleiner Endwert.
74
Daher ist Teilproblem f2(z) für diese Werte schlecht
konditioniert,
da |z / f2 (z)| groß ist!
Daher ist Gesamtverfahren nicht numerisch stabil für x.
ff1 f2
x z y
Beispiel f(a,b)=a+b. a+b+…+z = f(…f(f(a,b),c),…,z)
![Page 10: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/10.jpg)
75
Verfahren ist numerisch stabil, wenn für jede Zerlegung
in Teilprobleme f2(f1(x)) = f2(z), z = f1(x) , f2(z) stets
gut konditioniert ist! Keine großen Zwischenwerte!
Konditionszahl Gesamtproblem
Numerisch stabil Berechnungsform
![Page 11: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/11.jpg)
Genauere Analyse der numerischen Stabilität durch Bestim-
mung der Konditionszahlen und Ableitungen aller Teilschritte:
Zerlege Algorithmus in Teilprobleme f(x) = f2(f1(x)) und
berechne alle auftretenden Konditionszahlen cond(f2)!
Meist zu aufwändig oder unmöglich.
76
Epsilontik genügt für uns:
(i) (Ersetze xx(1+ε), x op y (x op y)(1+ε)
(ii) Streiche Terme höherer Ordnung in ε2, ε3, ε4, …
(iii) Bestimme damit den rel. Fehler des Resultats (f – y)/f
in erster Näherung und schätze Beträge ab nach oben
(iv) Diskutiere die einzelnen Terme.
![Page 12: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/12.jpg)
Ziel:
Erkenne aus Formel (Programm), bzw. berechneten (Zwischen)werten,
- ob das Problem gut konditioniert ist, und
- ob das verwendete Verfahren numerisch stabil ist,
- bzw. wie das Verfahren ev. verbessert werden kann.
77
Klausuraufgabe: f(x)=exp(x)-1, g(x)=1-x+x2-x3, h(x)=(1+x2)(1-cos2(x))
![Page 13: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/13.jpg)
78
Schlecht konditionierte Probleme:
- Wettervorhersage- Aktienentwicklung: Black-Scholes Gleichungen- Chaos-Theorie in dynamischen Gleichungen- …
Sprunghaft, chaotisch, parameterabhängig, selbstbezüglichBlack Swan - Effekt
Vorsicht mit Vorhersagen:“Die einzigen Vorhersagen, die wirklich zutreffen sind die, dieman nachträglich macht.”Vorsicht bei nachträglicher Bewertung von Vorhersagen!Psychologische Effekte.
![Page 14: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/14.jpg)
9
Neuronale Netze
9
Eingabe
x1
x2
x3
x4
y4
w1
w2
w3
w4
𝑦4 = 𝑤1𝑥1 + 𝑤2𝑥2+𝑤3𝑥3+𝑤4𝑥4 = 𝑤𝑇𝑥
𝑓(𝑥)
𝑦 = 𝑊𝑥 Vektor y,x; Matrix W
W1W2 W3 W4
![Page 15: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/15.jpg)
10
Anwendung
Mit bekannten Testdaten werden die Gewichte w so justiert,
dass für die Testdaten möglichst die richtigen Ergebnisse geliefert werden.
Eingabe: Bilder
Ausgabe: Panzer ist auf dem Bild ja/nein.
![Page 16: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/16.jpg)
11
Anwendung
Mit bekannten Testdaten werden die Gewichte w so justiert,
dass für die Testdaten möglichst die richtigen Ergebnisse geliefert werden.
Probleme: - welche Kriterien benutzt das Netz?
- Undurchschaubarkeit
- nur Wahrscheinlichkeiten
- ethische Klassifizierung
Erkennung von Kriminellen.
Handwerkliche Fehler!
80% kriminell?
![Page 17: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/17.jpg)
12
Anwendung
Probleme: - welche Kriterien benutzt das Netz?
- Undurchschaubarkeit
- nur Wahrscheinlichkeiten
- ethische Klassifizierung
Erkennung von sexueller Neigung.
Handwerkliche Fehler!
Wozu?
![Page 18: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/18.jpg)
3.1 Dreiecksgleichungssysteme
Beispiel: Unbekannte x1, x2, x3:
13
2.62.6
5.255.2
70710
3
32
321
x
xx
xxx
2.6
5.2
7
2.600
55.20
0710
3
2
1
x
x
x
In Matrixschreibweise:
![Page 19: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/19.jpg)
Wegen der Dreiecksform lässt sich das System leicht von
unten her auflösen:
14
;0,0777710
;1,5.255.25.2
;1;12.6/2.6
121
232
33
xalsoxx
xalsoxx
xalsox
;
1
1
0
3
2
1
x
x
x
Lösungsvektor:
Probe durch Einsetzen!
![Page 20: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/20.jpg)
Allgemein:
wird gelöst mittels Programm 3.1.1.:
15
nnnn
n
n
b
b
b
x
x
x
a
aa
aaa
2
1
2
1
222
11211
ii
n
ij jiji
i
nnnn
a
xabx
nnifür
abx
1
:1,,2,1
;/
![Page 21: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/21.jpg)
Genauso wird das untere Dreieckssystem
von oben her gelöst mit dem Programm:
16
nnnnn b
b
b
x
x
x
aa
aa
a
2
1
2
1
1
2221
11
ii
i
j jiji
ia
xabx
nifür
abx
1
1
1111
:,,3,2
;/
Wichtig: Alle , da sonst System nicht eindeutig lösbar!0iia
0)det( 2211 nnaaaA
Immer lösbar?
![Page 22: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/22.jpg)
3.2 Einschub: Rechnen mit Matrizen
Matrix
beschreibt Abbildung
x f(x) = Ax = b .
17
mn
nmn
m
aa
aa
A ,
1
111
Matrizen bilden kommutative Gruppe bzgl. +, bzw.
Invertierbare nxn-Matrizen bilden sogar Gruppe bzgl. *(aber nicht kommutativ! AB≠BA)
A–1 * A = I = Einheitsmatrix = Identität = 1
![Page 23: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/23.jpg)
Spezialfall:
18
Rba
b
b
aaban
j
jj
n
n
T
1
1
1
Matrix-Multiplikation: A * B = C
k
r
rjirij bac1
ist Skalarprodukt (Inneres Produkt) der Vektoren a und b
i
![Page 24: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/24.jpg)
19
mnn
m
m
n
T
baba
baba
bb
a
a
ba
1
111
1
1
nm
ijij
Tmn
jiji
T aaA,
1,,
,
1,,
Spiegelung an der Hauptdiagonalen
Eine invertierbare n x n–Matrix A hat vollen Rang n und det(A) ≠ 0
als Äußeres Produkt von a und b.
A = a bT ist Rang-1-Matrix, d.h. die durch A beschriebene
Abbildung f(x) hat eindimensionalen Bildraum:
f(x) = A x = (a bT ) x = (b T x ) a = r(x)*a
bildet die 2-dim. Ebene auf die Gerade durch den Vektor a ab.
![Page 25: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/25.jpg)
3.2.1. Beispiele:
Abbildung
20
2
1
2
1*
11
11
2
1)(
y
y
x
xxf
2/1
1
0
1*
11
11
2
1
2/
1
1
1
0*
11
11
2
1
Daher: und
![Page 26: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/26.jpg)
Weitere Beispiele
21
Google Page-Rank Matrix: Tabelle von Webseiten-Verlinkung:
0320
2010
1101
0010
4
3
2
1
4321
w
w
w
w
wwww
21
21
2
1
2
1
dxcx
bxax
x
x
dc
ba
y
y
Matrix beschreibt lineare Abbildung:
Bild filtern: oder eindimensional
010
141
010
8
1
210
1
1
012
1214
1
![Page 27: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/27.jpg)
3.2.2. Orthonormalbasis:
Vektoren uj , j=1,...,n mit ujTuk = 0 für j ≠ k
ujTuk = 1 für j = k
Dies sind n linear unabhängige Vektoren, also eine
Basis des Rn oder ein Koordinatensystem.
22
Norm: ||x||2 = xTx ist die euklid’sche Länge.
Eigenschaften: ||x|| > 0 für x ≠ 0
||a*x|| = |a|*||x|| für aR
||x+y|| <= ||x|| + ||y||
und
|xT y| <= ||x||*||y|| Gleichheit möglich?
![Page 28: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/28.jpg)
23
Q ist orthogonale Matrix, wenn stets
||Qx||2 =||x||2 oder xTQTQx = xTx , d.h.
QTQ = I oder Q–1 = QT
Die Spalten (Zeilen) von Q bilden eine Orthonormalbasis!
Dann ist
x = inv(A)*b = A–1 * b
Ein lineares Gleichungssystem hat entweder
eindeutige/keine/unendlich viele Lösungen! Beispiele?
nnxAxAb
,11,
Ein lineares Gleichungssystem Ax = b ist lösbar, falls
Rang(A) = Rang(A | b), d.h.
b ist durch Spalten von A darstellbar.
Denn mit der Lösung x (falls sie existiert) ist b = Ax eine
Linearkombination von Spalten von A:
![Page 29: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/29.jpg)
Exkurs: Eigenwerte und Eigenvektoren
Ein Vektor u heißt Eigenvektor zu Eigenwert λ, wenn gilt:
Richtung u beschreibt Fixgerade der Abbildung y=Ax
24
MatrixnnAuAuu ,:0
Ist A reell symmetrisch, A=AT, so gilt sogar:
Es existieren n paarweise orthogonale Eigenvektoren,
also eine Orthonormal-Basis des |Rn,
u1,…,un , Auj = λj uj , ui ┴ uj für i ≠ j, || uj || = 1
Uuuuu
AuAuuuAAU
n
nnn
nn
1
111
11
AUU TU liefert ideale Basis für A:
Tacoma Narrows/London Millenium Bridge
![Page 30: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/30.jpg)
3.3 Gauss-Elimination
3.3.1. Beispiel:
25
655
4623
70710
321
321
321
xxx
xxx
xxx
Grundidee: Zurückführung auf den bekannten Fall
eines Dreiecksgleichungssystems.
6
4
7
515
623
0710
3
2
1
x
x
x
In Matrixschreibweise:
![Page 31: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/31.jpg)
3.3.2. Erlaubte Transformationen:
- Multiplizieren einer Zeile (Gleichung) mit einer Zahl
verschieden von Null.
- Addieren eines Vielfachen einer Zeile zu einer
anderen Zeile (Gleichung).
- Vertauschen von Zeilen (Gleichungen), bzw. Spalten
(Unbekannten) (entspricht Umnummerierung).
26
Operationen sind dabei nicht nur an der Matrix durchzuführen,
sondern ev. auch an der rechten Seite (Vektor b) und dem
Lösungsvektor x!
Benutze diese Regeln, um in der Matrix die Subdiagonal-
Elemente der Reihe nach von oben nach unten, bzw.
von links nach rechts, zu Null zu machen
Dreieckssystem.
![Page 32: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/32.jpg)
Zu Eliminieren: -3
Addiere dazu zur zweiten Zeile die erste, multipliziert mit 3/10.
27
10/3
,
6
4
7
515
623
0710
3
2
1
x
x
x
|
10/5
,
6
1.6
7
515
61.00
0710
3
2
1
x
x
x
Danach soll 5 zu Null werden:
Dritte Zeile - 5/10 * Erste Zeile
Ergibt:
![Page 33: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/33.jpg)
28
1.0/5.2,
5.2
1.6
7
55.20
61.00
0710
3
2
1
x
x
x
Dieses System kann nun von unten her aufgelöst werden,
wie in Abschnitt 3.1. beschrieben.
,
155
1.6
7
15500
61.00
0710
3
2
1
x
x
xResultat:
Eliminiere 2.5 in letzter Zeile.
Lösung: ( 0 -1 1); was fällt auf?
![Page 34: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/34.jpg)
Benutze also jeweils das Diagonalelement, um die
darunter liegenden Einträge Spalte für Spalte zu
eliminieren, und zwar von a11 , a22 , bis an-1,n-1.
29
|
10/510/3
,
6
4
7
515
61.23
0710
3
2
1
x
x
x
Im Beispiel: Ersetze a22 = 2 durch a22 = 2.1
Problem: Es könnte irgendwann eine Null auf der
Diagonalen auftreten: aii=0 !!!???
Was dann?
Immer lösbar?
![Page 35: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/35.jpg)
30
.
5.2
1.6
7
55.20
600
0710
3
2
1
x
x
x
1.6
5.2
7
600
55.20
0710
3
2
1
x
x
x
Problem gelöst!
Um Fortfahren zu können, ist eine Vertauschung
notwendig, z.B. vertausche zweite Zeile mit dritter Zeile.
![Page 36: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/36.jpg)
Betrachten wir das ursprüngliche System, so sehen wir,
dass wir zwar ohne Vertauschung durchkommen, aber
der Wert -0.1 auf der Diagonalen a22 führt zu der großen
Zahl 155 in der letzten Zeile.
31
Erinnerung: Zu vermeiden sind große Zwischenwerte!
Daher ist es auch im ursprünglichen System besser, die
Vertauschung von zweiter und dritter Zeile vorzunehmen.
![Page 37: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/37.jpg)
32
5.2/1.0
1.6
5.2
7
61.00
55.20
0710
3
2
1
x
x
x
Es treten keine großen Zwischenwerte mehr auf.
2.6
5.2
7
2.600
55.20
0710
3
2
1
x
x
x
Dann lautet der letzte Eliminationsschritt
Allgemeines Vorgehen: Pivotsuche
![Page 38: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/38.jpg)
Sieht im k-ten Eliminationsschritt so aus:
33
nnnk
nkkk
kk
n
aa
aa
a
aa
00
00
0
,
1,1
111
Suche in Untermatrix ‚großen’ Eintrag und vertausche
entsprechend Zeilen und Spalten, so dass diese große
Zahl an die Diagonal-Position akk kommt.
Dieses Element heißt Pivotelement.
![Page 39: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/39.jpg)
Gebräuchlichste Variante:
3.3.3. Spaltenpivotsuche:
Durchsuche nur die Spalte von akk bis ank nach
betragsgrößtem Element ajk und vertausche dann
die gefundene Zeile j mit der k-ten Zeile.
Der Zusatzaufwand ist gering, da nur jeweils eine Spalte
durchsucht werden muss, und zwei Zeilen (Gleichungen)
vertauscht werden müssen.
Vertausche also zwei Zeilen in der Matrix und entsprechend
in der rechten Seite b.
34
![Page 40: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/40.jpg)
Weniger üblich - Zeilenpivotsuche:
Durchsuche die k-te Zeile nach betragsgrößtem Element
und vertausche zwei Spalten (= Umnummerierung in
Vektor x), so dass das betragsgrößte Element der k-ten
Zeile an die Diagonalposition kommt.
Keine Vertauschungen in b nötig!
35
Totalpivotsuche:
Durchsuche die gesamte n-k+1 x n-k+1 – Untermatrix und
vertausche sowohl Spalten, als auch Zeilen, um das betrags-
größte Element an die Diagonalposition zu versetzen.
Aufwändig! Nur sinnvoll, wenn das Gleichungssystem sehr
schlecht konditioniert ist! (Mehr dazu später)
![Page 41: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/41.jpg)
3.3.4. Umwandlung auf Dreiecksform mit
Spaltenpivotsuche:
Algorithmus der Gauss-Elimination.
1. Teil des Programms: Pivotsuche und –vertauschung
FOR k=1,...,n-1 DO
alpha = |a(k,k)|; j=k;
FOR s=k+1,...,n DO
IF |a(s,k)| > alpha THEN
alpha = |a(s,k)|; j=s;
ENDIF
ENDFOR
# Pivotelement ist a(j,k) und Pivotzeile ist j
FOR i=k,...,n DO
alpha = a(k,i); a(k,i) = a(j,i); a(j,i) = alpha;
ENDFOR
alpha = b(j); b(j) = b(k); b(k) = alpha;36
![Page 42: Beispiel: f(x) = 1 - cos(x) für x 0 · Zusammenfassung Endlichkeit des Computers führt zu endlicher Menge von Maschinenzahlen. In jedem Schritt treten Rundungsfehler auf. Gefährlich](https://reader030.fdocument.pub/reader030/viewer/2022040716/5e20b16265c92e0f4d6d88fe/html5/thumbnails/42.jpg)
2. Teil: Eigentliche Elimination
# Eliminationsschritt
FOR s=k+1,...,n DO
l(s,k) = a(s,k)/a(k,k);
b(s) = b(s) - l(s,k)b(k);
FOR i=k+1,...,n DO
a(s,i) = a(s,i) - l(s,k)a(k,i);
ENDFOR
ENDFOR
ENDFOR
37
Dadurch ist das System auf obere Dreiecksform gebracht,
und kann wie in 3.1 beschrieben einfach von unten her
gelöst werden.