ToDo:
軌道応答に対してTransfer Matrixを当てはめる動作原理自体には 問題は無いようなので、ツール形式のものを作成&テストベクターを 作って入出力の検証を開始。
ラフなテストでは、エラーに対する感度がβ関数のフィットよりも 厳しいような感触なのが気がかりだが、それ以上に致命的なのが 実行速度で、テストデータで共役勾配法が収束するのに手元の NotePCで2時間以上かかる。
βのフィットが数分のオーダーで終わることを考えると100倍程度遅い。 使っている軌道の本数の差を考慮しても 20倍以上遅いので、 オンラインでの使用には厳しいだろう。
ただ、問題の次元数を考えると当然の結果かもしれない。 β関数のフィットの場合、軌道に摂動をかけるステアリング側の β関数と位相関数をパラメータにして計算しているのに対して、 Transfer Matrixのフィットでは各BPMに 3自由度 (実際には4自由度&行列式への拘束条件)を与えて計算しているので 「BPMの数 / 軌道の数」の比で演算量が増えている。 それなりに実用的な条件を想定すると、「BPMの数 >> 軌道の数」が 成立するので、激しく重くなる。
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記