- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- ネームスペース一覧
- ネームスペースメンバ

関数
ネームスペース mist::gold
関数の最小化

黄金分割を用いた極小値の1次元探索（1次収束） [詳細]

## 関数
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)
| 黄金分割を利用して，f(x)の極小値の一次元探索を行う（1次収束）
template<class Functor >
double | minimization (double a, double b, double &x, Functor f, double tolerance, size_t max_iterations=1000, bool use_enclose=true)
| 黄金分割を利用して，f(x)の極小値の一次元探索を行う（1次収束）

## 説明

黄金分割を用いた極小値の1次元探索（1次収束）

## 関数

template<class Functor >

double mist::gold::minimization | ( | double | a,
|  | double | b,
|  | double & | x,
|  | Functor | f,
|  | double | tolerance,
|  | size_t & | iterations,
|  | size_t | max_iterations,
|  | bool | use_enclose = `true`
| ) |  |

黄金分割を利用して，f(x)の極小値の一次元探索を行う（1次収束）

初期の極小を含むと思われる区間 [a, b] を適切に設定することで，収束を早めることができる

覚え書き
  指定された区間 [a, b] 内での極小値を探索する
  区間内に極小が存在しない場合は，区間内で最小となる位置を出力する
  use_enclose を真に指定した場合は，最初に区間を拡張して極小を探索する（本ヘッダ内の enclose 関数を利用する）

引数

  [in] | a | … 区間の左端
  [in] | b | … 区間の右端
  [out] | x | … 極小を与える座標値
  [in] | f | … 評価関数
  [in] | tolerance | … 許容誤差
  [out] | iterations | … 実際の反復回数
  [in] | max_iterations | … 最大反復回数
  [in] | use_enclose | … 極小をはさむ区間の更新を行うかどうか

戻り値
  極小を与える座標値における評価値

参照先 mist::enclose().

参照元 mist::Tsai::calibration(), minimization(), mist::brent::minimization(), mist::gradient_with_vector::minimization(), mist::gradient::minimization(), mist::conjugate_gradient::minimization(), mist::powell::minimization(), mist::lucidi::minimization(), と mist::condor::minimization().

template<class Functor >

double mist::gold::minimization | ( | double | a,
|  | double | b,
|  | double & | x,
|  | Functor | f,
|  | double | tolerance,
|  | size_t | max_iterations = `1000`,
|  | bool | use_enclose = `true`
| ) |  |

黄金分割を利用して，f(x)の極小値の一次元探索を行う（1次収束）

初期の極小を含むと思われる区間 [a, b] を適切に設定することで，収束を早めることができる

覚え書き
  指定された区間 [a, b] 内での極小値を探索する
  区間内に極小が存在しない場合は，区間内で最小となる位置を出力する
  use_enclose を真に指定した場合は，最初に区間を拡張して極小を探索する（本ヘッダ内の enclose 関数を利用する）

引数

  [in] | a | … 区間の左端
  [in] | b | … 区間の右端
  [out] | x | … 極小を与える座標値
  [in] | f | … 評価関数
  [in] | tolerance | … 許容誤差
  [in] | max_iterations | … 最大反復回数，実際の反復回数
  [in] | use_enclose | … 極小をはさむ区間の更新を行うかどうか

戻り値
  極小を与える座標値における評価値

参照先 minimization().