Vector Coupling
Triangle condition
CamiMath.istriangle
— Methodistriangle(a::Real, b::Real, c::Real)
Triangle condition for a triangle of sides a
, b
and c
.
Example:
julia> istriangle(3, 4, 5)
true
julia> istriangle(1//2, 1, 1.5)
true
Triangle coefficient
CamiMath.triangle_coefficient
— Methodtriangle_coefficient(a::Real, b::Real, c::Real)
Triangle coefficient for a triangle of sides a
, b
and c
,
\[ \Delta(abc)\equiv\frac{(a+b-c)!(b+c-a)!(c+a-b)!}{(a+b+c+1)!}\]
Triangle condition satisfied for $\Delta > 0$
Examples:
julia> triangle_coefficient(3, 4, 5)
1//180180
julia> triangle_coefficient(1//2, 1, 1.5)
1//12
Three-J-symbols
CamiMath.threeJsymbol
— MethodthreeJsymbol(j1::Real, m1::Real, j2::Real, m2::Real, j3::Real, m3::Real [; msg=true])
Wigner 3j symbol. This is a vector coupling coefficient with optimized symmetry properties. The 3j symbols are zero unless $Δ(j_{1},j_{2},j_{3})>0$ (triangle inequality holds) and $m_{1}+m_{2}+m_{3}=0$. The implementation is based on the Racah formula:
\[\left(\begin{array}{ccc} j_{1} & j_{2} & j_{3}\\ m_{1} & m_{2} & m_{3} \end{array}\right)= (-1)^{j_{1}-j_{2}-m_{3}}\sqrt{\Delta(j_{1}j_{2}J)}\\\times \sqrt{\left(j_{1}+m_{1}\right)! \left(j_{1}-m_{1}\right)! \left(j_{2}+m_{2}\right)! \left(j_{2}-m_{2}\right)! \left(j_{3}+m_{3}\right)! \left(j_{3}-m_{3}\right)!} \\\times\sum_{t}\frac{(-)^{t}}{t!(j_{3}-j_{2}+t+m_{1})! (j_{3}-j_{1}+t-m_{2})! (j_{1}+j_{2}-j_{3}-t)!(j_{1}-t-m_{1})!(j_{2}-t+m_{2})!}\]
Example:
julia> o = threeJsymbol(3, 0, 4, -1, 5, 1); println(" = $o")
-√(361/30030) = -0.1096417439724123565166029917781360897459044055433631161836138910409772907333476
julia> threeJsymbol(3, 0, 4, -1, 5, 1; msg=false)
-0.1096417439724123565166029917781360897459044055433631161836138910409772907333476
julia> threeJsymbol(0, 0, 0, 0, 0, 0; msg=false)
1.0
Clebsch-Gordan coefficients
CamiMath.CGC
— MethodCGC(j1::Real, m1::Real, j2::Real, m2::Real, J::Real, M::Real [; msg=true])
Clebsch-Gordan coefficient (CGC). This is a vector-coupling coefficient in Dirac notation. The CGCs are zero unless $Δ(j_{1},j_{2},j_{3})>0$ (triangle inequality holds) and $M=m_{1}+m_{2}$. The relation to the Wigner 3j symbols is given by:
\[\langle j_{1}m_{1};j_{2}m_{2}|JM\rangle\equiv (-1)^{j_{1}-j_{2}+M}\sqrt{2J+1}\left(\begin{array}{ccc} j_{1} & j_{2} & J\\ m_{1} & m_{2} & -M \end{array}\right)\]
Example:
julia> j1=3; m1=0; j2=4; m2=-1; J=5; M=-1;
julia> o = CGC(j1, m1, j2, m2, J, M); println(" = $o")
-√(361/2730) = -0.36364052611670255269921486774521555203216489725107181148303161368088211274565
julia> o = CGC(j1, m1, j2, m2, J, M; msg=false); println(o)
-0.36364052611670255269921486774521555203216489725107181148303161368088211274565
julia> o = (-1)^(j1-j2+M) * sqrt(2J+1) * threeJsymbol(j1, m1, j2, m2, J, -M; msg=false); println(o)
-0.36364052611670255269921486774521555203216489725107181148303161368088211274565
julia> CGC(3, 0, 4, -1, 5, -1);
-√(361/2730)