Hi, I just came about this bug in gsl_sf_coupling_6j() in GSL 1.13 (haven't checked newer builds).
The check of the triangle conditions (via the routine triangle_selection_fails) doesn't properly rule out all unphysical combinations of angular momenta. For instance gsl_sf_coupling(0, 2, 2, 44, 43, 43) = 0.087039 but the routine should return 0 since this symbol is unphysical: jb=1 and jc=21 cannot be coupled to jf=43/2=21.5 although the triangle tests are nominally satisfied abs(1-21.5)=20.5 <= 21 <= 22.5. A possible fix would be to check if (two_ja + two_jb + two_jc)%2 == 0 ja+jb+jc is always integer in physically allowed couplings (i.e., 2*(ja+jb+jc) must be even). The routine for the 3j symbol is not similarly affected due to the additional m_selection_fails() test. -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> << Heiko Hergert << National Superconducting Cyclotron Laboratory << Michigan State University << << phone: +1 517 908 7472 << mail: [email protected] << www : http://www.nscl.msu.edu <<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________ Bug-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gsl
