We present an object-oriented Python library for the computation of properties of highly-excited Rydberg states of alkali atoms. These include single-body effects such as dipole matrix elements, excited-state lifetimes (radiative and black-body limited) and Stark maps of atoms in external electric fields, as well as two-atom interaction potentials accounting for dipole and quadrupole coupling effects valid at both long and short range for arbitrary placement of the atomic dipoles. The package is cross-referenced to precise measurements of atomic energy levels and features extensive documentation to facilitate rapid upgrade or expansion by users. This library has direct application in the field of quantum information and quantum optics which exploit the strong Rydberg dipolar interactions for two-qubit gates, robust atom-light interfaces and simulating quantum many-body physics, as well as the field of metrology using Rydberg atoms as precise microwave electrometers. Program summaryProgram Title: ARC: Alkali Rydberg CalculatorProgram Files doi:http://dx.doi.org/10.17632/hm5n8w628c.1Licensing provisions: BSD-3-ClauseProgramming language: Python 2.7 or 3.5, with C extensionExternal Routines: NumPy [1], SciPy [1], Matplotlib [2]Nature of problem: Calculating atomic properties of alkali atoms including lifetimes, energies, Stark shifts and dipole–dipole interaction strengths using matrix elements evaluated from radial wavefunctions.Solution method: Numerical integration of radial Schrödinger equation to obtain atomic wavefunctions, which are then used to evaluate dipole matrix elements. Properties are calculated using second order perturbation theory or exact diagonalisation of the interaction Hamiltonian, yielding results valid even at large external fields or small interatomic separation.Restrictions: External electric field fixed to be parallel to quantisation axis.Supplementary material: Detailed documentation (.html), and Jupyter notebook with examples and benchmarking runs (.html and .ipynb).[1] T.E. Oliphant, Comput. Sci. Eng. 9, 10 (2007). http://www.scipy.org/.[2] J.D. Hunter, Comput. Sci. Eng. 9, 90 (2007). http://matplotlib.org/.
Read full abstract