Jones Calculus
Index
Polarisation.Jones.hPolarisation.Jones.lcpPolarisation.Jones.lhcpPolarisation.Jones.rcpPolarisation.Jones.rhcpPolarisation.Jones.vBase.:|Polarisation.Jones.hwpPolarisation.Jones.lPolarisation.Jones.lpPolarisation.Jones.qwp
Optical Beams
The Jones vector describes the polarisation of a light beam, defined as
\[\begin{pmatrix} E_{0x} e^{i\phi_x} \\ E_{0y} e^{i\phi_y} \end{pmatrix},\]
where $E_0$ are magnitudes of the electric field, and $\phi$ are phases of the wave, both in $x$ and $y$ directions.
Common normalised Jones vectors are included in the package:
Polarisation.Jones.l — Functionl(θ)Linearly polarised at $\theta$ angle.
Polarisation.Jones.h — ConstanthLinearly polarised in $x$ direction (horizontal):
\[\begin{pmatrix} 1 \\ 0 \end{pmatrix}\]
Polarisation.Jones.v — ConstantvLinearly polarised in $y$ direction (vertical):
\[\begin{pmatrix} 0 \\ 1 \end{pmatrix}\]
Polarisation.Jones.rhcp — ConstantrhcpRight-hand circular polarised:
\[\frac{1}{2} \begin{pmatrix} 1 \\ -i \end{pmatrix}\]
Polarisation.Jones.lhcp — ConstantlhcpLeft-hand circular polarised:
\[\frac{1}{2} \begin{pmatrix} 1 \\ i \end{pmatrix}\]
Optical Elements
The Jones matrices are operators that act on the Jones vectors defined above. These matrices are implemented by various optical elements such as lenses, beam splitters, mirrors, etc. Each matrix represents projection onto a one-dimensional complex subspace of the Jones vectors.
Polarizers
The package specifies the following polarisers:
Polarisation.Jones.lp — Functionlp(θ)Linear polariser at angle $\theta$:
\[\begin{pmatrix} \cos^2(\theta) & (\theta)sin(\theta) \\ \cos(\theta)\sin(\theta) & \sin^2(\theta) \end{pmatrix}\]
Polarisation.Jones.rcp — ConstantrcpRight circular polariser:
\[\frac{1}{2} \begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}\]
Polarisation.Jones.lcp — ConstantlcpLeft circular polariser:
\[\frac{1}{2} \begin{pmatrix} 1 & -i \\ i & 1 \end{pmatrix}\]
Phase retarders
Phase retarders introduce a phase shift between the vertical and horizontal component of the field and thus change the polarization of the beam.
Polarisation.Jones.qwp — Functionqwp(θ = 0)Quarter-wave plate:
\[e^\frac{-i\pi}{4} \begin{pmatrix} \cos^2(\theta)+i \sin^2(\theta) & (1-i)\sin(\theta)\cos(\theta) \\ (1-i)\sin(\theta)\cos(\theta) & \sin^2(\theta)+i\cos^2(\theta) \end{pmatrix}\]
Polarisation.Jones.hwp — Functionhwp(θ = 0)Half-wave plate:
\[e^\frac{-i\pi}{2} \begin{pmatrix} \cos^2(\theta)-\sin^2(\theta) & 2\sin(\theta)\cos(\theta) \\ 2\sin(\theta)\cos(\theta) & \sin^2(\theta)-\cos^2(\theta) \end{pmatrix}\]
Custom operator
The Jones calculus requires matrix multiplication to happen in reverse, starting with the final element, and moving back to the beam. Since this is unintuitive, in Julia we can override operators and have a handy shortcut:
Base.:| — Function|Perform Jones matrix multiplication on a reversed list of arguments.
For example, let's take a left-handed circularly polarised beam of light, going through a quarter-wave plate, linear polariser, and another quarter-wave plate. Ordinarily, we would write it as:
qwp(90) * lp(45) * qwp * lhcp ≈ lhcpBut with | operator, we can say:
lhcp | qwp(0) | lp(45) | qwp(90) ≈ lhcpwhich is a more natural way to express it.