Skip to content

Conversation

@johannes-moegerle
Copy link
Contributor

@johannes-moegerle johannes-moegerle commented Dec 19, 2025

merge after #16

preliminary work to properly add mqdt to rydstate

@johannes-moegerle johannes-moegerle changed the base branch from main to restructure-rydberg-state December 19, 2025 15:35
Copy link

Copilot AI left a 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 BasisBase abstract class and concrete implementations BasisSQDTAlkali and BasisSQDTAlkalineLS for 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 AngularKetBase with new calc_exp_qn and calc_std_qn methods 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant