ToDo:
使用する軌道応答の数を6から 30まで増やしても、Transfer Matrixの 初期値に誤差を入れた際に収束先がバラつく問題は改善しない。 Transfer Matrix間の距離(行列のノルム)だが、確かに モデルから出発したものと誤差を入れて出発したものの間で 収束後に距離があるのは確かなのだが、出発時の距離から 桁で小さくなってる(接近してきている)。また、Transfer Matrix自体の ノルムを基準に相対距離を見ると1e-7オーダー、応答軌道の フィッティングでの残差は1e-10m台(一部の steering/BPMの組み合わせで1e-8m) なので、評価関数(残差2乗和)を評価する際の有効精度の限界に当たっている? その場合、真の解周辺にある2次形式な極小が浮動小数点表現の 桁落ちや演算誤差でデコボコしていて、入ってくる経路に依存して 停止位置が変わっていると解釈できる。 少なくとも、初期値に導入する誤差を大きくしていった際に、 あるしきい値を越えると収束後の残差2乗和が有意に劣化して まったく別の極小点へ収束するようになるので、 大域的にはうまくいってるのかな? (精度が測定の要求に満足するかは別問題だが)
現在は、測定データ側にランダムエラーを入れた際の収束性を検証中
それなりに、使い物になりそうなら、入出力部を書いてプログラム化
前回の続き
現状、hg version --svnが動くところまできた
やったこと
こまめに修正していけば動くようになる模様…だけど、ぶっちゃけ面倒くさい
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記