Hamiltonian Functions¶
Some useful functions for creating various ‘generic’ Hamiltonians (i.e. useful for alkali atoms), including their field dependent & independent parts, and connections between various manifolds.
Note: The Hamiltonians have the value of the Bohr magneton specified in Hz/G by default. To use pylcp default units, the Bohr magneton values must be overridden.
Other Hamiltonians¶
In addition to the Hamiltonians specified here, there are other, more specialized Hamiltonians for other quantum systems like molecules.
Overview¶
|
Construct the Hamiltonian for a lonely angular momentum state |
|
Construct the hyperfine Hamiltonian in the coupled basis. |
|
Construct the hyperfine Hamiltonian in the coupled basis. |
|
Returns the full fine structure manifold in the uncoupled basis. |
|
Calculates the dqij matrix for two bare hyperfine states. |
|
Dipole matrix element matrix elements for transitions between two hyperfine manifolds. |
Return the coupling between two fine structure manifolds |
Detailed functions¶
- pylcp.hamiltonians.dqij_two_bare_hyperfine(F, Fp, normalize=True)[source]¶
Calculates the dqij matrix for two bare hyperfine states. Specifically, it returns the matrix of the operator $d_q$, where a photon is created by a transition from the excited state to the ground state.
- Parameters
F (integer or float (half integer)) – Total angular momentum quantum number of the F state.
Fp (integer or float (half integer)) – Total angular momentum quantum number of the F’ state.
normalize (boolean) – By default, ‘normalize’ is True
- pylcp.hamiltonians.dqij_two_fine_stucture_manifolds_uncoupled(basis_g, basis_e)[source]¶
Return the coupling between two fine structure manifolds
- Parameters
basis_g (list or array_like) – A list of the basis vectors for the ground state. In the uncoupled basis, they are of the form \(|m_L, m_S, m_I\rangle\)
basis_e (list or array_like) – A list of the basis vectors for the ground state. In the uncoupled basis, they are of the form \(|m_L', m_S', m_I'\rangle\)
- Returns
d_q – The dipole coupling array. N is the number of ground states and M is the number of excited states.
- Return type
array with shape (3, N, M)
- pylcp.hamiltonians.dqij_two_hyperfine_manifolds(J, Jp, I, normalize=True, return_basis=False)[source]¶
Dipole matrix element matrix elements for transitions between two hyperfine manifolds.
- Parameters
J (int or float) – Lower hyperfine manifold \(J\) quantum number
Jp (int or float) – Upper hyperfine manifold \(J'\) quantum number
I (int or float) – Nuclear spin associated with both manifolds
normalize (boolean, optional) – Normalize the d_q to one. Default: True
return_basis (boolean, optional) – If true, returns the basis states as well as the \(d_q\)
- Returns
d_q (array_like) – Dipole matrix elements between hyperfine manifolds
basis_g (list) – If return_basis is true, list of (\(F\), \(m_F\))
basis_e (list) – If return_basis is true, list of (\(F'\), \(m_F'\))
- pylcp.hamiltonians.fine_structure_uncoupled(L, S, I, xi, a_c, a_orb, a_dip, gL, gS, gI, muB=1399624.49361, return_basis=False)[source]¶
Returns the full fine structure manifold in the uncoupled basis.
- Parameters
L (int) – Orbital angular momentum of interest
S (int or float) – Spin angular momentum of interest
I (int or float) – Nuclear angular momentum of interest
xi (float) – Fine structure splitting
a_c (float) – Contact interaction constant
a_orb (float) – Orbital interaction constant
a_dip (float) – Dipole interaction constant
gL (float) – Orbital g-factor
gS (float) – Spin g-factor
gI (float) – Nuclear g-factor
muB (float, optional) – Bohr magneton. Default: the CODATA value in Hz/G
return_basis (bool, optional) – Return the basis vectors as well as gthe
- Returns
H_0 (array (NxN)) – Field free Hamiltonian, where N is the number of states
mu_q (array (3xNxN)) – Zeeman splitting array
Notes
See J.D.Lyons and T.P.Das, Phys.Rev.A,2,2250 (1970) and H.Orth et al,Z.Physik A,273,221 (1975) for details of Hamiltonian and splitting constants.
This function is adapted from the one found in Tollet, “Permanent magnetic trap for Li atoms”, thesis, Rice University, 1994.
- pylcp.hamiltonians.hyperfine_coupled(J, I, gJ, gI, Ahfs, Bhfs=0, Chfs=0, muB=1399624.49361, return_basis=False)[source]¶
Construct the hyperfine Hamiltonian in the coupled basis.
For parameterization of this Hamiltonian, see Steck, Alkali D line data, which contains a useful description of the hyperfine Hamiltonian.
- Parameters
J (int or float) – Lower hyperfine manifold \(J\) quantum number
I (int or float) – Nuclear spin associated with both manifolds
gJ (float) – Electronic Lande g-factor
gI (float) – Nuclear g-factor
Ahfs (float) – Hyperfine \(A\) parameter
Bhfs (float, optional) – Hyperfine \(B\) parameter. Default: 0.
Chfs (float, optional) – Hyperfine \(C\) parameter. Default: 0.
muB (float, optional) – Bohr magneton. Default: the CODATA value in Hz/G
return_basis (boolean, optional) – If true, return the basis. Default: False
- Returns
H_0 (array_like) – Field independent component of the Hamiltonian
mu_q (array_like) – Magnetic field dependent component of the Hamiltonian
basis (list) – List of \((F, m_F)\) basis states
- pylcp.hamiltonians.hyperfine_uncoupled(J, I, gJ, gI, Ahfs, Bhfs=0, Chfs=0, muB=1399624.49361, return_basis=False)[source]¶
Construct the hyperfine Hamiltonian in the coupled basis.
For parameterization of this Hamiltonian, see Steck, Alkali D line data, which contains a useful description of the hyperfine Hamiltonian.
- Parameters
J (int or float) – Lower hyperfine manifold \(J\) quantum number
I (int or float) – Nuclear spin associated with both manifolds
gJ (float) – Electronic Lande g-factor
gI (float) – Nuclear g-factor
Ahfs (float) – Hyperfine \(A\) parameter
Bhfs (float, optional) – Hyperfine \(B\) parameter. Default: 0.
Chfs (float, optional) – Hyperfine \(C\) parameter. Default: 0.
muB (float, optional) – Bohr magneton. Default: the CODATA value in Hz/G
return_basis (boolean, optional) – If true, return the basis. Default: False
- Returns
H_0 (array_like) – Field independent component of the Hamiltonian
mu_q (array_like) – Magnetic field dependent component of the Hamiltonian
basis (list) – List of \((J, I, m_J, m_I)\) basis states
- pylcp.hamiltonians.singleF(F, gF=1, muB=1399624.49361, return_basis=False)[source]¶
Construct the Hamiltonian for a lonely angular momentum state
- Parameters
F (int or float) – Angular momentum quantum number
gF (float) – Associated Lande g-factor
muB (float, optional) – Bohr magneton. Default: the CODATA value in Hz/G
return_basis (boolean, optional) – If true, return the basis. Default: False
- Returns
H_0 (array_like) – Field independent component of the Hamiltonian
mu_q (array_like) – Magnetic field dependent component of the Hamiltonian
basis (list) – List of \((F, m_F)\) basis states