Orbitals and quantum systems
When calculating matrix elements of tensor components (using the The Wigner–Eckart theorem), it is important to know which part of the quantum system the tensor acts on, e.g. $\tensor{C}$ and $\tensor{\nabla}$ act on the spatial part of a spin-orbital (the coordinates $r$, $\theta$, and $\phi$, or equivalently, the quantum numbers $n$, $\ell$, $m_\ell$), whereas $\tensor{S}$ acts on the spin part (the coordinate $s$, or equivalently, the quantum numbers $s$ and $m_s$).
AngularMomentumAlgebra.System
— TypeSystem
The abstract base type for a (quantum) system.
AngularMomentumAlgebra.SubSystem
— TypeSubSystem{which}
A subsystem, i.e. limited to a set of coordinates.
AngularMomentumAlgebra.FullSystem
— TypeFullSystem
The entire system, i.e. all coordinates.
AngularMomentumAlgebra.SpatialSubSystem
— TypeSpatialSubSystem
The spatial subsystem, i.e. the coordinates r
, θ
, and ϕ
.
AngularMomentumAlgebra.OrbitalAngularMomentumSubSystem
— TypeOrbitalAngularMomentaSubSystem
The orbital angular momentum subsystem, i.e. the coordinates, θ
and ϕ
.
AngularMomentumAlgebra.SpinSubSystem
— TypeSpinSubSystem
The spin subsystem, i.e. the coordinate s
.
AngularMomentumAlgebra.TotalAngularMomentumSubSystem
— TypeTotalAngularMomentumSubSystem
The total angular momentum subsystem, i.e. the coordinates, θ
, ϕ
, and s
.
Given the different systems and subsystems listed above, it is interesting to access the quantum numbers of an orbital pertaining to these. For this, quantum_numbers(::System, ::SpinOrbital)
is provided, which returns Tuple
s of (magnitudes,), projection
, where projection
is either a Number
or missing
if it is not a good quantum number, e.g. $m_\ell$ being the projection quantum number for both AngularMomentumAlgebra.SpatialSubSystem
and AngularMomentumAlgebra.OrbitalAngularMomentumSubSystem
is not a good quantum number for coupled spin-orbitals ($\ket{n \ell j m_j}$).
julia> using AngularMomentumAlgebra, AtomicLevels, HalfIntegers
julia> o = SpinOrbital(o"3d", 1, -half(1))
3d₁β
julia> ro = SpinOrbital(ro"3d", half(1))
3d(1/2)
julia> quantum_numbers(FullSystem(), o)
(((3, 2), 1), (1/2, -1/2))
julia> quantum_numbers(FullSystem(), ro)
((3, 2, 1/2, 5/2), 1/2)
julia> quantum_numbers(SpatialSubSystem(), o)
((3, 2), 1)
julia> quantum_numbers(SpatialSubSystem(), ro)
((3, 2), missing)
julia> quantum_numbers(OrbitalAngularMomentumSubSystem(), o)
(2, 1)
julia> quantum_numbers(OrbitalAngularMomentumSubSystem(), ro)
(2, missing)
julia> quantum_numbers(SpinSubSystem(), o)
(1/2, -1/2)
julia> quantum_numbers(SpinSubSystem(), ro)
(1/2, missing)
julia> quantum_numbers(TotalAngularMomentumSubSystem(), o)
((2, 1), (1/2, -1/2))
julia> quantum_numbers(TotalAngularMomentumSubSystem(), ro)
((2, 1/2, 5/2), 1/2)
AngularMomentumAlgebra.quantum_numbers
— Functionquantum_numbers(system, a, b)
Return the quantum numbers characterizing system
for the orbitals a
and b
.
quantum_numbers(::FullSystem, o::SpinOrbital{<:Orbital})
The full system of an uncoupled spin-orbital is $n\ell m_\ell; s m_s$, where $;$ denotes that the spatial and spin subsystems are separable.
quantum_numbers(::FullSystem, o::SpinOrbital{<:RelativisticOrbital})
The full system of a coupled spin-orbital is $n\ell s j m_j$.
quantum_numbers(::SpatialSubSystem, o::SpinOrbital{<:Orbital})
The spatial subsystem of an uncoupled spin-orbital is $n\ell m_\ell$.
quantum_numbers(::SpatialSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The spatial subsystem of a coupled spin-orbital is just $n\ell m_\ell$; $m_\ell$ is not a good quantum number.
quantum_numbers(::OrbitalAngularMomentumSubSystem, o::SpinOrbital{<:Orbital})
The orbital angular momentum subsystem of an uncoupled spin-orbital is $\ell m_\ell$.
quantum_numbers(::OrbitalAngularMomentumSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The orbital angular momentum subsystem of a coupled spin-orbital is just $\ell$; $m_\ell$ is not a good quantum number.
quantum_numbers(::SpinSubSystem, o::SpinOrbital{<:Orbital})
The spin subsystem of an uncoupled spin-orbital is $s m_s$.
quantum_numbers(::SpinSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The spin subsystem of a coupled spin-orbital is just $s$; $m_s$ is not a good quantum number.
quantum_numbers(::TotalAngularMomentumSubSystem, o::SpinOrbital{<:Orbital})
The total angular momentum of an uncoupled spin-orbital is not a good quantum number; only its projection is known. The system is specified by $\ell m_\ell; s m_s$, where $;$ denotes that the spatial and spin subsystems are separable.
quantum_numbers(::TotalAngularMomentumSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The total angular momentum subsystem of a coupled spin-orbital just $\ell s j m_j$.
AngularMomentumAlgebra.other_quantum_numbers
— Functionother_quantum_numbers(system, a, b)
Return the quantum numbers characterizing the orthogonal complement to system
for the orbitals a
and b
.
other_quantum_numbers(::FullSystem, ::SpinOrbital)
No quantum numbers characterize the orthogonal complement to FullSystem
.
other_quantum_numbers(::SpatialSubSystem, o::SpinOrbital{<:Orbital})
The orthogonal complement to SpatialSubSystem
is SpinSubSystem
, which is characterized by $sm_s$.
other_quantum_numbers(::SpatialSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The orthogonal complement to SpatialSubSystem
is SpinSubSystem
, which is characterized by $s$; its projection is not a good quantum number in the coupled basis.
other_quantum_numbers(::OrbitalAngularMomentumSubSystem, o::SpinOrbital{<:Orbital})
The orthogonal complement to OrbitalAngularMomentumSubSystem
is characterized by the quantum numbers $n s m_s$; however, $n$ does not affect the matrix elements of $𝐋$, so it is silently ignored.
other_quantum_numbers(::OrbitalAngularMomentumSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The orthogonal complement to OrbitalAngularMomentumSubSystem
is characterized by the quantum numbers $n s$; however, $n$ does not affect the matrix elements of $𝐋$, so it is silently ignored. Additoinally, the projection of $s$ is not a good quantum number in the coupled basis.
other_quantum_numbers(::SpinSubSystem, o::SpinOrbital{<:Orbital})
The orthogonal complement to SpinSubSystem
is SpatialSubSystem
which is characterized by the quantum numbers $n \ell m_\ell$; however, $n$ does not affect the matrix elements of $𝐒$, so it is silently ignored.
other_quantum_numbers(::SpinSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The orthogonal complement to SpinSubSystem
is SpatialSubSystem
which is characterized by the quantum numbers $n \ell$; however, $n$ does not affect the matrix elements of $𝐒$, so it is silently ignored. Additionally, the projection of $\ell$ is not a good quantum number in the coupled basis.
other_quantum_numbers(::TotalAngularMomentumSubSystem, o::SpinOrbital{<:Orbital})
The orthogonal complement to TotalAngularMomentumSubSystem
is characterized by the principal quantum number $n$; however, this does not affect the matrix elements of $𝐉$, so it is silently ignored.
other_quantum_numbers(::TotalAngularMomentumSubSystem, o::SpinOrbital{<:RelativisticOrbital})
The orthogonal complement to TotalAngularMomentumSubSystem
is characterized by the principal quantum number $n$; however, this does not affect the matrix elements of $𝐉$, so it is silently ignored.