Module rotation

Module rotation 

Source
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ยง

RotationResidual
What sw_rotation and cw_rotation save 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 ๐Ÿ”’