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

ネームスペース | 関数
関数の最小化

## ネームスペース
namespace | mist::gold
| 黄金分割を用いた極小値の1次元探索（1次収束）
namespace | mist::brent
| Brent の放物線補間を用いた極小値の1次元探索（2次収束）
namespace | mist::Armijo
| Armijoの基準を用いた極小値の一次元探索
namespace | mist::gradient_with_vector
| 勾配関数をユーザーが定義する最急降下法（勾配を用いた多変数関数の極小値の探索）
namespace | mist::gradient
| 最急降下法（勾配を用いた多変数関数の極小値の探索）
namespace | mist::conjugate_gradient
| 共役勾配法（勾配を用いた多変数関数の極小値の探索）
namespace | mist::powell
| Powell法（方向集合を用いた多変数関数の極小値の探索）
namespace | mist::lucidi
| Lucidi法（方向集合を用いた多変数関数の極小値の探索）
namespace | mist::condor
| CONDOR法（多変数関数の極小値の探索）

## 関数
template<class Functor >
bool | mist::enclose (double &a, double &b, double &c, double &fa, double &fb, double &fc, Functor f, size_t max_iterations=100)
| f(x)の一次元探索において，極小値を与える x を囲む区間を決定する

## 説明

次のヘッダをインクルードする
#include <mist/minimization.h>

## 関数

template<class Functor >

bool mist::enclose | ( | double & | a,
|  | double & | b,
|  | double & | c,
|  | double & | fa,
|  | double & | fb,
|  | double & | fc,
|  | Functor | f,
|  | size_t | max_iterations = `100`
| ) |  |

f(x)の一次元探索において，極小値を与える x を囲む区間を決定する

もしくは 内で極小値を持つ区間を決定する．

注意
  入力となる a, b は異なる値を設定する必要あり
  評価関数が直線などで極小値を持たない場合は，区間を決定できない

引数

  [in,out] | a | … 区間の左端
  [in,out] | b | … 区間の真ん中
  [out] | c | … 区間の右端
  [out] | fa | … 評価関数値
  [out] | fb | … 評価関数値
  [out] | fc | … 評価関数値
  [in] | f | … 評価関数
  [in] | max_iterations | … 最大反復回数

戻り値
  極小を囲む区間を見つけることができたかどうか

参照元 mist::gold::minimization(), と mist::brent::minimization().