布伦特方法是一种寻根算法,它结合了根括弧法、二分法和反二次插值法。 它有时被称为 van Wijngaarden-Deker-Brent 方法。 布伦特方法在 Wolfram 语言中作为未记录的选项实现Method -> Brent在FindRoot[eqn,
x, x0, x1
]。
布伦特方法使用 2 次拉格朗日插值多项式。 Brent (1973) 声称,只要函数值在包含根的给定区域内可计算,此方法将始终收敛。 给定三个点
、
和
,布伦特方法将
拟合为
的二次函数,然后使用插值公式
![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)]).](/images/equations/BrentsMethod/NumberedEquation1.svg) |
(1)
|
后续根估计通过设置
获得,得到
![x=x_2+P/Q,](/images/equations/BrentsMethod/NumberedEquation2.svg) |
(2)
|
其中
其中
(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
主题分类