bugGNU Scientific Library - Bugs: bug #43258, confluent hypergeometric functions


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

bug #43258: confluent hypergeometric functions

Submitted by:  Patrick Alken <psa>
Submitted on:  Fri 19 Sep 2014 04:17:55 PM UTC  
Category: Runtime errorSeverity: 3 - Normal
Operating System: Status: Fixed
Assigned to: NoneOpen/Closed: Closed

Wed 28 Oct 2015 03:20:13 PM UTC, comment #4:

Patch applied to commit 97766069a1b217fdbc06a379937be15e9b50109a

Patrick Alken <psa>
Project Administrator
Fri 03 Oct 2014 05:34:18 PM UTC, comment #3:

Thanks for reminding me about the testing. I fixed the Confluent
Hypergeometric U() errors for my tests; but neglected to revise
test_hyperg.c by killing the U() fixme's. I have now done that and the
tests all succed for U(). I will send you the modified test_hyperg.c;
the other file hyperg_U.c is unchanged. It should be reviewed and
double checked on another system. If it passes then somebody can take
out the "fixme" for U() permanently.
I have done nothing for M() except try to find out where the egregious
errors are and understand them. I haven't even figured out how to fix
the thing I mentioned below; I will probably try killing the Kummer
Transform and see how bad the regular summation is with x<0 ; otherwise ...

(file #32217)

Patrick Alken <psa>
Project Administrator
Mon 29 Sep 2014 05:47:02 PM UTC, comment #2:

Out in the middle of similar tests we have:
TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (-10, -20, -100.0, &r),
1.64284868563391159e-35, TEST_TOL2, GSL_SUCCESS);
1.64...e-35 is undoubtedly wrong.
The answer as per DAMath, mpmath, and Mathematica is


Patrick Alken <psa>
Project Administrator
Mon 29 Sep 2014 05:43:47 PM UTC, comment #1:

I believe that these are all I have modified. BTW: these are against
version 1.15.91 ; if you want them embedded into another version let me
know. The code blocks are chunks.

Patrick Alken <psa>
Project Administrator
Fri 19 Sep 2014 04:17:55 PM UTC, original submission:

From raymond dot rogers72 =at= gmail dot com

If you will check you will find that
hyperg_U.c fails for U(a,a-1,1) a>5
hyperg_U.c fails for U(2,b,1) for b< -2 (with occasional holes due to
These can be checked through gsl-shell, gsl-shell-gui, or I have a
command line interface.

I believe there is a choke point for the error at the start of
hyperg_U_series. There are a couple of sources to it and a couple of
crashes afterwards. A fix should be 13.2.8 in DLMF. I would like to
discuss this with somebody who has experience with this code before I
spend much time on the fix.
This should also fix a couple of "unimplemented cases"
I also have a spreadsheet and program comparing test cases from GSL,
mpmath, and DAMath; for Confluent Hypergeometric tests. Not complete
yet but it 700 (or so) instances.

Patrick Alken <psa>
Project Administrator


Attached Files
file #32217:  test_hyperg.c added by psa (53KiB - text/x-csrc)
file #32214:  hyperg_U.c added by psa (58KiB - text/x-csrc)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by psa (Submitted the item)

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



    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 28 Oct 2015 03:20:13 PM UTCpsaStatusNone=>Fixed
    Fri 03 Oct 2014 05:34:43 PM UTCpsaAttached File#32215=>Removed
    Fri 03 Oct 2014 05:34:18 PM UTCpsaAttached File-=>Added test_hyperg.c, #32217
    Thu 02 Oct 2014 04:58:05 PM UTCpsaAttached File-=>Added hyperg_U.c, #32214
      Attached File-=>Added test_hyperg.c, #32215

    Back to the top

    Powered by Savane 3.1-cleanup1