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

ネームスペース

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 を囲む区間を決定する

説明

次のヘッダをインクルードする

関数

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 \ge b \ge c $ もしくは $ c \ge b \ge a $ 内で極小値を持つ区間を決定する.

注意
入力となる a, b は異なる値を設定する必要あり
評価関数が直線などで極小値を持たない場合は,区間を決定できない
引数
[in,out]a… 区間の左端
[in,out]b… 区間の真ん中
[out]c… 区間の右端
[out]fa… 評価関数値 $ f(a) $
[out]fb… 評価関数値 $ f(b) $
[out]fc… 評価関数値 $ f(c) $
[in]f… 評価関数
[in]max_iterations… 最大反復回数
戻り値
極小を囲む区間を見つけることができたかどうか

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


Generated on Wed Nov 12 2014 19:44:28 for MIST by doxygen 1.8.1.2