wigner-symbols-1.0.0: CG coefficients and Wigner symbols.

WignerSymbols

Description

Clebsch-Gordan coefficients and Wigner n-j 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).

Synopsis

SignedSqrtRational

Represents a mathematical expression of the form:

s √(n / d)

where

• s is a sign (+, -, or 0),
• n is a nonnegative numerator, and
• d is a positive denominator.

Arguments

 :: (Integer, Rational) (c, r) -> SignedSqrtRational

Construct a SignedSqrtRational equal to c √r.

Deconstruct a SignedSqrtRational.

Extract the sign of a SignedSqrtRational.

Extract the numerator of a SignedSqrtRational.

Extract the denominator of a SignedSqrtRational.

Approximate a SignedSqrtRational as a floating-point number.

Coupling/uncoupling coefficients

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj1, tm1, tj2, tm2, tj12, tm12) -> Double

Calculate a Clebsch-Gordan coefficient:

⟨j1 j2 m1 m2|j1 j2 j12 m12⟩

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj1, tm1, tj2, tm2, tj12, tm12) -> SignedSqrtRational

Similar to clebschGordan but exact.

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj1, tm1, tj2, tm2, tj3, tm3) -> Double

Calculate a Wigner 3-j symbol:

⎛j1 j2 j3⎞
⎝m1 m2 m3⎠

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj1, tm1, tj2, tm2, tj3, tm3) -> SignedSqrtRational

Similar to wigner3j but exact.

Recoupling coefficients

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj11, tj12, tj13, tj21, tj22, tj23) -> Double

Calculate a Wigner 6-j symbol:

⎧j11 j12 j13⎫
⎩j21 j22 j23⎭

Arguments

 :: (Int, Int, Int, Int, Int, Int) (tj11, tj12, tj13, tj21, tj22, tj23) -> SignedSqrtRational

Similar to wigner6j but exact.

Arguments

 :: (Int, Int, Int, Int, Int, Int, Int, Int, Int) (tj11, tj12, tj13, tj21, tj22, tj23, tj31, tj32, tj33) -> Double

Calculate a Wigner 9-j symbol:

⎧j11 j12 j13⎫
⎨j21 j22 j23⎬
⎩j31 j32 j33⎭

Arguments

 :: (Int, Int, Int, Int, Int, Int, Int, Int, Int) (tj11, tj12, tj13, tj21, tj22, tj23, tj31, tj32, tj33) -> SignedSqrtRational

Similar to wigner9j but exact.