Module expansion

Module expansion 

Source
Expand description

Cylindrical expansion matrices between bases and over periodic arrays, with analytic pullbacks. Entries that share a CouplingKey share one coefficient, evaluated once.

Upstream: the treams.Expand and treams.ExpandLattice operators between cylindrical bases.

Modulesยง

lattice_state ๐Ÿ”’
Saved periodic geometry and coupling labels; restoring performs no Ewald sum. treams-rs extension.

Structsยง

CouplingKey ๐Ÿ”’
The key of one distinct coupling coefficient. A coefficient depends on its mode pair only through these fields.
Couplings ๐Ÿ”’
The distinct coefficients of a cylindrical coupling matrix and the entries they fill. A coefficient depends on the mode pair only through its key, and entries of different axial wavenumbers or polarizations vanish.
ExpansionResidual
What expansion saves for its pullback: the bases, the wavenumbers, the radial kind and the distinct couplings.
LatticeExpansionResidual
What lattice_expansion saves for its pullback: the bases, the wavenumbers, the lattice, the split and the distinct couplings.

Constantsยง

PARALLEL ๐Ÿ”’
Expansion coefficients and their jets evaluate in parallel from this many distinct couplings.

Functionsยง

axial_groups ๐Ÿ”’
The sorted distinct axial wavenumbers of both bases: the entries of the axial cotangent of pullback_axial.
expansion
Construct a cylindrical expansion matrix in the supplied mode order.
for_each_coupled ๐Ÿ”’
Call f(row, column) for each coupled entry of a destination and a source basis, column by column: equal axial wavenumbers and polarizations.
lattice_expansion
Periodic cylindrical coupling with exact axial/polarization selection and cached orders.