[Top][All Lists]
[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
<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- [Bug-gsl] Error in 6j symbol routine (gsl_sf_coupling_6j),
Hergert, Heiko <=