Stability  stable 

Safe Haskell  Safe 
Language  Haskell2010 
ClebschGordan coefficients and Wigner nj symbols.
Note that all j
or m
arguments are represented via integers equal to
twice their mathematical values. To make this distinction clear, we
label these variables tj
or tm
.
The current implementation uses the exact formulas described by L. Wei (1999) (PDF).
 data SignedSqrtRational
 ssr_new :: (Integer, Rational) > SignedSqrtRational
 ssr_split :: SignedSqrtRational > (Integer, Rational)
 ssr_signum :: SignedSqrtRational > Integer
 ssr_numerator :: SignedSqrtRational > Integer
 ssr_denominator :: SignedSqrtRational > Integer
 ssr_approx :: Floating b => SignedSqrtRational > b
 clebschGordan :: (Int, Int, Int, Int, Int, Int) > Double
 clebschGordanSq :: (Int, Int, Int, Int, Int, Int) > SignedSqrtRational
 wigner3j :: (Int, Int, Int, Int, Int, Int) > Double
 wigner3jSq :: (Int, Int, Int, Int, Int, Int) > SignedSqrtRational
 wigner6j :: (Int, Int, Int, Int, Int, Int) > Double
 wigner6jSq :: (Int, Int, Int, Int, Int, Int) > SignedSqrtRational
 wigner9j :: (Int, Int, Int, Int, Int, Int, Int, Int, Int) > Double
 wigner9jSq :: (Int, Int, Int, Int, Int, Int, Int, Int, Int) > SignedSqrtRational
SignedSqrtRational
data SignedSqrtRational Source
Represents a mathematical expression of the form:
s √(n / d)
where
s
is a sign (+
,
, or0
),n
is a nonnegative numerator, andd
is a positive denominator.
:: (Integer, Rational) 

> SignedSqrtRational 
Construct a SignedSqrtRational
equal to c √r
.
ssr_split :: SignedSqrtRational > (Integer, Rational) Source
Deconstruct a SignedSqrtRational
.
ssr_signum :: SignedSqrtRational > Integer Source
Extract the sign of a SignedSqrtRational
.
ssr_numerator :: SignedSqrtRational > Integer Source
Extract the numerator of a SignedSqrtRational
.
ssr_denominator :: SignedSqrtRational > Integer Source
Extract the denominator of a SignedSqrtRational
.
ssr_approx :: Floating b => SignedSqrtRational > b Source
Approximate a SignedSqrtRational
as a floatingpoint number.
Coupling/uncoupling coefficients
Calculate a ClebschGordan coefficient:
⟨j1 j2 m1 m2j1 j2 j12 m12⟩
Similar to clebschGordan
but exact.
Calculate a Wigner 3j symbol:
⎛j1 j2 j3⎞ ⎝m1 m2 m3⎠
Similar to wigner3j
but exact.
Recoupling coefficients
Calculate a Wigner 6j symbol:
⎧j11 j12 j13⎫ ⎩j21 j22 j23⎭
Similar to wigner6j
but exact.