[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gsl] Error in 6j symbol routine (gsl_sf_coupling_6j)
From: |
Brian Gough |
Subject: |
Re: [Bug-gsl] Error in 6j symbol routine (gsl_sf_coupling_6j) |
Date: |
Mon, 19 Apr 2010 12:25:45 +0100 |
User-agent: |
Wanderlust/2.14.0 (Africa) Emacs/22.2 Mule/5.0 (SAKAKI) |
At Thu, 15 Apr 2010 15:11:24 -0400,
Hergert, Heiko wrote:
> 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.
Thanks for the bug report, I've logged it in the bug tracker at
https://savannah.gnu.org/bugs/index.php?2960
--
Brian Gough
GNU Scientific Library -
http://www.gnu.org/software/gsl/