主题
Search

牛顿迭代法


牛顿迭代法是一种用于计算数字 n平方根 sqrt(n) 的算法,通过 递推方程

 x_(k+1)=1/2(x_k+n/(x_k)),
(1)

其中 x_0=1。此递推式二次收敛,当 lim_(k->infty)x_k

牛顿迭代法仅仅是 牛顿法 在求解方程上的一个应用

 x^2-n=0.
(2)

例如,当数值应用时,前几个迭代值逼近 勾股定理常数 sqrt(2)=1.4142... 为 1, 1.5, 1.41667, 1.41422, 1.41421, ....

前几个近似值 x_1, x_2, ... 逼近 sqrt(n) 由下式给出

 1,1/2(1+n),(1+6n+n^2)/(4(n+1)),(1+28n+70n^2+28n^3+n^4)/(8(1+n)(1+6n+n^2)),....
(3)

这些可以由解析公式给出

x_k=sqrt(n)[1+2/(((1+sqrt(n))/(1-sqrt(n)))^(2^k)-1)]
(4)
=sqrt(n)coth(2^ktanh^(-1)(sqrt(n))).
(5)

这些可以通过注意到递推式可以写成

 (x_k-sqrt(n))/(x_k+sqrt(n))=((x_(k-1)-sqrt(n))/(x_(k-1)+sqrt(n)))^2,
(6)

它具有巧妙的闭合形式解

 (x_k-sqrt(n))/(x_k+sqrt(n))=((1-sqrt(n))/(1+sqrt(n)))^(2^k).
(7)

求解 x_k 然后得到上面推导的解。

下表总结了对于小正整数 n 的前几个收敛值

nOEISx_1, x_2, ...
11, 1, 1, 1, 1, 1, 1, 1, ...
2A001601/A0510091, 3/2, 17/12, 577/408, 665857/470832, ...
3A002812/A0715791, 2, 7/4, 97/56, 18817/10864, 708158977/408855776, ...

另请参阅

牛顿法, 平方根, 平方根算法, Wolfram 迭代

使用 Wolfram|Alpha 探索

参考文献

Sloane, N. J. A. Sequences A001601/M3042, A002812/M1817, A051009, A071579 in "The On-Line Encyclopedia of Integer Sequences。"Wolfram, S. 一种新科学。 Champaign, IL: Wolfram Media, p. 913, 2002。

在 Wolfram|Alpha 中被引用

牛顿迭代法

请引用为

Weisstein, Eric W. “牛顿迭代法。” 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/NewtonsIteration.html

学科分类