2024年7月13日 星期六

哈雷趨近法 (Halley's method)

http://4rdp.blogspot.com/2024/07/halleys-method.html?m=0

數學哈雷趨近法 (Bing Image Creator)

哈雷趨近法是一種數值方法類似牛頓法數值迭代可以快速收斂求解方程式根值的方法,這是在 FB 上看到,姑且不論複雜程度,新方法就是要學習與蒐錄,這就是本部落格的風格,不多說,直接給公式,關於它的證明請自行直接參考維基百科說明。

當非線性方程式 $f(x) = 0$,它的迭代式為

$x_{n+1}=x_{n}-\frac{2f(x_n)f'(x_n)}{2[f'(x_n)]^2-f(x_n)f''(x_n)}\cdots \cdots (1)$

$x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)-\frac{f(x_n)}{f'(x_n)}\frac{f''(x_n)}{2}}=x_n-{\frac{f(x_n)}{f'(x_n)}}[1-\frac{f(x_n)}{f'(x_n)}\cdot \frac{f''(x_n)}{2f'(x_n)}]^{-1}\cdots \cdots (2)$

這裡舉常見開根號為例,讓大家了解如何應用它,例如想求解 $x=\sqrt{a}$
令 $f(x)=x^2-a=0$

$f'(x)=2x$,以及 $f''(x)=2$,代入第 2 式得

$x_{n+1}=x-\frac{x^2-a}{2x-\frac{{x^2-a}}{2x}\frac{2}{2}}=x-{\frac{x^2-a}{2x}}[1-\frac{x^2-a}{2x}\cdot \frac{2}{4x}]^{-1}\cdots \cdots (3)$

整理一下得
$x_{n+1}=x-\frac{x^2-a}{2x-\frac{{x^2-a}}{2x}}\cdots \cdots (4)$

這個第 4 式與根號連分數快速估算法相同

$x_{n+1}=x+\frac{a-x^2}{2x+\frac{a-x^2}{2x}}=x-\frac{x^2-a}{2x-\frac{x^2-a}{2x}}$

另外,比對牛頓法,它很像第 3 式的簡化版

$x_{n+1}=\frac{1}{2}(x+\frac{a}{x})=x-\frac{x^2-a}{2x}$

最後附上試算表比較牛頓法、連分數速算 (=哈雷趨近法) 收斂速度,後者收斂速度快。

延伸閱讀

3 則留言:

  1. 好像最終並沒有把「根號a」的值求出來?

    回覆刪除
    回覆
    1. 有啊,它的應用例在試算表比較的連結裡,例如求 √2,a = 2,x 以初值 0.5 一直迭代第 4 式,最後可得 1.414213562

      刪除
    2. 這方法用 f(x) = x² - a = 0,它的解就是 x = √a

      刪除