| 8 | == GPyTorch + Ocelot でビームサイズ最小化 == |
| 9 | 下図に示すようにQM2台でビームサイズを調整する例を考えます。 |
| 10 | 初期条件(Twiss parameter; α, β)は適当です。 |
| 11 | |
| 12 | [[Image(2QM_layout.png, 50%)]] |
| 13 | |
| 14 | 実際の加速器ではQMの極性(QF/QD)が決まっていることが多いとは思いますが、 |
| 15 | 例としてバイポーラ電源がつながっていると想定します。 |
| 16 | |
| 17 | |
| 18 | === 軌道計算 === |
| 19 | これくらいの例ならば自分で転送行列を書けば良いです。 |
| 20 | ただし、今後の発展性を考えて、ここでは Ocelot を使います。 |
| 21 | インストール方法は[wiki:misc/setup_for_ML/install_ocelot Ocelotインストール方法]を参照してください。 |
| 22 | |
| 23 | === GPyOptによるビームサイズ最小化 === |
| 24 | コードをそのまま書きます。本当は適切にクラス化するべきですが、 |
| 25 | この長さならベタ書きで分かると思うので global 変数を使ってQMのk値を関数側で変えてしまいます。 |
| 26 | |
| 27 | {{{ |
| 28 | |
| 29 | }}} |