RydbergKet

Class Methods

__init__(angular, radial)

Initialize the Rydberg state.

calc_matrix_element(other, operator, q[, unit])

calc_reduced_matrix_element(other, operator)

calc_reduced_overlap(other)

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

class rydstate.rydberg_state.RydbergKet(angular, radial)[source]

Initialize the Rydberg state.

Parameters:
  • angular (AngularKetBase[Any])

  • radial (RadialKet)

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, unit=None)[source]
Overloads:
  • self, other (RydbergKet), operator (MatrixElementOperator), unit (None) → PintFloat

  • self, other (RydbergKet), operator (MatrixElementOperator), unit (str) → float

Parameters:
  • other (RydbergKet)

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

  • unit (str | None)

Return type:

PlainQuantity[float] | float

Calculate the reduced matrix element.

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.

Parameters:
  • other (RydbergKet) – The other Rydberg state for which to calculate the matrix element.

  • operator (Literal['magnetic_dipole', 'electric_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero']) – The operator for which to calculate the matrix element.

  • 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

calc_matrix_element(other, operator, q, unit=None)[source]
Overloads:
  • self, other (RydbergKet), operator (MatrixElementOperator), q (int), unit (None) → PintFloat

  • self, other (RydbergKet), operator (MatrixElementOperator), q (int), unit (str) → float

Parameters:
  • other (RydbergKet)

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

  • q (int)

  • unit (str | None)

Return type:

PlainQuantity[float] | float

Calculate the matrix element.

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_dipole', 'electric_quadrupole', 'electric_octupole', 'electric_quadrupole_zero']) – The operator for which to calculate the matrix element.

  • q (int) – The component of the operator.

  • 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