IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Meta.Numerics.Spin.SpinMath Class Reference

Contains methods for computing functions of spin and spin states. More...

Static Public Member Functions

static Spin[] Combine (Spin j1, Spin j2)
 Enumerates all the spins that can be obtained by combining two spins. More...
 
static SpinState[] Combine (SpinState s1, SpinState s2)
 Enumerates all spin states that may be obtained by combining two spin states. More...
 
static double ClebschGodron (SpinState s1, SpinState s2, SpinState s)
 Computes a Clebsch-Gordon coefficient. More...
 
static double ThreeJ (SpinState s1, SpinState s2, SpinState s3)
 Computes a 3j symbol. More...
 
static double SixJ (Spin j1, Spin j2, Spin j3, Spin j4, Spin j5, Spin j6)
 Computes the value of the 6j symbol for the six given spins. More...
 

Static Private Member Functions

static void Swap< T > (ref T a, ref T b)
 
static double ThreeJ_ZeroJ (SpinState s)
 
static double ThreeJ_HalfJ (SpinState s1, SpinState s2)
 
static double ThreeJ_OneJ (SpinState s1, SpinState s2, SpinState s3)
 
static double ThreeJ_ZeroM_Int (SpinState s1, SpinState s2, SpinState s3)
 
static double ThreeJ_ShultenGordon_RecurseJ (SpinState s1, SpinState s2, SpinState s3)
 
static double ShultenGordon_A (int tj1, int tj2, int tj3, int tm3)
 
static double ShultenGodron_B (int tj1, int tj2, int tj3, int tm1, int tm2, int tm3)
 
static bool Triangle (Spin a, Spin b, Spin c)
 
static double SixJ_Zero (Spin j1, Spin j2, Spin j3)
 
static double SixJ_OneHalf (Spin j1, Spin j2, Spin j3, Spin j4, Spin j5)
 
static double SixJ_ShultenGorton_Recurse (int tj1, int tj2, int tj3, int tj4, int tj5, int tj6)
 
static double ShultenGordon_E (int tj1, int tj2, int tj3, int tl1, int tl2, int tl3)
 
static double ShultenGordon_F (int tj1, int tj2, int tj3, int tj4, int tj5, int tj6)
 

Detailed Description

Contains methods for computing functions of spin and spin states.

Member Function Documentation

static Spin [] Meta.Numerics.Spin.SpinMath.Combine ( Spin  j1,
Spin  j2 
)
inlinestatic

Enumerates all the spins that can be obtained by combining two spins.

Parameters
j1The first spin.
j2The second spin.
Returns
A list of spins which may be obtained.
static SpinState [] Meta.Numerics.Spin.SpinMath.Combine ( SpinState  s1,
SpinState  s2 
)
inlinestatic

Enumerates all spin states that may be obtained by combining two spin states.

Parameters
s1The first spin state.
s2The second spin state.
Returns
A list of spin states which may be obtained.
static double Meta.Numerics.Spin.SpinMath.ClebschGodron ( SpinState  s1,
SpinState  s2,
SpinState  s 
)
inlinestatic

Computes a Clebsch-Gordon coefficient.

Parameters
s1The first spin state.
s2The second spin state.
sThe total spin state.
Returns
The Clebsch-Gordon coefficient measuring the contribution of the given first and second spin states to the given total spin state.

Referenced by Test.SpinTest.ClebschGordonOrthonormalityJM(), Test.SpinTest.ClebschGordonOrthonormalityMM(), and Test.SpinTest.ClebschGordonSepcialCase().

static double Meta.Numerics.Spin.SpinMath.ThreeJ ( SpinState  s1,
SpinState  s2,
SpinState  s3 
)
inlinestatic

Computes a 3j symbol.

Parameters
s1The first column spin state.
s2The second column spin state.
s3The third column spin state.
Returns
The 3j symbol.

Referenced by Test.SpinTest.SixJThreeJRelation(), Test.SpinTest.ThreeJExchangeSymmetry(), Test.SpinTest.ThreeJLegendreIntegral(), Test.SpinTest.ThreeJRacahSymmetry(), and Test.SpinTest.ThreeJRecursion().

static void Meta.Numerics.Spin.SpinMath.Swap< T > ( ref T  a,
ref T  b 
)
inlinestaticprivate
Type Constraints
T :struct 
static double Meta.Numerics.Spin.SpinMath.ThreeJ_ZeroJ ( SpinState  s)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ThreeJ_HalfJ ( SpinState  s1,
SpinState  s2 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ThreeJ_OneJ ( SpinState  s1,
SpinState  s2,
SpinState  s3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ThreeJ_ZeroM_Int ( SpinState  s1,
SpinState  s2,
SpinState  s3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ThreeJ_ShultenGordon_RecurseJ ( SpinState  s1,
SpinState  s2,
SpinState  s3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ShultenGordon_A ( int  tj1,
int  tj2,
int  tj3,
int  tm3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ShultenGodron_B ( int  tj1,
int  tj2,
int  tj3,
int  tm1,
int  tm2,
int  tm3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.SixJ ( Spin  j1,
Spin  j2,
Spin  j3,
Spin  j4,
Spin  j5,
Spin  j6 
)
inlinestatic

Computes the value of the 6j symbol for the six given spins.

Parameters
j1Upper left spin.
j2Upper middle spin.
j3Upper right spin.
j4Lower left spin.
j5Lower middle spin.
j6Lower right spin.
Returns
The value of {{j1,j2,j3},{j4,j5,j6}}.

Referenced by Test.SpinTest.SixJExchangeSymmetry(), Test.SpinTest.SixJOrthonormality(), Test.SpinTest.SixJProductSum(), Test.SpinTest.SixJReggeSymmetry(), Test.SpinTest.SixJSpecialCase(), Test.SpinTest.SixJSum(), Test.SpinTest.SixJThreeJRelation(), and Test.SpinTest.SixJZeroMinimum().

static bool Meta.Numerics.Spin.SpinMath.Triangle ( Spin  a,
Spin  b,
Spin  c 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.SixJ_Zero ( Spin  j1,
Spin  j2,
Spin  j3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.SixJ_OneHalf ( Spin  j1,
Spin  j2,
Spin  j3,
Spin  j4,
Spin  j5 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.SixJ_ShultenGorton_Recurse ( int  tj1,
int  tj2,
int  tj3,
int  tj4,
int  tj5,
int  tj6 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ShultenGordon_E ( int  tj1,
int  tj2,
int  tj3,
int  tl1,
int  tl2,
int  tl3 
)
inlinestaticprivate
static double Meta.Numerics.Spin.SpinMath.ShultenGordon_F ( int  tj1,
int  tj2,
int  tj3,
int  tj4,
int  tj5,
int  tj6 
)
inlinestaticprivate

The documentation for this class was generated from the following file: