rydiqule 2.0.0rc3
Pre-release
Pre-release
This release represents a significant upgrade in rydiqule features, and contains backwards incompatible changes.
Improvements
- State specification overhaul
- States can now be defined using arbitrary tuples, allowing for greater control and granularity in defining states
- State groups are now a supported concept, allowing for arbitrary sets of states to be used in coupling definitions. This functionality is particularly designed to make handling large manifolds of magnetic sublevel states more tractible.
- The concept of the
StateSpec
has been added. This defines a group of states based on nested sub-lists (ie(0, [-1, 0, 1])
is equivalent to[(0, -1), (0, 0), (0, 1)]
).
- Expanded ARC integration in
Cell
Cell
states must be defined using theA_QState
named tuple, which contains all relevant quantum numbers for the state/coupling.- ARC integration to calculate system properties has been greatly extended in
Cell
, limiting the number of quantities that need to be calculated. This functionality includes native handling of couplings between magnetic sublevels in fine structure, hyperfine structure, and mixed bases.
- Analytic 1D Doppler Solver
- Leveraging the analytical solution from arXiv:2501.06134, a solver for 1D doppler averages that has significantly higher accuracy and speed has been added. Extensions to higher dimensionality doppler solves is ongoing.
- Multiple quality of life improvements to improve overall code quality and ease of use.
Deprecations
'kvec'
coupling parameter has been redefined to be the field k-vector (rather than the most probable Doppler shift vector).vP
is now provided as a separate argument to theSensor
constructor or set by attribute assignment.Cell
does not usekvec
, but ratherkunit
, the unit propagation axis of the field. All other necessary parameters are automatically calculatedCell
calculations from v1 will need to be modified to be NLJ-basis calculations explicitly (instead of implicitly).- Numba-only timesolver backends
numbakit-ode
andnbrk_ode
have been deprecated. The CyRK timesolver backend has been updated and its performance improved. - Note that if you have code that directly interacts with rydiqule internal functions, there is a high likelihood modifications will need to be made to upgrade.
Please consult the changelog in the documentation for a more complete list of changes for the v2.0 release of rydiqule. If you have existing work using v1 rydiqule code, it is highly recommended that you test/compare results as a part of the upgrade. As always, please reach out if you have issues that are not readily solved by consulting the documentation.
The release candidate is available on both pip and conda, but will not install by default.
To install with conda, use
conda install -c rydiqule/label/test rydiqule
To install with pip, use
pip install --upgrade --pre rydiqule