-
Notifications
You must be signed in to change notification settings - Fork 1
Add basis #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: restructure-rydberg-state
Are you sure you want to change the base?
Add basis #17
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a new basis module to rydstate that provides basis set functionality for SQDT (Semi-classical Quantum Defect Theory) Rydberg states, and refactors the angular module to use type guard functions for better type safety.
- Introduces
BasisBaseabstract class and concrete implementationsBasisSQDTAlkaliandBasisSQDTAlkalineLSfor generating basis sets of Rydberg states - Refactors angular momentum type checking from
get_args()calls to dedicated type guard functions (is_angular_momentum_quantum_number,is_angular_operator_type) - Enhances
AngularKetBasewith newcalc_exp_qnandcalc_std_qnmethods for calculating quantum number expectation values and standard deviations
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
src/rydstate/basis/basis_base.py |
Implements abstract base class for basis sets with methods for filtering states, calculating overlaps, and computing matrix elements |
src/rydstate/basis/basis_sqdt.py |
Provides concrete basis implementations for alkali and alkaline earth SQDT states with quantum number enumeration |
src/rydstate/basis/__init__.py |
Exports the two SQDT basis classes |
src/rydstate/angular/angular_matrix_element.py |
Adds type guard functions to replace runtime get_args() checks |
src/rydstate/angular/angular_ket.py |
Refactors to use type guards and adds quantum number calculation methods |
src/rydstate/angular/angular_state.py |
Updates imports to use type guards and changes parameter types from list to Sequence for more flexibility |
src/rydstate/__init__.py |
Exports the new basis classes from the main module |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4a67560 to
2994ac0
Compare
9aaeccd to
7753ed7
Compare
merge after #16
preliminary work to properly add mqdt to rydstate