bugGNU Scientific Library - Bugs: bug #23101, gsl_cdf_chisq_Pinv inverse failed...


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

bug #23101: gsl_cdf_chisq_Pinv inverse failed to converge

Submitted by:  -Deleted Account- <bjg>
Submitted on:  Tue 29 Apr 2008 01:36:20 PM UTC  
Category: Accuracy problemSeverity: 3 - Normal
Operating System: Status: Fixed
Assigned to: -Deleted Account- <bjg>Open/Closed: Closed
Release: 1.11

Tue 29 Apr 2008 01:39:36 PM UTC, comment #1:

fixed by 6d5d363d069aa108b351dff86872f7e10137f496

-Deleted Account- <bjg>In charge of this item.
Tue 29 Apr 2008 01:36:20 PM UTC, original submission:

While testing my use of gsl_cdf_chisq_Pinv I ran into the following
error message.

gsl: gammainv.c:105: ERROR: inverse failed to converge
Default GSL error handler invoked.

I looked into this and discovered the issue is in the routine
cdf/gammainv.c. When nu = 1.93238145206123590e-01 and nu = 0.75, the
number of allowed iterations at line 78 is too small. That is, I
change the line from

if (dP == 0.0 || n++ > 32)


if (dP == 0.0 || n++ > 40)

and it no longer fails. In fact, the problem is most likely in line
60, which is

double x0 = (xg < -sqrt (a)) ? a : sqrt (a) * xg + a;

For nu = 1.5 and around P = 1.93238145206123590e-01, xg is very close
to -sqrt( a ), and the guess x0 can jump from a = 0.75 to 0.

Bret Beck

-Deleted Account- <bjg>In charge of this item.


Attached Files
file #15549:  bug.c added by bjg (528B - text/x-csrc)


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Please enter the title of George Orwell's famous dystopian book (it's a date):



Follow 3 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Tue 29 Apr 2008 01:40:00 PM UTCbjgOpen/ClosedOpen=>Closed
Tue 29 Apr 2008 01:39:36 PM UTCbjgStatusConfirmed=>Fixed
Tue 29 Apr 2008 01:36:20 PM UTCbjgAttached File-=>Added bug.c, #15549

Back to the top

Powered by Savane 3.1-cleanup1