ToDo:
Powellの方向集合法では時間ばかりかかってちっとも収束しないので CGPRがうまく動かない原因を調査開始...
CGPRで使う数値微分を疑っていたのだが、数値微分そのものは 問題なく計算出来ていた。ただし、微分で求めた勾配ベクトルの ノルムが非常に大きい(1e22とか...)ので、勾配ベクトルに そった直線上で最小化(Brentのアルゴリズム)を行う際に、 評価関数の評価が上手くいかない模様。2x2の Transfer Matrixを 3パラメータで表現しているのだが、パラメータ毎の固有スケールが 大きく異なるのが原因のようだ。
行列式が 1であるという条件を外して 4パラメータ表現に 変えると、CGPRのアルゴリズム自体は動く模様。 ただし、このままだと行列の行列式が保存しないのでもう一工夫必要。
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記