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

Submitter:  Patrick Alken <psa>
Submitted:  Fri 19 Sep 2014 04:17:55 PM UTC
Category:  Runtime error Severity:  3 - Normal
Operating System:  Status:  Fixed
Assigned to:  None Open/Closed:  Closed

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

Patch applied to commit 97766069a1b217fdbc06a379937be15e9b50109a

Patrick Alken <psa>
Group 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>
Group 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>
Group 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>
Group 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>
Group administrator


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

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
  • -email is unavailable- added by psa (Submitted the item)

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-10-28 psa StatusNone Fixed
        Open/ClosedOpen Closed
    2014-10-03 psa Attached File#32215 Removed
    2014-10-03 psa Attached File- Added test_hyperg.c, #32217
    2014-10-02 psa Attached File- Added hyperg_U.c, #32214
        Attached File- Added test_hyperg.c, #32215

    Back to the top

    Powered by Savane 3.12.
    Corresponding source code