Skip to content

rydiqule 2.0.0rc3

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 05 Mar 20:02
· 5 commits to main since this 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 the A_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 the Sensor constructor or set by attribute assignment.
  • Cell does not use kvec, but rather kunit, the unit propagation axis of the field. All other necessary parameters are automatically calculated
  • Cell calculations from v1 will need to be modified to be NLJ-basis calculations explicitly (instead of implicitly).
  • Numba-only timesolver backends numbakit-ode and nbrk_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