You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This would complement the current MATRIX_Lattice class, which computes parameters for uncoupled lattices. Unlike the 2D case, there are multiple parameterizations of the 4D or 6D transfer matrix, so it would make sense to support these different parameterizations. Options include Lebedev-Bogacz [1], Edwards-Teng [2], Wolski [3], and Qin-Davidson [4]. Some of these apply also to non-periodic lattices.
Some work to this end is here, which analyzes the one-turn transfer matrix in the Lebedev-Bogacz framework. I did not implement tracking of the parameters throughout the lattice. I'm not sure if this is the best way to include these parameterizations.
[1] Lebedev, Valeri A., and S. A. Bogacz. "Betatron motion with coupling of horizontal and vertical degrees of freedom." Journal of Instrumentation 5.10 (2010): P10010. (https://arxiv.org/pdf/1207.5526)
[4] Qin, Hong, et al. "Analytical methods for describing charged particle dynamics in general focusing lattices using generalized Courant-Snyder theory." Physical Review Special Topics-Accelerators and Beams 17.4 (2014): 044001. (https://journals.aps.org/prab/pdf/10.1103/PhysRevSTAB.17.044001)
Activity
[-]Add coupled linear lattice analysis[/-][+]Coupled lattice analysis[/+]austin-hoover commentedon Sep 4, 2025
For example see https://github.com/xsuite/xtrack/blob/main/xtrack/twiss.py
austin-hoover commentedon Sep 15, 2026
I think it would make sense to add to/rewrite
MATRIX_Latticerather than creating a new class.austin-hoover commentedon Oct 9, 2026
This has been started with PR #151, which calculates eigentunes from the transfer matrix eigenvalues.