Matrix elements
BialkaliSpectrum.T⁽¹⁾Iₖ
BialkaliSpectrum.T⁽¹⁾N
BialkaliSpectrum.WignerJ1J
BialkaliSpectrum.WignerJ2J
BialkaliSpectrum.dipole_matrix_element
BialkaliSpectrum.nuclear_quadrupole
BialkaliSpectrum.nuclear_spin_rotation
BialkaliSpectrum.nuclear_spin_spin
BialkaliSpectrum.rotation_matrix_element
BialkaliSpectrum.scalar_polarizability
BialkaliSpectrum.tensor_polarizability
BialkaliSpectrum.zeeman_nuclear
BialkaliSpectrum.zeeman_rotation
BialkaliSpectrum.δ
Types
Methods
BialkaliSpectrum.T⁽¹⁾Iₖ
— MethodT⁽¹⁾Iₖ(p, k, bra, ket)
Compute the matrix elements of the p
th component of the spherical tensor operator $T⁽¹⁾(Iₖ)$, which acts on the k
th nucleus.
Note: in this function, Kronecker deltas are only enforced between the quantum numbers of the k
th nucleus. The other quantum numbers are not required to match, because this tensor could be dotted with another operator, e.g., N ⋅ Iₖ, which allows mₙ to change.
Any Kronecker deltas on the remaining quantum numbers must be enforced where the dot product is eventually taken.
BialkaliSpectrum.T⁽¹⁾N
— MethodT⁽¹⁾N(p, bra, ket)
Compute the matrix elements of the p
th component of the spherical tensor operator $T⁽¹⁾(N)$.
Note: in this function, Kronecker deltas are only enforced between the rotational quantum numbers. The nuclear quantum numbers are not required to match, because this tensor could be dotted with another operator, e.g., N ⋅ Iₖ, which allows mᵢ to change.
Any Kronecker deltas on the nuclear quantum numbers must be enforced where the dot product is eventually taken.
BialkaliSpectrum.WignerJ1J
— MethodWignerJ1J(j, m)
Returns the same as WignerSymbols.wigner3j(j, 1, j, -m, 0, m)
, but computes it directly from the explicit formula.
BialkaliSpectrum.WignerJ2J
— MethodWignerJ2J(j, m)
Returns the same as WignerSymbols.wigner3j(j, 2, j, -m, 0, m)
, but computes it directly from the explicit formula.
BialkaliSpectrum.dipole_matrix_element
— Methoddipole_matrix_element(p::Int, bra::State, ket::State)::ComplexF64
BialkaliSpectrum.nuclear_quadrupole
— Methodnuclear_quadrupole(k::Int, bra::State, ket::State)::ComplexF64
BialkaliSpectrum.nuclear_spin_rotation
— Methodnuclear_spin_rotation(k::Int, bra::State, ket::State)::ComplexF64
BialkaliSpectrum.nuclear_spin_spin
— Methodnuclear_spin_spin(bra::State, ket::State)::ComplexF64
BialkaliSpectrum.rotation_matrix_element
— Methodrotation_matrix_element(bra::State, ket::State)::Float64
BialkaliSpectrum.scalar_polarizability
— Methodscalar_polarizability(bra::State, ket::State)
BialkaliSpectrum.tensor_polarizability
— Methodtensor_polarizability(p::Int, bra::State, ket::State)
BialkaliSpectrum.zeeman_nuclear
— Methodzeeman_nuclear(k::Int, p::Int, bra::State, ket::State)::ComplexF64
BialkaliSpectrum.zeeman_rotation
— Methodzeeman_rotation(p::Int, bra::State, ket::State)::ComplexF64
BialkaliSpectrum.δ
— Methodδ(i, j)
δ(i::State, j::State)
Returns the Kronecker δ between i
and j
.
Uses ==(i,j)
if possible. If i
and j
are both State
, then this function computes the product of the Kronecker δs over all quantum numbers.