Specifying the Atomic System

In order to find explicit forms for the density matrix, Hamiltonian, and other operators, the parameters of the atomic states must be specified. This is done using the AtomicState expression. A list of atomic states is known as an atomic system, and is the first argument to many of the functions in the AtomicDensityMatrix package.

Specifying an atomic state.

This loads the package.

The first argument to AtomicState is a label, which is usually a number or a string. This can be followed by one or more rules specifying the values of various atomic parameters.

An atomic state.

Possible atomic parameters.

StateLabel[state] returns the label for that state.
param[state] can be used to get the value of param if it has been defined.
If it hasn't been defined, param[state] returns param[StateLabel[state]].

Generating sublevels of atomic states.

Zeeman and hyperfine sublevels of states with angular momentum can be generated automatically.

Zeeman sublevels.
Hyperfine and Zeeman sublevels of a state with nuclear spin.