Johansson, H T
We present an efficient implementation for the evaluation of Wigner 3j, 6j, and 9j symbols. These represent numerical transformation coefficients that are used in the quantum theory of angular momentum. They can be expressed as sums and square roots of ratios of integers. The integers can be very large due to factorials. We avoid numerical precision loss due to cancellation through the use of multi-word integer arithmetic for exact accumulation of all sums. A fixed relative accuracy is maintained as the limited number of floating-point operations in the final step only incur rounding errors in the least significant bits. Time spent to evaluate large multi-word integers is in turn reduced by using explicit prime factorisation of the ingoing factorials, thereby improving execution speed. Comparison with existing routines shows the efficiency of our approach and we therefore provide a computer code based on this work.