ARC 3.0: An expanded Python toolbox for atomic physics calculations
Elizabeth J. Robertson, Nikola Šibalić, Robert M. Potvliege, Matthew P. A. Jones
AARC 3.0: An expanded Python toolbox for atomic physics calculations
E. J. Robertson a , N. Šibali´c b, ∗ , R. M. Potvliege a , M. P. A. Jones a a Joint Quantum Center (JQC) Durham-Newcastle, Department of Physics, Durham University, South Road, Durham, DH1 3LE, United Kingdom b Université Paris-Saclay, Institut d’Optique Graduate School, CNRS, Laboratoire Charles Fabry, 91127, Palaiseau, France
Abstract
ARC 3.0 is a modular, object-oriented Python library combining data and algorithms to enable the calculation of a range of prop-erties of alkali and divalent atoms. Building on the initial version of the ARC library [N. Šibali´c et al. , Comput. Phys. Commun. , 319 (2017)], which focused on Rydberg states of alkali atoms, this major upgrade introduces support for divalent atoms. It alsoadds new methods for working with atom-surface interactions, for modelling ultracold atoms in optical lattices and for calculatingvalence electron wave functions and dynamic polarisabilities. Such calculations have applications in a variety of fields, e.g., in thequantum simulation of many-body physics, in atom-based sensing of DC and AC fields (including in microwave and THz metrol-ogy) and in the development of quantum gate protocols. ARC 3.0 comes with an extensive documentation including numerousexamples. Its modular structure facilitates its application to a wide range of problems in atom-based quantum technologies.
Keywords: alkaline earth atoms, divalent atoms, alkali atoms, Rydberg states, dipole-dipole interactions, electron wave functions,optical lattices, Bloch bands, Wannier states, dynamic polarisability, magic wavelengths, atom-surface van der Waals interaction,Stark shift, Förster resonances, quantum technologies, neutral-atom quantum computing, atom-based sensors
PROGRAM SUMMARY
Program Title:
ARC 3.0
Licensing provisions:
BSD-3-Clause
Programming language:
Python
Computer: i386, x86-64
Operating System:
Linux, Mac OSX, Windows
RAM: of the order of several 100 MB for calculations involving severalthousand basis states
External Routines:
NumPy [1], SciPy [1], Matplotlib [2], SymPy [3],LmFit [4]
Nature of problem:
The calculation of atomic properties of alkali and divalent atoms in-cluding energies, Stark shifts and dipole-dipole interaction strengthsusing matrix elements evaluated through a variety of means.
Solution method:
Dipole matrix elements are calculated using an analytical semi-classicalapproximation or wave functions obtained by numerical integration ofthe radial Schrödinger equation for a one-electron model potential. In-teraction energies and shifts due to external fields are calculated usingsecond order degenerate perturbation theory or exact diagonalisationof the interaction Hamiltonian, yielding results valid even at large ex-ternal fields or small interatomic separation.
Restrictions:
External electric and magnetic field must be parallel to the quantizationaxis. The accuracy of short range ( (cid:46) µ m) atom - atom interactionpotentials is limited by the truncation of the basis. Only weak mag-netic fields are supported as only linear Zeeman shifts are taken intoaccount. Calculations for divalent atoms use a single-electron approx-imation and calculation of their wave functions is not supported. ∗ Corresponding author.
E-mail address: [email protected]
References [1] T.E. Oliphant, Comput. Sci. Eng. 9 (2007) 10. .[2] J.D. Hunter, Comput. Sci. Eng. 9 (2007) 90. http://matplotlib.org/ .[3] A. Meurer et al. , PeerJ Comput. Sci. 3 (2017) e103. https://doi.org/10.7717/peerj-cs.103 [4] M. Newville et al. , lmfit / lmfit-py 1.0.0 (Version 1.0.0), Zenodo (2019). http://doi.org/10.5281/zenodo.3588521
1. Introduction
Neutral atoms are ideal building blocks for both fundamen-tal research and technological applications exploiting quantummechanics. The stability of their physical properties makesthem an ideal choice for a sensing medium, virtually eliminat-ing the need for recalibration [1, 2]. By promoting atoms tohighly-excited, long-lived Rydberg states, the sensitivity to ap-plied electric fields can be enhanced by many orders of magni-tude compared to the ground state [3], which has applications toelectric field metrology over a wide range of frequencies fromDC to THz fields [2, 4, 5, 6, 7].The reproducible properties of a given atomic species al-lows for the creation of hundreds of identical atomic qubits [8,9]. Together with the dramatic increase in the interatomic inter-action strength associated with Rydberg excitation, this enablesapplications in quantum simulation [8, 10, 11, 12] and quantumoptics [13, 14, 15, 16, 17].Having precise and accurate values of the relevant atomicparameters (e.g., transition dipole moments, Stark shifts, etc.)is crucial for developing new experiments, comparing to theory,or simply for interpreting the data. As the number of potentiallyrelevant parameters vastly exceeds what can be tabulated, there
Preprint submitted to Computer Physics Communications July 24, 2020 a r X i v : . [ phy s i c s . a t o m - ph ] J u l s a need for an atom-calculator computing these parameters ondemand. ARC 1.0 [18] aimed to provide such a research toolfor alkali metals by combining the best available algorithmsand experimental data into a modular, object-oriented Pythonlibrary. The open source nature of the package and the popular-ity of this programming language facilitated its rapid adoptionby the community and the inclusion of newly developed meth-ods.However, a growing number of research groups are nowworking on Rydberg states of atoms with two valence elec-trons [19], such as the alkaline earth elements (e.g., Ca, Sr)and some of the lanthanides (e.g., Yb, Ho [20]). While severalgroups have performed calculations of Stark maps [21, 22, 23]and interaction potentials [24, 25, 26], open-source codes likethose provided by ARC 1.0 [18] and Pairinteraction [27] forthe alkalis are not available for these species. This motivatedthe major upgrade of the ARC library we are presenting here.Specifically, we have extended ARC to divalent atoms, modify-ing the algorithms as necessary and including supporting datafor Sr, Ca and
Yb. Methods for calculating long-rangevan der Waals interactions have been extended to degenerate perturbative calculations and pair-state calculations to arbitrary interspecies calculations. This new version of ARC also addsfunctionalities for atom-surface interactions, optical trappingand visualisation of results. The miniaturisation of atom-basedsensors [28], and the strong long-wavelength transitions be-tween Rydberg states [3], make atom-surface interaction e ff ectsprominent [29]. We have therefore included non-retarded vander Waals atom-surface potential calculations in ARC 3.0. Dataare currently included only for sapphire and perfectly reflectivesurfaces, but other surfaces can easily be incorporated.The importance of optical trapping stimulated the additionof two modules. OpticalLattice1D is dedicated to optical lat-tices and allows easy calculation of Bloch bands, Bloch statesand Wannier states.
DynamicPolarizability calculates thewavelength-dependent atomic polarizability relevant for opticaltrapping, and enables searches for “magic-wavelengths” wheretwo di ff erent atomic states have the same polarizability.Finally, to allow easy visualisation of di ff erent atomic states,a module Wavefunction provides sectional views of the atomicwave function for arbitrary atomic states. These are importantboth for pedagogical and research purposes, especially since thesize of Rydberg electron orbitals can be large enough to encom-pass other atoms, and may even approach the typical length-scale over which external trapping potentials vary [30, 31].How to start using the library is explained in Section 2. Therest of the paper gives an overview of the newly implementedcalculations, with comments on restrictions and implementa-tion details.
2. Installation and getting started
ARC 3.0 is available from the online repository Python Pack-age Index (PyPI) and can be installed from the command linesimply by invoking pip install ARC-Alkali-Rydberg-Calculator
This installs the package correct for the user’s environment,which can be based on Python 3 for Windows, Mac OS orLinux. All the methods discussed in the following can be usedafter importing them from the arc library: from arc import *
The examples of code given in the paper assume that this linewas included at the beginning of the program to import the li-brary.The detailed documentation of the ARC library is availableonline [32] and is updated at each upgrade of the code. Newusers are recommended to consult the accompanying JupyteriPython interactive notebooks listed on the “Getting started withARC” page of the online documentation [32], which provideexamples of calculations and describe the relevant physics. Fi-nally, we note that a selection of the functionality of the ARC li-brary is available at https://atomcalc.jqc.org.uk as a part ofthe web-app Atom Calculator. This web page will also generatecode that can be used as example-on-demand to help users starttheir own calculations. Bug reporting, questions and furthercode development are tracked on the project’s GitHub page [33].
3. Overview of the new functions
A high-level view of the ARC 3.0 library is shown in Fig. 1.This upgrade generalises methods originally included in ARC1.0, which were developed for
AlkaliAtom with electron spin S = /
2, to the singlet ( S =
0) and triplet ( S =
1) states of diva-lent atoms. This approach is underpinned by the broad validityof the single active electron approximation for highly-excitedstates of divalent atoms, as discussed in Appendix A. Thusmost of the divalent_atom_functions methods are directlyinherited from alkali_atom_functions , upgraded as neces-sary to support divalent atoms. The spin state is now speci-fied through an optional keyword parameter s , which defaultsto 0.5 for alkali atoms and must be set to 0 or 1 for divalentatoms. To support these calculations, a semi-classical methodfor calculating dipole and quadrupole matrix elements has beenimplemented that does not require the use of a model potential.The range of divalent atom data currently included in ARC3.0 is discussed in Appendix Appendix B. New species / seriesmay easily be added by generating the appropriate data files.Inter-species calculations for both PairStateInteractions and
StarkMapResonances are possible.In addition,
PairStateInteractions.getC6perturbatively now supports degenerate perturbation theory for the calcula-tion of C coe ffi cients, The possibility of taking into accounta weak magnetic field directed along the quantization axis hasalso been introduced (only paramagnetic terms linear in fieldstrength which shift energy levels but do not mix states are in-cluded in the calculation). Moreover, the new single-atom cal-culations Wavefunction , AtomSurfaceVdW , OpticalLattice1D and
DynamicPolarizability have been added in calculations_atom_single . (The calculations of atom-surfaceinteractions implemented in
AtomSurfaceVdW require values2 cipyarc_c_extensionsmatplotlibnumpywigneralkali_atom_functionsalkali_atom_data
HydrogenLithium6Lithium7SodiumPotassium39 (alias Potassium)Potassium40Potassium41Rubidium85 (alias Rubidium)Rubidium87Caesium (alias Cesium) calculations_atom_singlecalculations_atom_pairstate
AlkaliAtom
StarkMapLevelPlotWavefunctionAtomSurfaceVdWOpticalLattice1DDynamicPolarizabilityPairStateInteractionsStarkMapResonances
ARC - Alkali.ne Rydberg Calculator user
Atom calculator higher abstraction level primitives divalent_atom_functions
DivalentAtom divalent_atom_data
Strontium88Calcium40Ytterbium174 ver 3.0 (Numerov in C)(angular algebra)web interface user'scomputerrunning Pythonuser'swebbrowser advanced population_lifetime sympylmfitmaterials (optical properties) import arc.advanced.
Figure 1: Overview of ARC 3.0. Only the class names are listed here; a full list of the implemented methods can be found in Appendix C. of the refractive index for the surface of interest for a range offrequencies. Methods for general optical surface properties areimplemented in materials .)Finally, we have also created a group of advanced calcula-tions which are likely to be too specialized for a core toolbox.The corresponding modules are intended for expert use and canbe imported with from arc.advanced.population_lifetime import getPopulationLifetime
The modules in this advanced library will be built on top of theARC core library and will provide solutions for specialised re-search questions. The first of these modules is population_lifetime ,which has been contributed by the authors of Ref. [34]. It givesaccess to a getPopulationLifetime function calculating pop-ulation lifetimes taking into account the redistribution of pop-ulation within a Rydberg manifold driven by black-body radi-ation, including repopulation processes (such population life-times thus di ff er from state lifetimes).In the following we outline the calculations newly imple-mented in ARC 3.0 and provide examples of code for each ofthem. Dipole and quadrupole matrix elements factorize into prod-ucts of radial matrix elements and angular factors. ARC pro-vides access to both reduced (e.g. getReducedMatrixEle-mentJ , getReducedMatrixElementJ_asymmetric , getRe-ducedMatrixElementL , . . . ) and full matrix elements( getDipoleMatrixElement , getDipoleMatrixElementHFS ,. . . ) as detailed in the online documentation [32].As noted above, the calculations are performed within thesingle active electron approximation. The radial matrix element Table 1: Energy level data for divalent atoms currently included in diva-lent_atom_data , with references.
Atom Measured en-ergy levels Quantum defects References Sr S , P , D , S , P , P , P , D , D , D S , P , D , F , S , P , P , P , D , D , D , F , F , F , [35, 36, 37,38, 39, 40, 41,42, 43] Ca F S , P , F , S , P , P , D , D [35, 40, 44,45, 46] Yb S , P , D , D S , P , D , D [47, 48, 49]3or a dipole transition between states | n , L , J (cid:105) and | n (cid:48) , L (cid:48) , J (cid:48) (cid:105) ofhydrogen or an alkali atom are calculated as in ARC 1.0, i.e.,by numerical integration between suitably chosen bounds r i and r o : R nLJS , n (cid:48) L (cid:48) J (cid:48) S (cid:48) = (cid:90) r o r i R nLJ ( r ) r R n (cid:48) L (cid:48) J (cid:48) ( r ) r d r (1)with S = S (cid:48) = / R nLJ ( r ) obtained assolutions of the Schrödinger equation for a model potential.Since model potential methods are problematic for divalentatoms (Appendix A) the dipole radial matrix elements for thesespecies are obtained in a semi-classical approximation [50].This approach is not based on numerical wave functions. In-stead, the dipole radial matrix elements take on the form R nLS J , n (cid:48) L (cid:48) S (cid:48) J (cid:48) = n ∗ c − (cid:32) (cid:96) c n ∗ c (cid:33) / ∞ (cid:88) p = γ p g p ( ∆ n ∗ ) , (2)with S = S (cid:48) = n ∗ is the reduced prin-cipal quantum number ( n ∗ ≡ n − δ ( n , L , S , J ) with δ ( n , L , S , J )being the quantum defect for the | n , L , S , J (cid:105) state) and (cid:96) c , n ∗ c , γ , ∆ (cid:96) and ∆ n ∗ are defined as (cid:96) c ≡ L + L (cid:48) + , n ∗ c ≡ (cid:112) n (cid:48)∗ n ∗ , γ ≡ ∆ (cid:96) (cid:96) c / n ∗ c , ∆ (cid:96) ≡ L (cid:48) − L , ∆ n ∗ ≡ n ∗ − n (cid:48)∗ . Moreover, g ( ∆ n ∗ ) = ∆ n ∗ (cid:2) J ∆ n ∗ − ( − ∆ n ∗ ) − J ∆ n ∗ + ( − ∆ n ∗ ) (cid:3) , g ( ∆ n ∗ ) = − ∆ n ∗ (cid:2) J ∆ n ∗ − ( − ∆ n ∗ ) + J ∆ n ∗ + ( − ∆ n ∗ ) (cid:3) , g ( ∆ n ∗ ) = g ( ∆ n ∗ ) − sin π ∆ n ∗ π ∆ n ∗ , g ( ∆ n ∗ ) = ∆ n ∗ g ( ∆ n ∗ ) + g ( ∆ n ∗ ) , where the J s ( − ∆ n ∗ )’s are Anger functions: J s ( x ) ≡ π π (cid:90) d θ cos [ s θ − x sin ( θ )] . The radial quadrupole matrix elements are calculated as R Q nLJS , n (cid:48) L (cid:48) J (cid:48) S (cid:48) = (cid:90) r o r i R nLJ ( r ) r R n (cid:48) L (cid:48) J (cid:48) ( r ) r d r , (3)in the case of hydrogen and alkali atoms, and by using the corre-sponding semi-classical formulae for divalent atoms. The latterdi ff er between di ff erent values of | ∆ L | . For ∆ L = ± R Q nLS J , n (cid:48) L (cid:48) S (cid:48) J (cid:48) = n ∗ c (cid:34) − ( (cid:96) c + n ∗ c (cid:35) / × (cid:34) − ( (cid:96) c + n ∗ c (cid:35) / (cid:88) p = γ p Q p ( ∆ n ∗ ) , (4) whereas for ∆ L = R Q nLS J , n (cid:48) L (cid:48) S (cid:48) J (cid:48) = n ∗ c − (cid:96) n ∗ c 1 (cid:88) p = γ p Q p ( ∆ n ∗ ) . (5)The expansion coe ffi cients Q p ( ∆ n ∗ ) are the same in both cases: Q ( ∆ n ∗ ) = − ∆ n ∗ ) g ( ∆ n ∗ ) , Q ( ∆ n ∗ ) = − ∆ n ∗ g ( ∆ n ∗ ) +
56 sin π ∆ n ∗ π ( ∆ n ∗ ) , Q ( ∆ n ∗ ) = − (cid:34) ∆ n ∗ g ( ∆ n ∗ ) + g ( ∆ n ∗ ) (cid:35) , Q ( ∆ n ∗ ) = (cid:34) ∆ n ∗ Q ( ∆ n ∗ ) + Q ( ∆ n ∗ ) (cid:35) . We have compared the model potential and semiclassicalmethods for calculating dipole matrix elements using rubidiumas a test case. The two methods give results in close agreementwhen | n − n (cid:48) | ≈
0, even for n , n (cid:48) as low as 10 (below whichmulti-electron e ff ects can be expected to become important).While the agreement deteriorates when | n − n (cid:48) | increases, thesemi-classical results do not di ff er by more than 5% from themodel potential results in the range 0 . n (cid:46) n (cid:48) (cid:46) . n . Giventhat outside this range the dipole matrix elements are less than1% of their values at | n − n (cid:48) | ≈ n ), the semi-classical approach is normally appropriate forany value of n − n (cid:48) for which the dipole matrix element is largeenough to be significant in calculations of Stark maps or dis-persion coe ffi cients. A multi-channel quantum defect approachwould be more appropriate in the regions where perturbers mixstates of di ff erent symmetries [51]; however, such calculationsare beyond the scope of the current version of ARC.All dipole and quadrupole matrix elements for calcium, stron-tium and ytterbium currently used or produced by ARC 3.0 areobtained as described above, as no literature values of thesequantities are currently available for these atoms. Matrix ele-ments obtained in the future from more accurate calculationsor from measurements can be added to a literature file, as de-scribed in Section 4.3. The library will use the values found inthis literature file, should there be any, rather than recalculatethem. interactions in de-generate perturbation theory In the single-active electron approximation, the interactionbetween two atoms at inter-atomic distance R arises from theinteraction between the valence electrons and the interaction ofeach of these electrons with the screened nucleus of the otheratom. Denoting the coordinates of the valence electrons relativeto the respective nuclei by r and r , this interaction is given bythe following multipolar expansion (c.f. Eq. (19) in Ref. [18]for details): V ( R ) = ∞ (cid:88) k , k = V k , k ( r , r ) R k + k + , (6)4 = J = | r 〉 | r 〉| r 〉 | r 〉 | r 〉| r 〉 J = J = J = | r 〉| r 〉 | r 〉| r 〉 | r 〉| r 〉 J = J = x -direction σ − σ − σ + σ + σ − σ − σ − σ − m J + m J = const .propagating in z -direction (c) J = Figure 2: Two examples of cases where degenerate perturbation theory has to be used for C calculations. (a): Two atoms with inter-atomic axis parallel to thequantisation axis may exchange virtual photons that drive two σ + transitions [corresponding to Y , + in Eq. (7)] in one atom and two σ − transitions in the otheratom, thus coupling the initial | r (cid:105) and | r (cid:105) states to energetically permitted | r (cid:105) and | r (cid:105) states. The projection of the total angular momentum on the quantisationaxis is conserved in this process (i.e., m J + m J = m J + m J ). (b): Alternatively, when the inter-atomic axis is perpendicular to the quantisation axis, virtualphotons driving a σ − transition in one atom may be viewed as having linear polarization perpendicular to the quantisation axis and can thus drive both σ + and σ − transitions in the other atom. The projection of the total angular momentum on the quantisation axis is then not conserved and m J + m J may di ff er from m J + m J .Using degenerate perturbation theory, the energy eigenstates can be obtained with their corresponding C coe ffi cients, as shown in (c) for the case of two Sr atomsinitially in a pair state with n = n = L = L , J = J and S = S (the red circles correspond to the stretched states m J = J = m J = J , assuming that theinter-atomic axis is parallel to the quantization axis). with V k , k ( r , r ) = ( − k π √ (2 k + k + × (cid:88) p (cid:115)(cid:32) k + k k + p (cid:33) (cid:32) k + k k + p (cid:33) r k r k × Y k , p (ˆ r ) Y k , − p (ˆ r ) . (7)Here the (cid:32) nm (cid:33) are binomial coe ffi cients and the Y k , p (ˆ r ) are spher-ical harmonics, and it is assumed that the quantization axis ofboth atoms is directed along the internuclear axis [as in Fig. 2(a)].Terms with k + k = , , , . . . correspond respectively todipole-dipole, dipole-quadrupole, quadrupole-quadrupole inter-actions and so on.In the large R limit, the interaction between Rydberg atomsis typically dominated by dipole-dipole interactions. Such aninteraction couples an initial pair-state | r r (cid:105) to other states | r (cid:48) r (cid:48)(cid:48) (cid:105) whose energy di ff ers by an energy defect ∆ r (cid:48) , r (cid:48)(cid:48) = E r (cid:48) + E r (cid:48)(cid:48) − E r − E r . To second order in this interaction, the interac-tion energy of two atoms in the initial pair-state | r r (cid:105) is givenby a van der Waals interaction potential of the form − C / R ,where C is defined by the following equation if the pair-stateenergy E r + E r is non-degenerate: C R = (cid:88) r (cid:48) , r (cid:48)(cid:48) |(cid:104) r (cid:48) r (cid:48)(cid:48) | V dd ( R ) | r r (cid:105)| ∆ r (cid:48) , r (cid:48)(cid:48) . (8)Here the sum goes over all the pair states | r (cid:48) r (cid:48)(cid:48) (cid:105) that are coupledby electric dipole transitions to the original pair-state | r r (cid:105) , and V dd ( R ) is the dipole-dipole part of V ( R ): V dd ( R ) ≡ V , ( r , r ) / R . (9) However, there are situations in which the pair-state energy E r + E r is degenerate and the dipole-dipole interaction couplesthe initial pair-state | r r (cid:105) to some other pair-states | r r (cid:105) of thesame energy — for instance, in the absence of external fields,to pair-states di ff ering in magnetic quantum numbers only. Twoexamples of such o ff -diagonal couplings mixing pair-states aregiven in Fig. 2. In such situations, a perturbative calculation ofthe C coe ffi cients requires the diagonalization of the matrix C describing the second-order coupling between the energy-degenerate pair-states [24]. To this end, we work in the basis {| r i r j (cid:105)} of degenerate pair-states, i.e., | r i r j (cid:105) ∈ {| n L S J m J = − J (cid:105) , . . . , | n L S J m J = + J (cid:105)}⊗ {| n L S J m J = − J (cid:105) , . . . , | n L S J m J = + J (cid:105)} , (10)where ( n , L , S , J , m J ) and ( n , L , S , J , m J ) are the quan-tum numbers associated with the states | r (cid:105) of atom 1 and | r (cid:105) of atom 2, respectively. The element of C corresponding to thesecond-order coupling between the q -th and the p -th basis statesis R (cid:88) r (cid:48) , r (cid:48)(cid:48) (cid:104) r i q r j q | V dd ( R ) | r (cid:48) r (cid:48)(cid:48) (cid:105)(cid:104) r (cid:48) r (cid:48)(cid:48) | V dd ( R ) | r i p r j p (cid:105) ∆ r (cid:48) r (cid:48)(cid:48) . Diagonalising this matrix yields a C coe ffi cient for each of theenergy curves the degenerate pair-state energy splits into due tothe dipole-dipole interaction, these coe ffi cients being the eigen-values C ( i )6 of C [see, e.g., Fig. 2(c)]. These eigenvalues are independent of the orientation of the inter-atomic axis relativeto the quantization axis, in the absence of external fields, al-though the composition of the corresponding energy eigenstatesin terms of the basis states defined above depends on the choiceof the quantization axis [24].5egenerate perturbation theory can be used within the getC6perturbatively function by setting the flag degener-atePerturbation=True . The function will then return the C ( i )6 eigenvalues and the corresponding eigenvectors of the relevant C matrix. For example, the following fragment of code pro-duces the results displayed in the third column of Fig. 2(c) Here theta and phi are, respectively, the polar angle ( Θ ) andazimuthal angle ( Φ ) defining the orientation of the inter-atomicaxis in a referential whose z -axis is parallel to the axis of quan-tisation of the angular momenta. The dependence on Θ and Φ of the elements of C is taken into account by rotating the atomicbasis states using Wigner D-matrices, as in ARC 1.0 [18]. I.e., V dd ( R ) defined above is replaced by the angle-dependent V dd ( R , Θ , Φ ),with, in a simplified notation, V dd ( R , Θ , Φ ) = [D( J (cid:48) , Θ , Φ ) ⊗ D( J (cid:48) , Θ , Φ )] V dd ( R )[D( J , Θ , Φ ) ⊗ D( J , Θ , Φ )] † , (11)where the D( J m J , Θ , Φ ) represent the relevant rotation matri-ces. Although the elements of the matrix C and the composi-tion of its eigenstates in terms of the basis states defined abovedepend on Θ and Φ , this is not the case for its eigenvalues C ( i )6 (hence for the C coe ffi cients resulting from this calculation)[24].Invoking getC6perturbatively without the flag degener-atePerturbation=True or with degeneratePerturbation=False will only return the individual element of the matrix C corre-sponding to the values of the quantum numbers specified in thecall, rather than the eigenvalues and eigenvectors of C . Theseindividual elements normally depend on Θ and Φ and can betaken to be e ff ective C coe ffi cients for particular combinationsof magnetic quantum numbers.We note that the interaction energies can also be obtainednon-perturbatively by full diagonalisation of the Hamiltonianusing the function diagonalise . An example of results obtained Sr 60 S m j =
1, Sr 60 S m j = Figure 3: Example interaction strength calculations using the full diago-nalisation method for a pair of divalent atoms in identical states ( Sr 5s60s S m J = R . The energies are measured relativeto the energy of the initial pair-state in the R → ∞ limit, and only pair-statescoupled to this initial pair-state are represented. The fraction of the initial pairstate present in each eigenstate is colour-coded as per the colour bar. in this way is given by Fig. 3, which is produced by running thefollowing code: calc = PairStateInteractions(Strontium88(),60, 0, 1,60, 0, 1,1, 1,s=1)theta=0; phi=0; deltaN = 5;deltaL = 5; deltaMax = 25e9 We also note that the implementation of degenerate pertur-bation theory made in ARC does not take into account energydegeneracies between states di ff ering in L or S . It is thereforenot appropriate for atomic hydrogen or for high angular mo-mentum states. We recommend using the full diagonalisationmethod for such cases. PairStateInteractions supports inter-species calculations.Users can initialize such calculations using the keyword argu-ment atom2 to explicitly state the species of the second atom.6ote that to specify the spin state of the second atom, the key-word argument s2 should also be set. Setting s2 can also beused for calculations where the atoms are from the same atomicspecies but have di ff erent spin.For example, pair-state calculations between rubidium atomsin the | S / m J = / (cid:105) state and ytterbium atoms in the | S m J = (cid:105) state [Fig. 4] are initialized as follows: calc = PairStateInteractions(Rubidium(),60, 0, 0.5,54, 0, 0,0.5, 0,s=0.5,atom2=Ytterbium174(),s2=0) ARC 3.0 extends most of the single atom methods avail-able in ARC 1.0 to divalent atoms. For example, Stark mapscan be obtained for divalent atoms by setting the additional keyargument s to define the spin state. Note that in the single elec-tron approximation, states of di ff erent total spin are not cou-pled. Example results from such a calculation are shown inFig. 5. Static electric fields are often used to adjust pair-stateenergies. StarkMapResonances allows the user to search forelectric field strengths where two pair-states have same ener-gies (Förster resonances). Lastly
LevelPlot allows the plottingand interactive exploration of energy level diagrams. These di-agrams may be opened as interactive stand-alone plots (from acommand line Python call or in a Jupyter notebook with %mat-plotlib qt ); then will then display the transition wavelengthand transition frequency for pairs of states selected interactivelyby clicking on energy levels.
Visualisations of atomic wave functions are a useful ped-agogical tool enabling visual interpretation of e ff ects such as Rb 60 S / m j = /
2, Yb 54 S m j = Figure 4: Example alkali-divalent interspecies interaction calculation ( Rb60s S / m J = / Yb 5s54s S m J = R . Thefraction of the initial pair state present in each eigenstate is colour-coded as perthe colour bar. Figure 5: An example Stark map calculation for a divalent atoms, showing theperturbation of states in the vicinity of the | D m J = (cid:105) state of Srby an external electric field. Only the coupled states (i.e., singlet states with m J =
0) are plotted. The colour bar shows the admixture of this state into eachatomic eigenstate. dipole moments. In addition, the detailed shape of Rydbergelectron wave functions plays an important role in a number ofe ff ects. For example, the wave functions can become so spreadout that they encompass other atoms. The modulations of theelectron probability density may then induce a significant vari-ation in the potential energy of the encompassed atoms, whichmay lead to the formation of Rydberg molecules [53]. At thesame time, the optical potentials used for atom trapping mayvary substantially over the length-scale of the Rydberg electronwave functions, giving rise to energy shifts [30] and a ff ectingthe trap lifetime [31]. Wavefunction enables the calculation of atomic wave func-tions for arbitrary superposition states. Quick 2D and 3D visu-alisations are possible, with a choice of units (atomic or SI). Forexample, the following code can be used to obtain and plot theprobability density function for the 10f F / m J = / atom = Rubidium()n = 10; l=3; j=3.5; mj=3.5;stateBasis = [[n, l, j, mj]]stateCoef = [1] can be integrated with other ARC functions.For example, one can find the electronic wave function for anatom perturbed by an electric field by getting the state fromthe corresponding StarkMap and using
Wavefunction as perthe following code to plot the result. An example is shown inFigs. 6(c-d). atom = Caesium()calc = StarkMap(atom)states, coef, energy= calc.getState([28, 0, 0.5, 0.5],-24000,23,32,20, accountForAmplitude=0.95,debugOutput=True)wf = Wavefunction(atom, states, coef)wf.plot3D(plane="x-z", units="nm"); plt.show() a)(b) (c)(d) Figure 6: Example wave function visualizations showing (a and b) cuts throughthe Rb | F / m J = / (cid:105) state two orthogonal planes and (c and d) similarcuts for the Cs | S / m J = / (cid:105) state perturbed by a strong electric field( −
240 V / cm). The plot shows the eigenstate that is adiabatically connectedto the | S / m J = / (cid:105) unperturbed state in zero electric field. Note thechange of units ( a or nm), which can be easily specified using keyword argu-ments in the Wavefunction methods. wf.plot2D(plane="x-z", units="nm", pointsPerAxis=400, axisLength=2800)plt.show()
The density and scale of the mesh on which the wave func-tions are calculated can be adjusted with optional keyword pa-rameters. The probability density functions can be providedin Cartesian as well as in spherical coordinates (respectivelythrough getRtimesPsi and getRtimesPsiSpherical ), and itis also possible to obtain arrays of wave functions for all di ff er-ent possible spin states (using the getPsi method).Note that Wavefunction is currently only supported forspecies in the alkali_atom_data class, as calculations basedon model potentials are not currently supported for divalentatoms.
In the vicinity of a surface, an atomic dipole interacts withits image in the surface, leading to shifts of the atomic energylevels. For small atom-surface distances z < λ/ (2 π ), where λ is the wavelength associated with the strongest transition, theinteraction potential V ( r ) for an atom in the state a is of thenon-retarded, van der Waals form [54] V AS ( z ) = − πε (cid:88) b n ( ω ab ) − n ( ω ab ) + | µ abx | + | µ aby | + | µ abz | z ≡ − C z . (12)Here n ( ω ab ) is the frequency dependent refractive index asso-ciated with the surface. The summation covers all the states b dipole coupled to state a . The corresponding transition fre-quencies and dipole matrix elements in the x , y and z directionsare respectively ω ab , µ abx , µ aby and µ abz . The z -axis is taken to beperpendicular to the surface. Note that di ff erent states will have di ff erent C values, which leads to a modification of the atomictransition frequencies near the surface.To specify the surface material, ARC provides an abstractclass materials.OpticalMaterial , with a method getN return-ing the refractive index n for a specified wavelength. A subclass Sapphire is provided as an example. The
AtomSurfaceVdW uses information on the optical properties of the surface and theatomic transition frequencies to calculate C . For example, thefollowing code will return the energy shift with error for the6s S / state of caesium in the proximity of a sapphire surface(the result is 1.259(2) kHz µ m ): from arc.materials import Sapphireatom = Cesium()surface = Sapphire()calc = AtomSurfaceVdW(atom, surface)
Such calculations are possible for all the atomic speciessupported by ARC, to the extent that the required dipole ma-trix elements are available.
Atoms in optical lattices are important in many areas ofscience and technology including atomic clocks and gravime-ters, quantum gas microscopes and quantum simulators. A laserstanding wave gives rise, through the AC Stark shift (Sec. 3.8),to a spatially periodic potential for the atoms. As is well-knownfrom solid state physics, such a periodic potential can also beconsidered in reciprocal space. In momentum space ( k − basis),a potential with spatial period λ/ δ k = π/λ = k ≡ k l where λ is the wavelength of the optical field, and k l = k is the lattice momentum. Therefore, from the Bloch theorem,the eigenfunctions of the Hamiltonian (called Bloch states orBloch wave functions in this context) can be parametrized bya quasimomentum q ( | q | < k ), and these eigenfunctions areof the form exp( iqr ) times a periodic function of r whose pe-riod is the same as that of the lattice. The Hamiltonian canthus be diagonalised on a discrete basis of free-particle states { e iqr , e i ( q + k l ) r , e i ( q + k l ) r , . . . } separated by an integer multiple ofthe lattice momentum in momentum space. Plotting the result-ing energy levels for di ff erent values of the quasimomentumgives Bloch bands [Fig. 7(a)].Both Bloch states and Bloch bands can be calculated using OpticalLattice1D . For example, the following code produces8 Bloch band diagram for rubidium atoms trapped in an opticallattice formed by a 1064 nm standing wave with a maximaldepth of 5 E R , using a basis which includes states up to q + k l in momentum ( E R = h / (2 m λ ) is the recoil energy): atom = Rubidium87()trapWavelength = 1064e-9lattice = OpticalLattice1D(atom, trapWavelength)lattice.defineBasis(35)qMomentum = np.linspace(-1,1,100)lattice.diagonalise(5, qMomentum)fig = lattice.plotLevelDiagram()plt.show() We can enumerate Bloch bands in order of their increasingenergies, starting with the index 0 for the ground state. Thecorresponding Bloch wave functions can be obtained by speci-fying the quasimomentum and the Bloch band index, as in thefollowing example: (a) (b) w w Figure 7: Example calculations for Rb atoms trapped in an optical standingwave V ( x ) with wavelength λ = / E R . (a) Bloch banddiagram showing energy as a function of quasimomentum q . (b) Lower panel:Corresponding Bloch wave functions for q = q = (cid:126) k (red). Mid-dle panel: Wannier functions for the ground state and first excited Bloch bandat R =
0. Upper panel: optical lattice potential V ( x ). The Bloch wave functions are delocalised across the lat-tice sites [Fig. 7(b) bottom panel]. For many calculations anda more intuitive mapping to atomic physics experiments, it isconvenient to switch to a basis of localised functions, namelyWannier functions. For each Bloch band, the Wannier functions w i , R ( x ) are defined (up to a normalisation factor) as a completeorthogonal set of functions localised at lattice points defined bya lattice vector R : w i , R ( x ) ∝ (cid:88) q e − iqR b i , q ( x ) , (13)where the sum goes over all values of the quasimomentum q and b i , q are the Bloch wave functions for a given Bloch bandindex i and quasimomentum q . Values of the Wannier functioncan be obtained after diagonalisation of the interaction potentialHamiltonian for which we defined Bloch band index to be savedby setting saveBandIndex keyword argument in diagonalise method. We can then call getWannierFunction to obtain val-ues of the Wannier function in a given Bloch band [Fig. 7(b)middle panel]. For example: atom = Rubidium87()trapWavelength = 1064e-9lattice = OpticalLattice1D(atom, trapWavelength)lattice.defineBasis(35)qMomentum = np.linspace(-1,1,100)lattice.diagonalise(Vlat, qMomentum,saveBandIndex=0) print (lattice.getWannierFunction(x, latticeIndex = 0)) Note that saveBandIndex selects the band index, and latti-ceIndex sets the localisation of the function at the site withthe corresponding index. The Wannier functions returned bythe program should be normalised on the relevant lattice by theuser.
The dynamic (AC) polarisability α ( ω ) of an atom exposedto an oscillating electric field of angular frequency ω can be ex-pressed as the sum of a contribution from the polarisability ofthe valence electron(s) α v and the core polarisability α c . Thevalence polarisability often dominates. For an electron in state | a (cid:105) with total angular momentum J and projection m J the va-lence polarisability for linearly polarised light can be writtenas [55] α v ( ω ) = α ( ω ) + m J − J ( J + J (2 J − α ( ω ) + α (cont . )0 ( ω ); (14)that is as the sum of a scalar polarisability α ( ω ) = J + (cid:88) states | b (cid:105) |(cid:104) b || er || a (cid:105)| ( E b − E a )( E b − E a ) − ( (cid:126) ω ) , (15)9nd a tensor polarisability α ( ω ) = (cid:32) J (2 J − J + J + J + (cid:33) / × (cid:88) states | b (cid:105) ( − J + J b (cid:40) J J b J (cid:41) |(cid:104) b || er || a (cid:105)| ( E b − E a )( E b − E a ) − ( (cid:126) ω ) . (16)Here (cid:104) b || er || a (cid:105) are reduced dipole matrix elements and thesummation runs over all the bound states | b (cid:105) , with total angularmomentum j b , dipole-coupled to the state | a (cid:105) of interest. Fi-nally, there is also a term α (cont . )0 contributed by the continuumof unbound states (this contribution will be discussed in moredetail below).For example, the scalar and tensor polarisabilities of thecaesium 100p P / state in the AC field given by a 1100 nmwavelength optical trapping laser can be obtained using the fol-lowing code (in this calculation, the sum over intermediate states b is limited to all the bound states with n ≤ atom = Caesium()n = 100calc = DynamicPolarizability(atom, n, 1, 1.5)calc.defineBasis(atom.groundStateN, n+15)alpha0, alpha1, alpha2, alphaC, alphaP, closestState =calc.getPolarizability(1100e-9, units="SI")closestState saves the state whose transition frequency is clos-est to that of the driving field.In addition to alpha0 and alpha2 the method getPolariz-ability also returns the core polarizability, α c ( alphaC ), andthe ponderomotive polarizability, α p ( alphaP ). The core polar-izability is approximated by its static value (saved in atom.alphaC )which is appropriate when the driving laser is far from reso-nance with core transitions. The ponderomotive polarizabilitycan be linked to the contribution from the continuum of un-bound states α (cont . )0 (which is currently not calculated by ARC).Close to a bound-state resonance, the contributions from the / / Figure 8: Example calculation of α ( ω ) for the caesium 6 S / (red dashed)and 15 P / (blue solid) states. Resonant transitions to other states are markedwith vertical dotted lines. The inset show a region around 881 nm where thepolarisabilities are equal, corresponding to a magic wavelength. bound intermediate states dominate α v ( ω ). However, for Ry-dberg states one is often in the opposite limit far from bound-state resonances. Away from strong resonances, the total scalarpolarisability α + α (cont . )0 then approaches the free-electron pon-deromotive polarisability α P associated with the time-averagedmotion of a free electron in an oscillating electric field [ α P = e / (2 hm e ω ), where ω is frequency of driving field and e and m e are electron charge and mass respectively]. This result is ob-tained by applying the limit where the Keppler frequency of theelectron orbit around the core is much smaller than ω as is typ-ical for Rydberg states [56], and applying a Born-Oppenheimerapproximation to separate the fast quiver motion of the looselybound electron driven by the electric field component and theslower relative motion of electron around the ionic core.The code also returns alpha1 which is a vector polarisabil-ity relevant in driving with non-linearly polarised light, see,e.g., Ref. [57]. This feature is not exploited in the current imple-mentation of DynamicPolarizability , which focuses on thesimplest case of driving under linearly polarized light; how-ever it provides a path for future support of other polarizations.Other future extenstions could include adding bound-state res-onances to the core polarizability and an extended treatment ofthe continuum contribution near the ionization threshold.
DynamicPolarizability calculations can involve dipole ma-trix elements between low-lying states or between low-lyingstates and highly excited states. For low-lying states dipole ma-trix elements calculated both with the semiclassical approxima-tion and the model potential method become less accurate. Thatis why ARC uses literature values for these states, where avail-able. Users should check the availability of literature values inthe corresponding files (Sec. 4.3). If values for low-lying tran-sitions are available, the expected accuracy can be of the orderof ∼ ∼
10% for typicalinput parameters. Currently, there are significant compiled lit-erature sources for dipole matrix elements in alkali atoms, butthe data for divalent atoms is more scarce.For quantum state control in atoms in optical traps, it is of-ten desirable to find optical trap parameters at which the AC in-duced shifts of two states, i.e., the polarisabilities of these twostates, is exactly the same. That happens at so called “magicwavelengths” for optical trapping field. For example, to findsuch wavelengths for the 15p P / m J = / S / m J = / atom = Caesium()n = 15calcP = DynamicPolarizability(atom, n, 1, 0.5)calcP.defineBasis(atom.groundStateN, n+15)calcS = DynamicPolarizability(atom, 6, 0, 0.5)calcS.defineBasis(atom.groundStateN, 25)wavelengthList = np.linspace(800, 940,1000) * 1e-9 x = calcP.plotPolarizability(wavelengthList,debugOutput=True, units="au")calcS.plotPolarizability(wavelengthList, debugOutput=True, units="au", addToPlotAxis=ax, line="r--")plt.show() Resonances are indicated by vertical lines (as shown in Fig. 8).The states responsible for these resonances and the correspond-ing resonance wavelengths are also printed when the flag de-bugOutput=True is set on.
4. Implementation notes
To allow the use of both alkali atoms and divalent atoms,most of the methods have a new keyword argument s specifyingthe spin quantum number The default value of this keywordargument, s=0.5 , is appropriate for alkali atoms. As such, s does not have to be specified for these atoms, making the API ofARC 3.0 completely backwards compatible with ARC 1.0. Fordivalent atoms, users should specify whether they are workingwith singlet or triplet states by setting the corresponding spinquantum number to s=0 or s=1 respectively. To state that thesecond atom has a di ff erent spin in PairStateInteractions , theoptional keyword argument s2 should be set explicitly. The available experimental energy level data is much sparserand less precise for divalent atoms than for the alkalis. Inac-curacies arising from experimental errors may be reduced byusing energies derived from a fit of the data to the Rydberg-Ritz formula over a range of principal quantum numbers (seeAppendix Appendix B), rather than using the experimental en-ergies directly. However, in many cases the calculations will re-quire energies outside the range of values of n used in the fittingto the Rydberg-Ritz formula. Using this formula is normallyjustified for values of n above this range, but might be invalidfor values of n below this range (e.g., because the Rydberg-Ritz formula does not apply to the ground state and low excitedstates, or because the energy levels do not vary smoothly andmonotonically with n due to perturbers). Using the experimen-tal energies is thus often preferable for small values of n .For clarity, we have tabulated the range of values of n overwhich the quantum defects have been fitted using a dictionaryvariable defectFittingRange indexed by terms. For each termthe dictionary returns the smallest and largest principal quan-tum numbers defining the range of principal quantum numbersused in the calculation of the Rydberg-Ritz coe ffi cients pro-vided in ARC. For example, the following code will do thisfor the F term in Calcium-40: atom = Calcium40()term = ’1F3’ if term in atom.defectFittingRange:fitRange = atom.defectFittingRange[term] print ("Min n = %d" % fitRange[0]) print ("Max n = %d" % fitRange[1]) For principal quantum numbers above the fitted range, the en-ergies are calculated by extrapolation of the Rydberg-Ritz for-mula to outside this range. No extrapolation is done for prin-cipal quantum numbers below the fitted range. Instead, ARCtries to use tabulated energies if they exist — either energiesprovided by the user or the energies provided by ARC, whichare literature values as described in the online documentation[32]. In the case of S, P or D series, the calculation is abortedand a value error raised, explaining the problem, if the programrequires a missing tabulated energy. For L >
2, the calculationis not aborted but a value of zero is assumed for the quantumdefect. These tabulated energies must be stored in the local datadirectory (Sec. 4.3) under a file name defined for each atom inthe levelDataFromNIST variable. For example for strontiumthey are stored in sr_level_data.csv . The energyLevelsEx-trapolated variable of the used atom will be set to
True ifthe calculation uses energies obtained by extrapolation of theRydberg-Ritz formula to outside the range of values of n usedin the fitting. Dipole matrix elements from the literature can be added toARC by setting the literatureDMEfilename variable in the
DivalentAtom class to the appropriate file name and ensuringthe format of the file matches that specified in the documenta-tion.When ARC 3.0 is first used, a local hidden directory named .arc-data is created in the user’s home folder. The results ofcalculations of, e.g, dipole matrix elements are saved in human-readable files in this folder, forming a look-up table that canbe used to speed up future calculations. There is an option toadd dipole matrix elements from the literature (or obtained us-ing other calculation methods) by modifying the correspond-ing files. For example, to add a new literature value for a Srdipole matrix element, the user should modify the file stron-tium_literature_dme.csv as per the table header. This canbe conveniently done by loading the appropriate .csv file in anyspreadsheet program, as long as the file format is preservedin terms of separators and header comments. To change otheratomic properties, like quantum defects, users should make theirown subclasses which inherit classes defined in the ARC. Anexample is given in the following code, which could be used toupdate the quantum defects for calcium: class
MyCalcium40(Calcium40):quantumDefect = ...
Once defined,
MyCalcium40 can be used instead of
Calcium40 in all the ARC calculations. To ensure the program does notuse old cached values, new names of caching files should beprovided when redefining atomic species in this way. Also,11ote that if a new version of arc-data is released (changing theversion number in version.txt in the data directory), the dataentered manually in the .arc-data folder may be overwrittenautomatically if no new file names had been specified.We encourage users to submit new experimental data andparameters for use by the community via a pull request on theARC GitHub page [33]. = True
As for ARC 1.0, setting the keyword argument debugOut-put=True results in verbose output, which may be useful forchecking basis states and other intermediate results. Addition-ally, many methods have a progressOutput=True option whichcan be used for tracking the progress of the calculations.
5. Outlook
In summary, we have presented ARC 3.0, a major new re-lease of the ARC Python library that extends the library to di-valent atoms and adds a number of new methods of general in-terest in Rydberg physics and beyond. We believe this commoncode base and consistent interface for many di ff erent atomicproperties can speed up the development of new applicationsand lower knowledge barriers, e.g, in quantum technologiesbased on neutral atoms. The library also o ff ers rich possibili-ties of advanced educational projects for students in atomic andquantum physics.Future improvements of ARC could include the addition ofthe calculation of wave functions for divalent atoms and addi-tional methods for the accurate calculation of low-lying wavefunctions [58], support for multi-channel quantum defect the-ory calculations [51], and the calculation of scattering proper-ties. New experimental data can be straightforwardly added tothe existing base. ARC is a community-oriented open sourcepackage, and the authors welcome contributions of new coredata or algorithms to the main library as well as contributionsof more specialized codes to arc.advanced . Acknowledgements
We thank Tsz-Chun Tsui and Trey Porto for tabulating theytterbium data. We also thank Hei Yin Andrea Kam for the useof her code to check the calculations of strontium dipole matrixelements, Paul Huillery for help with Stark map calculations,and Ifan Hughes for suggesting the bootstrap method. N. Š. issupported by the H2020 Marie Skłodowska-Curie Actions (CO-QUDDE, H2020-MSCA-IF-2017 grant agreement No.786702).The project was supported by the EPSRC Platform grant EP / R002061 / / R035482 /
1. We also acknowledge fund-ing from the project EMPIR-USOQS (EMPIR projects are co-funded by the European Union’s Horizon2020 research and in-novation programme and the EMPIR Participating States).
Appendix A. The single active electron approximation
Atomic structure calculations for Rydberg states are simpli-fied by the rapid scaling of the size of the wave function of theRydberg electron with principal quantum number n . In atomswith a single valence electron, the calculation of energy lev-els and wave functions is achieved by solving the Schrödingerequation with a modified “model” potential that accounts forthe screening e ff ects of the closed-shell core. Each Rydbergseries labelled by the quantum numbers L , S and J is charac-terized by a quantum defect δ n that quantifies the deviation ofeach energy level from its hydrogenoic equivalent. This methodworks well for alkali atoms and is used by alkali_atom_functions .For divalent atoms, the situation is complicated by two ef-fects. The first is that the ionic core is no longer a closedshell, since it contains the remaining valence electron. Thecore is therefore more strongly polarized by the Rydberg elec-tron, leading to an additional n dependence in the quantum de-fects. The second e ff ect is the existence of compact states whereboth electrons are excited (e.g., a 5p configuration), known asperturbers. These perturber states exhibit strong interelectroniccorrelation e ff ects and lead to perturbations of nearby Rydberglevels. Even away from the energy of a perturber, Rydbergstates may acquire a small admixture of doubly excited states[59].Nevertheless, under many circumstances the properties ofRydberg states in divalent atoms can be described under a sin-gle active electron approximation [24]. Under this approxima-tion, Russell-Saunders L − S coupling is assumed to hold, and L , S and J are regarded as good quantum numbers. The e ff ectsof core polarizability and perturbers are partially included viathe energy dependence of the quantum defects. Calculationscan then be made in a similar way to those performed in alkaliatoms, with the appropriate generalization of the angular mo-mentum algebra to integer spin. Previous work has shown thatthis treatment gives good agreement with experiment for quan-tities that depend on the long-range part of the wave function,such as the DC Stark e ff ect [22, 60].The interaction between two divalent Rydberg atoms is alsodominated by the long-range character of the wave function.Therefore a single active electron approach may be used herealso [24]. A study of the e ff ect of perturbers on the interactions[61] demonstrated that the single-electron treatment is valid toa high degree of accuracy ( < ff ects ofperturbers must be used.12 ppendix B. Atomic Data for Divalent Atoms As outlined in section 3.1, calculations involving divalentatoms rely on fitted values for the quantum defects. In the caseof Ca, no new data was available, and so values compiled in[24, 52] are used. For Sr and Yb, we provide a new analysis ofthe available data for Sr and Yb that takes into account recentimprovements in the spectroscopic data.Experimental energy levels were fitted to the modified Rydberg-Ritz formula E ( n ) = I a − Ry a (cid:32) n − (cid:34) δ + δ ( n − δ ) + δ ( n − δ ) (cid:35) (cid:33) (B.1)using δ , δ and δ as free parameters. The ionization energy I a was constrained to the values obtained from the analysis of thebest available spectroscopic data. Ry a is the atom-specific Ry-dberg constant: Ry a = R ∞ m a / ( m a + m e ), where R ∞ is the Ry-dberg constant, and m a and m e are the mass of the consideredisotope and the electron respectively. The fine-structure split-ting of the ionization threshold was neglected. A least-squaresfitting method was used, implemented via the curve_fit func-tion from the scipy Python package.The results, along with references to the experimental datasetare provided in Table B.1The choice of the range of n used for each series was acompromise between maximising the number of data points,and reducing the e ff ect of series perturbations not described byequation B.1 and experimental systematic uncertainties. Partic-ular care should be taken in extrapolating to values of n belowthe stated range, where the fits are often poor.The uncertainties on the Rydberg-Ritz parameters are 68%confidence limits obtained using a “bootstrap" method based onresampling with replacement [62], such that each confidenceinterval includes 68% of the results falling above the quotedvalue of the corresponding parameter as well as 68% of the re-sults falling below it. For each series the fitted range was re-sampled 150 times. The asymmetry of the confidence limitsreflects the asymmetric dependence of the value of the energyon the quantum defects encapsulated in Eq. (B.1), as well as thelimitations of the experimental data. Note that correlations inthe uncertainties are expected to be strong and are not explicitlyconsidered here; users seeking to set rigorous error bounds onderived quantities should take this into account. Appendix C. ARC 3.0 API
The tables C.1 to C.14 list the APIs of ARC 3.0. All oldmethods have been amended to allow handling of divalent atomswith two possible spin states. Additionally, methods that arenewly introduced, or have significant new functionality, are markedwith a (cid:7) . Since for divalent atoms the calculation of electronicwave functions in the model potential approach is not imple-mented, some methods are available only when working with
AlkaliAtom instances, and these are marked by a ◦ . ReferencesReferences [1] D. Budker, M. Romalis, Optical magnetometry, Nature Physics 3 (2007)227. doi:10.1038/nphys566 .[2] D. H. Meyer, Z. A. Castillo, K. C. Cox, P. D. Kunz, Assessment ofRydberg atoms for wideband electric field sensing, Journal of PhysicsB: Atomic, Molecular and Optical Physics 53 (2020) 034001. doi:10.1088/1361-6455/ab6051 .[3] N. Šibali´c, C. S. Adams, Rydberg Physics, 2399-2891, IOP Publishing,2018. doi:10.1088/978-0-7503-1635-4 .[4] J. A. Sedlacek, A. Schwettmann, H. Kübler, R. Löw, T. Pfau, J. P. Shaf-fer, Microwave electrometry with Rydberg atoms in a vapour cell usingbright atomic resonances, Nature Physics 8 (2012) 819. doi:10.1038/nphys2423 .[5] C. G. Wade, N. Šibali´c, N. R. de Melo, J. M. Kondo, C. S. Adams, K. J.Weatherill, Real-time near-field terahertz imaging with atomic optical flu-orescence, Nature Photonics 11 (2017) 40. doi:10.1038/nphoton.2016.214 .[6] K. C. Cox, D. H. Meyer, F. K. Fatemi, P. D. Kunz, Quantum-LimitedAtomic Receiver in the Electrically Small Regime, Physical Review Let-ters 121 (2018) 110502. doi:10.1103/PhysRevLett.121.110502 .[7] L. A. Downes, A. R. MacKellar, D. J. Whiting, C. Bourgenot, C. S.Adams, K. J. Weatherill, Full-Field Terahertz Imaging at Kilohertz FrameRates Using Atomic Vapor, Physical Review X 10 (2020) 011027. doi:10.1103/PhysRevX.10.011027 .[8] M. Sa ff man, Quantum computing with atomic qubits and Rydberg in-teractions: Progress and challenges, J. Phys. B: At. Mol. Opt. Phys. 49(2016) 202001. doi:10.1088/0953-4075/49/20/202001 .[9] C. Gross, I. Bloch, Quantum simulations with ultracold atoms in opticallattices, Science 1001 (2017) 995. doi:10.1126/science.aal3837 .[10] H. Labuhn, D. Barredo, S. Ravets, S. de Léséleuc, T. Macrì, T. La-haye, A. Browaeys, Tunable two-dimensional arrays of single Rydbergatoms for realizing quantum Ising models, Nature 534 (2016) 667. doi:10.1038/nature18274 .[11] H. Bernien, S. Schwartz, A. Keesling, H. Levine, A. Omran, H. Pichler,S. Choi, A. S. Zibrov, M. Endres, M. Greiner, V. Vuletic, M. D. Lukin,Probing many-body dynamics on a 51-atom quantum simulator, Nature551 (2017) 579. doi:10.1038/nature24622 .[12] I. S. Madjarov, J. P. Covey, A. L. Shaw, J. Choi, A. Kale, A. Cooper,H. Pichler, V. Schkolnik, J. R. Williams, M. Endres, High-fidelity entan-glement and detection of alkaline-earth Rydberg atoms, Nature Physics(2020). doi:10.1038/s41567-020-0903-z .[13] J. D. Pritchard, D. Maxwell, A. Gauguet, K. J. Weatherill, M. P. A.Jones, C. S. Adams, Cooperative atom-light interaction in a blockadedRydberg ensemble, Phys. Rev. Lett. 105 (2010) 193603. doi:10.1103/PhysRevLett.105.193603 .[14] Y. O. Dudin, A. Kuzmich, Strongly Interacting Rydberg Excitations ofa Cold Atomic Gas., Science (New York, N.Y.) 336 (2012) 887. doi:10.1126/science.1217901 .[15] T. Peyronel, O. Firstenberg, Q.-Y. Liang, S. Ho ff erberth, A. V. Gorshkov,T. Pohl, M. D. Lukin, V. Vuleti´c, Quantum nonlinear optics with singlephotons enabled by strongly interacting atoms, Nature 488 (2012) 57. doi:10.1038/nature11361 .[16] H. Busche, P. Huillery, S. W. Ball, T. Ilieva, M. P. A. Jones, C. S. Adams,Contactless nonlinear optics mediated by long-range Rydberg interac-tions, Nature Physics (2017). doi:10.1038/nphys4058 .[17] C. S. Adams, J. D. Pritchard, J. P. Sha ff er, Rydberg atom quantum tech-nologies, Journal of Physics B: Atomic and Molecular Physics 53 (2020)012002. doi:10.1088/1361-6455/ab52ef .[18] N. Šibali´c, J. D. Pritchard, C. S. Adams, K. J. Weatherill, ARC: An open-source library for calculating properties of alkali Rydberg atoms, Com-puter Physics Communications 220 (2017) 319–331. doi:10.1016/j.cpc.2017.06.015 .[19] F. B. Dunning, T. C. Killian, S. Yoshida, J. Burgdörfer, Recent ad-vances in Rydberg physics using alkaline-earth atoms, Journal of PhysicsB: Atomic, Molecular and Optical Physics 49 (2016) 112003. doi:10.1088/0953-4075/49/11/112003 .[20] J. Hostetter, J. D. Pritchard, J. E. Lawler, M. Sa ff man, Measurement ofholmium Rydberg series through magneto-optical trap depletion spec- able B.1: Tabulated values of the Rydberg-Ritz parameters for Sr and
Yb. Here I Sr =
45 932 . − and Ry Sr =
109 736 .
631 cm − [43] and I Yb = . − and Ry Yb =
109 736 . − [49]. Lower (cl − ) and upper (cl + ) confidence limits are defined such that 68% of the values obtained bybootstrap resampling and fitting procedure lie within the interval [ δ j − cl − , δ j + cl + ] Series δ δ δ Range Refs δ cl − cl + δ cl − cl + δ cl − cl + n , n Sr S × − × − -0.178 0.023 0.009 3.5 0.7 3.0 14, 34 [42, 36] S × − × − P .
002 0.006 -3.4 1.3 0.3 -220 10 70 10, 29 [42, 39, 38] P × − × − P × − × − P D × − × − -42.0 0.6 0.4 -620 60 140 20, 50 [41, 36, 43] D × − × − -13.23 0.15 0.08 -4420 40 90 28, 50 [38, 43] D × − × − -16.9 0.3 0.2 -6630 50 120 28, 50 [41, 43] D F × − × − -2.44 0.64 0.12 62 9 60 10, 28 [42, 38] F F F Yb S × − × − -5.61 0.09 0.07 -260 40 50 34, 80 [48, 49] P × − × − -10.58 0.06 0.05 730 30 50 35, 54 [49, 47] D × − × − -0.9 0.3 0.4 -600 400 300 40, 80 [49] D × − × − Table C.1: Class and function listing of the alkali_atom_functions module.Name (parameters) Short description
AlkaliAtom ([preferQuantumDefects, cpp_numerov]) Implements general calculations for alkali atoms (see Table C.2)
NumerovBack (innerLimit, outerLimit, kfun, ...) Full Python implementation of Numerov integration saveCalculation (calculation, fileName) Saves calculation for future use loadSavedCalculation (fileName) Loads previously saved calculation printStateString (n, l, j) Returns state spectroscopic label for | n , l , j (cid:105) troscopy, Physical Review A - Atomic, Molecular, and Optical Physics91 (2015) 012507. doi:10.1103/PhysRevA.91.012507 .[21] M. C. Zhi, C. J. Dai, S. B. Li, Stark structure of the Rydberg statesof alkaline-earth atoms, Chinese Physics 10 (2001) 929. doi:10.1088/1009-1963/10/10/309 .[22] J. Millen, G. Lochead, G. R. Corbett, R. M. Potvliege, M. P. Jones,Spectroscopy of a cold strontium Rydberg gas, Journal of Physics B:Atomic, Molecular and Optical Physics 44 (2011) 184001. doi:10.1088/0953-4075/44/18/184001 .[23] S. Ye, X. Zhang, T. C. Killian, F. B. Dunning, M. Hiller, S. Yoshida,S. Nagele, J. Burgdörfer, Production of very-high-n strontium Rydbergatoms, Phys. Rev. A 88 (2013) 43430. doi:10.1103/PhysRevA.88.043430 .URL http://link.aps.org/doi/10.1103/PhysRevA.88.043430 [24] C. L. Vaillant, M. P. Jones, R. M. Potvliege, Long-range RydbergRydberginteractions in calcium, strontium and ytterbium, Journal of Physics B:Atomic, Molecular and Optical Physics 45 (2012) 135004. doi:10.1088/0953-4075/45/13/135004 .[25] B. J. DeSalvo, J. A. Aman, F. B. Dunning, T. C. Killian, H. R. Sadegh-pour, S. Yoshida, J. Burgdörfer, Ultra-long-range Rydberg molecules ina divalent atomic system, Physical Review A - Atomic, Molecular, andOptical Physics 92 (2015) 031403(R). doi:10.1103/PhysRevA.92.031403 .[26] F. Robicheaux, Calculations of long range interactions for Sr Rydbergstates, J. Phys. B: At. Mol. Opt. Phys. 52 (2019) 244001. doi:10.1088/1361-6455/ab4c22 .[27] S. Weber, C. Tresp, H. Menke, A. Urvoy, O. Firstenberg, H. P. Büch-ler, S. Ho ff erberth, Tutorial: Calculation of Rydberg interaction poten- tials, J. Phys. B: At. Mol. Opt. Phys. 50 (2017) 133001. doi:10.1088/1361-6455/aa743a .[28] V. Shah, S. Knappe, P. D. D. Schwindt, J. Kitching, Subpicotesla atomicmagnetometry with a microfabricated vapour cell, Nature Photonics 1(2007) 649. doi:10.1038/nphoton.2007.201 .[29] T. Peyrot, N. Šibali´c, Y. R. P. Sortais, A. Browaeys, A. Sargsyan, D. Sark-isyan, I. G. Hughes, C. S. Adams, Measurement of the atom-surface vander Waals interaction by transmission spectroscopy in a wedged nanocell,Physical Review A 100 (2019) 022503. doi:10.1103/physreva.100.022503 .[30] K. C. Younge, B. Knu ff man, S. E. Anderson, G. Raithel, State-dependentenergy shifts of rydberg atoms in a ponderomotive optical lattice, PhysicalReview Letters 104 (2010) 173001. doi:10.1103/PhysRevLett.104.173001 .[31] D. Barredo, V. Lienhard, P. Scholl, S. de Léséleuc, T. Boulier,A. Browaeys, T. Lahaye, Three-dimensional trapping of individual Ry-dberg atoms in ponderomotive bottle beam traps, Phys. Rev. Lett. 124(2020) 023201. doi:10.1103/PhysRevLett.124.023201 .[32] N. Šibali´c, E. J. Roberson, J. D. Pritchard, R. M. Potvliege, M. P. A.Jones, C. S. Adams, K. J. Weatherill, ARC documentation.URL https://arc-alkali-rydberg-calculator.readthedocs.io [33] N. Šibali´c, E. J. Roberson, J. D. Pritchard, R. M. Potvliege, M. P. A.Jones, C. S. Adams, K. J. Weatherill, ARC GitHub page.URL https://github.com/nikolasibalic/ARC-Alkali-Rydberg-Calculator [34] M. Archimi, C. Simonelli, L. Di Virgilio, A. Greco, M. Ceccanti, E. Ari-mondo, D. Ciampini, I. I. Ryabtsev, I. I. Beterov, O. Morsch, Measure-ments of single-state and state-ensemble lifetimes of high-lying Rb Ry- able C.2: Methods and function listing of the alkali_atom_functions.AlkaliAtom and alkali_atom_functions.DivalentAtom classes. getRadialCou-pling now uses semiclassical calculations (see 3.1) for DivalentAtom . The typical relative uncertainties are obtained from comparison to measured values.Name (parameters) Short description (units) Typical rel. accuracy getDipoleMatrixElement (n1, l1, ...) Reduced dipole matrix element ( a e ) ∼ − getDipoleMatrixElementHFS (n1, l1, ...) (cid:7) Hyperfine-structure resolved transitions (cid:104) n (cid:96) j f m f | er | n (cid:96) j f m f (cid:105) ( a e ) ∼ − getTransitionWavelength (n1, l1, ...) Calculated transition wavelength in vacuum (m) ∼ − getTransitionFrequency (n1, l1, ...) Calculated transition frequency (Hz) ∼ − getRabiFrequency (n1, l1, j1, mj1, ...) Returns a Rabi frequency (angular, i.e. Ω = π × ν ) for resonant excitationwith a specified laser beam in the center of TEM00 mode (rad s − ) ∼ − getRabiFrequency2 (n1, l1, j1, mj1, ...) Returns a Rabi frequency (angular, i.e. Ω = π × ν ) for resonant excitationwith a specified electric field driving amplitude (rad s − ) ∼ − getStateLifetime (n, l, j[, ...]) Returns the lifetime of the state (s) ∼ − getTransitionRate (n1, l1, j1, n2, ...) Transition rate due to coupling to vacuum modes (black body included) (s − ) ∼ − getReducedMatrixElementJ_asymmetric (n1, ...) Reduced matrix element in J basis, defined in asymmetric notation ( a e ) ∼ − getReducedMatrixElementJ (n1, l1, ...) Reduced matrix element in J basis, symmetric notation ( a e ) ∼ − getReducedMatrixElementL (n1, l1, ...) Reduced matrix element in L basis, symmetric notation ( a e ) ∼ − getRadialMatrixElement (n1, l1, ...) Radial part of the dipole matrix element ( a e ) ∼ − getQuadrupoleMatrixElement (n1, ...) Radial part of the quadrupole matrix element ( a e ) ∼ − getPressure (temperature) Vapour pressure at a given temperature (Pa) ∼ (1 − · − getNumberDensity (temperature) Atom number density at a given temperature (m − ) ∼ (1 − · − getAverageInteratomicSpacing (...) Returns the average inter-atomic spacing in the atomic vapour (m) ∼ (1 − · − corePotential (l, r) ◦ core potential felt by the valence electron (a.u) effectiveCharge (l, r) ◦ e ff ective charge of the core felt by the valence electron (a.u) potential (l, s, j, r) ◦ potential(l, s, j, r) (a.u) radialWavefunction (l, s, j, ...) ◦ Radial part of the electron wave function getEnergy (n, l, j) Energy of the level relative to the ionisation level (eV) ∼ − getZeemanEnergyShift (l, j, mj, ...) (cid:7) Returns the linear (paramagnetic) Zeeman shift. (J) getQuantumDefect (n, l, j) Quantum defect of the level. getC6term (n, l, j, n1, l1, j1, ...) C interaction term for the given two pair-states ( h × Hz m ) getC3term (n, l, j, n1, l1, j1, ...) C interaction term for the given two pair-states ( h × Hz m ) getEnergyDefect (n, l, j, n1, l1, ...) Energy defect for the given two pair-states, E ( | rr (cid:105) ) − E ( | r (cid:48) r (cid:48)(cid:48) (cid:105) ) (eV) getEnergyDefect2 (n, l, j, nn, ll, ...) Energy defect for the given two pair-states, E ( | r r (cid:105) ) − E ( | r (cid:48) r (cid:48)(cid:48) (cid:105) ) (eV) updateDipoleMatrixElementsFile () Updates the file with pre-calculated dipole matrix elements getRadialCoupling (n, l, j, n1, l1, j1) (cid:7) Returns the radial part of the coupling between two states (dipole,quadrupole) ( a e or a e ) ∼ − getAverageSpeed (temperature) Average one-dimensional speed at a given temperature (m / s) getLiteratureDME (n1, l1, j1, n2, ...) Returns literature information on requested transitiondberg levels, Physical Review A 100 (2019) 30501(R). doi:10.1103/PhysRevA.100.030501 .[35] J. A. Armstrong, J. J. Wynne, P. Esherick, Bound, odd-parity J = doi:10.1364/JOSA.69.000211 .[36] R. Beigang, K. Lücke, A. Timmermann, P. J. West, D. Frölich, De-termination of absolute level energies of 5s n s S and 5s n d D Ryd-berg series of Sr, Optics Communications 42 (1982) 19. doi:10.1016/0030-4018(82)90082-7 .[37] R. Beigang, D. Schmidt, Two-Channel MQDT Analysis of Bound 5 snd D , doi:10.1088/0031-8949/27/3/005 .[38] J. E. Sansonetti, G. Nave, Wavelengths, transition probabilities, and en-ergy levels for the spectrum of neutral strontium (Sr I), Journal of Phys-ical and Chemical Reference Data 39 (2010) 033103. doi:10.1063/1.3449176 .[39] M. A. Baig, M. Yaseen, A. Nadeem, R. Ali, S. A. Bhatti, Three-photon ex-citation of strontium Rydberg levels, Optics Communications 156 (1998)279. doi:10.1016/S0030-4018(98)00467-2 .[40] P. Esherick, J. J. Wynne, J. A. Armstrong, Spectroscopy of P states ofalkaline earths, Optics Letters 1 (1977) 19. doi:10.1364/ol.1.000019 .[41] P. Esherick, Bound, even-parity J = J = doi:10.1103/PhysRevA.15.1920 .[42] J. R. Rubbmark, S. A. Borgström, Rydberg series in strontium found inabsorption by selectively laser-excited atoms, Physica Scripta 18 (1978)196. doi:10.1088/0031-8949/18/4/002 .[43] L. Couturier, I. Nosske, F. Hu, C. Tan, C. Qiao, Y. H. Jiang, P. Chen,M. Weidemüller, Measurement of the strontium triplet Rydberg series bydepletion spectroscopy of ultracold atoms, Physical Review A 99 (2019)022503. doi:10.1103/PhysRevA.99.022503 . [44] R. Beigang, K. Lücke, D. Schmidt, A. Timmermann, P. J. West, One-photon laser spectroscopy of Rydberg series from metastable levels incalcium and strontium, Physica Scripta 26 (1982) 183. doi:10.1088/0031-8949/26/3/007 .[45] T. R. Gentile, B. J. Hughey, D. Kleppner, T. W. Ducas, Microwave spec-troscopy of calcium Rydberg states, Physical Review A 42 (1990) 440. doi:10.1103/PhysRevA.42.440 .[46] M. Miyabe, C. Geppert, M. Kato, M. Oba, I. Wakaida, K. Watanabe,K. D. Wendt, Determination of ionization potential of calcium by high-resolution resonance ionization spectroscopy, Journal of the Physical So-ciety of Japan 75 (2006) 034302. doi:10.1143/JPSJ.75.034302 .[47] H. Maeda, Y. Matsuo, M. Takami, A. Suzuki, Optical-microwave double-resonance spectroscopy of highly excited Rydberg states of ytterbium,Physical Review A 45 (1992) 1732. doi:10.1103/PhysRevA.45.1732 .[48] M. Aymar, A. Debarre, O. Robaux, Highly excited levels of neutral ytter-bium. II. Multichannel quantum defect analysis of odd- and even-parityspectra, Journal of Physics B: Atomic and Molecular Physics 13 (1980)1089. doi:10.1088/10.1088/0022-3700/13/6/016 .[49] H. Lehec, A. Zuliani, W. Maineult, E. Luc-Koenig, P. Pillet, P. Cheinet,F. Niyaz, T. F. Gallagher, Laser and microwave spectroscopy of even-parity Rydberg states of neutral ytterbium and multichannel-quantum-defect-theory analysis, Physical Review A 98 (2018) 062506. doi:10.1103/PhysRevA.98.062506 .[50] B. Oumarou, J. Picart, N. T. Minh, J. Chapelle, New and rapid methodfor calculation of electric dipole and quadrupole radial integrals betweenRydberg states, Physical Review A 37 (1988) 1885. doi:10.1103/physreva.37.1885 .[51] C. L. Vaillant, M. P. a. Jones, R. M. Potvliege, Multichannel quantumdefect theory of strontium bound Rydberg states, Journal of Physics B:Atomic, Molecular and Optical Physics 47 (2014) 155001. doi:10.1088/ able C.3: Class listing of the alkali_atom_data module. All these classes inherit properties of alkali_atom_functions.AlkaliAtom from Table C.2.Name (parameters) Short description Hydrogen ([preferQuantumDefects, cpp_numerov]) Properties of hydrogen atoms
Lithium6 ([preferQuantumDefects, cpp_numerov]) Properties of lithium-6 atoms
Lithium7 ([preferQuantumDefects, cpp_numerov]) Properties of lithium-7 atoms
Sodium ([preferQuantumDefects, cpp_numerov]) Properties of sodium-23 atoms
Potassium39 ([preferQuantumDefects, cpp_numerov]) Properties of potassium-39 atoms; alias
Potassium(...)Potassium40 ([preferQuantumDefects, cpp_numerov]) Properties of potassium-40 atoms
Potassium41 ([preferQuantumDefects, cpp_numerov]) Properties of potassium-41 atoms
Rubidium85 ([preferQuantumDefects, cpp_numerov]) Properties of rubidium-85 atoms; alias
Rubidium(...)Rubidium87 ([preferQuantumDefects, cpp_numerov]) Properties of rubidium-87 atoms
Caesium ([preferQuantumDefects, cpp_numerov]) Properties of caesium-133 atoms; alias
Cesium(...)
Table C.4: Class listing of the divalent_atom_data module. All these classes inherit the properties of divalent_atom_functions.DivalentAtom fromTable C.2. Name (parameters) Short description
Strontium88 ([preferQuantumDefects]) (cid:7)
Properties of strontium-88 atoms
Calcium40 ([preferQuantumDefects]) (cid:7)
Properties of calcium-40 atoms
Ytterbium174 ([preferQuantumDefects]) (cid:7)
Properties of ytterbium-174 atoms .[52] C. L. Vaillant, Long-Range Interactions in One- and Two-Electron Ryd-berg Atoms D. Phil. thesis (University of Durham, 2014). etheses.dur.ac.uk/10594 .[53] A. Gaj, A. T. Krupp, J. B. Balewski, R. Löw, S. Ho ff erberth, T. Pfau,From molecular spectra to a density shift in dense Rydberg gases., Naturecommunications 5 (2014) 4546. doi:10.1038/ncomms5546 .[54] M. Fichet, F. Schuller, D. Bloch, M. Ducloy, Van der Waals interactionsbetween excited-state atoms and dispersive dielectric surfaces, PhysicalReview A 51 (2) (1995) 1553–1564. doi:10.1103/PhysRevA.51.1553 .[55] J. Mitroy, M. S. Safronova, C. W. Clark, Theory and applications ofatomic and ionic polarizabilities, Journal of Physics B: Atomic, Molec-ular and Optical Physics 43 (2010) 202001. doi:10.1088/0953-4075/43/20/202001 .[56] S. K. Dutta, J. R. Guest, D. Feldbaum, A. Walz-Flannigan, G. Raithel,Ponderomotive optical lattice for rydberg atoms, Physical Review Letters85 (26) (2000) 5551. doi:10.1103/PhysRevLett.85.5551 .[57] F. Le Kien, P. Schneeweiss, A. Rauschenbeutel, Dynamical polarizabilityof atoms in arbitrary light fields: General theory and application to ce-sium, European Physical Journal D 67 (2013) 92. doi:10.1140/epjd/e2013-30729-x .[58] M. G. Kozlov, S. G. Porsev, M. S. Safronova, I. I. Tupitsyn, CI-MBPT:A package of programs for relativistic atomic calculations based on amethod combining configuration interaction and many-body perturba-tion theory, Computer Physics Communications 195 (2015) 199. doi:10.1016/j.cpc.2015.05.007 .[59] T. F. Gallagher, Rydberg atoms, Cambridge University Press, 1994. doi:10.1017/CBO9780511524530 .[60] W. Bowden, R. Hobson, P. Gill, I. R. Hill, P. H. Huillery, M. P. A.Jones, Rydberg spectroscopy for DC Stark shift characterisation in op-tical lattice clocks, in: 2017 Joint Conference of the European Frequencyand Time Forum and IEEE International Frequency Control Symposium(EFTF / IFCS), 2017, p. 154.[61] C. L. Vaillant, R. M. Potvliege, M. P. Jones, Intercombination e ff ects inresonant energy transfer, Physical Review A 92 (2015) 042705. doi:10.1103/PhysRevA.92.042705 .[62] I. G. Hughes, T. P. A. Hase, Measurements and their Uncertainties, Ox-ford University Press, Oxford, 2010. able C.5: Method listing of the calculations_atom_single.LevelPlot (atomType) class.Name (parameters) Short description makeLevels (nFrom, nTo, lFrom, lTo) Constructs an energy level diagram in a given range drawLevels () Draws a level diagram plot showPlot () Shows a level diagram plotTable C.6: Method listing of the calculations_atom_single.StarkMap (atom) class.Name (parameters) Short description defineBasis (n, l, j, mj, nMin, ...) Initializes a basis of states around the state of interest diagonalise (eFieldList[, ...]) Finds atom eigenstates in a given electric field plotLevelDiagram ([units, ...]) Makes a plot of a Stark map of energy levels showPlot ([interactive]) Shows plot made by plotLevelDiagramsavePlot ([filename]) Saves plot made by plotLevelDiagramexportData (fileBase[, exportFormat]) Exports StarkMap calculation data getPolarizability ([maxField, ...]) Returns the polarizability of the state (MHz cm / V ) getState (state, electricField, ...) (cid:7) Returns the state composition for the state with a largest contribution of a target state in given E-fieldTable C.7: Method listing of the calculations_atom_single.Wavefunction () className (parameters) Short description getRtimesPsiSpherical (theta, phi, r) (cid:7) ◦ Calculates the list of r · ψ m s ( θ, φ, r ) for all possible m s getRtimesPsi (x, y, z) (cid:7) ◦ Calculates the list of r · ψ m s ( x , y , z ) for all possible m s getPsi (x, y, z) (cid:7) ◦ Calculates the list of ψ m s ( x , y , z ) for all possible m s getRtimesPsiSquaredInPlane ([...]) (cid:7) ◦ Calculates | r · ψ | on a mesh in a given plane plot2D ([plane, pointsPerAxis, ...]) (cid:7) ◦
2D colour plot of | r · ψ | wave function in a requested plane plot3D ([plane, pointsPerAxis, ...]) (cid:7) ◦
3D colour surface plot of | r · ψ | wave function in a requested planeTable C.8: Method listing of the calculations_atom_single.AtomSurfaceVdW () class.Name (parameters) Short description getC3contribution (n1, l1, j1, ...) (cid:7) Contribution to C of the | n , (cid:96) , j (cid:105) state due to dipole coupling to the | n , (cid:96) , j (cid:105) state. (J · m ) getStateC3 (n, l, j, ... [, s, ...]) (cid:7) van der Waals atom-surface interaction coe ffi cient for a given state (J · m )Table C.9: Method listing of the calculations_atom_single.OpticalLattice1D () class.Name (parameters) Short description getRecoilEnergy () (cid:7) Recoil energy for atoms in given optical lattice (J) getTrappingFrequency (...) (cid:7)
Atom’s trapping frequency for a given trap depth (Hz) defineBasis ([Limit]) (cid:7)
Define the basis for a Bloch band calculation diagonalise (... [, ... ]) (cid:7)
Calculates energy levels (Bloch bands) for a given list of quasimomenta plotLevelDiagram () (cid:7) Plots energy level diagram (Bloch bands)
BlochWavefunction (... ) (cid:7)
Bloch wave function as a function of 1D coordinate getWannierFunction (x[, ...]) (cid:7)
Gives value of a Wannier functionTable C.10: Method listing of the calculations_atom_single.DynamicPolarizability () className (parameters) Short description defineBasis (nMin, nMax) (cid:7)
Defines basis for the calculation of the dynamic polarizability getPolarizability (...) (cid:7)
Calculates the scalar and tensor polarizabilities plotPolarizability (...) (cid:7)
Plots the polarisability for a range of wavelengthsTable C.11: Class listing of the materials module. Each class inherits the abstract class
OpticalMaterial () that implements the literature input of data, while getN in each specific class has arguments according to the requirements of the material (e.g. multiple axes of reflection etc).Name (parameters) Short description
Air() (...) (cid:7)
Air at normal conditions as an optical material
Sapphire (...) (cid:7)
Sapphire as an optical material able C.12: Method listing of the (cid:7) calculations_atom_pairstate.PairStateInteractions (atom, n, l, j, nn, ll, jj, m1, m2, interactionsUpTo =
1) class thatcalculates the Rydberg level diagram (a “spaghetti diagram") for the given pair-state. The (cid:7) symbols for this class indicate significant additions of functionality:
PairStateInteractions now supports arbitrary inter-species pair-state calculations, and getC6perturbatively supports degenerate perturbation calculations.Name (parameters) Short description defineBasis (theta, ...) Finds the relevant states in the vicinity of the given pair-state getC6perturbatively (...) (cid:7)
Calculates C coe ffi cients from second order [degenerate] perturbation theory (GHz µ m ) getLeRoyRadius () ◦ Returns the Le Roy radius for the initial pair-state ( µ m) diagonalise (rangeR, ...) Finds eigenstates in atom pair basis plotLevelDiagram ([...]) Plots a pair-state level diagram showPlot ([interactive]) Shows the level diagram printed by plotLevelDiagramexportData (fileBase[, ...]) Exports PairStateInteractions calculation data getC6fromLevelDiagram (...) Finds the C coe ffi cient for the original pair-state (GHz µ m ) getC3fromLevelDiagram (...) Finds the C coe ffi cient for the original pair-state (GHz µ m ) getVdwFromLevelDiagram (...) Finds the r vdW coe ffi cient for the original pair-state ( µ m)Table C.13: Method listing of the calculations_atom_pairstate.StarkMapResonances (atom1, state1, atom2, state2) class that calculates pair-state Stark mapsfor finding resonances. Name (parameters) Short description findResonances (nMin, ...) Finds near-resonant dipole-coupled pair-states showPlot ([interactive]) Plots a Stark map for the initial state and its dipole-coupled resonancesTable C.14: Function and class listing of the wigner module providing support for angular element calculationsName (parameters) Short description CG (j1,m1, ...) returns a Clebsch-Gordan (CG) coe ffi cient Wigner3j (j1,j2, ...) returns a Wigner 3j-coe ffi cient Wigner6j (j1,j2,...) returns a Wigner 6j-coe ffi cent wignerDmatrix (theta,phi) Class for obtaining Wigner D-matrices(theta,phi) Class for obtaining Wigner D-matrices