Skip to content

C++ library for Wigner 3j, 6j, 9j symbols and Gaunt coefficients

License

Notifications You must be signed in to change notification settings

hydeik/wigner-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wigner-cpp

C++ templated library for Wigner 3j, 6j, 9j symbols and Gaunt coefficients

Description

This library is for the numerical computation of special functions appearing in angular monentum coupling theory:

Wigner 3-j and 6-j symbols and Gaunt coefficiens are calculated using the three-term recurrence relations originally derived by Schulten and Gordon [^Schulten1975] and improved to avoid overflows by Luscombe and Luban [^Luscombe1998].

Requirement

You need a newer C++ compiler that supports the C++11 standard, such as GCC (>= 4.8.0) and Clang (>= 3.2).

This library depends only C++ standard libraries: no external library is required.

For building unit tests, Catch testing framework is required. This step is optional.

Install

wigner-cpp is a header only library. You can use it by including header files under wigner directory.

Usage

See, example program in example directory.

Licence

Copyright (c) 2016 Hidekazu Ikeno

Released under the MIT license

References

[Schulten1975]: Klaus Schulten and Roy G. Gordon, "Exact recursive evaluation of 3j and 6j-coefficients for quantum-mechanical coupling of angular J momenta," J. Math. Phys. 16, pp 1961-1970 (1975).

[Luscombe1998]: James H. Luscombe and Marshall Luban, "Simplified recursive algorithm for Wigner 3j and 6j symbols," Phys. Rev. E 57, pp. 7274-7277 (1998).

About

C++ library for Wigner 3j, 6j, 9j symbols and Gaunt coefficients

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published