Metadata-Version: 2.4
Name: rydstate
Version: 0.9.2
Summary: A Python package for calculating Rydberg wavefunctions.
Author: RydState Developers
Maintainer-email: Johannes Mögerle <johannes.moegerle@itp3.uni-stuttgart.de>
License-Expression: LGPL-3.0-or-later
Project-URL: Repository, https://github.com/pairinteraction/rydstate
Keywords: rydberg,wavefunctions,numerov,quantum physics
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: LICENSES/LGPL-3.0-or-later.txt
Requires-Dist: numpy>=2.0
Requires-Dist: numba>=0.60
Requires-Dist: pint>=0.24
Requires-Dist: scipy>=1.13
Requires-Dist: sympy>=1.13
Requires-Dist: mpmath>=1.3
Provides-Extra: tests
Requires-Dist: pytest>=8.0; extra == "tests"
Requires-Dist: nbmake>=1.3; extra == "tests"
Requires-Dist: rydstate[comparison]; extra == "tests"
Provides-Extra: docs
Requires-Dist: sphinx>=7; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0; extra == "docs"
Requires-Dist: nbsphinx>=0.9; extra == "docs"
Requires-Dist: nbconvert>=7.8; extra == "docs"
Requires-Dist: jupyter>=1.1; extra == "docs"
Requires-Dist: sphinx_autodoc_typehints>=1.24; extra == "docs"
Requires-Dist: sphinx-autobuild>=2021.3; extra == "docs"
Requires-Dist: matplotlib>=3.7.4; extra == "docs"
Requires-Dist: myst-parser>=3.0; extra == "docs"
Provides-Extra: jupyter
Requires-Dist: pip; extra == "jupyter"
Requires-Dist: ipykernel; extra == "jupyter"
Provides-Extra: mypy
Requires-Dist: mypy>=1.14; extra == "mypy"
Requires-Dist: scipy-stubs>=1.15; python_version >= "3.10" and extra == "mypy"
Requires-Dist: typing_extensions>=4.10; extra == "mypy"
Dynamic: license-file

# RydState - A Rydberg State Calculator

[![PyPI Package][pypi-svg]][pypi-link]
[![License: LGPL v3][license-lgpl-svg]][license-lgpl-link]
[![CI Workflow][gh-workflow-svg]][gh-workflow-link]
[![Documentation][docs-svg]][docs-link]

[pypi-svg]: https://img.shields.io/pypi/v/rydstate.svg?style=flat
[pypi-link]: https://pypi.org/project/rydstate/
[license-lgpl-svg]: https://img.shields.io/badge/License-LGPL_v3-blue.svg?style=flat
[license-lgpl-link]: https://www.gnu.org/licenses/lgpl-3.0.html
[gh-workflow-svg]: https://github.com/pairinteraction/rydstate/actions/workflows/python_wheel.yml/badge.svg
[gh-workflow-link]: https://github.com/pairinteraction/rydstate/actions/workflows/python_wheel.yml
[docs-svg]: https://img.shields.io/badge/Documentation-rydstate-blue.svg?style=flat
[docs-link]: https://www.pairinteraction.org/rydstate/sphinx/html/

The *RydState* software calculates properties of Rydberg states.
We especially focus on the calculation of the radial wavefunction of Rydberg states via the Numerov method.
The software can be installed via pip (requires Python >= 3.9):

```bash
pip install rydstate
```

To install the latest development version from github, use:

```bash
pip install git+https://github.com/pairinteraction/rydstate
```


## How to Cite

This package relies on quantum defects provided by the community. Consider citing relevant publications for your atomic species.

<p><details>
<summary><b>Click to expand for quantum defect references</b></summary>

| Element | Model                 | Identifier     | References                                                                                                                                                   |
|---------|-----------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| H       | SQDT                  | `H`            | Schrödinger equation for hydrogen                                                                                                                            |
| Li      | SQDT                  | `Li`           | [10.1017/CBO9780511524530] (1994)<br>[10.1103/PhysRevA.34.2889] (1986)                                                                                       |
| Na      | SQDT                  | `Na`           | [10.1088/0953-4075/30/10/009] (1997)<br>[10.1070/QE1995v025n09ABEH000501] (1995)<br>[10.1103/PhysRevA.45.4720] (1992)                                        |
| K       | SQDT                  | `K`            | [10.1088/0031-8949/27/4/012] (1983)<br>[10.1016/0030-4018(81)90225-X] (1981)                                                                                 |
| Rb      | SQDT                  | `Rb`           | [10.1103/PhysRevA.83.052515] (2011)<br>[10.1103/PhysRevA.74.054502] (2006)<br>[10.1103/PhysRevA.74.062712] (2006)<br>[10.1103/PhysRevA.67.052502] (2003)     |
| Cs      | SQDT                  | `Cs`           | [10.1103/PhysRevA.93.013424] (2016)<br>[10.1103/PhysRevA.35.4650] (1987)<br>[10.1103/PhysRevA.26.2733] (1982)                                                |
| Sr88    | SQDT, singlet sector  | `Sr88` | [10.1103/PhysRevA.108.022815] (2023)<br>[10.17169/refubium-34581] (2022)                                                                                     |
| Sr88    | SQDT, triplet sector  | `Sr88` | [10.1016/j.cpc.2020.107814] (2021)                                                                                                                           |
</details></p>

[10.1103/PhysRevA.34.2889]: https://doi.org/10.1103/PhysRevA.34.2889
[10.1017/CBO9780511524530]: https://doi.org/10.1017/CBO9780511524530
[10.1103/PhysRevA.45.4720]: https://doi.org/10.1103/PhysRevA.45.4720
[10.1070/QE1995v025n09ABEH000501]: https://doi.org/10.1070/QE1995v025n09ABEH000501
[10.1088/0953-4075/30/10/009]: https://doi.org/10.1088/0953-4075/30/10/009
[10.1088/0031-8949/27/4/012]: https://doi.org/10.1088/0031-8949/27/4/012
[10.1016/0030-4018(81)90225-X]: https://doi.org/10.1016/0030-4018(81)90225-X
[10.1103/PhysRevA.83.052515]: https://doi.org/10.1103/PhysRevA.83.052515
[10.1103/PhysRevA.67.052502]: https://doi.org/10.1103/PhysRevA.67.052502
[10.1103/PhysRevA.74.054502]: https://doi.org/10.1103/PhysRevA.74.054502
[10.1103/PhysRevA.74.062712]: https://doi.org/10.1103/PhysRevA.74.062712
[10.1103/PhysRevA.93.013424]: https://doi.org/10.1103/PhysRevA.93.013424
[10.1103/PhysRevA.26.2733]: https://doi.org/10.1103/PhysRevA.26.2733
[10.1103/PhysRevA.35.4650]: https://doi.org/10.1103/PhysRevA.35.4650
[10.1103/PhysRevA.108.022815]: https://doi.org/10.1103/PhysRevA.108.022815
[10.17169/refubium-34581]: https://doi.org/10.17169/refubium-34581
[10.1016/j.cpc.2020.107814]: https://doi.org/10.1016/j.cpc.2020.107814


## Documentation

**User Guide**

- [Tutorials] - Examples of how to use the RydState library.

- [API Reference] - Documentation of classes and functions of the RydState Python library.


[Tutorials]: https://www.pairinteraction.org/rydstate/sphinx/html/examples.html
[API Reference]: https://www.pairinteraction.org/rydstate/sphinx/html/modules.html


## Using custom quantum defects
To use custom quantum defects (or quantum defects for a new species), you can simply create a subclass of `rydstate.species.species_object.SpeciesObject` (e.g. `class CustomRubidium(SpeciesObject):`) with a custom species name (e.g. `name = "Custom_Rb"`).
Then, similarly to `rydstate.species.rubidium.py` you can define the quantum defects (and model potential parameters, ...) for your species.
Finally, you can use the custom species by simply calling `rydstate.RydbergStateAlkali("Custom_Rb", n=50, l=0, j=1/2, m=1/2)` (the code will look for all subclasses of `SpeciesObject` until it finds one with the species name "Custom_Rb").


## License

The rydstate software is licensed under [LGPL v3][license-lgpl-link]. For more information, see [LICENSE.txt](https://github.com/pairinteraction/rydstate/blob/main/LICENSE.txt).
