Brent の放物線補間を用いた極小値の1次元探索(2次収束) [詳細]
関数 | |
| template<class Functor > | |
| double | minimization (double a, double b, double &x, Functor f, double tolerance, size_t &iterations, size_t max_iterations, bool use_enclose=true) |
| Brent の放物線補間を用いて,指定された区間内の f(x) の極小値の一次元探索を行う(2次収束) | |
| template<class Functor > | |
| double | minimization (double a, double b, double &x, Functor f, double tolerance, size_t max_iterations=1000, bool use_enclose=true) |
| Brent の放物線補間を用いて,f(x)の極小値の一次元探索を行う(2次収束) | |
Brent の放物線補間を用いた極小値の1次元探索(2次収束)
| double mist::brent::minimization | ( | double | a, |
| double | b, | ||
| double & | x, | ||
| Functor | f, | ||
| double | tolerance, | ||
| size_t & | iterations, | ||
| size_t | max_iterations, | ||
| bool | use_enclose = true |
||
| ) |
Brent の放物線補間を用いて,指定された区間内の f(x) の極小値の一次元探索を行う(2次収束)
| [in] | a | … 区間の左端 |
| [in] | b | … 区間の右端 |
| [out] | x | … 極小を与える座標値 |
| [in] | f | … 評価関数 |
| [in] | tolerance | … 許容誤差 |
| [out] | iterations | … 実際の反復回数 |
| [in] | max_iterations | … 最大反復回数 |
| [in] | use_enclose | … 極小をはさむ区間の更新を行うかどうか |
参照先 mist::enclose().
| double mist::brent::minimization | ( | double | a, |
| double | b, | ||
| double & | x, | ||
| Functor | f, | ||
| double | tolerance, | ||
| size_t | max_iterations = 1000, |
||
| bool | use_enclose = true |
||
| ) |
Brent の放物線補間を用いて,f(x)の極小値の一次元探索を行う(2次収束)
初期の極小を含むと思われる区間 [a, b] を適切に設定することで,収束を早めることができる
| [in] | a | … 区間の左端 |
| [in] | b | … 区間の右端 |
| [out] | x | … 極小を与える座標値 |
| [in] | f | … 評価関数 |
| [in] | tolerance | … 許容誤差 |
| [in] | max_iterations | … 最大反復回数 |
| [in] | use_enclose | … 極小をはさむ区間の更新を行うかどうか |
1.8.1.2