BasisMQDT

Class Methods

__init__(species, nu, *[, f_tot, l_r, m, ...])

Initialize the MQDT basis.

calc_exp_qn(qn)

calc_reduced_matrix_element(other, operator)

calc_reduced_matrix_elements(other, operator)

calc_reduced_overlap(other)

Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m).

calc_reduced_overlaps(other)

Calculate the reduced overlap <bra|ket> for all states in the bases self and other.

calc_std_qn(qn)

filter_states(qn, value, *[, delta, ...])

sort_states(*qns)

Sort the basis states according to the given quantum numbers.

Class Attributes and Properties

states

class rydstate.BasisMQDT(species, nu, *, f_tot=None, l_r=None, m=NotSet, include_sqdt_fallback_models=True, mqdt=None, potential_class=None)[source]

Initialize the MQDT basis.

Parameters:
  • species (str) – Atomic species.

  • nu (tuple[float, float]) – Tuple of (nu_min, nu_max) for the effective principal quantum number.

  • f_tot (tuple[float, float] | None) – Optional tuple of (f_tot_min, f_tot_max) for the total angular momentum. Default None, include all f_tot values.

  • l_r (tuple[int, int] | None) – Optional tuple of (l_r_min, l_r_max) for the Rydberg electron orbital angular momentum. This is used to filter models, which include at least one channel with l_c=0 and l_r in the specified range. Default None, include all models.

  • m (tuple[float, float] | None | NotSet) – Optional tuple of (m_min, m_max) for the magnetic quantum number range. Default NotSet, only include states with m=NotSet. If m is given as None, include all allowed m values.

  • include_sqdt_fallback_models (bool) – Whether to include simple SQDT models (with zero quantum defects) as fallback for states, for which no MQDT models are available.

  • mqdt (MQDT | str | None) – The MQDT data to use for the states. Either an instance of an MQDT class or a string representing the tag of the MQDT class to use.

  • potential_class (type[Potential] | str | None) – The potential class to use for the radial ket. Either a a potential class or a string representing the tag of the potential class to use.

states: list[RydbergStateMQDT]
calc_exp_qn(qn)
Return type:

ndarray[tuple[Any, ...], dtype[Any]]

Parameters:

qn (str)

calc_reduced_matrix_element(other, operator, unit=None)
Overloads:
  • self, other (RydbergStateBase), operator (MatrixElementOperator), unit (None) → PintArray

  • self, other (RydbergStateBase), operator (MatrixElementOperator), unit (str) → NDArray

Parameters:
  • other (RydbergStateBase)

  • operator (Literal['magnetic_dipole', 'electric_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero'])

  • unit (str | None)

Return type:

PlainQuantity[ndarray[tuple[Any, …], dtype[Any]]] | ndarray[tuple[Any, …], dtype[Any]]

Calculate the reduced matrix element.

calc_reduced_matrix_elements(other, operator, unit=None)
Overloads:
  • self, other (BasisBase[Any]), operator (MatrixElementOperator), unit (None) → PintArray

  • self, other (BasisBase[Any]), operator (MatrixElementOperator), unit (str) → NDArray

Parameters:
  • other (BasisBase[Any])

  • operator (Literal['magnetic_dipole', 'electric_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero'])

  • unit (str | None)

Return type:

PlainQuantity[ndarray[tuple[Any, …], dtype[Any]]] | ndarray[tuple[Any, …], dtype[Any]]

Calculate the reduced matrix element.

calc_reduced_overlap(other)

Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m).

Return type:

ndarray[tuple[Any, ...], dtype[Any]]

Parameters:

other (RydbergStateBase)

calc_reduced_overlaps(other)

Calculate the reduced overlap <bra|ket> for all states in the bases self and other.

Returns a numpy array overlaps, where overlaps[i,j] corresponds to the overlap of the i-th state of self and the j-th state of other.

Return type:

ndarray[tuple[Any, ...], dtype[Any]]

Parameters:

other (BasisBase[Any])

calc_std_qn(qn)
Return type:

ndarray[tuple[Any, ...], dtype[Any]]

Parameters:

qn (str)

filter_states(qn, value, *, delta=1e-10, keep_unknown=False)
Overloads:
  • self, qn (str), value (tuple[float, float]), delta (float), keep_unknown (bool) → Self

  • self, qn (str), value (float), delta (float), keep_unknown (bool) → Self

Parameters:
  • qn (str)

  • value (float | tuple[float, float])

  • delta (float)

  • keep_unknown (bool)

Return type:

Self

sort_states(*qns)

Sort the basis states according to the given quantum numbers.

The first quantum number given is the primary sorting key, the second quantum number is the secondary sorting key, and so on.

Return type:

Self

Parameters:

qns (str)