forked from joeydumont/wignerSymbols
-
Notifications
You must be signed in to change notification settings - Fork 6
README
Jeff Zheng edited this page Jul 9, 2014
·
10 revisions
Installation: After pulling the repository, run 'python setup.py install` under the wignerpy directory.
Usage:
Import: import wignerpy._wignerpy as wp
Calculation: wp.wigner3j(l1,l2,l3,m1,m2,m3)
Note:
Due to the structure of underlying C++ code (authored by Joey Dumont @ université laval), the 3j symbols are always computed for all possible j3's with a given j1, m1, j2, m2. Thus it is faster to call wigner3jvec(l1,l2,m1,m2)
which returns a numpy array for all j3s, than to call wigner3j(l1,l2,l3,m1,m2,m3)
, if you ever use more than one j3.
Math notes: 3j symbols are non-zero only if:
-
m1 + m2 = -m3
-
|l1-l2| <= l3 <= l1 + l2
-
|mi| <= li
Also, the cyclic relations: wigner3j(l1,l2,l3,m1,m2,m3) = wigner3j(l2,l3,l1,m2,m3,m1) = wigner3j(l3,l1,l2,m3,m1,m2)