RydbergKet
Class Methods
|
Initialize the Rydberg state. |
|
Calculate the matrix element. |
|
Calculate the reduced matrix element. |
|
Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m). |
|
Return a label of the Rydberg ket in the common spectroscopic notation. |
Class Attributes and Properties
Get the corresponding ion state of the Rydberg ket. |
|
Whether the Rydberg electron occupies the same shell as the inner valence electron. |
- class rydstate.rydberg_state.RydbergKet(species, angular, radial, *, n=None)[source]
Initialize the Rydberg state.
- Parameters:
species (str)
angular (AngularKetBase[Any])
radial (Radial)
n (int | None)
- get_label(fmt='ket')[source]
Return a label of the Rydberg ket in the common spectroscopic notation.
- Parameters:
fmt (
Literal['raw','ket','bra']) – The format of the label, i.e. whether to return the raw label, or the label in ket or bra notation.- Return type:
str- Returns:
The label of the Rydberg ket.
- calc_reduced_overlap(other)[source]
Calculate the reduced overlap <self|other> (ignoring the magnetic quantum number m).
- Return type:
float- Parameters:
other (RydbergKet)
- calc_reduced_matrix_element(other, operator, *, part='all', unit=None)[source]
Calculate the reduced matrix element.
- Overloads:
self, other (RydbergKet), operator (MatrixElementOperator), part (MatrixElementPart), unit (None) → PintFloat
self, other (RydbergKet), operator (MatrixElementOperator), part (MatrixElementPart), unit (str) → float
- Parameters:
other (RydbergKet)
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[float] | float
Calculate the reduced matrix element between self and other (ignoring m quantum numbers)
\[\left\langle self || r^k_radial \hat{O}^{(k_{angular})} || other \right\rangle\]where hat{O}^{(k_{angular})} is the operator of rank k_angular for which to calculate the matrix element. k_radial and k_angular are determined from the operator automatically.
For the
"electric_..."operators, the matrix element of “rydberg”, “inner_valence” and “closed_shell_core” are calculated separately and added together (currently “closed_shell_core” is only supported for the “electric_dipole” operator). In addition, each term is multiplied by the symmetry factor sqrt(2), if exactly one of self and other has both its valence electrons in the same shell, see alsovalence_electrons_are_in_the_same_shell.- Parameters:
other (
RydbergKet) – The other Rydberg state for which to calculate the matrix element.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']) – The operator for which to calculate the matrix element.part (
Literal['all','rydberg','inner_valence','closed_shell_core']) – The part of the matrix element to calculate.unit (
str|None) – The unit to which to convert the radial matrix element. Can be “a.u.” for atomic units (so no conversion is done), or a specific unit. Default None will return a pint quantity.
- Returns:
The reduced matrix element for the given operator.
- Return type:
PlainQuantity[float] | float
- property core_state: RydbergStateSQDT[Any] | None
Get the corresponding ion state of the Rydberg ket.
- property valence_electrons_are_in_the_same_shell: bool
Whether the Rydberg electron occupies the same shell as the inner valence electron.
- calc_matrix_element(other, operator, q, *, part='all', unit=None)[source]
Calculate the matrix element.
- Overloads:
self, other (RydbergKet), operator (MatrixElementOperator), q (int), part (MatrixElementPart), unit (None) → PintFloat
self, other (RydbergKet), operator (MatrixElementOperator), q (int), part (MatrixElementPart), unit (str) → float
- Parameters:
other (RydbergKet)
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'])
q (int)
part (Literal['all', 'rydberg', 'inner_valence', 'closed_shell_core'])
unit (str | None)
- Return type:
PlainQuantity[float] | float
Calculate the full matrix element between self and other, also considering the magnetic quantum numbers m of self and other.
\[\left\langle self | r^k_radial \hat{O}^{(k_{angular})}_q | other \right\rangle\]where hat{O}^{(k_{angular})}_q is the operator of rank k_angular for which to calculate the matrix element. k_radial and k_angular are determined from the operator automatically.
- Parameters:
other (
RydbergKet) – The other Rydberg state for which to calculate the matrix element.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']) – The operator for which to calculate the matrix element.q (
int) – The component of the operator.part (
Literal['all','rydberg','inner_valence','closed_shell_core']) – The part of the matrix element to calculate.unit (
str|None) – The unit to which to convert the radial matrix element. Can be “a.u.” for atomic units (so no conversion is done), or a specific unit. Default None will return a pint quantity.
- Returns:
The matrix element for the given operator.
- Return type:
PlainQuantity[float] | float