Expand description
Multipole rotations in the z-y-z convention, with analytic Euler-angle pullbacks.
sw_rotate and cw_rotate give the coefficient of one mode pair; sw_rotation
and cw_rotation give the matrix between two bases. Both matrices return one
RotationResidual, whose pullback gives the cotangents of the Euler angles
[phi, theta, psi], so the two families share this module instead of living in
crate::sw and crate::cw.
Upstream: treams.sw.rotate, treams.cw.rotate and the treams.Rotate operator.
Structsยง
- Rotation
Residual - What
sw_rotationandcw_rotationsave for their pullback: the rotation matrix, its coupled entries and, for spherical bases, the angular blocks. - Spherical ๐
- The Wigner small-d blocks and Euler phases of a spherical rotation.
Functionsยง
- bytes ๐
- check_
state_ ๐layout - Check the entire byte layout before any residual allocation. Wigner block sizes are determined by their degree labels, so sparse blocks retain their native shape.
- coupled ๐
- Entries
(row, column)whose coupling keys agree, in column-major order; all other entries of a rotation vanish. - coupled_
count ๐ - cw_keys ๐
- cw_
rotate - Rotation coefficient of one cylindrical mode pair about the z axis.
- cw_
rotation - Cylindrical rotation about z; axial labels and the transverse plane stay fixed.
- read_
orders ๐ - state_
size ๐ - sw_keys ๐
- sw_
rotate - Rotation coefficient of one spherical mode pair.
- sw_
rotation - Spherical Euler rotation; distinct positions, degrees and polarizations decouple.
- table_
dimension ๐