|
Packit |
67cb25 |
.. index::
|
|
Packit |
67cb25 |
single: coupling coefficients
|
|
Packit |
67cb25 |
single: 3-j symbols
|
|
Packit |
67cb25 |
single: 6-j symbols
|
|
Packit |
67cb25 |
single: 9-j symbols
|
|
Packit |
67cb25 |
single: Wigner coefficients
|
|
Packit |
67cb25 |
single: Racah coefficients
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
The Wigner 3-j, 6-j and 9-j symbols give the coupling coefficients for
|
|
Packit |
67cb25 |
combined angular momentum vectors. Since the arguments of the standard
|
|
Packit |
67cb25 |
coupling coefficient functions are integer or half-integer, the
|
|
Packit |
67cb25 |
arguments of the following functions are, by convention, integers equal
|
|
Packit |
67cb25 |
to twice the actual spin value. For information on the 3-j coefficients
|
|
Packit |
67cb25 |
see Abramowitz & Stegun, Section 27.9. The functions described in this
|
|
Packit |
67cb25 |
section are declared in the header file :file:`gsl_sf_coupling.h`.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
3-j Symbols
|
|
Packit |
67cb25 |
-----------
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_coupling_3j (int two_ja, int two_jb, int two_jc, int two_ma, int two_mb, int two_mc)
|
|
Packit |
67cb25 |
int gsl_sf_coupling_3j_e (int two_ja, int two_jb, int two_jc, int two_ma, int two_mb, int two_mc, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Wigner 3-j coefficient,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
\left(
|
|
Packit |
67cb25 |
\begin{array}{ccc}
|
|
Packit |
67cb25 |
ja & jb & jc \\
|
|
Packit |
67cb25 |
ma & mb & mc
|
|
Packit |
67cb25 |
\end{array}
|
|
Packit |
67cb25 |
\right)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
| ( ja jb jc )
|
|
Packit |
67cb25 |
| ( ma mb mc )
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
where the arguments are given in half-integer units, :math:`ja` =
|
|
Packit |
67cb25 |
:data:`two_ja`/2, :math:`ma` = :data:`two_ma`/2, etc.
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
6-j Symbols
|
|
Packit |
67cb25 |
-----------
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_coupling_6j (int two_ja, int two_jb, int two_jc, int two_jd, int two_je, int two_jf)
|
|
Packit |
67cb25 |
int gsl_sf_coupling_6j_e (int two_ja, int two_jb, int two_jc, int two_jd, int two_je, int two_jf, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Wigner 6-j coefficient,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
\left\{
|
|
Packit |
67cb25 |
\begin{array}{ccc}
|
|
Packit |
67cb25 |
ja & jb & jc \\
|
|
Packit |
67cb25 |
jd & je & jf
|
|
Packit |
67cb25 |
\end{array}
|
|
Packit |
67cb25 |
\right\}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
| { ja jb jc }
|
|
Packit |
67cb25 |
| { jd je jf }
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
where the arguments are given in half-integer units, :math:`ja` =
|
|
Packit |
67cb25 |
:data:`two_ja`/2, :math:`ma` = :data:`two_ma`/2, etc.
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
9-j Symbols
|
|
Packit |
67cb25 |
-----------
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_coupling_9j (int two_ja, int two_jb, int two_jc, int two_jd, int two_je, int two_jf, int two_jg, int two_jh, int two_ji)
|
|
Packit |
67cb25 |
int gsl_sf_coupling_9j_e (int two_ja, int two_jb, int two_jc, int two_jd, int two_je, int two_jf, int two_jg, int two_jh, int two_ji, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Wigner 9-j coefficient,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
\left\{
|
|
Packit |
67cb25 |
\begin{array}{ccc}
|
|
Packit |
67cb25 |
ja & jb & jc \\
|
|
Packit |
67cb25 |
jd & je & jf \\
|
|
Packit |
67cb25 |
jg & jh & ji
|
|
Packit |
67cb25 |
\end{array}
|
|
Packit |
67cb25 |
\right\}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
| { ja jb jc }
|
|
Packit |
67cb25 |
| { jd je jf }
|
|
Packit |
67cb25 |
| { jg jh ji }
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
where the arguments are given in half-integer units, :math:`ja` =
|
|
Packit |
67cb25 |
:data:`two_ja`/2, :math:`ma` = :data:`two_ma`/2, etc.
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|