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 click on any subroutine or notebook below, it may come up as a text file in your browser - simply use "Save Page as" to save the file to the directory of your choice.

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.