Skip to content
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:

  1. m1 + m2 = -m3

  2. |l1-l2| <= l3 <= l1 + l2

  3. |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)

Clone this wiki locally