arckit Python Library: Atomic Physics Tool
- The arckit Python Library is a flexible and extensible tool for atomic physics computations, focusing on alkali and divalent atoms.
- It offers APIs for detailed calculations like atomic energies, matrix elements, dynamic polarizabilities, and lattice properties.
- Utilized for robust workflows in atomic and quantum optics, ARC 3.0 supports data-driven and reproducible studies in neutral-atom systems.
The arckit Python library, also referred to in the literature as ARC or ARC 3.0, is an open-source, object-oriented Python toolbox for atomic physics computations. Designed primarily for precision work with alkali and divalent atom species, it provides a consistent and extensible application programming interface (API) to calculate atomic energies, matrix elements, Stark maps, polarizabilities, lattice properties, and long-range interaction coefficients. Its utility spans atomic, quantum optics, and quantum information, facilitating reproducible workflows for researchers handling Rydberg and related neutral-atom systems (Robertson et al., 2020, Šibalić et al., 2016). The toolkit integrates experimental and model-potential data, semi-classical and numerical methods, and is structured for modularity and community extension.
1. Supported Atomic Species and Data Structures
ARC 3.0 supports a broad range of atomic systems. Alkali species are handled with quantum defect expansions and NIST data—classes include Rubidium87(), Caesium(), Hydrogen(), Sodium23(), and potassium/rubidium/cesium isotopes. Divalent atoms, such as Strontium88() and Ytterbium174(), use a single-active-electron approximation with singlet/triplet specification via a quantum number or $1$. Atomic constants, quantum defects, ionisation energies, and model-potential coefficients are encoded in the data modules (Robertson et al., 2020):
alkali_atom_data,divalent_atom_datafor species-specific parameters.- Literature dipole matrix elements and level data, extendable through local
.csvtables.
Atomic properties, such as state energies, transition wavelengths, and reduced matrix elements, are accessible via high-level class methods: $1$4 This design enables straightforward extension when adding new atomic species, requiring only subclassing and data provision (Robertson et al., 2020).
2. Single-Atom Calculations and Methods
The toolkit rigorously implements single-body atomic calculations relevant for high-lying (Rydberg) and ground electronic states:
- Radial Wave Functions: Numerov integration of model potentials () for alkalis; semi-classical analytic integrals for divalents.
- Dipole and Quadrupole Matrix Elements: Automated Wigner-Eckart decomposition and numerical or literature-driven evaluation, including fallback mechanisms (Šibalić et al., 2016).
- State Energies and Transition Rates: Direct computation of excited-state lifetimes, radiative and black-body-induced decay rates, and Rabi frequencies using model potential and experimental data (Šibalić et al., 2016).
- Stark Maps: Static electric field Hamiltonian construction and exact diagonalization in a truncated basis, supporting Fӧrster resonance identification and polarizability extraction (Šibalić et al., 2016, Robertson et al., 2020).
Tabulated atomic data assure high accuracy (1–2% relative error for ) and cross-checks with NIST reference values; rapid recalculation is facilitated by memoisation schemes (Šibalić et al., 2016).
| Quantity | Core Module/Class | Calculation Principle |
|---|---|---|
| Level Energies | AlkaliAtom, DivalentAtom | Quantum-defect + NIST tables |
| Dipole Matrix Elements | AlkaliAtom | Numerov integration, Wigner-Eckart |
| Radiative Lifetimes | AlkaliAtom | Einstein -coefficients, summations |
| Stark Map | StarkMap | Basis diagonalization |
| Radial Integrals | arc_c_extensions | C-accelerated Numerov/Python fallback |
3. Two-Atom and Many-Body Interaction Modules
Evaluating long- and short-range interatomic potentials is central to quantum information and simulation tasks. ARC 3.0 allows:
- Multipole Expansion: Dipole–dipole (), dipole–quadrupole, and quadrupole–quadrupole terms are calculated, including all relevant angular dependencies via Wigner D-matrices (Šibalić et al., 2016).
- Van der Waals Coefficients: Computed perturbatively or via full diagonalization, supporting degenerate/interspecies interactions.
- Two-Body Eigenvalue Problems: Short-range spectra (“spaghetti” curves), resonance finding, and derived parameters (blockade radius, Fӧrster resonance fields) (Robertson et al., 2020).
- Atom–Surface Interactions: Non-retarded van der Waals (surface potentials) and support for real optical materials, e.g.,
Sapphire()via theAtomSurfaceVdWclass.
These methods enable prediction and analysis of interacting Rydberg ensembles for gate design, quantum simulation, and metrological schemes.
4. Optical Lattice and Polarizability Computations
ARC 3.0 incorporates substantial capability for lattice physics and AC field interactions, including:
- 1D Optical Lattice Band Structures: Hamiltonian diagonalization in the basis, Bloch-band diagramming, and Wannier function generation.
- Dynamic (AC) Polarizabilities: Scalar, tensor, and core contributions are computed via sum-over-states formulas using reduced dipole matrix elements and transition energies. The tool identifies magic wavelengths critical for neutral-atom trapping and state-insensitive clock operation:
$1$0
Such routines are critical in contemporary neutral-atom quantum engineering and atomic clock development.
5. Workflow Examples and Application Domains
ARC 3.0 workflows are tailored for experimental and theoretical investigations in atomic, molecular, and optical (AMO) physics:
- Quantum Gate Design: Calculation of $1$1, blockade radii, and fidelity metrics for Rydberg-mediated two-qubit gates.
- Metrology and Magic Trap Design: Determination of state-insensitive trapping conditions by equating dynamic polarizabilities ($1$2) (Robertson et al., 2020).
- Quantum Many-Body Simulation: Long-range interaction matrix generation for input to simulation codes.
- Atom–Surface Physics: $1$3 coefficient estimation for atom-surface proximity sensors.
All routines are supported by an extensive documentation suite and online code examples, with additional IPython notebook support and a web-based calculator for rapid prototyping (Šibalić et al., 2016, Robertson et al., 2020).
6. Installation, Extensibility, and Community Support
ARC 3.0 is distributed via PyPI, requiring only standard Python (3.6+) and common scientific packages (numpy, scipy, matplotlib, sympy, lmfit). Fast C extensions are optional but recommended for high-performance Numerov integration:
$1$5
arc can be imported directly in Python scripts or notebooks (Robertson et al., 2020). Extension is enabled through subclassing of AlkaliAtom or DivalentAtom and inclusion of appropriate empirical data. Advanced routines reside in arc.advanced, and a caching infrastructure improves repeated computation for large basis sizes (controlled by files in ~/.arc-data).
Community contributions are centrally managed at https://github.com/nikolasibalic/ARC-Alkali-Rydberg-Calculator, and a full API reference is available online. Built-in support for additional routines is furthered by design choices emphasizing modular architectures and minimal coupling between subsystems (Šibalić et al., 2016, Robertson et al., 2020).
Principal references: (Šibalić et al., 2016, Robertson et al., 2020)