Rigid rotor

The linear rigid rotor model can be used in quantum mechanics to predict the rotational energy of a diatomic molecule. The rotational energy depends on the moment of inertia for the system, $I$.

Definitions

This model is described with the time-independent Schrödinger equation

\[ \hat{H} \psi(\pmb{r}) = E \psi(\pmb{r}),\]

and the Hamiltonian

\[\begin{aligned} \hat{H} &= - \frac{\hbar^2}{2\mu} \nabla^2 + V(r), \\ &= - \frac{\hbar^2}{2I} \left[ \frac{1}{\sin\theta} \frac{\partial}{\partial\theta} \left(\sin\theta \frac{\partial}{\partial\theta}\right) + \frac{1}{\sin^2\theta} \frac{\partial^2}{\partial\phi^2} \right] \end{aligned}\]

where $I=\mu R^2$ is the moment of intertia, $\mu=\left(\frac{1}{m_1}+\frac{1}{m_2}\right)^{-1}$ is the reduced mass of two particles and $R$ is the distance between the two particles. Parameters are specified with the following struct.

Parameters

Antique.RigidRotorType

RigidRotor(m₁=1.0, m₂=1.0, R=1.0, ℏ=1.0)

$m₁$ and $m₂$ are mass of two particles, $R$ is the distance, and $\hbar$ is the reduced Planck constant (Dirac's constant).

source

Potential

Antique.VMethod

V(model::RigidRotor, r)

\[\begin{aligned} V(r) &= 0, \end{aligned}\]

source

Eigen Values

Antique.EMethod

E(model::RigidRotor; l=0)

\[E_l = \frac{\hbar^2}{2I}l(l+1),\]

where $I=\mu R^2$ is the moment of inertia, $R$ is the distance, and $\mu$ is the reduced mass of the two particles.

source

Eigen Functions

Antique.ψMethod

ψ(model::RigidRotor, θ, φ; l=0, m=0)

\[\psi_{lm}(\theta,\varphi) = Y_{lm}(\theta,\varphi)\]

The wave function is the spherical harmonics. The domain is $0\leq \theta \lt \pi$ and $0\leq \varphi \lt 2\pi$.

source

Spherical Harmonics

Antique.YMethod

Y(model::RigidRotor, θ, φ; l=0, m=0)

\[Y_{lm}(\theta,\varphi) = (-1)^{\frac{|m|+m}{2}} \sqrt{\frac{2l+1}{4\pi} \frac{(l-|m|)!}{(l+|m|)!}} P_l^{|m|} (\cos\theta) \mathrm{e}^{im\varphi}.\]

The domain is $0\leq \theta \lt \pi, 0\leq \varphi \lt 2\pi$. Note that some variants are connected by

\[i^{|m|+m} \sqrt{\frac{(l-|m|)!}{(l+|m|)!}} P_l^{|m|} = (-1)^{\frac{|m|+m}{2}} \sqrt{\frac{(l-|m|)!}{(l+|m|)!}} P_l^{|m|} = (-1)^m \sqrt{\frac{(l-m)!}{(l+m)!}} P_l^{m}.\]

source

Associated Legendre Polynomials

Antique.PMethod

P(model::RigidRotor, x; n=0, m=0)

Rodrigues' formula & closed-form:

\[\begin{aligned} P_n^m(x) &= \left( 1-x^2 \right)^{m/2} \frac{\mathrm{d}^m}{\mathrm{d}x^m} P_n(x) \\ &= \left( 1-x^2 \right)^{m/2} \frac{\mathrm{d}^m}{\mathrm{d}x^m} \frac{1}{2^n n!} \frac{\mathrm{d}^n}{\mathrm{d}x ^n} \left[ \left( x^2-1 \right)^n \right] \\ &= \frac{1}{2^n} (1-x^2)^{m/2} \sum_{j=0}^{\left\lfloor\frac{n-m}{2}\right\rfloor} (-1)^j \frac{(2n-2j)!}{j! (n-j)! (n-2j-m)!} x^{(n-2j-m)}. \end{aligned},\]

where Legendre polynomials are defined as $P_n(x) = \frac{1}{2^n n!} \frac{\mathrm{d}^n}{\mathrm{d}x ^n} \left[ \left( x^2-1 \right)^n \right]$. Note that $P_l^{-m} = (-1)^m \frac{(l-m)!}{(l+m)!} P_l^m$ for $m<0$. (It is not compatible with $P_k^m(t) = (-1)^m\left( 1-t^2 \right)^{m/2} \frac{\mathrm{d}^m P_k(t)}{\mathrm{d}t^m}$ caused by $(-1)^m$.) The specific formulae are given below.

Examples:

\[\begin{aligned} P_{0}^{0}(x) &= 1, \\ P_{1}^{0}(x) &= x, \\ P_{1}^{1}(x) &= \left(+1\right)\sqrt{1-x^2}, \\ P_{2}^{0}(x) &= -1/2 + 3/2 x^{2}, \\ P_{2}^{1}(x) &= \left(-3 x\right)\sqrt{1-x^2}, \\ P_{2}^{2}(x) &= 3 - 6 x, \\ P_{3}^{0}(x) &= -3/2 x + 5/2 x^{3}, \\ P_{3}^{1}(x) &= \left(3/2 - 15/2 x^{2}\right)\sqrt{1-x^2}, \\ P_{3}^{2}(x) &= 15 x - 30 x^{2}, \\ P_{3}^{3}(x) &= \left(15 - 30 x\right)\sqrt{1-x^2}, \\ P_{4}^{0}(x) &= 3/8 - 15/4 x^{2} + 35/8 x^{4}, \\ P_{4}^{1}(x) &= \left(- 15/2 x + 35/2 x^{3}\right)\sqrt{1-x^2}, \\ P_{4}^{2}(x) &= -15/2 + 15 x + 105/2 x^{2} - 105 x^{3}, \\ P_{4}^{3}(x) &= \left(105 x - 210 x^{2}\right)\sqrt{1-x^2}, \\ P_{4}^{4}(x) &= 105 - 420 x + 420 x^{2}, \\ & \vdots \end{aligned}\]

source

Usage & Examples

Install Antique.jl for the first use and run using Antique before each use. The energy E(), wavefunction ψ(), potential V() and some other functions are suppoted. In this system, the model is generated by RigidRotor and several parameters m₁, m₂, R and are set as optional arguments.

using Antique
RR = RigidRotor(m₁=1.0, m₂=1.0, R=1.0, ℏ=1.0)

Parameters:

julia> RR.m₁1.0
julia> RR.m₂1.0
julia> RR.R1.0
julia> RR.ℏ1.0

Eigen values:

julia> E(RR, l=0)0.0
julia> E(RR, l=1)2.0
julia> E(RR, l=2)6.0

Wave functions:

julia> ψ(RR, 0, 0, l=2, m=1)-0.0 + 0.0im
julia> ψ(RR, π/4, 0, l=2, m=1)-0.38627420202318963 + 0.0im
julia> ψ(RR, π/4, π/2, l=2, m=1)-2.3652473255044865e-17 - 0.38627420202318963im
using CairoMakie

f = Figure(size=(400,400))
ax = PolarAxis(f[1,1], title=L"$\theta\mapsto|\psi_{2,1}(\theta,0)|^2$", rticklabelsvisible=false)
lines!(ax, 0..2pi, θ->abs(ψ(RR,θ,0,l=2,m=1))^2, linewidth=2)

f
Example block output
using CairoMakie

f = Figure(size=(400,400))
ax = PolarAxis(f[1,1], title=L"$\theta\mapsto|\psi_{lm}(\theta,0)|^2$", rticklabelsvisible=false)
l1 = lines!(ax, 0..2pi, θ->abs(ψ(RR,θ,0,l=0,m=0))^2, linewidth=2)
l2 = lines!(ax, 0..2pi, θ->abs(ψ(RR,θ,0,l=1,m=0))^2, linewidth=2)
l3 = lines!(ax, 0..2pi, θ->abs(ψ(RR,θ,0,l=1,m=1))^2, linewidth=2)
l4 = lines!(ax, 0..2pi, θ->abs(ψ(RR,θ,0,l=2,m=1))^2, linewidth=2)
Legend(f[2,1], [l1,l2,l3,l4], [L"(l,m)=(0,0)",L"(1,0)",L"(1,1)",L"(2,1)"], framevisible=false, orientation=:horizontal, tellwidth=false, tellheight=true)

f

Testing

Unit testing and Integration testing were done using computer algebra system (Symbolics.jl) and numerical integration (QuadGK.jl). The test script is here.

Associated Legendre Polynomials $P_n^m(x)$

\[ \begin{aligned} P_n^m(x) &= \left( 1-x^2 \right)^{m/2} \frac{\mathrm{d}^m}{\mathrm{d}x^m} P_n(x) \\ &= \left( 1-x^2 \right)^{m/2} \frac{\mathrm{d}^m}{\mathrm{d}x^m} \frac{1}{2^n n!} \frac{\mathrm{d}^n}{\mathrm{d}x ^n} \left[ \left( x^2-1 \right)^n \right] \\ &= \frac{1}{2^n} (1-x^2)^{m/2} \sum_{j=0}^{\left\lfloor\frac{n-m}{2}\right\rfloor} (-1)^j \frac{(2n-2j)!}{j! (n-j)! (n-2j-m)!} x^{(n-2j-m)}. \end{aligned}\]

$n=0, m=0:$

\[\begin{aligned} P_{0}^{0}(x) = 1 &= 1 \\ &= 1 \end{aligned}\]

$n=1, m=0:$

\[\begin{aligned} P_{1}^{0}(x) = \frac{1}{2} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right) &= x \\ &= x \end{aligned}\]

$n=1, m=1:$

\[\begin{aligned} P_{1}^{1}(x) = \left( 1 - x^{2} \right)^{\frac{1}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{2} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right) &= \left( 1 - x^{2} \right)^{\frac{1}{2}} \\ &= \left( 1 - x^{2} \right)^{\frac{1}{2}} \end{aligned}\]

$n=2, m=0:$

\[\begin{aligned} P_{2}^{0}(x) = \frac{1}{8} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{2} &= \frac{-1}{2} + \frac{3}{2} x^{2} \\ &= \frac{-1}{2} + \frac{3}{2} x^{2} \end{aligned}\]

$n=2, m=1:$

\[\begin{aligned} P_{2}^{1}(x) = \left( 1 - x^{2} \right)^{\frac{1}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{8} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{2} &= 3 \left( 1 - x^{2} \right)^{\frac{1}{2}} x \\ &= 3 \left( 1 - x^{2} \right)^{\frac{1}{2}} x \end{aligned}\]

$n=2, m=2:$

\[\begin{aligned} P_{2}^{2}(x) = \left( 1 - x^{2} \right) \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{8} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{2} &= 3 - 3 x^{2} \\ &= 3 - 3 x^{2} \end{aligned}\]

$n=3, m=0:$

\[\begin{aligned} P_{3}^{0}(x) = \frac{1}{48} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{3} &= - \frac{3}{2} x + \frac{5}{2} x^{3} \\ &= - \frac{3}{2} x + \frac{5}{2} x^{3} \end{aligned}\]

$n=3, m=1:$

\[\begin{aligned} P_{3}^{1}(x) = \left( 1 - x^{2} \right)^{\frac{1}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{48} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{3} &= - \frac{3}{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} + \frac{15}{2} x^{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} \\ &= - \frac{3}{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} + \frac{15}{2} x^{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} \end{aligned}\]

$n=3, m=2:$

\[\begin{aligned} P_{3}^{2}(x) = \left( 1 - x^{2} \right) \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{48} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{3} &= 15 x - 15 x^{3} \\ &= 15 x - 15 x^{3} \end{aligned}\]

$n=3, m=3:$

\[\begin{aligned} P_{3}^{3}(x) = \left( 1 - x^{2} \right)^{\frac{3}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{48} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{3} &= 15 \left( 1 - x^{2} \right)^{\frac{3}{2}} \\ &= 15 \left( 1 - x^{2} \right)^{\frac{3}{2}} \end{aligned}\]

$n=4, m=0:$

\[\begin{aligned} P_{4}^{0}(x) = \frac{1}{384} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{4} &= \frac{3}{8} - \frac{15}{4} x^{2} + \frac{35}{8} x^{4} \\ &= \frac{3}{8} - \frac{15}{4} x^{2} + \frac{35}{8} x^{4} \end{aligned}\]

$n=4, m=1:$

\[\begin{aligned} P_{4}^{1}(x) = \left( 1 - x^{2} \right)^{\frac{1}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{384} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{4} &= - \frac{15}{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} x + \frac{35}{2} x^{3} \left( 1 - x^{2} \right)^{\frac{1}{2}} \\ &= - \frac{15}{2} \left( 1 - x^{2} \right)^{\frac{1}{2}} x + \frac{35}{2} x^{3} \left( 1 - x^{2} \right)^{\frac{1}{2}} \end{aligned}\]

$n=4, m=2:$

\[\begin{aligned} P_{4}^{2}(x) = \left( 1 - x^{2} \right) \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{384} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{4} &= \frac{-15}{2} + 60 x^{2} - \frac{105}{2} x^{4} \\ &= \frac{-15}{2} + 60 x^{2} - \frac{105}{2} x^{4} \end{aligned}\]

$n=4, m=3:$

\[\begin{aligned} P_{4}^{3}(x) = \left( 1 - x^{2} \right)^{\frac{3}{2}} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{384} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{4} &= 105 \left( 1 - x^{2} \right)^{\frac{3}{2}} x \\ &= 105 \left( 1 - x^{2} \right)^{\frac{3}{2}} x \end{aligned}\]

$n=4, m=4:$

\[\begin{aligned} P_{4}^{4}(x) = \left( 1 - x^{2} \right)^{2} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{384} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \frac{\mathrm{d}}{\mathrm{d}x} \left( -1 + x^{2} \right)^{4} &= 105 \left( 1 - x^{2} \right)^{2} \\ &= 105 \left( 1 - x^{2} \right)^{2} \end{aligned}\]

Normalization & Orthogonality of $P_n^m(x)$

\[\int_{-1}^{1} P_i^m(x) P_j^m(x) \mathrm{d}x = \frac{2(j+m)!}{(2j+1)(j-m)!} \delta_{ij}\]

 m |  i |  j |        analytical |         numerical 
-- | -- | -- | ----------------- | ----------------- 
 0 |  0 |  0 |    2.000000000000 |    2.000000000000 ✔
 0 |  0 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  3 |    0.000000000000 |   -0.000000000000 ✔
 0 |  0 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  5 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  0 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  1 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  1 |    0.666666666667 |    0.666666666667 ✔
 0 |  1 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  3 |    0.000000000000 |   -0.000000000000 ✔
 0 |  1 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  5 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  2 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  2 |    0.400000000000 |    0.400000000000 ✔
 0 |  2 |  3 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  5 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  3 |  0 |    0.000000000000 |   -0.000000000000 ✔
 0 |  3 |  1 |    0.000000000000 |   -0.000000000000 ✔
 0 |  3 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  3 |  3 |    0.285714285714 |    0.285714285714 ✔
 0 |  3 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  3 |  5 |    0.000000000000 |   -0.000000000000 ✔
 0 |  3 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  3 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  3 |  8 |    0.000000000000 |   -0.000000000000 ✔
 0 |  3 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  4 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  4 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  4 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  4 |  3 |    0.000000000000 |    0.000000000000 ✔
 0 |  4 |  4 |    0.222222222222 |    0.222222222222 ✔
 0 |  4 |  5 |    0.000000000000 |   -0.000000000000 ✔
 0 |  4 |  6 |    0.000000000000 |   -0.000000000000 ✔
 0 |  4 |  7 |    0.000000000000 |   -0.000000000000 ✔
 0 |  4 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  4 |  9 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  3 |    0.000000000000 |   -0.000000000000 ✔
 0 |  5 |  4 |    0.000000000000 |   -0.000000000000 ✔
 0 |  5 |  5 |    0.181818181818 |    0.181818181818 ✔
 0 |  5 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  5 |  8 |    0.000000000000 |   -0.000000000000 ✔
 0 |  5 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  6 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  3 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  4 |    0.000000000000 |   -0.000000000000 ✔
 0 |  6 |  5 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  6 |    0.153846153846 |    0.153846153846 ✔
 0 |  6 |  7 |    0.000000000000 |   -0.000000000000 ✔
 0 |  6 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  6 |  9 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  3 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  4 |    0.000000000000 |   -0.000000000000 ✔
 0 |  7 |  5 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  6 |    0.000000000000 |   -0.000000000000 ✔
 0 |  7 |  7 |    0.133333333333 |    0.133333333333 ✔
 0 |  7 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  7 |  9 |    0.000000000000 |   -0.000000000000 ✔
 0 |  8 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  2 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  3 |    0.000000000000 |   -0.000000000000 ✔
 0 |  8 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  5 |    0.000000000000 |   -0.000000000000 ✔
 0 |  8 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  7 |    0.000000000000 |    0.000000000000 ✔
 0 |  8 |  8 |    0.117647058824 |    0.117647058824 ✔
 0 |  8 |  9 |    0.000000000000 |    0.000000000000 ✔
 0 |  9 |  0 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  1 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  2 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  3 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  4 |    0.000000000000 |    0.000000000000 ✔
 0 |  9 |  5 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  6 |    0.000000000000 |    0.000000000000 ✔
 0 |  9 |  7 |    0.000000000000 |   -0.000000000000 ✔
 0 |  9 |  8 |    0.000000000000 |    0.000000000000 ✔
 0 |  9 |  9 |    0.105263157895 |    0.105263157895 ✔
 1 |  1 |  1 |    1.333333333333 |    1.333333333333 ✔
 1 |  1 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  3 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  5 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  6 |    0.000000000000 |   -0.000000000000 ✔
 1 |  1 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  8 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  9 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  2 |    2.400000000000 |    2.400000000000 ✔
 1 |  2 |  3 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  5 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  8 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  9 |    0.000000000000 |    0.000000000000 ✔
 1 |  3 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  3 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  3 |  3 |    3.428571428571 |    3.428571428571 ✔
 1 |  3 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  3 |  5 |    0.000000000000 |   -0.000000000000 ✔
 1 |  3 |  6 |    0.000000000000 |   -0.000000000000 ✔
 1 |  3 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  3 |  8 |    0.000000000000 |   -0.000000000000 ✔
 1 |  3 |  9 |    0.000000000000 |   -0.000000000000 ✔
 1 |  4 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  3 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  4 |    4.444444444444 |    4.444444444444 ✔
 1 |  4 |  5 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  4 |  8 |    0.000000000000 |   -0.000000000000 ✔
 1 |  4 |  9 |    0.000000000000 |    0.000000000000 ✔
 1 |  5 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  5 |  2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  5 |  3 |    0.000000000000 |   -0.000000000000 ✔
 1 |  5 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  5 |  5 |    5.454545454545 |    5.454545454545 ✔
 1 |  5 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  5 |  7 |    0.000000000000 |   -0.000000000000 ✔
 1 |  5 |  8 |    0.000000000000 |   -0.000000000000 ✔
 1 |  5 |  9 |    0.000000000000 |   -0.000000000000 ✔
 1 |  6 |  1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  6 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  6 |  3 |    0.000000000000 |   -0.000000000000 ✔
 1 |  6 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  6 |  5 |    0.000000000000 |    0.000000000000 ✔
 1 |  6 |  6 |    6.461538461538 |    6.461538461538 ✔
 1 |  6 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  6 |  8 |    0.000000000000 |    0.000000000000 ✔
 1 |  6 |  9 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  3 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  5 |    0.000000000000 |   -0.000000000000 ✔
 1 |  7 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  7 |    7.466666666667 |    7.466666666667 ✔
 1 |  7 |  8 |    0.000000000000 |    0.000000000000 ✔
 1 |  7 |  9 |    0.000000000000 |    0.000000000000 ✔
 1 |  8 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  8 |  2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  8 |  3 |    0.000000000000 |   -0.000000000000 ✔
 1 |  8 |  4 |    0.000000000000 |   -0.000000000000 ✔
 1 |  8 |  5 |    0.000000000000 |   -0.000000000000 ✔
 1 |  8 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  8 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  8 |  8 |    8.470588235294 |    8.470588235294 ✔
 1 |  8 |  9 |    0.000000000000 |   -0.000000000000 ✔
 1 |  9 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  9 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  9 |  3 |    0.000000000000 |   -0.000000000000 ✔
 1 |  9 |  4 |    0.000000000000 |    0.000000000000 ✔
 1 |  9 |  5 |    0.000000000000 |   -0.000000000000 ✔
 1 |  9 |  6 |    0.000000000000 |    0.000000000000 ✔
 1 |  9 |  7 |    0.000000000000 |    0.000000000000 ✔
 1 |  9 |  8 |    0.000000000000 |   -0.000000000000 ✔
 1 |  9 |  9 |    9.473684210526 |    9.473684210526 ✔
 2 |  2 |  2 |    9.600000000000 |    9.600000000000 ✔
 2 |  2 |  3 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  4 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  5 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  6 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 |  7 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  9 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  3 |   34.285714285714 |   34.285714285714 ✔
 2 |  3 |  4 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  5 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  6 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  7 |    0.000000000000 |   -0.000000000000 ✔
 2 |  3 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  3 |  9 |    0.000000000000 |   -0.000000000000 ✔
 2 |  4 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  4 |  3 |    0.000000000000 |    0.000000000000 ✔
 2 |  4 |  4 |   80.000000000000 |   80.000000000000 ✔
 2 |  4 |  5 |    0.000000000000 |    0.000000000000 ✔
 2 |  4 |  6 |    0.000000000000 |   -0.000000000000 ✔
 2 |  4 |  7 |    0.000000000000 |   -0.000000000000 ✔
 2 |  4 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  4 |  9 |    0.000000000000 |   -0.000000000000 ✔
 2 |  5 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  5 |  3 |    0.000000000000 |    0.000000000000 ✔
 2 |  5 |  4 |    0.000000000000 |    0.000000000000 ✔
 2 |  5 |  5 |  152.727272727273 |  152.727272727273 ✔
 2 |  5 |  6 |    0.000000000000 |   -0.000000000000 ✔
 2 |  5 |  7 |    0.000000000000 |   -0.000000000000 ✔
 2 |  5 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  5 |  9 |    0.000000000000 |   -0.000000000000 ✔
 2 |  6 |  2 |    0.000000000000 |   -0.000000000000 ✔
 2 |  6 |  3 |    0.000000000000 |    0.000000000000 ✔
 2 |  6 |  4 |    0.000000000000 |   -0.000000000000 ✔
 2 |  6 |  5 |    0.000000000000 |   -0.000000000000 ✔
 2 |  6 |  6 |  258.461538461538 |  258.461538461538 ✔
 2 |  6 |  7 |    0.000000000000 |    0.000000000000 ✔
 2 |  6 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  6 |  9 |    0.000000000000 |   -0.000000000000 ✔
 2 |  7 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  7 |  3 |    0.000000000000 |   -0.000000000000 ✔
 2 |  7 |  4 |    0.000000000000 |   -0.000000000000 ✔
 2 |  7 |  5 |    0.000000000000 |   -0.000000000000 ✔
 2 |  7 |  6 |    0.000000000000 |    0.000000000000 ✔
 2 |  7 |  7 |  403.200000000000 |  403.200000000000 ✔
 2 |  7 |  8 |    0.000000000000 |   -0.000000000000 ✔
 2 |  7 |  9 |    0.000000000000 |   -0.000000000000 ✔
 2 |  8 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  8 |  3 |    0.000000000000 |    0.000000000000 ✔
 2 |  8 |  4 |    0.000000000000 |    0.000000000000 ✔
 2 |  8 |  5 |    0.000000000000 |    0.000000000000 ✔
 2 |  8 |  6 |    0.000000000000 |    0.000000000000 ✔
 2 |  8 |  7 |    0.000000000000 |   -0.000000000000 ✔
 2 |  8 |  8 |  592.941176470588 |  592.941176470588 ✔
 2 |  8 |  9 |    0.000000000000 |    0.000000000000 ✔
 2 |  9 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  9 |  3 |    0.000000000000 |   -0.000000000000 ✔
 2 |  9 |  4 |    0.000000000000 |   -0.000000000000 ✔
 2 |  9 |  5 |    0.000000000000 |   -0.000000000000 ✔
 2 |  9 |  6 |    0.000000000000 |   -0.000000000000 ✔
 2 |  9 |  7 |    0.000000000000 |   -0.000000000000 ✔
 2 |  9 |  8 |    0.000000000000 |    0.000000000000 ✔
 2 |  9 |  9 |  833.684210526316 |  833.684210526316 ✔
 3 |  3 |  3 |  205.714285714286 |  205.714285714286 ✔
 3 |  3 |  4 |    0.000000000000 |   -0.000000000000 ✔
 3 |  3 |  5 |    0.000000000000 |   -0.000000000000 ✔
 3 |  3 |  6 |    0.000000000000 |    0.000000000000 ✔
 3 |  3 |  7 |    0.000000000000 |   -0.000000000000 ✔
 3 |  3 |  8 |    0.000000000000 |    0.000000000000 ✔
 3 |  3 |  9 |    0.000000000000 |    0.000000000000 ✔
 3 |  4 |  3 |    0.000000000000 |   -0.000000000000 ✔
 3 |  4 |  4 | 1120.000000000000 | 1120.000000000000 ✔
 3 |  4 |  5 |    0.000000000000 |    0.000000000000 ✔
 3 |  4 |  6 |    0.000000000000 |    0.000000000000 ✔
 3 |  4 |  7 |    0.000000000000 |    0.000000000000 ✔
 3 |  4 |  8 |    0.000000000000 |   -0.000000000000 ✔
 3 |  4 |  9 |    0.000000000000 |   -0.000000000000 ✔
 3 |  5 |  3 |    0.000000000000 |   -0.000000000000 ✔
 3 |  5 |  4 |    0.000000000000 |    0.000000000000 ✔
 3 |  5 |  5 | 3665.454545454545 | 3665.454545454545 ✔
 3 |  5 |  6 |    0.000000000000 |    0.000000000000 ✔
 3 |  5 |  7 |    0.000000000000 |   -0.000000000000 ✔
 3 |  5 |  8 |    0.000000000000 |   -0.000000000000 ✔
 3 |  5 |  9 |    0.000000000000 |   -0.000000000000 ✔
 3 |  6 |  3 |    0.000000000000 |    0.000000000000 ✔
 3 |  6 |  4 |    0.000000000000 |    0.000000000000 ✔
 3 |  6 |  5 |    0.000000000000 |    0.000000000000 ✔
 3 |  6 |  6 | 9304.615384615385 | 9304.615384615387 ✔
 3 |  6 |  7 |    0.000000000000 |   -0.000000000000 ✔
 3 |  6 |  8 |    0.000000000000 |   -0.000000000000 ✔
 3 |  6 |  9 |    0.000000000000 |   -0.000000000002 ✔
 3 |  7 |  3 |    0.000000000000 |   -0.000000000000 ✔
 3 |  7 |  4 |    0.000000000000 |    0.000000000000 ✔
 3 |  7 |  5 |    0.000000000000 |   -0.000000000000 ✔
 3 |  7 |  6 |    0.000000000000 |   -0.000000000000 ✔
 3 |  7 |  7 | 20160.000000000000 | 20160.000000000004 ✔
 3 |  7 |  8 |    0.000000000000 |    0.000000000000 ✔
 3 |  7 |  9 |    0.000000000000 |   -0.000000000003 ✔
 3 |  8 |  3 |    0.000000000000 |    0.000000000000 ✔
 3 |  8 |  4 |    0.000000000000 |   -0.000000000000 ✔
 3 |  8 |  5 |    0.000000000000 |   -0.000000000000 ✔
 3 |  8 |  6 |    0.000000000000 |   -0.000000000000 ✔
 3 |  8 |  7 |    0.000000000000 |    0.000000000000 ✔
 3 |  8 |  8 | 39134.117647058825 | 39134.117647058825 ✔
 3 |  8 |  9 |    0.000000000000 |    0.000000000000 ✔
 3 |  9 |  3 |    0.000000000000 |    0.000000000000 ✔
 3 |  9 |  4 |    0.000000000000 |   -0.000000000000 ✔
 3 |  9 |  5 |    0.000000000000 |   -0.000000000000 ✔
 3 |  9 |  6 |    0.000000000000 |   -0.000000000002 ✔
 3 |  9 |  7 |    0.000000000000 |   -0.000000000003 ✔
 3 |  9 |  8 |    0.000000000000 |    0.000000000000 ✔
 3 |  9 |  9 | 70029.473684210534 | 70029.473684210505 ✔
 4 |  4 |  4 | 8960.000000000000 | 8960.000000000002 ✔
 4 |  4 |  5 |    0.000000000000 |   -0.000000000002 ✔
 4 |  4 |  6 |    0.000000000000 |   -0.000000000001 ✔
 4 |  4 |  7 |    0.000000000000 |   -0.000000000000 ✔
 4 |  4 |  8 |    0.000000000000 |    0.000000000007 ✔
 4 |  4 |  9 |    0.000000000000 |    0.000000000000 ✔
 4 |  5 |  4 |    0.000000000000 |   -0.000000000002 ✔
 4 |  5 |  5 | 65978.181818181823 | 65978.181818181838 ✔
 4 |  5 |  6 |    0.000000000000 |   -0.000000000001 ✔
 4 |  5 |  7 |    0.000000000000 |   -0.000000000058 ✔
 4 |  5 |  8 |    0.000000000000 |   -0.000000000002 ✔
 4 |  5 |  9 |    0.000000000000 |   -0.000000000007 ✔
 4 |  6 |  4 |    0.000000000000 |   -0.000000000001 ✔
 4 |  6 |  5 |    0.000000000000 |   -0.000000000001 ✔
 4 |  6 |  6 | 279138.461538461561 | 279138.461538461503 ✔
 4 |  6 |  7 |    0.000000000000 |   -0.000000000018 ✔
 4 |  6 |  8 |    0.000000000000 |    0.000000000055 ✔
 4 |  6 |  9 |    0.000000000000 |    0.000000000029 ✔
 4 |  7 |  4 |    0.000000000000 |   -0.000000000000 ✔
 4 |  7 |  5 |    0.000000000000 |   -0.000000000058 ✔
 4 |  7 |  6 |    0.000000000000 |   -0.000000000018 ✔
 4 |  7 |  7 | 887040.000000000000 | 887040.000000000000 ✔
 4 |  7 |  8 |    0.000000000000 |    0.000000000031 ✔
 4 |  7 |  9 |    0.000000000000 |    0.000000000104 ✔
 4 |  8 |  4 |    0.000000000000 |    0.000000000007 ✔
 4 |  8 |  5 |    0.000000000000 |   -0.000000000002 ✔
 4 |  8 |  6 |    0.000000000000 |    0.000000000055 ✔
 4 |  8 |  7 |    0.000000000000 |    0.000000000031 ✔
 4 |  8 |  8 | 2348047.058823529165 | 2348047.058823529631 ✔
 4 |  8 |  9 |    0.000000000000 |   -0.000000000015 ✔
 4 |  9 |  4 |    0.000000000000 |    0.000000000000 ✔
 4 |  9 |  5 |    0.000000000000 |   -0.000000000007 ✔
 4 |  9 |  6 |    0.000000000000 |    0.000000000029 ✔
 4 |  9 |  7 |    0.000000000000 |    0.000000000104 ✔
 4 |  9 |  8 |    0.000000000000 |   -0.000000000015 ✔
 4 |  9 |  9 | 5462298.947368421592 | 5462298.947368418798 ✔
 5 |  5 |  5 | 659781.818181818235 | 659781.818181818351 ✔
 5 |  5 |  6 |    0.000000000000 |   -0.000000000002 ✔
 5 |  5 |  7 |    0.000000000000 |    0.000000000233 ✔
 5 |  5 |  8 |    0.000000000000 |    0.000000000567 ✔
 5 |  5 |  9 |    0.000000000000 |    0.000000000000 ✔
 5 |  6 |  5 |    0.000000000000 |   -0.000000000002 ✔
 5 |  6 |  6 | 6141046.153846153989 | 6141046.153846156783 ✔
 5 |  6 |  7 |    0.000000000000 |    0.000000000250 ✔
 5 |  6 |  8 |    0.000000000000 |    0.000000001630 ✔
 5 |  6 |  9 |    0.000000000000 |    0.000000000931 ✔
 5 |  7 |  5 |    0.000000000000 |    0.000000000233 ✔
 5 |  7 |  6 |    0.000000000000 |    0.000000000250 ✔
 5 |  7 |  7 | 31933440.000000000000 | 31933440.000000000000 ✔
 5 |  7 |  8 |    0.000000000000 |    0.000000002503 ✔
 5 |  7 |  9 |    0.000000000000 |    0.000000003725 ✔
 5 |  8 |  5 |    0.000000000000 |    0.000000000567 ✔
 5 |  8 |  6 |    0.000000000000 |    0.000000001630 ✔
 5 |  8 |  7 |    0.000000000000 |    0.000000002503 ✔
 5 |  8 |  8 | 122098447.058823525906 | 122098447.058823525906 ✔
 5 |  8 |  9 |    0.000000000000 |   -0.000000001397 ✔
 5 |  9 |  5 |    0.000000000000 |    0.000000000000 ✔
 5 |  9 |  6 |    0.000000000000 |    0.000000000931 ✔
 5 |  9 |  7 |    0.000000000000 |    0.000000003725 ✔
 5 |  9 |  8 |    0.000000000000 |   -0.000000001397 ✔
 5 |  9 |  9 | 382360926.315789461136 | 382360926.315789461136 ✔

Normalization & Orthogonality of $Y_{lm}(\theta,\varphi)$

\[\int_0^{2\pi} \int_0^\pi Y_{lm}(\theta,\varphi)^* Y_{l'm'}(\theta,\varphi) \sin(\theta) ~\mathrm{d}\theta \mathrm{d}\varphi = \delta_{ll'} \delta_{mm'}\]

l₁ | l₂ | m₁ | m₂ |        analytical |         numerical 
-- | -- | -- | -- | ----------------- | ----------------- 
 0 |  0 |  0 |  0 |    1.000000000000 |    1.000000000000 ✔
 0 |  1 |  0 | -1 |    0.000000000000 |    0.000000000000 ✔
 0 |  1 |  0 |  0 |    0.000000000000 |   -0.000000000000 ✔
 0 |  1 |  0 |  1 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  0 | -2 |    0.000000000000 |   -0.000000000000 ✔
 0 |  2 |  0 | -1 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  0 |  0 |    0.000000000000 |    0.000000000000 ✔
 0 |  2 |  0 |  1 |    0.000000000000 |   -0.000000000000 ✔
 0 |  2 |  0 |  2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  0 | -1 |  0 |    0.000000000000 |    0.000000000000 ✔
 1 |  0 |  0 |  0 |    0.000000000000 |   -0.000000000000 ✔
 1 |  0 |  1 |  0 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 | -1 | -1 |    1.000000000000 |    1.000000000000 ✔
 1 |  1 | -1 |  0 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 | -1 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  0 | -1 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  0 |  0 |    1.000000000000 |    1.000000000000 ✔
 1 |  1 |  0 |  1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  1 |  1 | -1 |    0.000000000000 |    0.000000000000 ✔
 1 |  1 |  1 |  0 |    0.000000000000 |   -0.000000000000 ✔
 1 |  1 |  1 |  1 |    1.000000000000 |    1.000000000000 ✔
 1 |  2 | -1 | -2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 | -1 | -1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 | -1 |  0 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 | -1 |  1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 | -1 |  2 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  0 | -2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  0 | -1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  0 |  0 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  0 |  1 |    0.000000000000 |    0.000000000000 ✔
 1 |  2 |  0 |  2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  1 | -2 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  1 | -1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  1 |  0 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  1 |  1 |    0.000000000000 |   -0.000000000000 ✔
 1 |  2 |  1 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  0 | -2 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  0 | -1 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  0 |  0 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  0 |  1 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  0 |  2 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -2 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -2 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -2 |  1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -1 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -1 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 | -1 |  1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 |  0 | -1 |    0.000000000000 |    0.000000000000 ✔
 2 |  1 |  0 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  1 |  0 |  1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 |  1 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 |  1 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  1 |  1 |  1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 |  2 | -1 |    0.000000000000 |    0.000000000000 ✔
 2 |  1 |  2 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  1 |  2 |  1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 | -2 | -2 |    1.000000000000 |    1.000000000000 ✔
 2 |  2 | -2 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 | -2 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 | -2 |  1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 | -2 |  2 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 | -1 | -2 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 | -1 | -1 |    1.000000000000 |    1.000000000000 ✔
 2 |  2 | -1 |  0 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 | -1 |  1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 | -1 |  2 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 |  0 | -2 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  0 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 |  0 |  0 |    1.000000000000 |    1.000000000000 ✔
 2 |  2 |  0 |  1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  0 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  1 | -2 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  1 | -1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  1 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  1 |  1 |    1.000000000000 |    1.000000000000 ✔
 2 |  2 |  1 |  2 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  2 | -2 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 |  2 | -1 |    0.000000000000 |   -0.000000000000 ✔
 2 |  2 |  2 |  0 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  2 |  1 |    0.000000000000 |    0.000000000000 ✔
 2 |  2 |  2 |  2 |    1.000000000000 |    1.000000000000 ✔