File Exchange

image thumbnail


version 1.0 (1.77 KB) by

Wigner3j(j1,j2,j,m1,m2,m) returns the Wigner 3j-symbol.



No License

Wigner3j(j1,j2,j,m1,m2,m) returns the Wigner 3j-symbol, where j1, j2, j, m1, m2, and m are half-integers. Physically, the Wigner 3j-symbol is closely related to the Clebsch-Gordon coefficient <j1,j2,m1,m2|j1,j2,j,m>, the square of which is the probability that a system of two particles with angular momentum j1 and j2 respectively and z-component of angular momentum m1 and m2 respectively has total angular momentum j and z-component of total angular momentum m.

I haven't tested this function thoroughly yet, so there may be some bugs. Please let me know if you find any.

Comments and Ratings (10)

ying wu

The file is related to the author's ClebschGordan.m file. Adopt Kobi Kraus's suggestion and replace factorial(p) as gamma(p+1) will be much more efficient.


Hobson (view profile)


Still, the file does not check if the condition m1 + m2 = m3 is fulfilled. This should still be added!! In the current version it's very problematic to use the code! False results e.g. for angular momentum couplings are inevitable with this code.

Par Hakansson

Ops, did not read the table caption, it was 3jsymbol squared in table. now it match better for a few test cases

Par Hakansson

Made quick test against alpha=beta=gamma=0 3jsymbols in Table 2, in D.M. Brink and R.G. Satchler "Angular Momentum" Oxford Science Publications and can not get a match


It doesn't respect wigner 3j symetries

Wigner3j(1,1,1,1,-1,-1) is not 0


Lisa de Groot

The file does not check wether the condition m1 + m2 = m3 is fulfilled. This should be added.

Kobi Kraus

The loop in rows 59-64 can be replaced by a simple direct sum:
t = tmin : tmax;
wigner = sum( (-1).^t ./ ( factorial(t) .* factorial(t-t1) .* factorial(t-t2) ...
.* factorial(t3-t) .* factorial(t4-t) .* factorial(t5-t) ) );

MATLAB Release
MATLAB 6.0 (R12)

Inspired: Wigner3j symbol

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today