bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] Error in 6j symbol routine (gsl_sf_coupling_6j)


From: Hergert, Heiko
Subject: [Bug-gsl] Error in 6j symbol routine (gsl_sf_coupling_6j)
Date: Thu, 15 Apr 2010 15:11:24 -0400
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

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: address@hidden
<< www : http://www.nscl.msu.edu
<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]