Metoda Newtona

by Jerry Sky

2020-10-20



1. Metoda Newtona (metoda stycznych)

Założenia:

Warunek końca: ∣xn+1−xn∣≤δ,∣f(xn+1)∣≤ϵ|x_{n+1} - x_n| \le \delta, \enspace |f(x_{n+1})| \le \epsilon.

2. Algorytm

  1. v←f(x0)v \gets f(x_0)
  2. if ∣v∣<ϵ|v| < \epsilon:
    1. return 0,x0,v0, x_0, v
  3. for k←1k \gets 1 to MM:
    1. x1←x0−vf′(x0)x_1 \gets x_0 - \frac{v}{f'(x_0)}
    2. v←f(x1)v \gets f(x_1)
    3. if ∣x1−x0∣<δ|x_1 - x_0| < \delta or ∣v∣<ϵ|v| < \epsilon:
      1. return k,x1,vk, x_1, v
    4. x0←x1x_0 \gets x_1

Powyższy algorytm korzysta z funkcji liczących f(x)f(x) oraz f′(x)f'(x).


3. Twierdzenie o lokalnej zbieżności metody Newtona

Niech f∈C2[a,b]f \in C^2[a,b] oraz rr będzie jednokrotnym pierwiastkiem ff.
Wówczas istnieje otoczenie rr i stała CC i jeśli przybliżenie początkowe x0x_0 należy do otoczenia rr, to ciąg konstruowanych przez metodę Newtona przybliżeń {xn}\{ x_n \} spełnia ∣xn+1−r∣≤C⋅(xn−r)2. |x_{n+1} - r| \le C\cdot (x_n - r)^2.

Ponadto lim⁡n→∞xn=r\lim_{n \to \infty} x_n = r.

3.1. D-d

3.1.1. Wykładnik zbieżności

Przez błąd rozumiemy wielkość en=xn−re_n = x_n - r. en+1=xn+1−r=xn−f(xn)f′(xn)−r=en−f(xn)f′(xn)=en⋅f′(xn)−f(xn)f′(xn). e_{n+1} = x_{n+1} - r = x_n - \frac{f(x_n)}{f'(x_n)} - r = e_n - \frac{f(x_n)}{f'(x_n)} = \frac{e_n \cdot f'(x_n) - f(x_n)}{f'(x_n)}.

Rozwijamy ff w szereg Taylora w otoczeniu xnx_n: f(r)=f(xn)+f′(xn)⋅(r−xn)+12f′′(ζn)⋅(r−xn)2==f(xn)−f′(xn)en+12f′′(ζn)⋅en2 f(r) = f(x_n) + f'(x_n) \cdot (r-x_n) + \frac{1}{2} f''(\zeta_n) \cdot (r - x_n)^2 =\\ = f(x_n) - f'(x_n) e_n + \frac{1}{2} f''(\zeta_n) \cdot e_n^2 gdzie ζn\zeta_n jest liczbą leżącą między rr oraz xnx_n.

0=f(r)=f(xn)−f′(xn)⋅en+12⋅f′′(ζn)⋅en2 0 = f(r) = f(x_n) - f'(x_n) \cdot e_n + \frac{1}{2} \cdot f''(\zeta_n) \cdot e_n^2

Przekształcając powyższe równanie otrzymujemy f′(xn)⋅en−f(xn)=12⋅f′′(ζn)⋅en2 f'(x_n) \cdot e_n - f(x_n) = \frac{1}{2} \cdot f''(\zeta_n) \cdot e_n^2

en+1=en⋅f′(xn)−f(xn)f′(xn)=12f′′(ζn)f′(xn)⋅en2≈≈12f′′(r)f′(r)⋅en2=C⋅en2 e_{n+1} = \frac{e_n \cdot f'(x_n) - f(x_n)}{f'(x_n)} = \frac{1}{2} \frac{f''(\zeta_n)}{f'(x_n)} \cdot e_n^2 \approx\\ \approx \frac{1}{2} \frac{f''(r)}{f'(r)} \cdot e_n^2 = C\cdot e_n^2 (zakładamy, że xn→rx_n \to r)

3.1.2. Zbieżność

Zdefiniujmy c(δ)c(\delta): c(δ)=12max⁡∣x−r∣≤δ∣f′′(x)∣min⁡∣x−r∣≤δ∣f′(x)∣(δ>0) c(\delta) = \frac{1}{2} \frac{\max_{|x-r| \le \delta} |f''(x)|}{\min_{|x-r| \le \delta} |f'(x)|} \quad (\delta > 0)

Wybierzmy δ\delta (zmniejszając wartość), takie, że δ⋅c(δ)<1\delta \cdot c(\delta) < 1. Można to zrobić, ponieważ jak δ→0,c(δ)→12∣f′′(r)∣∣f′(r)∣\delta \to 0,\enspace c(\delta) \to \frac{1}{2} \frac{|f''(r)|}{|f'(r)|}, to δ⋅c(δ)→0\delta \cdot c(\delta) \to 0.
Ustalmy δ\delta i połóżmy ρ=δ⋅c(δ)\rho = \delta \cdot c(\delta). Załóżmy, że x0x_0 jest punktem startowym metody Newtona spełniającym ∣x0−r∣≤δ|x_0 - r| \le \delta.
Wówczas ∣e0∣≤δ|e_0| \le \delta oraz ∣ζ0−r∣≤δ|\zeta_0 - r| \le \delta.
Stąd 12∣f′′(ζ0)f′(x0)∣≤c(δ). \frac{1}{2} \left| \frac{f''(\zeta_0)}{f'(x_0)} \right| \le c(\delta).

Pokażemy, że kolejne przybliżenie x1x_1 leży w otoczeniu rr. ∣x1−r∣=∣e1∣≤e02⋅c(δ)=∣e0∣⋅∣e0∣⋅c(δ)≤∣e0∣δ⋅c(δ)=∣e0∣ρ<∣e0∣≤δ |x_1 - r| = |e_1| \le e_0^2 \cdot c(\delta) = |e_0|\cdot |e_0| \cdot c(\delta) \le |e_0| \delta\cdot c(\delta) = |e_0| \rho < |e_0| \le \delta

Stąd mamy ∣e1∣≤ρ∣e0∣.|e_1| \le \rho|e_0|.
Uogólniając ∣en∣≤ρ∣en−1∣≤ρ2∣en−2∣≤⋯≤ρn∣e0∣. |e_n| \le \rho|e_{n-1}| \le \rho^2 |e_{n-2}| \le \dotsb \le \rho^n |e_0|.

Z faktu, że ρ<1\rho < 1 wynika lim⁡n→∞ρn=0\lim_{n\to \infty} \rho^n = 0, w konsekwencji lim⁡n→∞en=0\lim_{n \to \infty} e_n = 0. ■\blacksquare


3.2. Przykład

f(x)=(x2)2+sin⁡xf(x) = \left( \frac{x}{2} \right)^2 + \sin x

Wyznaczyć metodą Newtona miejsce zerowe funkcji ff w przedziale [1.5;2][1.5; 2] z dokładnością δ=0.510\delta = 0.5_{10} a x0=1.5x_0 = 1.5.

nn xnx_n hnh_n ∣xn−r∣\lvert x_n - r \rvert
00 1.51.5 0.64390.6439 −0.43374-0.43374
11 2.140392.14039 −0.18838-0.18838 0.266440.26644
22 1.952011.95201 −0.018808-0.018808 0.01118250.0111825
33 1.933931.93393 −0.00018-0.00018 0.000180.00018
44 1.9333751.933375 <510−6< 5_10 - 6 <510−6< 5_10 - 6

Metoda bisekcji wykonała 1717 iteracji dla a=1.5a = 1.5 oraz b=2b = 2.


4. Twierdzenie#3

Niech [a;b][a;b] będzie przedziałem takim, że:

Wówczas ff ma dokładnie jedno zero w [a;b][a;b] i metoda Newtona jest zbieżna do rr dla dowolnego punktu startowego x0∈[a;b]x_0 \in [a;b].