ToDo:
色々試してみたが、安定性を考えると愚直なアルゴリズムが良いようで、 Transfer Matrixの候補を使って軌道応答(x_i)の一部の情報から (x_n, x'_n)ペアを推定してこれを転送することで軌道応答の推定値を 組立て、軌道の誤差2乗和で評価関数を組み立てて共役勾配法で 誤差を最小化するコードを組んでみたのだが...
どうやら、解にエイリアスが発生する(近傍に別の極小点が存在する)模様です。
まず、モデルの Transfer Matrixを出発値にして共役勾配法を走らせるて 収束した値を基準にして、これへガウスノイズを加えた別の出発値から 共役勾配法を走らせ結果との距離を測ると...別の極小に落ちてる用に見える。
最小化している誤差2乗和の大きさは両者ともに同じ程度 $3\times10^{-7}$ で、各点毎の軌道応答と推定値の残差は $1\times10^{-7}$オーダーで 二つの結果の差異は $3\times10^{-9}$に入っている。
位相空間の推定に使うサンプルの位置を変えても、収束後の値では評価値は 変わらない(収束前は当然、矛盾を含むので影響がある)ので、 そういう改良では解決出来そうに無い。
取り合えず、
のどちらに本質的な問題が有るかを調べるために入力情報を増やした テストを実施してみる。
未知変数と方程式の数を大雑把に数えた限りは決定出来そうなのだが...
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記