This package implements methods described in Luscombe and Luban 1998, based on the work of Schulten and Gordon 1961, for generating families of Wigner 3j and 6j symbols by recurrence relation. It also contains code implementing the magic square methods for efficiently storing Wigner 3j symbols in Rasch and Yu 2012.
using Pkg
Pkg.add("WignerFamilies")
WignerFamilies.jl currently computes the nontrivial 3j symbols over j
with the other
quantum numbers fixed, in the family of symbols,
It exposes wigner3j_f(j₂, j₃, m₂, m₃)
which returns a simple wrapper around a vector of
the typeWignerSymbolVector
. This vector contains the computed symbols, indexed by the
quantum number j
. The type supports
half-integer quantum numbers as indices.
using WignerFamilies
# wigner3j for all j fixing j₂=100, j₃=60, m₂=70, m₃=-55, m₁=-m₂-m₃
w3j = wigner3j_f(100, 60, 70, -55)
js = collect(eachindex(w3j)) # indices are the quantum numbers
plot(js, w3j.symbols) # you can get the underling array with w3j.symbols
This generates the symbols in Figure 1 of Luscombe and Luban 1998.