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 kGenerate 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.5773502691896256AngularMomentumAlgebra.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