|
ブレント法()は、二分法、割線法、逆2次補間を組み合わせた、複雑ではあるが広く用いられている、数値解析における求根アルゴリズムの1つである。二分法の安定さを有し、かつ安定でない他の手法と同程度に高速に解が求められる場合もある。可能な限り、より収束の早い割線法や逆2次補間を用い、必要に応じてより安定な二分法に切り替えて解を求めるという手法である。ブレント法は、1969年のセオドラス・デッカー(en) による初期のアルゴリズムを元にして、1973年にリチャード・ブレント(en) により考案されたものである〔Brent (1973). ''Algorithms for Minimization without Derivatives.'' Prentice-Hall, Englewood Cliffs, NJ. Reprinted by Dover Publications, Mineola, New York, January 2002. ISBN 0-486-41998-3. 〕 。 == デッカー法 == 二分法と割線法を組み合わせるという考えは、デッカーによるものである。 ここでは、方程式 ''f''(''x'') = 0 の解を求めたいとする。まず、二分法と同様に、''f''(''a''0) と ''f''(''b''0) が互いに逆符号を持つような ''a''0 と ''b''0 の2点を初期値とする。''f'' が区間 ''b''0 で連続であるとき、中間値の定理により、''a''0 と ''b''0の間に解が存在する。 収束計算において、以下の3点が用いられる: * ''b''''k'' は現在の収束値、つまりその時点で推定される ''f'' の解。 * ''a''''k'' は "反対点"、つまり ''f''(''a''''k'') と ''f''(''b''''k'') が逆符号を持つような点であり、したがって区間 ''b''''k'' に解が含まれる。また、|''f''(''b''''k'')| は |''f''(''a''''k'')| と等しいか、またはより小さい値とする。したがって ''b''''k'' は ''a''''k''よりも求める解に近い。 * ''b''''k''−1 は1つ前の収束値(最初の収束計算では ''b''''k''−1 = ''a''0 とする。) 次の収束値を求めるため、2つの値が計算される。1つは割線法により以下の式で求められ、 : 2つめは二分法により求められる。 : 割線法を用いた場合、''s'' は ''b''''k'' と ''m'' の間にあり、次の収束値となり (''b''''k''+1 = ''s'')、そうでない場合は中間点が使用される。 (''b''''k''+1 = ''m'') そして、''f''(''a''''k''+1) と ''f''(''b''''k''+1) とが逆符号を持つような、新しい反対点が選ばれる。''f''(''a''''k'') と ''f''(''b''''k''+1) が逆符号である場合、反対点は移動せず ''a''''k''+1 = ''a''''k'' となる。両者が同符号であれば、''f''(''b''''k''+1) と ''f''(''b''''k'') が逆符号となり、新たな反対点は ''a''''k''+1 = ''b''''k'' となる。 最終的に、|''f''(''a''''k''+1)| < |''f''(''b''''k''+1)| となった場合は、 ''a''''k''+1 は ''b''''k''+1 よりよい収束値となり、その結果 ''a''''k''+1 と ''b''''k''+1 の値が交換される。 以上がデッカー法による1つの収束計算である。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ブレント法」の詳細全文を読む スポンサード リンク
|