Thanks for the report. If you are able to fix the issue and send a patch that would be great, otherwise it could take a while for one of us to look into this.

On 09/19/2014 06:45 AM, Anders Søndergaard wrote:
URL:
   <http://savannah.gnu.org/bugs/?43256>

                  Summary: gsl_sf_coupling_6j overflows
                  Project: GNU Scientific Library
             Submitted by: andersas
             Submitted on: Fri 19 Sep 2014 12:45:52 PM GMT
                 Category: Runtime error
                 Severity: 3 - Normal
         Operating System: Ubuntu linux
                   Status: None
              Assigned to: None
              Open/Closed: Open
                  Release: 1.16 (ubuntu latest)
          Discussion Lock: Any

     _______________________________________________________

Details:

I need to calculate 6-j symbols for somewhat large J.
For example the symbol:

(14, 16, 16
  78, 62, 76) = 6/1739*sqrt(16971005238954/1556382731177197) = 0.000360286

but this fails because gsl_sf_fact overflows.
It is used internally in gsl_sf_coupling_6j.


I have looked a bit at the code, and I think in these large
cases it is possible to work with the logarithm of the factorials
and in the end exponentiate.

Other libraries I have tested also gets these symbols wrong (but silently
returns the wrong value),
except pythons sympy, which calculates the symbols as the square root of a
rational number.

I would rather not interface my Fortran program with Python.






     _______________________________________________________

Reply to this item at:

   <http://savannah.gnu.org/bugs/?43256>

_______________________________________________
   Message sent via/by Savannah
   http://savannah.gnu.org/




Reply via email to