Wigner 3-j symbols.
v = wigner3j(j1,j2,j3,m1,m2,m3) v = wigner3j(jm1,jm2,jm3) v = wigner3j(jjj,mmm) v = wigner3j(jjjmmm)
wigner3j
returns the value of the 3-j symbol
The six parameters can be specified separately or in groups.
In the three-argument form, wigner3j
takes jm1 = [j1 m1]
, jm2 = [j2 m2]
and jm3 = [j3 m3]
. If two arguments are given, it takes jjj = [j1 j2 j3]
and
mmm = [m1 m2 m3]
. If one argument is give, it takes the 2x3 array jjjmmm = [j1 j2 j3; m1 m2 m3]
.
wigner3j
returns accurate values for j values as large as several thousand.
wigner3j([1 1 0; 0 0 0])
ans = -0.57735
wigner3j([4 2 4; -2 -1 3])
ans = 0.19462
If any of the three j values is less or equal to 2, wigner3j
uses explicit expressions. For larger values, a general expression containing an alternating
sum of binomial coefficients is used. For j values large than about 20, high-precisions arithmetic is used internally.
wigner3j
implements expressions from
clebschgordan, wigner6j, wignerd