TwoJManifold#
- class TwoJManifold(atom, nG, lG, jG, nE, lE, jE)#
Bases:
AtomManifoldTwoJManifoldground/excited manifolds (\(J_g\rightarrow J_e\)).Builds combined state list, operators, linewidths, reduced DME, saturation intensity and Doppler temperature for an alkali D-line transition.
Examples:
% Example1: Build D1/D2 manifolds from an alkali atom alk = Alkali("Rubidium87"); D1 = alk.D1; % :class:`TwoJManifold` (D1) D2 = alk.D2; % :class:`TwoJManifold` (D2) Isat = D2.SaturationIntensity(max(D2.FGround),max(D2.FGround), ... max(D2.FExcited),max(D2.FExcited));
% Example2: Hamiltonians and dressed states vs bias field B = MagneticField(bias=[0;0;2e-4]); Hz = D2.HamiltonianAtomBiasField(B); [tbl,U] = D2.BiasDressedStateList(B);
- Constructor Summary
- TwoJManifold(atom, nG, lG, jG, nE, lE, jE)#
Construct a
TwoJManifold.- Parameters:
atom (
Atom) – Atom contextnG (
int32) – Ground principal quantum numberlG (
int32) – Ground \(L\)jG (
double) – Ground \(J\)nE (
int32) – Excited principal quantum numberlE (
int32) – Excited \(L\)jE (
double) – Excited \(J\)
- Property Summary
- DopplerTemperature double#
Doppler temperature [K]
- EnergyExcited double#
Excited hyperfine energies [Hz]
- EnergyGround double#
Ground hyperfine energies [Hz]
- FExcited double#
Excited hyperfine \(F\)
- FGround double#
Ground hyperfine \(F\)
- FOperator cell#
Hyperfine spin operators (block-diagonal)
- HFSCoefficientExcited#
[A,B] excited hyperfine coefficients (Hz)
- HFSCoefficientGround#
[A,B] ground hyperfine coefficients (Hz)
- IOperator cell#
Nuclear spin operators (block-diagonal)
- JExcited double#
Excited \(J\)
- JGround double#
Ground \(J\)
- JOperator cell#
Electronic spin operators (block-diagonal excited/ground)
- LExcited int32#
Excited \(L\)
- LGround int32#
Ground \(L\)
- LandegFExcited double#
Excited Landé \(g_F\)
- LandegFGround double#
Ground Landé \(g_F\)
- LandegJExcited double#
Excited Landé \(g_J\)
- LandegJGround double#
Ground Landé \(g_J\)
- LifetimeExcited double#
Excited-state lifetime [s]
- MFExcited double#
Excited \(M_F\)
- MFGround double#
Ground \(M_F\)
- NExcited int32#
Excited principal quantum number
- NGround int32#
Ground principal quantum number
- NaturalLinewidth double#
Natural linewidth [Hz] (no 2π)
- ReducedDipoleMatrixElement double#
\(\langle J_g\Vert d\Vert J_e\rangle\) [C·m]
- ReducedSaturationIntensity double#
Reduced Isat [W/m^2]
- ReducedSaturationIntensityLu double#
Reduced Isat [mW/cm^2]
- StateList table#
Combined state table with labels and flags
- Method Summary
- BiasDressedStateList(B, isPlot, options)#
Compute dressed states versus bias field and assemble blocks.
- Parameters:
B (
MagneticField) – Magnetic fieldisPlot (
logical, optional) – Plot resultssamplingSize (
double, optional) – Number of bias samples
- Returns:
Dressed state table, unitary U, and branch map
- Return type:
table, double, cell
- DipoleMatrixElement(fG, mfG, fE, mfE, q, U)#
Dipole matrix element \(\langle f_G,m_F^G| d_q | f_E,m_F^E\rangle\) [C·m].
Selection rule: \(m_F^E + q = m_F^G\). Sign of \(q\) follows Steck’s convention.
\[m_F^E = m_F^G + q\]- Parameters:
fG (
double) – Ground \(F\)mfG (
double) – Ground \(M_F\)fE (
double) – Excited \(F'\)mfE (
double) – Excited \(M_F'\)q (
double) – Spherical component (\(-1,0,+1\))U (
double, optional) – Basis transform
- Returns:
Dipole matrix element [C·m]
- Return type:
double
- DipoleMatrixElementNu(fG, mfG, fE, mfE, q, U)#
Dipole matrix element normalized by reduced DME (Steck tables).
\[d_\nu = \frac{\langle f_G m_F^G | d_q | f_E m_F^E \rangle}{\langle J_G \Vert d \Vert J_E \rangle}\]- Returns:
Dimensionless ratio
- Return type:
double
- HamiltonianAtom(fRot, U)#
Diagonal Hamiltonian with rotating-frame shift on excited states.
\[H_a = U^\dagger \, \operatorname{diag}\big(E - f_\mathrm{rot}\,\chi_\mathrm{exc}\big) \, U\]- Parameters:
fRot (
double, optional) – Rotating-frame frequency [Hz]U (
double, optional) – Basis transform
- Returns:
Hamiltonian matrix [Hz]
- Return type:
double
- HamiltonianAtomBiasField(B, U)#
Zeeman Hamiltonian from
OneJManifoldblocks.\[H_Z = U^\dagger \, \mathrm{blkdiag}\big(H_Z^{(e)}, H_Z^{(g)}\big) \, U\]where each block uses \(H_Z = \mu_B ( g_J \mathbf{J} + g_I \mathbf{I} )\cdot\mathbf{B} / h\).
- Parameters:
B (
MagneticField) – Magnetic field objectU (
double, optional) – Basis transform
- Returns:
Hamiltonian matrix [Hz]
- Return type:
double
- HamiltonianAtomLaser(laser, fRot, U)#
Atom-light interaction Hamiltonian \(H_\mathrm{AL}(t)\).
\[H_{\mathrm{AL}}(t) = \sum_{q=-1}^{+1} \frac{\Omega^*}{2}\, e_q\, \Sigma_q\, e^{i\Delta t} + \mathrm{h.c.}\]- Parameters:
laser (
Laser) – Driving fieldfRot (
double, optional) – Rotating-frame frequency [Hz]U (
double, optional) – Basis transform
- Returns:
Function handle H(r,t) [Hz]
- Return type:
function_handle
- HamiltonianAtomLaserOrigin(laser, fRot, U)#
Atom-light interaction Hamiltonian \(H_\mathrm{AL}(t=0,r=0)\).
\[H_{\mathrm{AL}}(t) = \sum_{q=-1}^{+1} \frac{\Omega^*}{2}\, e_q\, \Sigma_q\, e^{i\Delta t} + \mathrm{h.c.}\]- Parameters:
laser (
Laser) – Driving fieldfRot (
double, optional) – Rotating-frame frequency [Hz]U (
double, optional) – Basis transform
- Returns:
Function handle H(r,t) [Hz]
- Return type:
function_handle
- LaserDressedStateListLargeDetuning(laser)#
Compute laser-dressed states for large detuning limit.
Calculates the AC Stark-shifted energy levels for both ground and excited state manifolds in the presence of a laser field. The method combines dressed states from separate ground and excited manifolds, properly indexing and energy-shifting the excited states by the transition frequency. Valid in the large detuning limit where laser detuning exceeds hyperfine splitting.
- Parameters:
- Returns:
Combined state table with AC Stark energy shifts
- Return type:
table
Returns:
Table with columns from
StateListplusEnergyShiftcontaining AC Stark shifts [Hz]. Excited states are energy-shifted by the transition frequency and indexed after ground states.Notes:
The method creates separate
OneJManifoldobjects for ground and excited states, computes their individual AC Stark shifts, then combines them with proper energy referencing and state indexing.
- LaserDressedStateListSmallDetuning(laser, isPlot, options)#
Compute laser-dressed states for small detuning regime using exact diagonalization.
Calculates AC Stark-shifted energy levels by exactly diagonalizing the combined atomic and atom-laser interaction Hamiltonians. Valid in the small detuning regime where the laser detuning is comparable to or smaller than the hyperfine splitting, allowing application of the rotating wave approximation. Uses adiabatic continuation via
eigenshuffle()to track eigenstate evolution with laser intensity.- Parameters:
- Returns:
Dressed state table, unitary transformation matrix, and AC Stark map
- Return type:
(table, double, cell)
Returns:
dressedStateList: Table with
StateListcolumns plusEnergyShift[Hz] andDressedStateeigenvectorsU: Unitary transformation matrix connecting bare to dressed states
acMap: Cell array
{intensityList, energyMatrix}for plotting AC Stark shifts vs intensity
Notes:
The method constructs the total Hamiltonian \(H = H_{\text{atom}} + \sqrt{s} H_{\text{AL}}\) where \(s\) ranges from 0 to 1, corresponding to laser intensities from 0 to the full intensity. The
eigenshuffle()algorithm ensures consistent eigenstate tracking during the adiabatic sweep, preventing level crossings from scrambling state assignments.
- LoweringOperator(q, U)#
Spherical lowering operator (see Steck Eq. 7.407).
\[\Sigma_q = \sum_{g,e} |g\rangle\langle e|\, d_\nu(g\leftarrow e;q)\]
- ReducedRabiFrequency(laser)#
Reduced Rabi frequency for linearly polarized light.
\[\Omega = -\sqrt{\frac{I}{2 I_{\mathrm{sat}}^{(\mathrm{red})}}}\, \Gamma\]- Parameters:
laser (
Laser) – Driving field- Returns:
\(\Omega\) [Hz]
- Return type:
double
- SaturationIntensity(fG, mfG, fE, mfE, U)#
Saturation intensity for specified sublevels.
\[I_{\mathrm{sat}} = \frac{I_{\mathrm{sat}}^{(\mathrm{red})}}{|d_\nu|^2}\]- Returns:
\(I_{sat}\) [W/m^2]
- Return type:
double
- getMIMJ()#
Compute \((M_I,M_J)\) labels by adiabatic mapping.
- Returns:
Table of MI, MJ per basis state
- Return type:
table