Click or drag to resize

VectorCouplingClebschGordan Method

Calculate Clebsch-Gordan coefficient using the relation to the Wigner 3-j symbol:
C#
                            l1-l2+m3         1/2   ( l1  l2  l3 )
(l1 m1 l2 m2 | l3 m3) = (-1)         (2*l3+1)      ( m1  m2 -m3 )

Namespace: Altaxo.Calc
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public static double ClebschGordan(
	double l1,
	double m1,
	double l2,
	double m2,
	double l3,
	double m3,
	out int errflag
)

Parameters

l1  Double
Parameter in 3j symbol.
m1  Double
Parameter in 3j symbol.
l2  Double
Parameter in 3j symbol.
m2  Double
Parameter in 3j symbol.
l3  Double
Parameter in 3j symbol.
m3  Double
Parameter in 3j symbol.
errflag  Int32
Error flag.

errflag=0 No errors.

errflag=1 Either l1 < abs(m1) or l1+abs(m1) non-integer.

errflag=2 abs(l1-l2)<= l3 <= l1+l2 not satisfied.

errflag=3 l1+l2+l3 not an integer.

errflag=4 m2max-m2min not an integer.

errflag=5 m2max less than m2min.

errflag=6 ndim less than m2max-m2min+1.

errflag=7 m1+m2-m3 is not zero.

Return Value

Double
The value of the Clebsch-Gordan coefficient.
Remarks
C#
References:
-----------
 1. See routines in "threejj.cc" and "threejm.cc" for references about
    the calculation of the Wigner 3-j symbols.
 2. C++ Implementation for the Matpack C++ Numerics and Graphics Library
    by Berndt M. Gammel in June 1997.

Note:
-----
 Whenever you have to calculate a series of Clebsch-Gordan coefficients for
 a range of l-values or m-values you should probably use the 3-j symbol
 routines. These calculate the 3-j symbols iteratively for a series of
 l-values or m-values and are therefore much more efficient. Use the relation
 between Clebsch-Gordan coefficients and Wigner 3-j symbols as given above.
See Also