File Exchange

image thumbnail

Wigner3j.m

version 1.0.0.0 (761 Bytes) by David Terr
Wigner3j(j1,j2,j,m1,m2,m) returns the Wigner 3j-symbol.

6 Downloads

Updated 21 Jun 2004

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.

Cite As

David Terr (2021). Wigner3j.m (https://www.mathworks.com/matlabcentral/fileexchange/5275-wigner3j-m), MATLAB Central File Exchange. Retrieved .

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

RU RuRu

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.

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

Brice DUBOST

It doesn't respect wigner 3j symetries

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

Brice DUBOST

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 Compatibility
Created with R12
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: Wigner3j symbol

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!