Zum Hauptinhalt springen

2.2 Kondition des Nullstellenproblems

📄 Folie 2

Frage: ff ist am Rechner nie exakt bekannt. Rundung, Messfehler (z.B. die Rate rr im Zins-Beispiel) oder eine ungenaue Auswertung liefern stattdessen ein gestörtes f~\tilde f. Wie weit liegt die Nullstelle x~∗\tilde x^* von f~\tilde f von der wahren Nullstelle x∗x^* weg?

Das ist eine Frage an das Problem, nicht an ein Verfahren (siehe Kondition in Kapitel 0). Kein Verfahren kann x∗x^* genauer finden, als die Kondition erlaubt.

Voraussetzungen (Folie 2, Tafel)​

Eingabef∈Cmf\in C^m, x∗x^* ist mm-fache Nullstelle: f(x∗)=f′(x∗)=⋯=f(m−1)(x∗)=0f(x^*)=f'(x^*)=\dots=f^{(m-1)}(x^*)=0, f(m)(x∗)≠0f^{(m)}(x^*)\neq0
Störung∣f~(x)−f(x)∣≤ε\big\lvert\tilde f(x)-f(x)\big\rvert\le\varepsilon für alle xx
GesuchtSchranke für ∣x~∗−x∗∣\lvert\tilde x^*-x^*\rvert, wobei f~(x~∗)=0\tilde f(\tilde x^*)=0

Man arbeitet hier mit dem absoluten Fehler: Wegen f(x∗)=0f(x^*)=0 ist ein relativer Fehler im Bild von ff nicht sinnvoll (Division durch 0).

Herleitung (Tafel)​

Schritt 1. x~∗\tilde x^* ist Nullstelle von f~\tilde f. Also ist ff dort höchstens ε\varepsilon groß:

∣f(x~∗)∣=∣f(x~∗)−f~(x~∗)⏟=0∣≤ε.|f(\tilde x^*)|=|f(\tilde x^*)-\underbrace{\tilde f(\tilde x^*)}_{=0}|\le\varepsilon.

Schritt 2. Taylor-Entwicklung von ff um x∗x^* mit Lagrange-Restglied. Die ersten mm Terme verschwinden, weil x∗x^* mm-fache Nullstelle ist:

f(x~∗)=f(x∗)⏟0+f′(x∗)⏟0(x~∗−x∗)+⋯+f(m)(ξ)m!(x~∗−x∗)m,ξ zwischen x∗ und x~∗.f(\tilde x^*)=\underbrace{f(x^*)}_{0}+\underbrace{f'(x^*)}_{0}(\tilde x^*-x^*)+\dots+\frac{f^{(m)}(\xi)}{m!}(\tilde x^*-x^*)^m,\qquad\xi\text{ zwischen }x^*\text{ und }\tilde x^*.

Schritt 3. Einsetzen in Schritt 1 und nach ∣x~∗−x∗∣|\tilde x^*-x^*| auflösen:

∣f(m)(ξ)∣m! ∣x~∗−x∗∣m≤ε⟹  ∣x~∗−x∗∣≤(ε⋅m!∣f(m)(ξ)∣)1/m≈(ε⋅m!∣f(m)(x∗)∣)1/m  \frac{|f^{(m)}(\xi)|}{m!}\,|\tilde x^*-x^*|^m\le\varepsilon \quad\Longrightarrow\quad \boxed{\;|\tilde x^*-x^*|\le\left(\frac{\varepsilon\cdot m!}{|f^{(m)}(\xi)|}\right)^{1/m}\approx\left(\frac{\varepsilon\cdot m!}{|f^{(m)}(x^*)|}\right)^{1/m}\;}

(Für x~∗\tilde x^* nahe x∗x^* ist f(m)(ξ)≈f(m)(x∗)f^{(m)}(\xi)\approx f^{(m)}(x^*).)

Folgerungen​

Einfache Nullstelle (m=1m=1)​

∣x~∗−x∗∣≲ε∣f′(x∗)∣.|\tilde x^*-x^*|\lesssim\frac{\varepsilon}{|f'(x^*)|}.

Der Fehler ist proportional zu ε\varepsilon, die Konditionszahl ist 1/∣f′(x∗)∣1/|f'(x^*)|. Gut konditioniert, solange ff die xx-Achse nicht zu flach schneidet. Anschaulich: Verschiebt man den Graphen um ε\varepsilon nach oben/unten, wandert der Schnittpunkt um ε/Steigung\varepsilon/\text{Steigung}.

Mehrfache Nullstelle (m>1m>1)​

∣x~∗−x∗∣∼εm  ≫  ε.|\tilde x^*-x^*|\sim\sqrt[m]{\varepsilon}\;\gg\;\varepsilon.

Tafel: Für m>1m>1 ist εm\sqrt[m]\varepsilon viel größer als ε\varepsilon ⇒ das Problem ist schlecht konditioniert. Zahlenbeispiel aus dem Aufschrieb:

ε=10−16,  m=4⇒10−164=10−4.\varepsilon=10^{-16},\;m=4\quad\Rightarrow\quad\sqrt[4]{10^{-16}}=10^{-4}.

Von 16 Stellen Genauigkeit in ff bleiben nur 4 Stellen in der Nullstelle. Allgemein bleiben etwa 16/m16/m Stellen übrig.

Vielfachheit mFehler der Nullstelle ≈ ε1/mgültige Dezimalstellen
11.0e-16≈ 16
21.0e-8≈ 8
34.6e-6≈ 5
41.0e-4≈ 4
56.3e-4≈ 3
62.2e-3≈ 2
Beispiel f(x) = (x − 1)m, gestört zu f(x) − ε: Die Nullstelle wandert von 1 nach 1 + ε1/m.
Anschaulich

Bei einer mehrfachen Nullstelle berührt ff die Achse nur (oder schneidet sie sehr flach, z.B. (x−1)3(x-1)^3). Ein kleines Anheben des Graphen um ε\varepsilon verschiebt den Schnittpunkt dann weit. Bei m=2m=2 (Berührpunkt) kann die Nullstelle sogar ganz verschwinden oder sich in zwei aufspalten.

Konsequenz für Newton​

Das ist keine Schwäche eines Verfahrens, sondern eine Grenze des Problems. Im Newton-Abschnitt sieht man das konkret: Für f(x)=π2−x−cos⁡xf(x)=\frac\pi2-x-\cos x (dreifache Nullstelle bei π/2\pi/2) bleibt Newton in double bei einem Fehler von ≈7⋅10−6\approx7\cdot10^{-6} stehen. Die Formel mit m=3m=3, ∣f′′′(π/2)∣=1|f'''(\pi/2)|=1, m!=6m!=6 und ε≈eps\varepsilon\approx\text{eps} sagt (6 eps)1/3≈9⋅10−6(6\,\text{eps})^{1/3}\approx9\cdot10^{-6} voraus. Das ist genau die Größenordnung.