finesse.knm.maps.Map.scatter_matrix

Map.scatter_matrix(self, q, k0, phase_scale, homs, reverse_gouy=False, flip_lr=False)

Computes a modal scattering matrix for this map. Careful consideration should be applied to reversing of the Gouy phase. By default this will compute the scattering matrix with the Gouy phase included in each input and output field. If this scattering matrix is to be used as an operator then the Gouy phase should be removed. The map can also be flipped left-to-right, this allows the backwards propagation to be computed assuming that the left-handed coordating of the beam has been reflected so that the x and z axes are inverted.

Parameters
qBeamParam

Setting input and output complex beam parameters for overlap calcuations. Options are: - q : all input/output beam parameters are the same - (qx, qy) : astigmatic input/output beam parameters - (q_ix, q_iy, q_ox, q_oy) : general case, each x/y input/out can be different

k0float

Wavenumber of the light to compute scatter for, 2*pi/wavelength

phase_scalefloat

Scaling to apply to the map data to generate the phase information. This sets whether the map is representing a transmission, or reflection. The phase used to compute the scatter is given by:

\[exp(-i extrm{phase}_{ extrm{scale}} k \mathrm{OPD}(x,y))\]
for example. Some typical values are
  • phase_scale = 1 : transmission

  • phase_scale = 2 : reflection

homsarray_like

A 2D array of (n,m) values for the Hermite-Gaussian modes to compute the scattering for. e.g [[0,0], [1,0], [4,2], …].

reverse_gouybool, optional

If true, the gouy phase terms are removed from the scattering coefficients.

flip_lrbool, optional

If true, the x map data is flipped left to right before computing the scattering. This can be used to compute the backwards propagating beam through a map as the coordinate system is flipped.

Returns
A KnmMatrix object with the HOM scattering terms.