arc.divalent_atom_functions.DivalentAtom.getDipoleMatrixElement#

DivalentAtom.getDipoleMatrixElement(n1: int, l1: int, j1: float, mj1: float, n2: int, l2: int, j2: float, mj2: float, q: int, s: float = 0.5) float#

Dipole matrix element \(\langle n_1 l_1 j_1 m_{j_1} |e\mathbf{r}|\ n_2 l_2 j_2 m_{j_2}\rangle\) in units of \(a_0 e\)

Parameters:
  • l1 (n1.) – principal, orbital, total angular momentum, and projection of total angular momentum for state 1

  • j1 – principal, orbital, total angular momentum, and projection of total angular momentum for state 1

  • mj1 – principal, orbital, total angular momentum, and projection of total angular momentum for state 1

  • l2 (n2.) – principal, orbital, total angular momentum, and projection of total angular momentum for state 2

  • j2 – principal, orbital, total angular momentum, and projection of total angular momentum for state 2

  • mj2 – principal, orbital, total angular momentum, and projection of total angular momentum for state 2

  • q (int) – specifies transition that the driving field couples to, +1, 0 or -1 corresponding to driving \(\sigma^+\), \(\pi\) and \(\sigma^-\) transitions respectively.

  • s (float) – optional, total spin angular momentum of state. By default 0.5 for Alkali atoms.

Returns:

dipole matrix element( \(a_0 e\))

Return type:

float

Example

For example, calculation of \(5 S_{1/2}m_j=-\frac{1}{2}\ \rightarrow 5 P_{3/2}m_j=-\frac{3}{2}\) transition dipole matrix element for laser driving \(\sigma^-\) transition:

from arc import *
atom = Rubidium()
# transition 5 S_{1/2} m_j=-0.5 -> 5 P_{3/2} m_j=-1.5
# for laser driving sigma- transition
print(atom.getDipoleMatrixElement(5,0,0.5,-0.5,5,1,1.5,-1.5,-1))