Spherical tensors
The spherical tensors are related to the spherical harmonics as
\[\tensor{C}^{(k)}_q \defd \sqrt{\frac{4\pi}{2k+1}} Y^k_q. \tag{V5.1.7}\]
AngularMomentumAlgebra.SphericalTensor
— TypeSphericalTensor(k)
Construct a spherical tensor of rank k
.
AngularMomentumAlgebra.system
— Methodsystem(::Tensor)
A general tensor acts on the full system, i.e. all coordinates.
system(::Type{SphericalTensor})
A spherical tensor only acts on the coordinates $\theta$ and $\phi$.
AngularMomentumAlgebra.rme
— Methodrme(ℓ′,𝐂̂ᵏ,ℓ)
Calculate the reduced matrix element of the spherical tensor of rank k
:
\[\begin{aligned} \redmatrixel{\ell'}{\tensor{C}^{(k)}}{\ell} &= \angroot{\ell} C_{\ell 0;k,0}^{\ell'0} = (-)^{\ell-k} \angroot{\ell\ell'} \wignerthreej{\ell&k&\ell'\\0&0&0}. \end{aligned} \tag{V13.2.107}\]
AngularMomentumAlgebra.couplings
— Methodcouplings(tensor::SphericalTensor{k}, ℓ) where k
Generate all quantum numbers ℓ′
for which ⟨ℓ′||::SphericalTensor{k}||ℓ⟩
does not vanish.
AngularMomentumAlgebra.ranks
— Functionranks(a, ::Type{SphericalTensor}, b)
Return which tensor ranks for spherical tensors that fulfill the triangle condition between spin-orbitals a
and b
.
ranks(a, ::Type{CoulombTensor}, b)
Return which tensor ranks for Coulomb tensors that fulfill the triangle condition between spin-orbitals a
and b
.
Dipole tensor
The dipole operator is a rank-1 Cartesian tensor that may be expressed using the rank-1 spherical tensor:
\[\vec{r} \equiv \begin{bmatrix}x\\y\\z\end{bmatrix} \equiv r \begin{bmatrix} \frac{1}{\sqrt{2}}[-\tensor{C}^{(1)}_1 + \tensor{C}^{(1)}_{-1}]\\ \frac{\im}{\sqrt{2}}[\tensor{C}^{(1)}_1 + \tensor{C}^{(1)}_{-1}]\\ \tensor{C}^{(1)}_0 \end{bmatrix}\]
AngularMomentumAlgebra.Dipole
— TypeDipole()
Construct a dipole tensor
AngularMomentumAlgebra.system
— Methodsystem(::Type{Dipole})
A dipole tensor only acts on the coordinates $r$, $\theta$ and $\phi$.
AngularMomentumAlgebra.RadialOperator
— TypeRadialOperator()
This represents the matrix element of the radial component of the dipole operator:
\[\expect{r} = \int_0^\infty\diff{r}r^2 \conj{\Psi}_{n'\ell'}(r) r \Psi_{n\ell}(r)\]
AngularMomentumAlgebra.rme
— Methodrme((n′,ℓ′), ::Dipole, (n,ℓ))
Computes the reduced matrix element of 𝐃
in terms of RadialOperator
.
AngularMomentumAlgebra.couplings
— Methodcouplings(tensor::Dipole, (n, ℓ))
Generate all quantum numbers n′ℓ′
for which ⟨n′ℓ′||::Dipole||nℓ⟩
does not vanish.
AngularMomentumAlgebra.Dipoles
This submodule exists only as a shortcut to Cartesian tensor components.
AngularMomentumAlgebra.Dipoles.𝐫̂
— Constant𝐫̂
The angular part of the dipole operator; the elements correspond to [x,y,z]
, i.e. the Cartesian tensor components. Can be entered as \bfr\hat
.
Examples
julia> using AngularMomentumAlgebra.Dipoles
julia> z = 𝐫̂[3]
𝐂̂⁽¹⁾₀
julia> dot(SpinOrbital(o"2s", 0, half(1)), z, SpinOrbital(o"2p", 0, half(1)))
0.5773502691896256
AngularMomentumAlgebra.Dipoles.𝐫
— Constant𝐫
The dipole operator; the elements correspond to [x,y,z]
, i.e. the Cartesian tensor components. Can be entered as \bfr
.
Examples
julia> using AngularMomentumAlgebra.Dipoles
julia> z = 𝐫[3]
𝐃̂⁽¹⁾₀
julia> dot(SpinOrbital(o"1s", 0, half(1)), z, SpinOrbital(o"2p", 0, half(1)))
0.57735r
julia> dot(SpinOrbital(o"2s", 0, half(1)), z, SpinOrbital(o"2p", 0, half(1)))
0.57735r
julia> dot(SpinOrbital(o"2p", 0, half(1)), z, SpinOrbital(o"3d", 0, half(1)))
0.516398r