WIGSGLL library and program

General Information

WIGSGLL evaluates sequences of Wigner 3j, 6j and 9j symbols accurately using the Luscombe-Luban improvements [1] of the Schulten-Gordon schemes [2].

Type
Scientific software, program package
Language
Program: C. Library interfaces: C
License
WIGSGLL is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
WIGSGLL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with WIGSGLL. If not, see http://www.gnu.org/licenses/.
Main developer
Håkan T. Johansson, Chalmers University of Technology, Sweden
Distributor
Nuclear theory and few-body physics group, Chalmers University of Technology, Sweden
Acknowledgment
The library implements routines based on the following articles:
[1] J. Luscombe and M. Luban, Simplified recursive algorithm for Wigner 3j and 6j symbols, Phys. Rev. E, 57 (1998), pp. 7274-7277.
[2] K. Schulten and R. G. Gordon, Exact recursive evaluation of 3j- and 6j-coefficients for quantum-mechanical coupling of angular momenta, J. Math. Phys, 16 (1975), pp. 1961-1970.

Download

Location
http://fy.chalmers.se/subatom/wigsgll/wigsgll-0.1.tar.gz
Contact
Håkan T. Johansson (f96hajo@chalmers.se)
Version
0.1 (CHANGELOG)
Support
No formal support
Early-release software
Note that WIGSGLL has been written out of curiosity and has not been used in any other program by the author.
The build tests do however compare it rather extensively against WIGXJPF for smaller j.
If you use it in a project (successfully, and also when less so—for improvements), the author would be grateful for any feedback or other information!
Alternatives
Library for fast lookup: FASTWIGXJ.
(If your program uses very many symbols; trades memory for speed - factor 10+.)
Library for individual symbols: WIGXJPF.
(Evaluates usign prime factorisation and multi-word integer arithmetic.)

Documentation

See README (included with download).

Some usage statistics of WIGXJPF/FASTWIGXJ.

Examples

Symbol evaluation
Symbols can be evaluated directly from the command-line after download and unpacking (half integer arguments are given on decimal form, e.g. ½ as 0.5, use --help for more options):
make
bin/wigsgll --6j=2,2,1,2,1,1
bin/wigsgll --6j=x,2,1,2,1,1
C interface usage
Compile with -Ipath-to-wigsgll/inc/ and link with -Lpath-to-wigsgll/lib/ -lwigsgll (note that the evaluation functions take 2* the angular momenta arguments as integers).
#include "wigsgll.h"

#define MAX_VALS  100

int main()
{
  double vals[MAX_VALS];

  int two_min, two_max, two_i;
  int n, i;

  n = wig6jjqdjd(/* */   2*  2 , 2*  1 ,
                 2*  2 , 2*  1 , 2*  1 ,
                 vals, MAX_VALS,
                 &two_min, &two_max);

  for (i = 0, two_i = two_min; i < n; i++, two_i += 2)
    { /* vals[i] contains value for j1 = 0.5 * two_i */}

  return 0;
}
Latest version link
wigsgll-latest.tar.gz

To avoid version numbers in directory name, unpack with:

tar --transform 's/wigsgll-[0-9.]*/wigsgll/' -zxf wigsgll-latest.tar.gz

Comments? f96hajo@chalmers.se

Last modified: Sun Jan 22 13:06:47 CET 2023 by htj