Polarization conventions#

Laser polarization naming#

As explained in the laser propagation section, the polarization is defined in the laser frame. For linear polarizations, we define the vertical as aligned with the \(x^{\prime\prime}\) axis, and horizontal as aligned with the \(y^{\prime\prime}\). For circular polarizations, we take the source point of view convention, as illustrated below.

Horizontal (H)

Polarization is aligned with the horizontal axis \(y^{\prime\prime}\) in the laser frame.

laser horizontal polarization illustration

Vertical (V)

Polarization is aligned with the vertical axis \(x^{\prime\prime}\) in the laser frame.

laser vertical polarization illustration

Circular Right (R)

Polarization rotates clockwise from the source point of view.

laser circular right polarization illustration

Circular Left (L)

Polarization rotates anti-clockwise from the source point of view.

laser circular left polarization illustration

Quantization convention#

In atomsmltr, we always define the quantization axis as aligned with the local magnetic field. This allows to project the laser’s polarization state (H, V, R, L), that is defined independently from the magnetic field, onto the π, σ+ and σ- components. In next section, we provide a formalism that allows to calculate this decomposition for an arbitrary set of magnetic field direction and laser polarization, but we start by giving some examples for circular polarizations in the cases where \(\vec{u}\) and \(\vec{B}\) are aligned.

When \(\vec{u}\) and \(\vec{B}\) are aligned and co-propagating, we have:

laser (R) | atom (σ+)

../../../_images/docs_laser_quant_RSP.svg

laser (L) | atom (σ-)

../../../_images/docs_laser_quant_LSM.svg

When \(\vec{u}\) and \(\vec{B}\) are aligned and counter-propagating, we have:

laser (R) | atom (σ-)

../../../_images/docs_laser_quant_RSM.svg

laser (L) | atom (σ+)

../../../_images/docs_laser_quant_LSP.svg

Polarization formalism#

Here we describe the general polarization formalism we use in atomsmltr to handle arbitrary laser polarization and its application to the derivation of polarization projection for a given quantization axis.

Polarization vector formalism#

We define a generic laser polarization state using a Bloch-sphere-like formalism. In this formalism, laser polarization is described via a vector \(\vec{p}\). This vector is defined using its polar and azimuthal angles u & v in the laser frame (see documentation). This sphere-based representation is illustrated on the left. We remind that in the laser frame, the z axis is aligned with the laser wave-vector \(\vec{k}\).

The vector polarization is defined as follow:

Circular Right polarization \(\ket{R}\) is described with a polarization vector pointing along the laser propagation direction, i.e., \(\vec{p}\) aligned with \(\vec{k}\), or in the north pole of the sphere.

Circular Left polarization \(\ket{L}\) is described with a polarization vector \(\vec{p}\) pointing opposite to the laser propagation direction, i.e. towards the south pole of the sphere.

Linear polarizations correspond to a polarization vector \(\vec{p}\) lying in the equator of the sphere-based

Horizontal polarization \(\ket{H}\) corresponding to a polarization vector aligned with the y axis

Vertical polarization \(\ket{V}\) corresponding to a polarization vector aligned with the x axis.

To be self-consistent, this formalism comes with the following relations for the polarization state \(\ket{p}\)

\[\ket{p} = e^{-iv} \cos(u/2) \ket{R} + e^{iv} \sin(u/2)\ket{L}\]
\[\ket{V} = \frac{1}{\sqrt{2}}\left( \ket{R} + \ket{L}\right), ~~~~~ \ket{H} = \frac{i}{\sqrt{2}}\left( \ket{L} - \ket{R}\right)\]

Deriving projections#

With this formalism, we can use the \(\ket{p}\) to compute the decomposition of the polarization on π, σ+ and σ- components using a given magnetic field \(\ket{B}\) as our quantization axis. In the following we place ourselves in the laser frame, in which the z axis is aligned with the laser wave-vector \(\vec{k}\) ; vector transformation from the lab from to the laser frame are described in the laser propagation section.

The respective orientation of the polarization \(\ket{p}\) and magnetic field \(\ket{B}\) vector are given by two set of angles (u, v) and (α, β), as illustrated below.

The problem is set as follow:

  • in the laser basis (x,y,z), the polarization state can be written \(\ket{p} = e^{-iv} \cos(u/2) \ket{R} + e^{iv} \sin(u/2)\ket{L}\), which can be decomposed onto \(\ket{x}=\ket{V}\) and \(\ket{y}=\ket{H}\) using \(\ket{R}=(\ket{x}+i\ket{y})/\sqrt{2}\) and \(\ket{L}=(\ket{x}-i\ket{y})/\sqrt{2}\).

  • in the magnetic field basis (x’,y’,z’), where z’ is aligned with B, we can define the polarization states \(\ket{\pi} = \ket{z^\prime}\) and \(\ket{\sigma\pm} = (\ket{x^\prime}\pm i\ket{y^\prime})/\sqrt{2}\)

Now using the formulae above it is possible to (1) decompose the polarization state \(\ket{p}\) onto \(\ket{x}\) and \(\ket{x}\) and (2) compute its projection onto the \(\ket{pi}\) and \(\ket{\sigma\pm}\) states.

Here is what we get:

\[\begin{split}\begin{align} \ket{p} & = \left\{ e^{-iv} \cos(u/2) + e^{iv} \sin(u/2) \right\} / \sqrt{2}\,\ket{x} \\ & + i\left\{ e^{-iv} \cos(u/2) - e^{iv} \sin(u/2) \right\} / \sqrt{2}\,\ket{y} \end{align}\end{split}\]
\[\begin{split}\begin{align} \ket{x} & = \left( \cos\beta\cos\alpha + i \sin\beta\right) / \sqrt{2} \,\ket{\sigma+}\\ & + \left( \cos\beta\cos\alpha - i \sin\beta\right)/ \sqrt{2} \, \ket{\sigma-} \\ & + \cos\beta\sin\alpha \ket{\pi} \end{align}\end{split}\]
\[\begin{split}\begin{align} \ket{y} & = \left( \sin\beta\cos\alpha - i \cos\beta\right) / \sqrt{2} \,\ket{\sigma+}\\ & + \left( \sin\beta\cos\alpha + i \cos\beta\right)/ \sqrt{2} \, \ket{\sigma-} \\ & + \sin\beta\sin\alpha \ket{\pi} \end{align}\end{split}\]

With that, it is possible to compute \(\braket{p|\pi}\), \(\braket{p|\sigma+}\) and \(\braket{p|\sigma-}\).

Implementation in atomsmltr#

Here is a short code example illustring how all of the above is implemented in atomsmtlr:

from numpy import pi
from atomsmltr.environment import (
    GaussianLaserBeam,
    Vertical,
    Horizontal,
    Linear,
    CircularLeft,
    CircularRight,
    Vector,
)

# - Setting up polarizations
beam = GaussianLaserBeam()
beam.polarization = Vertical()
beam.polarization = Horizontal()
beam.polarization = Linear(angle=pi / 4)
beam.polarization = CircularLeft()
beam.polarization = CircularRight()
beam.polarization = Vector((0, 0, -1))

# - Getting info
beam.polarization.print_info()
beam.get_polarization_vector_in_lab_frame()
beam.get_polarization_vector_in_laser_frame()


# - Compute projections
B = (0,1,0)
# 〈Ψ|π⟩, 〈Ψ|σ+⟩ and 〈Ψ|σ-⟩ in an array form
beam.get_polarization_quant_amplitude(B)
# same, output as a dict
beam.get_polarization_quant_amplitude_dict(B)
# |〈Ψ|π⟩|**2 , |〈Ψ|σ+⟩|**2 and |〈Ψ|σ-⟩|**2 in an array form
beam.get_polarization_quant(B)
# same, output as a dict
beam.get_polarization_quant_dict(B)