bug-gsl
[Top][All Lists]
Advanced

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

[Bug-gsl] Re: Bug in gsl_sf_hyperg_2F1


From: Andrew Benson
Subject: [Bug-gsl] Re: Bug in gsl_sf_hyperg_2F1
Date: Tue, 24 Aug 2010 15:10:39 -0700
User-agent: KMail/1.13.5 (Linux/2.6.33.6-147.2.4.fc13.i686.PAE; KDE/4.4.5; i686; ; )

On Tuesday, August 24, 2010, Andrew Benson wrote:
> Under GSL 1.14 (compiled with either gcc version 4.4.4 or gcc version
> 4.1.2) the gsl_sf_hyperg_2F1 function crashes with the following
> arguments:
> 
> gsl_sf_hyperg_2F1(-10.34,2.05,3.05,0.1725)
> 
> The expected answer (computed using Maple for example) is 0.3104735522
> 
> I've attached an example case:
> 
> $ g++ test.cpp -o test.x -lgsl -lgslcblas
> $ test.x
> gsl: hyperg_2F1.c:755: ERROR: error
> Default GSL error handler invoked.
> Abort
> 
> The crash seems to occur only when the first argument is less than or equal
> to -10. For example,
> 
> gsl_sf_hyperg_2F1(-10.0,2.05,3.05,0.1725)
> 
> crashes, but
> 
> gsl_sf_hyperg_2F1(-9.99999999999,2.05,3.05,0.1725)
> 
> evaluates correctly to 0.321419346301974773.

Some further investigation shows that this combination of parameters is 
falling through all of the various methods for computing the result in 
gsl_sf_hyperg_2F1_e and hitting the "/* We give up. */" block at the end. 

This seems to be related to http://savannah.gnu.org/bugs/?24812 - if I make 
the changes suggested there (patch attached) then my test code works 
successfully:

$ test.x
= 0.310473552213130111

I haven't checked that this doesn't break anything else (beyond running "make 
check" on the newly compiled code). 


Attachment: hyperg_2F1.c.patch
Description: Text Data


reply via email to

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