bugGNU Scientific Library - Bugs: bug #58032, gsl_sf_hyperg_1F1 returning...


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

bug #58032: gsl_sf_hyperg_1F1 returning incorrect result for nonpositive integers

Submitter:  Jackson Vanover <jacksonvanover>
Submitted:  Mon 23 Mar 2020 11:25:16 PM UTC
Category:  Accuracy problem Severity:  3 - Normal
Operating System:  Ubuntu 18.04 Status:  None
Assigned to:  None Open/Closed:  Open
Release:  2.6

Mon 23 Mar 2020 11:32:58 PM UTC, comment #1: 

Additionally, the documentation should be updated to reflect the fact that the function is undefined for nonpositive integers

Jackson Vanover <jacksonvanover>
Mon 23 Mar 2020 11:25:16 PM UTC, original submission:  

Using version 2.6 of GSL from ftp://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz

OS is Ubuntu 18.04.2 LTS

Hardware is a Dell workstation with a 3.60 GHz Intel i7-4790 and 32 GB
of RAM

Compiler is gcc 7.4.0 with the -w option

When evaluating gsl_sf_hyperg_1F1 or gsl_sf_hyperg_1F1_int with b=0
and x=0, the return is consistently 1 even though the confluent
hypergeometric function does not exist when b is a nonpositive integer
(see https://dlmf.nist.gov/13.2)

#include <gsl/gsl_sf.h>
#include <stdio.h>
#include <gsl/gsl_math.h>
#include <float.h>

int main (void){
        double out1, out2;

        out1 = gsl_sf_hyperg_1F1(2, 0, 0);
        out2 = gsl_sf_hyperg_1F1_int(2, 0, 0);

        printf("%.*f\n", DBL_DIG-1, out1);
        printf("%.21e\n", out1);

        printf("%.*f\n", DBL_DIG-1, out2);
        printf("%.21e\n", out2);
        return 0;

Jackson Vanover <jacksonvanover>


(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


Carbon-Copy List
  • -email is unavailable- added by jacksonvanover (Submitted the item)

    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-12ab.
    Corresponding source code