Functions for the computation of coupling coefficients. See Coupling of higher-order-modes for details on how the coupling coefficients are computed in this sub-module.


KnmMatrix(ndarray matrix, model, component, …)

Higher-Order-Mode (HOM) scattering matrix container.


compute_knm_matrix_bh(double complex qx1, …)

Compute the \(k_{nmn'm'}\) matrix using the Bayer-Helms [1] analytic method.

zero_tem00_phase(const double complex[, , …)

Rotates all coupling coefficients in the matrix knm_mat by the phase of the \(k_{0000}\) coupling coefficient.

flip_odd_horizontal(const double complex[, , …)

Flips the sign of all odd couplings in the sagittal plane.

rev_all_gouy(const double complex[, , …)

Adjust the phase of all coupling coefficients in the matrix knm_mat with respect to the Gouy phases.

knm_loss(const double complex[, , double[)

Computes total losses from each mode (n, m) to all other mode couplings (including itself).