Mathematica Notebooks

Listed below are links to a
number of Mathematica subroutines and notebooks
associated with this course. Although the programs have been tested, there is
always the possibility that some errors remain. First we list some simple subroutines.
Note that you can also use the built-in functions in Mathematica
for the Clebsh-Gordan, 3-J, and 6-J symbols, but you
will have to change some of the code in the programs where these quantities are
used.

If you use the subroutines below,
you must import them into your program with the <<location\subroutine,
where *location* is where you have
copied the subroutines. See the programs for examples.

Clebsch-Gordan
coefficient: output of this subroutine is

CG[{J₁,m₁},{J₂,m₂},{J,m}],

corresponding
to

_{}

Three-J symbol: output of this subroutine is

T3[{J₁,m₁},{J₂,m₂},{J,m}],

corresponding
to

_{}

Six-J symbol: output of this subroutine is

sixj[{J₁,G₂},{J₂,G₂},{J₃,G₃}],

corresponding
to

_{}

9-J symbol: Nine-J symbol: output of this
subroutine is

nj[{J₁,J₂,J₁₂},{J₃,J₄,J₃₄},{J₁₃,J₂₄,J}],

corresponding
to

_{}

Irreducible matrix representations of the rotation group: output of this subroutine is

rotm[j,m,m′,α,β,γ],

corresponding
to _{} defined in Problems 1-2 of Chap. 17.

P-function: output of this subroutine is

_{},

corresponding
to _{} defined in Eq. (17.29).

Notebooks

This notebook enables you to calculate the
probe absorption when a pump field of arbitrary strength drives a two-level
atom, Eq. (7.64). The atom is stationary.

This notebook has steady state solutions for
probe absorption for a two level atom and the Λ, cascade, and V 3-level
atoms. This is for stationary atoms, but allows for collisions.

This notebook has the solution of the time
dependent 3-level Λ system and illustrates STIRAP.

This notebook has a solution of the
propagation problem for slow light.

This notebook enables you to evaluate _{} given in Eq. (17.41).

This notebook enables you to evaluate _{} given in Eq. (16.57) in terms of _{}and the inverse of this equation.

This notebook enables you to get the optical
pumping equations given in Eqs. (17.27)
and (17.37). Also it gives the lattice potential density matrix elements
given in Eq. (17.61). You must input the subroutines shown in the program that are given above.

This notebook calculates the spatially
averaged friction and diffusion coefficients for crossed polarization and a
G=1/2 ground state. The energy and velocity distribution is also calculated.
You must input the subroutines shown in the program that are
given above.

This notebook calculates the spatially
averaged friction and diffusion coefficients for corkscrew (σ₊ - σ₋) polarization
and a G=1 ground state and H=2 excited. The energy and velocity distribution is
also calculated. You must input the subroutines shown in the program
that are given above.

This notebook calculates the spatially
averaged friction and diffusion coefficients for *x* polarization and a G=0 ground state. You must input the
subroutines shown in the program that are given above.
This is the diffusion coefficient that can be used in Chapter 5 to calculate
the Doppler limit of laser cooling.

Note that the equation for the "in
term" is written in a system quantized along the z axis and for fields
propagating along the z axis. For other directions of field propagation, things
get more complicated. You cannot use these equations for a *z* polarized field since the propagation direction of the fields can
no longer be along the quantization axis. With *z* polarized excitation, the equations give the same diffusion
coefficient if q=kcosθ is replaced by q=ksinθsinφ, although we don't yet have formal
justification as to why this should work.