GNU Scientific Library - Bugs: bug #37209, gsl_sf_bessel_jl_e returns NaN for...
You are not allowed to post comments on this tracker with your current authentication level.
bug #37209: gsl_sf_bessel_jl_e returns NaN for large inputs without setting error code
Submitter: | Rhys Ulerich <rhysu> | ||
Submitted: | Tue 28 Aug 2012 02:15:22 PM UTC | ||
Category: | Accuracy problem | Severity: | 3 - Normal |
Operating System: | Status: | None | |
Assigned to: | None | Open/Closed: | Open |
Release: |
Fri 04 Oct 2013 05:39:56 PM UTC, comment #2: |
Patrick Alken <psa> |
Mon 23 Sep 2013 03:46:15 PM UTC, comment #1: A related bug report from JE Campagne (campagne@lal.in2p3.fr):
|
Patrick Alken <psa> |
Tue 28 Aug 2012 02:15:22 PM UTC, original submission:
From: -email is unavailable- Jakub Benda
|
Rhys Ulerich <rhysu> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Follow 2 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2012-08-28 | rhysu | Carbon-Copy | - | Added -email is unavailable- | |
Carbon-Copy | - | Added -email is unavailable- |
Powered by Savane 3.13-cf05.
Corresponding source code
The two issues below are in fact separate bugs in the spherical bessel code.
The bug report from 28 Aug 2012 involves an instability condition in the downward recurrence relation after computing the CF1 continued fraction. This instability appears when x is small relative to l. There is a short discussion of this in Numerical Recipes, but I have been unable to find a fully acceptable solution in the literature. Many other bessel codes are susceptable to this same bug (including NR and Barnett's SBESJY.F routine).
I was able to fix this particular test case by starting with a smaller initial value to the recurrence relation, which delays (but does not completely fix) the overflow condition. The code now works for l = 364, x = 36.62, however there are probably other combinations of large l, small x which will cause an overflow in the downward recurrence.
This is partially fixed in rev 4850.
------
The bug report from 23 Sep 2013 involves a different branch of the code and the gsl_sf_bessel_IJ_taylor_e function - this is still open.