AngularKetJJ
Class Methods
|
Initialize the Spin ket. |
|
Calculate the dimensionless angular matrix element. |
|
Calculate the reduced angular matrix element. |
|
Calculate the reduced overlap <self||other> (ignoring the magnetic quantum number m). |
|
Get the value of a quantum number by name. |
|
Check that the quantum numbers are valid. |
|
Convert to state in the specified coupling scheme. |
Class Attributes and Properties
Total core electron angular quantum number (s_c + l_c). |
|
Total rydberg electron angular quantum number (s_r + l_r). |
|
Total electron angular momentum quantum number (j_c + j_r). |
|
Mapping of coupled quantum numbers to their constituent quantum numbers. |
|
Name of the coupling scheme, e.g. 'LS', 'JJ', or 'FJ'. |
|
Total atom angular quantum number (including nuclear, core electron and rydberg electron contributions). |
|
Nuclear spin quantum number. |
|
Core electron orbital quantum number (usually 0). |
|
Rydberg electron orbital quantum number. |
|
Magnetic quantum number, which is the projection of f_tot onto the quantization axis. |
|
Names of all well defined spin quantum numbers (without the magnetic quantum number m) in this class. |
|
The quantum numbers corresponding to the quantum_number_names (without the magnetic quantum number m). |
|
Core electron spin quantum number (0 for alkali atoms, 0.5 for alkaline earth atoms). |
|
Rydberg electron spin quantum number (always 0.5). |
- class rydstate.angular.AngularKetJJ(i_c=None, s_c=None, l_c=0, s_r=0.5, l_r=None, j_c=None, j_r=None, j_tot=None, f_tot=None, m=None, species=None)[source]
Initialize the Spin ket.
- Parameters:
i_c (float)
s_c (float)
l_c (int)
s_r (float)
l_r (int)
j_c (float)
j_r (float)
j_tot (float)
f_tot (float)
m (float | None)
species (str | SpeciesObject | None)
- calc_matrix_element(other, operator, kappa, q)
Calculate the dimensionless angular matrix element.
Use the Wigner-Eckart theorem to calculate the angular matrix element from the reduced matrix element. We stick to the convention from Edmonds 1985 “Angular Momentum in Quantum Mechanics”, see equation (5.4.1). This means, calculate the following matrix element:
\[\left\langle self | \hat{O}^{(\kappa)}_q | other \right\rangle = <\alpha',f_{tot}',m'| \hat{O}^{(\kappa)}_q |\alpha,f_{tot},m> = (-1)^{(f_{tot} - m)} \cdot \mathrm{Wigner3j}(f_{tot}', \kappa, f_{tot}, -m', q, m) \cdot <\alpha',f_{tot}' || \hat{O}^{(\kappa)} || \alpha,f_{tot}>\]where alpha denotes all other quantum numbers and \(<\alpha',f_{tot}' || \hat{O}^{(\kappa)} || \alpha,f_{tot}>\) is the reduced matrix element (see calc_reduced_matrix_element).
- Parameters:
other (
AngularKetBase) – The other AngularKet \(|other>\).operator (
Literal['spherical','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 type \(\hat{O}_{kq}\) for which to calculate the matrix element. E.g. ‘spherical’, ‘s_tot’, ‘l_r’, etc.kappa (
int) – The rank \(\kappa\) of the angular momentum operator.q (
int) – The component \(q\) of the angular momentum operator.
- Return type:
float- Returns:
The dimensionless angular matrix element.
- calc_reduced_matrix_element(other, operator, kappa)
Calculate the reduced angular matrix element.
We follow equation (7.1.7) from Edmonds 1985 “Angular Momentum in Quantum Mechanics”. This means, calculate the following matrix element:
\[\left\langle self || \hat{O}^{(\kappa)} || other \right\rangle\]- Return type:
float- Parameters:
self (Self)
other (AngularKetBase)
operator (Literal['spherical', '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'])
kappa (int)
- calc_reduced_overlap(other)
Calculate the reduced overlap <self||other> (ignoring the magnetic quantum number m).
If both kets are of the same type (=same coupling scheme), this is just a delta function of all spin quantum numbers. If the kets are of different types, the overlap is calculated using the corresponding Clebsch-Gordan coefficients (/ Wigner-j symbols).
- Return type:
float- Parameters:
other (AngularKetBase)
- get_qn(qn)
Get the value of a quantum number by name.
- Return type:
float- Parameters:
qn (Literal['i_c', 's_c', 'l_c', 's_r', 'l_r', 's_tot', 'l_tot', 'j_c', 'j_r', 'j_tot', 'f_c', 'f_tot'])
-
i_c:
float Nuclear spin quantum number.
-
l_c:
int Core electron orbital quantum number (usually 0).
-
l_r:
int Rydberg electron orbital quantum number.
-
m:
float|None Magnetic quantum number, which is the projection of f_tot onto the quantization axis. If None, only reduced matrix elements can be calculated
-
quantum_numbers:
tuple[float,...] The quantum numbers corresponding to the quantum_number_names (without the magnetic quantum number m).
-
s_c:
float Core electron spin quantum number (0 for alkali atoms, 0.5 for alkaline earth atoms).
-
s_r:
float Rydberg electron spin quantum number (always 0.5).
- to_state(coupling_scheme=None)
Convert to state in the specified coupling scheme.
- Parameters:
coupling_scheme (
Optional[Literal['LS','JJ','FJ']]) – The coupling scheme to convert to (e.g. “LS”, “JJ”, “FJ”). If None, the state will be a trivial state (one component) in the current coupling scheme.- Return type:
AngularState[Any]- Returns:
The angular state in the specified coupling scheme.
-
quantum_number_names:
ClassVar= ('i_c', 's_c', 'l_c', 's_r', 'l_r', 'j_c', 'j_r', 'j_tot', 'f_tot') Names of all well defined spin quantum numbers (without the magnetic quantum number m) in this class.
-
coupled_quantum_numbers:
ClassVar= {'f_tot': ('i_c', 'j_tot'), 'j_c': ('s_c', 'l_c'), 'j_r': ('s_r', 'l_r'), 'j_tot': ('j_c', 'j_r')} Mapping of coupled quantum numbers to their constituent quantum numbers.
-
coupling_scheme:
Literal['LS','JJ','FJ'] = 'JJ' Name of the coupling scheme, e.g. ‘LS’, ‘JJ’, or ‘FJ’.
-
j_c:
float Total core electron angular quantum number (s_c + l_c).
-
j_r:
float Total rydberg electron angular quantum number (s_r + l_r).
-
j_tot:
float Total electron angular momentum quantum number (j_c + j_r).
-
f_tot:
float Total atom angular quantum number (including nuclear, core electron and rydberg electron contributions).