Beruflich Dokumente
Kultur Dokumente
1 Newton-Verfahren
2 Division
1 Newton-Verfahren
2 Division
𝑋𝑋 ⊂ ℝ → 𝑌𝑌 ⊂ ℝ
𝑓𝑓: � .
𝑥𝑥 ↦ 𝑦𝑦
1
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 1
2
Gesucht: Nullstelle
1
𝑥𝑥 + 1 = 0
2
Lösung:
𝑥𝑥0 = −2
𝑡𝑡
𝑥𝑥0 = −
𝑚𝑚
Beweis: Übung
1 𝑥𝑥0 = −1
𝑥𝑥0 = −1, 𝑥𝑥1 = 𝑓𝑓 𝑥𝑥0 = 0
2
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 9
Nullstellen
Lösung: multiplizieren
−𝑏𝑏 ± 𝑏𝑏 2 − 4𝑎𝑎𝑎𝑎
𝑥𝑥0,1 = Aber nicht
2𝑎𝑎
dividieren
Wurzel bilden
Numerische Lösung
Kein Problem, bei Fließkommazahlen: Sind auch nur genau bis auf einen Fehler
𝑥𝑥�0 = −2
Fehler 𝑓𝑓 𝑥𝑥�0 𝑥𝑥
𝑓𝑓 𝑥𝑥�0 =2 𝑥𝑥�0 = −2
9 𝑓𝑓 𝑥𝑥�0 =2
𝑥𝑥�1 = −
7
Fehler 𝑓𝑓 𝑥𝑥�1
𝑓𝑓(𝑥𝑥)
𝑓𝑓 𝑥𝑥�1 ≈ 0,41
𝑓𝑓 𝑥𝑥�1 ≈ 0,41
Verbesserung, denn:
𝑥𝑥
𝑥𝑥
2. Nullstelle 𝑥𝑥�2 von 𝑙𝑙1 (𝑥𝑥) bestimmen
𝑥𝑥�2
Hoffnung: Fehler ist besser, d.h. 𝑓𝑓 𝑥𝑥�2 <
9
𝑓𝑓 𝑥𝑥�1 𝑥𝑥�1 = −
7
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 18
Nullstellen – Newton Verfahren – Beispiel – 2. Iteration
𝑦𝑦
Gegeben: 𝑙𝑙1 (𝑥𝑥)
4 2 2 2
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 𝑥𝑥 −
5 5 5
9
𝑥𝑥�1 = −
7
𝑓𝑓(𝑥𝑥)
Frage: Wie lautet 𝑙𝑙1 𝑥𝑥 = 𝑚𝑚1 𝑥𝑥 + 𝑡𝑡1 ?
Antwort: 𝑥𝑥
58 422
𝑙𝑙1 𝑥𝑥 = − 𝑥𝑥 −
�35 245 𝑥𝑥�2
𝑚𝑚1 𝑡𝑡1
9
𝑥𝑥�1 = −
7
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 19
Nullstellen – Newton Verfahren – Beispiel – 2. Iteration
𝑦𝑦
Gegeben: 𝑙𝑙1 (𝑥𝑥)
58 422
𝑙𝑙1 𝑥𝑥 = − 𝑥𝑥 −
�35 245
𝑚𝑚1 𝑡𝑡2
211
𝑥𝑥�2 = −
203
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 20
Nullstellen – Newton Verfahren – Beispiel – 3. Iteration
𝑦𝑦
211
𝑥𝑥�2 = − ≈ 1,04 ist schon ziemlich
203
genau
Die exakte Nullstelle ist bei 𝑥𝑥0 = −1
211
𝑥𝑥�2 = −
203
Gegeben: 𝑦𝑦
𝑓𝑓(𝑥𝑥)
4 2 2 2
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 𝑥𝑥 −
5 5 5
211
𝑥𝑥�2 = −
203
𝑥𝑥
Frage: Wie lautet 𝑙𝑙2 𝑥𝑥 = 𝑚𝑚2 𝑥𝑥 + 𝑡𝑡2 ?
Antwort:
1282 260502
𝑙𝑙2 𝑥𝑥 = − 𝑥𝑥 − 211 𝑙𝑙2 (𝑥𝑥)
1015 206045 𝑥𝑥�2 = −
𝑚𝑚2 𝑡𝑡2 203
Gegeben: 𝑦𝑦
1282 260502 𝑓𝑓(𝑥𝑥)
𝑙𝑙2 𝑥𝑥 = − 𝑥𝑥 −
1015 206045
𝑚𝑚2 𝑡𝑡2
130251 𝑦𝑦
𝑥𝑥�2 = − ≈ −1,001 ist schon
130123 𝑓𝑓(𝑥𝑥)
ziemlich genau
𝑙𝑙2 (𝑥𝑥)
𝒊𝒊 𝟎𝟎 𝟏𝟏 𝟐𝟐 𝟑𝟑
𝑥𝑥�𝑖𝑖 −2 −1,29 −1,04 −1,001
𝑓𝑓 𝑥𝑥�𝑖𝑖 2 0,41 0,049 0,0012
Somit
𝑡𝑡𝑖𝑖 = 𝑓𝑓 𝑥𝑥�𝑖𝑖 − 𝑓𝑓 ′ 𝑥𝑥�𝑖𝑖 𝑥𝑥𝑖𝑖 (3)
𝑥𝑥
𝑥𝑥�𝑖𝑖
(3) in 𝑙𝑙𝑖𝑖 𝑥𝑥 = 𝑚𝑚𝑖𝑖 𝑥𝑥 + 𝑡𝑡𝑖𝑖
𝑙𝑙𝑖𝑖 (𝑥𝑥)
𝑙𝑙𝑖𝑖 𝑥𝑥 = 𝑓𝑓 ′ 𝑥𝑥�𝑖𝑖 𝑥𝑥 + 𝑓𝑓 𝑥𝑥�𝑖𝑖 − 𝑓𝑓 ′ 𝑥𝑥�𝑖𝑖 𝑥𝑥�𝑖𝑖
𝑚𝑚𝑖𝑖 𝑡𝑡𝑖𝑖
Algorithmus: Newton-Verfahren
Setze 𝑖𝑖 ← 0
Setze 𝑖𝑖 ← 𝑖𝑖 + 1
Ausgabe: 𝑥𝑥�𝑖𝑖
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 30
Nullstellen – Newton Verfahren – Verallgemeinerung –
Beispiel
Beispiel:
4 2 2 2
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 𝑥𝑥 − ,
5 5 5
8 2
𝑓𝑓 ′ 𝑥𝑥 = 𝑥𝑥 + ,
5 5
𝑥𝑥�0 = 1,
4
𝑓𝑓 𝑥𝑥�0 = ≥ 𝜀𝜀 = 0,01
5
4
𝑓𝑓 𝑥𝑥0 5 3
𝑥𝑥�1 = 𝑥𝑥�0 − ′ =1− =
𝑓𝑓 𝑥𝑥0 2 5
4 2 2 2
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 𝑥𝑥 − ,
5 5 5
8 2
𝑓𝑓 ′ 𝑥𝑥 = 𝑥𝑥 + ,
5 5
3
𝑥𝑥�1 = ,
5
16
𝑓𝑓 𝑥𝑥�1 = ≈ 0,128 ≥ 𝜀𝜀 = 0,01
125
16
𝑓𝑓 𝑥𝑥1 3 125 43
𝑥𝑥�2 = 𝑥𝑥�1 − = − 34 = ≈ 0,506
𝑓𝑓 ′ 𝑥𝑥1 5 85
25
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 32
Nullstellen – Newton Verfahren – Verallgemeinerung –
Beispiel
Beispiel:
4 2 2 2
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 + 𝑥𝑥 − ,
5 5 5
8 2
𝑓𝑓 ′ 𝑥𝑥 = 𝑥𝑥 + ,
5 5
43
𝑥𝑥�2 = ,
85
256
𝑓𝑓 𝑥𝑥�2 = ≈ 0,0071 < 𝜀𝜀 = 0,01
36125
43
Ausgabe: 𝑥𝑥�2 = ≈ 0,506
85
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 33
Nullstellen – Newton Verfahren – Verallgemeinerung –
Probleme
Algorithmus: Newton-Verfahren Problem bei schlechtem Startwert:
Setze 𝑖𝑖 ← 𝑖𝑖 + 1
Ausgabe: 𝑥𝑥�𝑖𝑖
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 34
Nullstellen – Newton Verfahren – Verallgemeinerung –
Probleme
Algorithmus: Newton-Verfahren Problem, falls 𝑓𝑓 ′ 𝑥𝑥 = 0
Setze 𝑖𝑖 ← 𝑖𝑖 + 1
Ausgabe: 𝑥𝑥�𝑖𝑖
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 35
Nullstellen – Newton Verfahren – Verallgemeinerung –
Konvergenz
Konvergenzgeschwindigkeit: Wie viele Iterationen braucht man bis zur Nullstelle?
Nullstelle 𝑥𝑥0
Approximation 𝑥𝑥�𝑖𝑖
Abstand zur echten Nullstelle: 𝜀𝜀𝑖𝑖 = |𝑥𝑥�𝑖𝑖 − 𝑥𝑥0 | < 1
1 Newton-Verfahren
2 Division
Division:
𝑎𝑎
div 𝑎𝑎, 𝑏𝑏 =
𝑏𝑏
umschreiben:
1
div 𝑎𝑎, 𝑏𝑏 = 𝑎𝑎 ⋅ = 𝑎𝑎 ⋅ inv(𝑏𝑏)
𝑏𝑏
mit
1
inv 𝑏𝑏 =
𝑏𝑏
Somit: Multiplikatives inverses Element inv 𝑏𝑏 berechnen
Betrachte:
1
𝑓𝑓𝑏𝑏 𝑥𝑥 = − 𝑏𝑏 = 𝑥𝑥 −1 − 𝑏𝑏
𝑥𝑥
1
Antwort: 𝑥𝑥0 = = 𝑏𝑏 −1 = inv 𝑏𝑏
𝑏𝑏
1
Idee: Benutze Newton Iteration auf der Funktion 𝑓𝑓𝑏𝑏 𝑥𝑥 um zu bestimmen
𝑏𝑏
1 1
Algorithmus: Bestimmen von Beispiel berechnen: 𝑏𝑏 = 4
𝑏𝑏 4
1 1
Algorithmus: Bestimmen von Beispiel berechnen: 𝑏𝑏 = 4
𝑏𝑏 4
1 1
Algorithmus: Bestimmen von Beispiel berechnen: 𝑏𝑏 = 4
𝑏𝑏 4
2
0 < 𝑥𝑥�0 <
𝑏𝑏
2
Es muss gelten 0 < 𝑥𝑥�0 <
𝑏𝑏
2 2
0 < 𝑥𝑥�0 < min , =1
2 1
Wenn der Startwert 0 < 𝑥𝑥�0 < 1 dann bekommen wir ein Ergebnis
Was macht man mit 𝑏𝑏s, für die nicht gilt: 1 < 𝑏𝑏 < 2
Inverse:
1 1
= 𝑒𝑒
𝑏𝑏 2 ⋅ 𝑚𝑚
1 1
= 𝑒𝑒 ⋅ 0
2 2 ⋅ 𝑚𝑚
𝑏𝑏 = 20 𝑚𝑚 ist eine Fließkommazahl für die gilt
1 < 20 𝑚𝑚 < 2
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 48
Division – Newton-Iteration – Startwert
1 1
Algorithmus: Bestimmen von Algorithmus: Bestimmen von
𝑏𝑏 𝑐𝑐
Setze 𝑏𝑏 ← 20 𝑚𝑚
Setze 𝑖𝑖 ← 0 Setze 𝑖𝑖 ← 0
𝑥𝑥�𝑖𝑖−1 − 𝑏𝑏 ≥ 𝜀𝜀
1 1
Algorithmus: Bestimmen von Algorithmus: Bestimmen von
𝑐𝑐 𝑐𝑐
Setze 𝑏𝑏 ← 20 ⋅ 𝑚𝑚 Setze 𝑏𝑏 ← 20 𝑚𝑚
Setze 𝑖𝑖 ← 0 Setze 𝑖𝑖 ← 0
Setze 𝑏𝑏 ← 20 𝑚𝑚 𝑏𝑏 = 𝑚𝑚 = 1,5, 𝑒𝑒 = 1
𝑖𝑖 𝑥𝑥�𝑖𝑖 𝑝𝑝 = |1 − 𝑏𝑏𝑥𝑥�𝑖𝑖 | 𝑞𝑞 = 𝜀𝜀 𝑥𝑥�𝑖𝑖 𝑝𝑝 < 𝑞𝑞
Setze Startwert 𝑥𝑥�0 ← (0. . 1)
0 0.5 .25 0.5 ⋅ 10−3 Nein
Setze 𝑖𝑖 ← 0 1 0.625 0.625 ⋅ 10−1 0.625 ⋅ 10−3 Nein
2 0.6640625 0.390625 ⋅ 10−2 0.6640625 ⋅ 10−3 Nein
Solange 1 − 𝑏𝑏𝑥𝑥�𝑖𝑖 ≥ 𝜀𝜀 𝑥𝑥�𝑖𝑖 ,
3 0.6666564941 0.152588 ⋅ 10−4 0.6666564941 ⋅ 10−3 Ja
Setze 𝑥𝑥�𝑖𝑖+1 ← 𝑥𝑥�𝑖𝑖 2 − 𝑥𝑥�𝑖𝑖 𝑏𝑏
Setze 𝑖𝑖 ← 𝑖𝑖 + 1 1
≈ 2−𝑒𝑒 ⋅ 𝑥𝑥�3 = 0.6666564941 ⋅ 2−1
𝑐𝑐
Ausgabe: −1 𝑠𝑠 ⋅ 2−𝑒𝑒 ⋅ 𝑥𝑥�𝑖𝑖+1
= 0.3333282470
07Fliesskommadivision.pptx, 1.1, © 2018 – 2024, Prof. Dr.-Ing. Quirin Meyer Rechnerarchitekturen 53
Division – Newton-Iteration – Realität
Startwerte:
Je besser der Startwert, um so weniger Iteration
Prozessoren haben Tabelle, sodass für 32-Bit Float 3 Iterationen ausreichen
CPU Instruktion für Startwert:
Entwickler kann Ergebnisgenauigkeit durch Anzahl der Iterationen selber
steuern
1 1
Inverse Wurzel: : Finde Nullstelle von 𝑓𝑓 𝑥𝑥 = − 𝑎𝑎
𝑎𝑎 𝑥𝑥 2
Wurzel?
return y;
}