Appropriate Recursion relations for Wigner 3j Symbols I am attempting to code the Cosmic Microwave Lensed Temperature and Polarisation power spectra from first principles and have been told to code the relevant Wigner 3j symbols using recursion rather than exact forms for special cases. If anyone knows of good recursion relations that can be coded for the following Wigner 3j symbols, it will be greatly appreciated. Currently I have been coding in python, but since python is too slow, I am thinking of doing this in fortran 90.
$\left(\begin{array}{ccc}
l_{1} & l_{2} & l_{3}\\
0 & 0 & 0
\end{array}\right)$
and 
$\left(\begin{array}{ccc}
l_{1} & l_{2} & l_{3}\\
2 & 0 & -2
\end{array}\right)$
 A: Try these references http://scitation.aip.org/content/aip/journal/jmp/16/10/10.1063/1.522426?ver=pdfcov (Exact recursive evaluation of 3j‐ and 6j‐coefficients for quantum‐mechanical coupling of angular momenta, by K. Schulten1 and R.G. Gordon) and http://journals.aps.org/pre/abstract/10.1103/PhysRevE.57.7274 (Simplified recursive algorithm for Wigner 3j and 6j symbols, by J.H. Luscombe and M. Luban)  which describe the algorithms you may need.
A: I work with the CMB myself and I routinely compute 3J symbols.
As it was pointed out in the comments, the recursion relations in Schulten & Gordon are the way to go.
They are implemented in the SLATEC library, which you can find on Netlib; look for the functions DRC3JJ and DRC3JM.
If, like me, you are allergic to Fortran77, I would suggest the F90 port of the Slatec library by John Burkardt.
Furthermore, I have translated the 3J and 6J routines from Fortran to C; you can find my C port on github. I have tested the C functions extensively and they are reliable.
