主題
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 年)。


另請參閱

二分法, 布倫特分解法, 根括弧法, 尋根演算法

使用 探索

參考文獻

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 年。

在 上被引用

布倫特方法

引用為

韋斯坦, 埃裡克·W. "布倫特方法。" 來自 -- 資源。 https://mathworld.tw/BrentsMethod.html

主題分類