Source-linked AI summary
ARC: An open-source library for calculating properties of alkali Rydberg atoms
N. Šibalić, J. D. Pritchard, C. S. Adams, K. J. Weatherill
TL;DR
Rydberg research needs reusable calculations of single-atom properties and atom-pair interactions, but such work had been repeatedly implemented by separate groups. ARC provides an object-oriented Python library with documented, modular routines, and demonstrates its calculations through lifetime comparisons and a Stark-tuned Förster resonance at 0.18 V/cm.
Problem
Relevant Rydberg calculations had been repeated independently, with no single common resource for complex calculations or quick numerical estimates.
Method
ARC uses an object-oriented Python library with modular routines for alkali-atom energy levels, matrix elements, lifetimes, Stark maps, and pair-state interactions.
Results
A calculated Förster resonance occurs at 0.18 V/cm for the 42 F, 46 P3/2 pair-state, while calculated Rb 30 S1/2 lifetimes agree excellently with previous work.
Takeaways & Limitations
ARC supports calculations of alkali Rydberg properties for quantum information, quantum optics, many-body physics, and microwave electrometry.
Takeaways & Limitations
Numerical dipole-matrix-element estimates have large errors for low-lying states, so ARC uses literature values when available; multipole expansions require separations larger than the Le Roy radius.
Abstract
from arXiv · showhide
We present an object-oriented Python library for 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 SUMMARY
ARC is a Python library for calculating alkali-atom properties from matrix elements evaluated using radial wavefunctions and numerical integration.
- ARC calculates alkali-atom lifetimes, energies, Stark shifts, and dipole-dipole interaction strengths.
- The library evaluates matrix elements from radial wavefunctions.
- ARC uses numerical integration as its solution method.
1. Introduction
ARC addresses fragmented, repeated Rydberg-physics calculations by providing a modular, reusable library with documentation, examples, and browser-based access. Its scope covers single-atom and two-atom properties relevant to quantum science and precision measurements.
- Rydberg experiments require detailed single-atom and atom-pair properties, including lifetimes, energies, transition dipoles, interactions, and perturbed energy levels.
- ARC consolidates calculations previously repeated independently into a modular, reusable, and extendable Python library.
- The package organizes calculations hierarchically so users can select the abstraction level relevant to their task.
- Documentation, commented code, self-descriptive names, and an IPython notebook provide practical entry points for new users.
- A web interface provides browser access to basic calculations and automatically generates code for more complex work.
- The paper presents ARC architecture, theoretical calculations, setup, implementation details, and possible future expansion.
2.1. Overview
ARC uses layered modules to derive single-atom and pair-state calculations from shared atomic-physics primitives. Atom-specific classes supply physical data while higher-level modules calculate energy diagrams, Stark maps, interactions, and Förster resonances.
- The lowest ARC layers implement angular-momentum algebra and fast radial-wavefunction calculations, supporting higher-level atomic-property methods.
- Atom-specific classes inherit common calculation methods while encoding the relevant physical parameters for each alkali element.
- Single-atom modules provide interactive level diagrams and Stark maps, while pair-state modules calculate long-range dipole-dipole interactions.
- The pair-state interface automatically identifies Förster resonances for atoms in weak electric fields.
2.2. The AlkaliAtom class
The AlkaliAtom class provides reusable calculations of alkali Rydberg energies, wavefunctions, matrix elements, lifetimes, and related atom-light and interaction properties. It combines measured energy data and model potentials with numerical integration, while using tabulated literature values where low-lying-state calculations are less reliable.
- Class structure: AlkaliAtom encapsulates primitive single-atom properties used throughout ARC, including energy levels, transition quantities, matrix elements, and lifetimes.Species-specific classes inherit these calculation methods, and users access them through atom.functionName(parameters).
- Energy levels: Rydberg energies are calculated from the Rydberg formula using ionisation thresholds, reduced-mass-corrected Rydberg constants, and quantum defects fitted to precise measurements.The quantum defect is represented by modified Rydberg-Ritz coefficients.
- Wavefunctions: ARC computes radial wavefunctions by Numerov integration of a transformed radial Schrödinger equation using alkali model potentials fitted to measured energy levels.The integration uses scaled coordinates and truncates the range to avoid short-range divergence and long-range decay issues.
- Matrix elements: Dipole and quadrupole matrix elements are obtained by combining angular-momentum factors with numerically integrated radial overlaps.Dipole calculations use the Wigner-Eckart theorem and support fine-structure states and polarization-dependent transitions.
- Matrix elements: For low-lying states, ARC checks tabulated measured or coupled-cluster dipole matrix elements before falling back to numerical integration because the model has large core-region errors.The literature values are stored in readable CSV files that users can extend.
- Lifetimes: Radiative and black-body contributions are combined to calculate effective lifetimes, with ARC results for Rb 30 S 1/2 at 300 K agreeing excellently with previous work.Radiative decay is dominated by low-lying states because of the ω^3 scaling in the transition-rate expression.
2.3. Single-atom calculations
ARC provides modular tools for single-atom energy-level visualization and Stark-shift calculations in external electric fields. Stark maps are obtained by diagonalizing field-dependent Hamiltonians in a selected basis and can reveal state contributions and transition-related information.
- ARC's calculations_atom_single module supports interactive energy-level diagrams and Stark maps for atoms in external electric fields.
- Level plots: The LevelPlot class plots atomic energy levels and enables interactive exploration of transition wavelengths and frequencies.An example spans caesium ℓ states from S to D for principal quantum numbers n = 6 to n = 60.
- Stark shifts: Stark shifts are calculated by exact diagonalisation of the Stark Hamiltonian, whose electric-field term mixes bare atomic levels through Stark interaction matrix elements.The selection rules couple only states with the same mj and with Δℓ = ±1, allowing separate Stark maps for each mj.
- Stark shifts: A StarkMap basis is defined around a target state using ranges of n and ℓ, with larger bases needed for stronger fields or higher n because of increased level mixing.Typical convergence uses ℓmax = 20 and nmax − nmin ∼10, but the basis must be expanded when mixing is stronger.
- Stark shifts: For the Cs 28 S 1/2 mj = 1/2 example, ARC uses n = 23–32, ℓmax = 20, and 600 field values from 0 to 600 V/cm to construct the Stark map.The resulting plot can be interactively queried for dominant basis-state contributions and highlighted by target-state fraction or laser-transition probability.
- Stark shifts: The StarkMap class also provides static polarizability α0 in units of MHz/(V/cm)^2 for the target state.
2.4. Pair-state calculations:
ARC calculates two-atom interaction potentials across long and short ranges, including anisotropic dipole and quadrupole couplings and automated Förster-resonance searches. Pair-state methods account for near-resonant channels, arbitrary atomic orientation, and the Le Roy-radius validity boundary.
- Pair-state tools: PairStateInteractions calculates and visualises long- and short-range two-atom interactions, while StarkMapResonances identifies Förster resonances under electric-field tuning.These classes form the core pair-state module.
- Interaction model: Dipole-dipole, dipole-quadrupole, and quadrupole-quadrupole terms correspond to multipole orders L1 + L2 = 2, 3, and 4.Quadrupole-quadrupole contributions can be enabled for short-distance level structure.
- Interaction model: For arbitrary orientation, ARC rotates atomic states with WignerD matrices using the polar angle θ and azimuthal angle φ relative to the interatomic axis.This permits coupling calculations when the quantization axis is not aligned with the internuclear axis.
- Interaction regimes: At short range, resonant dipole-dipole interactions scale as C3/R3; at large separation, off-resonant coupling produces a van der Waals shift −C6/R6.The crossover occurs at the van der Waals radius where the interaction equals the energy defect.
- Interaction regimes: All near-resonant pair-states coupled by V(R) must be included to calculate realistic interaction shifts and potentials.ARC diagonalises the interaction matrix over separations down to the Le Roy radius and can extract C3, C6, and Rvdw from fitted eigen-energies.
3. Installation and Usage
ARC can be installed on Linux, Mac OSX, and Windows with Python 2.7 or 3.5 and required scientific libraries. Users initialise the package from a local source directory, with compiled Numerov integration recommended for intensive calculations.
- Performance: ARC uses a C-extension Numerov routine by default to numerically integrate atomic wavefunctions and obtain dipole matrix elements.The extension can be compiled locally if the precompiled executable is incompatible with the system.
- Performance: The native Python solver can be selected with cpp_numerov=False, but it is substantially slower for intensive calculations.The paper therefore recommends the compiled routine for demanding workloads.
- Usage: The library is initialised by adding the ARC directory to Python’s path, changing into that directory, and importing the ARC package.The paper recommends this source-directory workflow so users can access and modify underlying code and constants.
4. Implementation
ARC organises atomic data and calculations into reusable classes, uses memoization and optional progress diagnostics, and supports interactive exploration, persistence, and data export. Its matrix-based interfaces also expose basis states and calculation matrices for downstream analysis.
- Atomic data: Atomic properties are encapsulated in classes using literature data, model-potential coefficients, quantum-defect expansions, measured ionisation energies, and the Rydberg constant.These inputs determine high-principal-quantum-number energy levels and related properties.
- Diagnostics: ProgressOutput provides basic status information, while debugOutput prints more verbose basis-state and coupling details.These boolean options support routine monitoring and troubleshooting of calculations.
- Performance: Memoization stores prior dipole, quadrupole, and angular-coupling results in SQLite and arrays to avoid repeated calculations.The cached quantities include factors independent of the considered state’s principal quantum number.
- Calculation management: Large calculations are wrapped as classes with parameters, visualisation, and exploration methods, and can be saved, reloaded, and continued.Pair-state calculations can be serialised and later reopened for plotting or further analysis.
- Data access: StarkMap and PairStateInteractions export calculation data as human-readable CSV files with commented headers describing the performed calculations.The export produces typically three files whose names begin with the chosen root filename.
- Data access: Advanced users can directly access basis states and Stark or pair-state interaction matrices assembled from diagonal and off-diagonal components.This exposes intermediate calculation objects for further analysis and computation in other programs.
5. Outlook
ARC version 1.2 is distributed with documentation, examples, benchmarks, and a web interface, while its modular codebase is intended for community expansion. The authors identify numerous atomic-physics capabilities beyond the current scope for future implementation.
- Version 1.2 is downloadable with full documentation, interactive examples, benchmarks against published results, and a web interface for quick estimates.The materials include an IPython notebook and links to the ARC website and GitHub repository.
- Future extensions include dressing potentials, magic wavelengths, atom-wall interactions, photoionisation, collisional cross sections, tensor polarizability, molecular bound states, magnetic-field effects, and microwave-tuned interactions.The authors also mention possible inclusion of alkaline earth elements.
- The code is hosted on GitHub to support community involvement and improvements as the library grows.
- ARC’s hierarchical object-oriented structure lets users access information at the appropriate abstraction level without handling lower-level calculation details.The authors present this structure as a way to increase accessibility to information that previously required lengthy, error-prone calculations.
Appendix A. Example program
The example program computes spontaneous and black-body-induced transition rates from the 30 S_{1/2} state to n P_{1/2} and n P_{3/2} states. It scans principal quantum numbers from 5 to 40 and prepares the two rates for plotting against n.
- The example loops over principal quantum numbers n from 5 to 40.
- It calculates the transition rate from 30 S_{1/2} to n P_{1/2} and n P_{3/2} at T=0 K without black-body radiation.
- It recalculates the same transitions at T=300 K and stores the black-body-induced contribution as withBBR-noBBR.
- The plotting code uses principal quantum number n on the x-axis and transition rate (s−1) on the y-axis.Spontaneous decays and black-body-induced transitions are plotted as separate bar series.
- The resulting figure is saved as decays.pdf with a 5.50-by-4 inch figure size.
Appendix B. ARC function list
Appendix B lists ARC’s classes, functions, and methods across modules for atomic properties, species data, level plots, Stark maps, pair-state interactions, resonances, and angular-momentum calculations.
- Table B.1 lists classes and functions in the alkali_atom_functions module.
- Table B.2 lists methods and functions in the AlkaliAtom class and reports typical relative uncertainties from comparison with measured values.
- Table B.3 lists alkali_atom_data classes that inherit properties from alkali_atom_functions.AlkaliAtom.
- Tables B.4 and B.5 list methods for LevelPlot(atomType) and StarkMap(atom) classes.
- Tables B.6 and B.7 list methods for pair-state interaction and pair-state Stark-map resonance calculations.The PairStateInteractions class calculates pair-state level diagrams, while StarkMapResonances calculates pair-state Stark maps for finding resonances.
- Table B.8 lists functions and classes in the wigner module for angular element calculations.