# Transformation of the beam parameter¶

A beam parameter is, in general, transformed when a beam passes from one medium into another by interacting with some optical surface or propagated over any distance. We can use the ABCD matrix formalism [11] to treat these transformations - giving us the mechanics to describe how higher order modes couple between interfaces.

Fig. 4 Propagation of a beam via an interaction surface S, with a change in beam parameter across the different media.

Consider Fig. 4, here a beam described by the beam parameter $$q_1$$ (propagating through a medium with refractive index $$n_1$$) is incident upon some interaction surface S. Through interacting with this “surface” (which could also just be a length of free space), the beam is transformed such that it is described by $$q_2$$ in the second medium (which has a refractive index $$n_2$$). The equation describing how this beam parameter is transformed through the interaction is the Kogelnik transformation,

$q = n_2 \frac{A \frac{q_1}{n_1} + B}{ C \frac{q1}{n_1} + D},$

where $$A$$, $$B$$, $$C$$, $$D$$ are the corresponding elements of the ABCD matrix associated with the interaction surface S. Equations detailing the ABCD matrix forms for the components in Finesse are included in the API documentation links below. Also see finesse.gaussian.transform_beam_param() for the function which performs the above transformation.

 Computes and returns the ABCD matrix of the beam splitter for the specified coupling. finesse.components.lens.Lens.ABCD(self, …) Computes and returns the ABCD matrix of the lens for the specified coupling. Computes and returns the ABCD matrix of the mirror for the specified coupling. finesse.components.space.Space.ABCD(self, …) Computes and returns the ABCD matrix of the space for the specified coupling.