Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

7 THREE-J SYMBOLS

7.0 Introduction

In scattering theory 3-j symbols occur in the evaluation of interaction potential and the T- matrix
elements. They are related to the familiar Clebsch-Gordan coefficients C jj3jmm3 m that arise in
1 2 1 2

addition of angular momentum.

7.1 Addition of angular momenta

For a system consisting of two sub-systems on which two angular momentum operators Ĵ1 and Ĵ 2
act, a third angular momentum operator Ĵ 3 , which acts on the entire system, may be defined thus
Jˆ 3  Jˆ 1  Jˆ 2 (7.1)

Each of these angular momentum operators satisfy the generalized angular momentum
commutation relations. Also the eigenvectors of Ĵ12 and Jˆ1z , those of Ĵ 22 and Jˆ2 z , and those of Ĵ 32
and Jˆ3 z satisfy specific eigenvalue equations.

In hydrogen atom, for example, operators Ĵ1 and Ĵ 2 may represent the orbital angular momentum
operator L̂ and spin angular momentum operator Ŝ of the atom respectively. The operator Ĵ 3
would then represent the total angular momentum Jˆ  Lˆ  Sˆ of the atom. Consequently,
j1m1  lm while j2 m2  sms . In coordinate space and spin space, these eigenvectors are
represented as  lm  Ylm  ,  and  sms  sms   respectively.

7.2 Uncoupled and Coupled Representations

The operators Ĵ1 and Ĵ 2 act on different sub-systems and knowledge of the eigenvalues of Ĵ1
does not preclude determination of the eigenvalues of Ĵ 2 . Consequently, from Heisenberg’s
uncertainty principle, Jˆ 12 , Jˆ 22   0 . Further,  Jˆ 12 , Jˆ 1z   0 and Jˆ 22 , Jˆ 2 z   0 . As a result, simultaneous

eigenvectors of Jˆ 12 , Jˆ 22 , Jˆ1z and Jˆ2 z exist. These uncoupled eigenvectors are given by

j1 j2 m1m2  j1m1 j2 m2 (7.2)

For the hydrogen atom, the uncoupled eigenvectors have the form lmsms  lm sms whose
coordinate-spin representation is  lmsms   lm  sms  Ylm  ,  sms   . Since for given
values of j1 and j2 there are  j1 ,  j1  1,....., j1   2 j1  1 values of m1 and

1
 j2 ,  j2  1,....., j2   2 j2  1 values of m2 , the number of uncoupled eigenvectors, j1 j2 m1m2 , is
 2 j1  1 2 j2  1 . These eigenvectors act as basis vectors in the representation of eigenvectors in
the  2 j1  1   2 j2  1 – dimensional Hilbert space of the operators Ĵ1 and Ĵ 2 . Also from equation
(7.1)

   
2
Jˆ 32  Jˆ 1  Jˆ 2  Jˆ 12  Jˆ 22  2Jˆ 1  Jˆ 2  Jˆ 12  Jˆ 22  2 Jˆ1x Jˆ2 x  Jˆ1 y Jˆ2 y  Jˆ1z Jˆ2 z (7.3)

It can then be shown that Jˆ 32 , Jˆ 12   0 , Jˆ 32 , Jˆ 22   0 and that Jˆ 32 , Jˆ1z   0 while Jˆ 32 , Jˆ2 z   0 . Also

Jˆ 32 , Jˆ3z   0 . As a result simultaneous eigenvectors of Jˆ 32 , Jˆ3z , Jˆ 12 and Ĵ 22 exist but not those of
 
Jˆ 3 , Jˆ3z , Jˆ1z and Jˆ z2 . These coupled eigenvectors are written as
2
j1 j2 j3m3 which may be
expressed in terms of the uncoupled eigenvectors j1 j2 m1m2 thus

m1  j1 m2  j2
j1 j2 j3m3    j1 j2 m1m2 j1 j2 m1m2 j1 j2 j3m3 (7.4)
m1  j1 m2  j2

which may also be written as


j1 j2
j3m3    m1m2 m1m2 j3m3 (7.5)
m1  j1 m2  j2

In equations (7.4) and (7.5) the double summation is over m1 and m2 since j1 and j2 are fixed. Also
for given j1 and j2 values,

j1  j2  j3  j1  j2 (7.6)

and

m3  m1  m2 . (7.7)

Further, since for every j3 value, there are  2 j3  1 values of m3 , that is m3   j3 ,  j3  1,...., j3 , the
number of coupled eigenvectors j1 j2 j3m3 is also  2 j1  1 2 j2  1 . These form a basis for the
representation of eigenvectors in the  2 j1  1   2 j2  1 – dimensional Hilbert space of the
operator Ĵ 3 . On account of equation (7.7), equation (7.5) may therefore be written as

j1 j2
j3m3     m1 ,m3 m1 m1m2 m1m2 j3m3 (7.8)
m1  j1 m2  j2

2
Example 7.1

For j1  1 2 and j2  1 2 , determine the:

(a) Uncoupled eigenvectors j1 j2 m1m2  m1m2 ,

(b) Coupled eigenvectors j1 j2 j3m3  j3m3 .

Solution

This problem corresponds to the determination of the total spin S of a helium-like atom having
two electrons in the ground or excited state where the spin angular momentum quantum numbers
for the first and second electron is s1  1 2 and s2  1 2 respectively.

(a) Since m1   1 2 and m2  1 2 , the uncoupled eigenvectors are

11 1 1 11 1 1
, , ,  and  ,  .
22 2 2 22 2 2

11
where for example, indicates that both electrons are in the ‘spin-up’ state.
22

(b) Since j3  j1  j2 , j1  j2  1,..., j1  j2 , there are two possible values of j3 , that is, j3  0
and j3  1 . Also since m3  m1  m2 and m3   j3 ,  j3  1,..., j3 , we must have m3  0 , for
j3  0 , and m3  1,0,1 , for j3  1 . The coupled eigenvectors are therefore

11 , 10 , 1  1 and 00 .

7.3 Clebsch-Gordan Coefficients

The expansion coefficients j1 j2 m1m2 j1 j2 j3m3 which relate the coupled and uncoupled
eigenvectors in equation (7.4), (7.5) and (7.8) are known as the Clebsch-Gordan, vector addition,
or Wigner coefficients and may be written in a variety of ways:

j1 j2 m1m2 j1 j2 j3m3  j1 j2 m1m2 j3m3  m1m2 j3m3  C jj3jmm


3
m (7.9)
1 2 1 2

2
The modulus-squared C jj13jm2m3 1m2 of a Clebsch-Gordan coefficient gives the probability that the

combined system in state j3 m3 will have its two sub-systems in states j1m1 and j2 m2
respectively. For j1  1 2 and j2  1 2 it can be shown that:

3
11
11  (7.10)
22

1  1 1 11 
10       (7.11)
2 2 2 22 

1 1
1 1    (7.12)
2 2

1  1 1 11 
00       (7.13)
2 2 2 22 

The first three coupled eigenvectors SM S  11 , 10 , 1  1 in equations (7.10 – 7.12) correspond


to the triplet state in a two-electron (helium-like) atom with the total spin quantum number S  1
and its projection along the z-axis M S  1,0, 1 while the last coupled eigenvector SM S  00 in
equation (7.13) corresponds to the singlet state where S  0 and M S  0 . The ground state of the
helium-like atom is a singlet state, while excited states may be either singlet or triplet states.

7.4 Racah Equation and 3-j symbols

The general form of a Clebsch-Gordan coefficient is given by the Racah equation

  2 j  1 j1  j2  j3 ! j1  j2  j3 !  j1  j2  j3 !


12
C jj3jmm
3
  m1 m2 ,m3  3 
1 2 1m2
  j1  j2  j3  1! 

  j1  m1 ! j2  m2 ! j3  m3 ! j1  m1 ! j2  m2 ! j3  m3 !


12


 1k
k k ! j1  j2  j3  k ! j1  m1  k ! j2  m2  k ! j3  j2  m1  k ! j3  j1  m2  k !

(7.14)

where

kmin  max  0, j2  j3  m1 , j1  j3  m2  (7.15)

and

kmax  min  j1  j2  j3 , j1  m1 , j2  m2  (7.16)

Equation (7.14) is usually written as

4
 j j j 
C jj3jmm
3
m   1
j2  j1  m3
 j3 1 2  m1 m2 m3  (7.17)
1 2 1 2
 1 2 3

where the quantity in brackets is a Wigner 3 – j symbol and  j3    2 j3  1 . Alternatively, we may


write

 j1 j2 j3 
    1
j1  j2  m3
 j3 
1 2
C jj3j,mmm
3
(7.18)
 1
m m m3
1 2 1 2
2

For a 3  j symbol to be non-zero, we must have

mi   ji ,  ji  1,....., ji , i  1,2,3 (7.19)

m1  m2  m3  0 (7.20)

j1  j2  j3  0,1, 2,3...... (7.21)

j1  j2  j3 (7.22)

j2  j1  j3 (7.23)

j3  j1  j2 (7.24)

Also 3  j symbols have the symmetry properties:

 j1 j2 j3   j2 j3 j1   j3 j1 j2 
    (7.25)
 m1 m2 m3   m2 m3 m1   m3 m1 m2 

 j1 j2 j3  j1  j2  j3  j2 j1 j3 
    1   (7.26)
 m1 m2 m3   m2 m1 m3 

 j1 j2 j3  j1  j2  j3  j1 j2 j3 
    1   (7.27)
 m1 m2 m3   m1 m2 m3 

Further, 3 – j symbols satisfy the following orthogonality relations

 j1 j2 j3   j1 j2 j3 
 j3  m    
m3   m1 m2 m3  m1m1 m2m2
(7.28)
j3 m3  1 m2

 j1 j2 j3   j1 j2 j3 
  j3      
j3 j3 m3m3
  j1 j2 j3  (7.29)
m1 m2  m1 m2 m3   m1 m2 
m3  

5
where   j1 j2 j3  indicates that j1 , j2 and j3 satisfy the triangle relation j1  j2  j3  j1  j2 . They
also satisfy the sum rule

j m j j j3 
  1    j3 0  j 
12

 (7.30)
m  m m 0 

The following special values are also useful:

j j 0 1 2

    1
j m
 j (7.31)
 m m 0 

and
J   2 J  2 j1 ! 2 J  2 j2 ! 2 J  2 j3 ! 
12
 j1 j2 j3  J!
    1   (7.32)
0 0 0   2 J  1!   J  j1 ! J  j2 ! J  j3 !

where 2J  j1  j2  j3 .

7.5 Program 3JSYMBOL_V1


/*Program 3JSYMBOL_V2 Evaluates 3-j symbols using the Racah formula*/
/*Date Created:11/01/2023. Date Modified:11/01/2023*/

# include <iostream>
# include <cmath>
# include <iomanip>

using namespace std;

double THREE_J(double j1, double j2, double j3, double m1, double m2, double m3);
double CG_COEFF(double a, double b, double c, double alpha, double beta, double gamma);
double KRONECKER_DELTA(double kd_1, double kd_2);
double DELTA(double a, double b, double c);
double COEFFICIENT_CG(double a, double b, double c, double alpha, double beta, double
gamma);
double SUMMATION(double a, double b, double c, double alpha, double beta);
double FACTORIAL_H(double n);

# define SIZEF 170


double PI = 4.0 * atan(1.0);

int main()
{
double three_j;
double j1, j2, j3, m1, m2, m3;

cout << "Enter value of j1\n";


cin >> j1;

cout << "Enter value of j2\n";


cin >> j2;

6
cout << "Enter value of j3\n";
cin >> j3;

cout << "Enter value of m1\n";


cin >> m1;

cout << "Enter value of m2\n";


cin >> m2;

cout << "Enter value of m3\n";


cin >> m3;

three_j = THREE_J(j1, j2, j3, m1, m2, m3);

cout << "The value of the 3-j symbol is" << setw(20)<<scientific<<setprecision(9)
<< three_j << endl;

return 0;
}

//Evaluate the 3-j Symbol for Given Values of j1,j2,j3,m1,m2 and m3


double THREE_J(double j1, double j2, double j3, double m1, double m2, double m3)
{
double CG;
double three_j, e, fact;

if (fabs(m1) > j1 || fabs(m2) > j2 || fabs(m3) > j3 || m1 + m2 + m3 != 0 || j1 +


j2 < j3 || j2 + j3 < j1 || j3 + j1 < j2)
{
three_j = 0;
}
else {

CG = CG_COEFF(j1, j2, j3, m1, m2, -m3);


e = j1 - j2 - m3;
fact = sqrt(2 * j3 + 1);
three_j = pow(-1.0, e) * CG / fact;
}

return three_j;
}

//Evaluate the Clebsch-Gordan Coefficient using the Racah Formula


double CG_COEFF(double a, double b, double c, double alpha, double beta, double gamma)
{
double cf, krd, delta, coeff, sum;

krd = KRONECKER_DELTA(alpha + beta, gamma);


delta = DELTA(a, b, c);
coeff = COEFFICIENT_CG(a, b, c, alpha, beta, gamma);
sum = SUMMATION(a, b, c, alpha, beta);

cf = krd * delta * coeff * sum;

return cf;
}

7
//Evaluate the Kronecker Delta Symbol in the Racah Formula
double KRONECKER_DELTA(double kd_1, double kd_2)
{
if (kd_1 != kd_2) {
return 0.0;
}
else {
return 1.0;
}
}

//Evaluate the Delta factor in the Racah Formula


double DELTA(double a, double b, double c)
{
double d_1, d_2, d_3, d_4, d_5;

d_1 = a + b - c;
d_2 = a + c - b;
d_3 = b + c - a;
d_4 = a + b + c + 1;

d_5 = FACTORIAL_H(d_1) * FACTORIAL_H(d_2) * FACTORIAL_H(d_3) / FACTORIAL_H(d_4);

return sqrt(d_5);
}

//Evaluate the Coefficient in the Racah Formula


double COEFFICIENT_CG(double a, double b, double c, double alpha, double beta, double
gamma)
{
double c_1, c_2, c_3, c_4, c_5, c_6, c_7, c_8;

c_1 = 2 * c + 1;
c_2 = a + alpha;
c_3 = a - alpha;
c_4 = b + beta;
c_5 = b - beta;
c_6 = c + gamma;
c_7 = c - gamma;

c_8 = c_1 * FACTORIAL_H(c_2) * FACTORIAL_H(c_3) * FACTORIAL_H(c_4) *


FACTORIAL_H(c_5) * FACTORIAL_H(c_6) * FACTORIAL_H(c_7);

return sqrt(c_8);
}

//Carry out the Summation in the Racah Formula


double SUMMATION(double a, double b, double c, double alpha, double beta)
{
double k;
double sum = 0.0;
double s_1, s_2, s_3, s_4, s_5, s_6, s_7;
double kmn, kmn1, kmn2, kmn3;
double kmx, kmx1, kmx2, kmx3;

kmn1 = 0.0;
kmn2 = b - c - alpha;
kmn3 = a - c + beta;

8
kmn = kmn1;
if (kmn < kmn2)kmn = kmn2;
if (kmn < kmn3)kmn = kmn3;

kmx1 = a + b - c;
kmx2 = a - alpha;
kmx3 = b + beta;

kmx = kmx1;
if (kmx > kmx2)kmx = kmx2;
if (kmx > kmx3)kmx = kmx3;

for (k = kmn; k <= kmx; k++) {


s_1 = pow(-1, k);
s_2 = a - alpha - k;
s_3 = c - b + alpha + k;
s_4 = b + beta - k;
s_5 = c - a - beta + k;
s_6 = k;
s_7 = a + b - c - k;

//check for negative values


if (s_2 < 0.0 || s_3 < 0.0 || s_4 < 0.0 || s_5 < 0.0 || s_6 < 0.0 || s_7 <
0.0) {
continue;
}

else {
sum += s_1 / (FACTORIAL_H(s_2) * FACTORIAL_H(s_3) * FACTORIAL_H(s_4)
* FACTORIAL_H(s_5) * FACTORIAL_H(s_6) * FACTORIAL_H(s_7));
}

return sum;
}

//Evaluate the Factorial of Positive Integer and Half-integer Numbers


double FACTORIAL_H(double n)
{

if (n > SIZEF - 1) {
printf("Argument is too large in function FACTORIAL_H\n");
exit(0);
}

if (n == 0.0 || n == 1.0) {
return 1.0;
}
if (n == 0.5) {
return sqrt(PI) / 2;
}
else {
return (n * FACTORIAL_H(n - 1.0));
}
}

9
References

1. Cowan R.D. (1981). In The Theory of Atomic Structure and Spectra. (University of
California Press, Berkeley). Pp. 142 – 147, 271 – 275, 635 – 645.

2. Fischer C. F., Brage T., and Per Jonsson. (1997). In Computational Atomic Structure. An
MCHF Approach. Institute of Physics. Bristol. Pp. 243 – 244

10

You might also like