No License

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

» Watch video

Highlights from

3.4 | 6 ratings Rate this file 16 Downloads (last 30 days) File Size: 1.77 KB File ID: #5275 Version: 1.0



David Terr (view profile)


17 Jun 2004 (Updated )

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

| Watch this File

File Information

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.


This file inspired Wigner3j Symbol.

MATLAB release MATLAB 6.0 (R12)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
12 May 2016 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.

20 Jun 2014 Hobson

Hobson (view profile)

21 Nov 2013 RU RuRu

08 Feb 2011 Christian Mueller

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.

31 Mar 2009 Par Hakansson

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

Comment only
30 Mar 2009 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

Comment only
05 Nov 2008 Brice DUBOST

It doesn't respect wigner 3j symetries

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

05 Nov 2008 Brice DUBOST

31 Jul 2007 Lisa de Groot

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

Comment only
09 Jul 2007 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) ) );

Comment only

Contact us