主题
Search

布伦特方法


布伦特方法是一种寻根算法,它结合了根括弧法、二分法反二次插值法。 它有时被称为 van Wijngaarden-Deker-Brent 方法。 布伦特方法在 Wolfram 语言中作为未记录的选项实现Method -> BrentFindRoot[eqn, {x, x0, x1}]。

布伦特方法使用 2 次拉格朗日插值多项式。 Brent (1973) 声称,只要函数值在包含的给定区域内可计算,此方法将始终收敛。 给定三个点 x_1x_2x_3,布伦特方法将 x 拟合为 y 的二次函数,然后使用插值公式

 x=([y-f(x_1)][y-f(x_2)]x_3)/([f(x_3)-f(x_1)][f(x_3)-f(x_2)])+([y-f(x_2)][y-f(x_3)]x_1)/([f(x_1)-f(x_2)][f(x_1)-f(x_3)])+([y-f(x_3)][y-f(x_1)]x_2)/([f(x_2)-f(x_3)][f(x_2)-f(x_1)]).
(1)

后续根估计通过设置 y=0 获得,得到

 x=x_2+P/Q,
(2)

其中

P=S[T(R-T)(x_3-x_2)-(1-R)(x_2-x_1)]
(3)
Q=(T-1)(R-1)(S-1)
(4)

其中

R=(f(x_2))/(f(x_3))
(5)
S=(f(x_2))/(f(x_1))
(6)
T=(f(x_1))/(f(x_3))
(7)

(Press 等人,1992 年)。


另请参阅

二分法, 布伦特分解法, 根括弧法, 寻根算法

使用 Wolfram|Alpha 探索

参考文献

Brent, R. P. 《Algorithms for Minimization Without Derivatives》第 3-4 章。 Algorithms for Minimization Without Derivatives. Englewood Cliffs, NJ: Prentice-Hall, 1973 年。Forsythe, G. E.; Malcolm, M. A.; 和 Moler, C. B. 《Computer Methods for Mathematical Computations》第 7.2 节。 Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice-Hall, 1977 年。Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; 和 Vetterling, W. T. "Van Wijngaarden-Dekker-Brent 方法。" 《Numerical Recipes in FORTRAN: The Art of Scientific Computing》第 2 版第 9.3 节。 Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. 剑桥,英格兰:剑桥大学出版社,第 352-355 页,1992 年。

在 Wolfram|Alpha 上被引用

布伦特方法

引用为

韦斯坦, 埃里克·W. "布伦特方法。" 来自 MathWorld-- Wolfram Web 资源。 https://mathworld.net.cn/BrentsMethod.html

主题分类