BasisTunableMQDT
Class Methods
|
Initialize the TunableMQDT basis. |
|
|
|
Calculate the reduced matrix element \(\langle bra || O || other \rangle\) for all states of self. |
|
Calculate the reduced matrix element for all states in self and other. |
|
Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m). |
|
Calculate the reduced overlap <bra|ket> for all states in the bases self and other. |
|
|
|
|
|
Filter the basis states by a substring in their label. |
Return a shallow copy of the basis (with its own independent list of states). |
|
|
Sort the basis states according to the given quantum numbers. |
Class Attributes and Properties
- class rydstate.basis.BasisTunableMQDT(species, nu, *, l_r=None, f_tot=None, m=NotSet, potential_class=None, mqdt=None, coupling_factor=1.0)[source]
Initialize the TunableMQDT basis.
- Parameters:
species (
str) – Atomic species.nu (
tuple[float,float]) – Tuple of (nu_min, nu_max) for the effective principal quantum number.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.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.m (
tuple[float,float] |NotSet|None) – 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.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.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.coupling_factor (
float) – The factor by which to scale the off-diagonal elements of the K-matrix, i.e. the coupling between the outer channels. Default 1, i.e. fully coupled outer channels.
- calc_exp_qn(qn)
- Return type:
NDArray[Any]- Parameters:
qn (str)
- calc_reduced_matrix_element(other, operator, *, part='all', unit=None)
Calculate the reduced matrix element \(\langle bra || O || other \rangle\) for all states of self.
- Overloads:
self, other (RydbergState), operator (MatrixElementOperator), part (MatrixElementPart), unit (None) → PintArray
self, other (RydbergState), operator (MatrixElementOperator), part (MatrixElementPart), unit (str) → NDArray
- Parameters:
other (RydbergState)
operator (Literal['magnetic_dipole', 'electric_monopole', 'electric_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero', 'spherical', 'spherical_inner_valence', 'i_c', 's_c', 'l_c', 's_r', 'l_r', 's_tot', 'l_tot', 'j_c', 'j_r', 'j_tot', 'f_c', 'f_tot', 'identity_i_c', 'identity_s_c', 'identity_l_c', 'identity_s_r', 'identity_l_r', 'identity_s_tot', 'identity_l_tot', 'identity_j_c', 'identity_j_r', 'identity_j_tot', 'identity_f_c', 'identity_f_tot'])
part (Literal['all', 'rydberg', 'inner_valence', 'closed_shell_core'])
unit (str | None)
- Return type:
PlainQuantity[NDArray[Any]] | NDArray[Any]
Each state of the basis self is used as the bra and the single state other is used as the ket.
Returns a 1D array values, where values[i] corresponds to the reduced matrix element \(\langle self.states[i] || O || other \rangle\).
- calc_reduced_matrix_elements(other, operator, *, part='all', unit=None)
Calculate the reduced matrix element for all states in self and other.
- Overloads:
self, other (BasisBase[Any]), operator (MatrixElementOperator), part (MatrixElementPart), unit (None) → PintArray
self, other (BasisBase[Any]), operator (MatrixElementOperator), part (MatrixElementPart), unit (str) → NDArray
- Parameters:
other (BasisBase[Any])
operator (Literal['magnetic_dipole', 'electric_monopole', 'electric_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero', 'spherical', 'spherical_inner_valence', 'i_c', 's_c', 'l_c', 's_r', 'l_r', 's_tot', 'l_tot', 'j_c', 'j_r', 'j_tot', 'f_c', 'f_tot', 'identity_i_c', 'identity_s_c', 'identity_l_c', 'identity_s_r', 'identity_l_r', 'identity_s_tot', 'identity_l_tot', 'identity_j_c', 'identity_j_r', 'identity_j_tot', 'identity_f_c', 'identity_f_tot'])
part (Literal['all', 'rydberg', 'inner_valence', 'closed_shell_core'])
unit (str | None)
- Return type:
PlainQuantity[NDArray[Any]] | NDArray[Any]
The states of the basis self are used as the bra and the states of the basis other are used as the ket.
Returns a 2D array values, where values[i, j] corresponds to the reduced matrix element \(\langle self.states[i] || O || other.states[j] \rangle\).
- calc_reduced_overlap(other)
Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m).
- Return type:
NDArray[Any]- Parameters:
other (RydbergState)
- 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[Any]- Parameters:
other (BasisBase[Any])
- calc_std_qn(qn)
- Return type:
NDArray[Any]- Parameters:
qn (str)
- filter_states(qn, value, *, delta=1e-10)
- Return type:
Self- Parameters:
qn (str)
value (float | Unknown | tuple[float, float])
delta (float)
- filter_states_label(substring)
Filter the basis states by a substring in their label.
- Return type:
Self- Parameters:
substring (str)
- shallow_copy()
Return a shallow copy of the basis (with its own independent list of states).
- 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)
- states: list[RydbergStateMQDT]