bugGNU Scientific Library - Bugs: bug #28718, gsl_sf_hyperg_1F1(-1.5,1.5,-100)...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #28718: gsl_sf_hyperg_1F1(-1.5,1.5,-100) catastrophic cancellation in series

Submitter:  -Deleted Account- <bjg>
Submitted:  Sat 23 Jan 2010 02:09:25 PM UTC
   
 
Category:  Accuracy problem Severity:  3 - Normal
Operating System:  Status:  Fixed
Assigned to:  bjg Open/Closed:  Closed
Release:  1.13

Sat 23 Jan 2010 02:16:20 PM UTC, comment #1: 

fixed by commit 7dc52adec443dbb8e66848f1ca636980a34d1e5c

-Deleted Account- <bjg>
Sat 23 Jan 2010 02:09:25 PM UTC, original submission:  

From: Lorenzo Moneta <Lorenzo.Moneta@cern.ch>
To: <bug-gsl@gnu.org>
CC: Weibin Li <weibinli@mpipks-dresden.mpg.de>, Brian Gough <bjg@network-theory.co.uk>
Subject: Re: [Bug-gsl] gsl_sf_hyperg_1F1
Date: Thu, 21 Jan 2010 16:12:45 +0100

Hello,

 I have found a similar problem, probably related to the inaccuracy in the series calculation of
the hypergeometric function for
gsl_sf_hyperg_1F1( a < 0, b > 0, x << 0).

For example :

  gsl_sf_hyperg_1F1(-1.5, 1.5, - 99.9)  returns the correct value of  4.55768964383819423e+02

while gsl_sf_hyperg_1F1(-1.5, 1.5, -100.) returns -1.13760e+20 when the correct value is 456.44  (from Mathematica)

I think the Kummer formula (    1F1(a,b,x) = exp(-x) * 1F1(b-a,b,-x) could be used for larger value of |x| ( at least works for |x| = 700), while
the current cut-off is for |x| < 100.

 Best Regards

 Lorenzo

-Deleted Account- <bjg>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Follow 2 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2010-01-23 bjg StatusConfirmed Fixed
    Open/ClosedOpen Closed

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code