bugGNU Scientific Library - Bugs: bug #58067, Missing asymptotic behavior of the...

 
 

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

bug #58067: Missing asymptotic behavior of the airy Ai function

Submitter:  Jackson Vanover <jacksonvanover>
Submitted:  Sat 28 Mar 2020 05:28:49 PM UTC
   
 
Category:  Accuracy problem Severity:  3 - Normal
Operating System:  Ubuntu 18.04 Status:  None
Assigned to:  None Open/Closed:  Open
Release:  2.6

Sat 28 Mar 2020 11:11:49 PM UTC, comment #1: 

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
>
> As the airy Ai function approaches positive infinity, its output goes to
> zero. The mathematical libraries mpmath, scipy, and jmat all represent
> this behavior, returning zero for large arguments (somewhere just
> past 100). On the other hand, GSL invokes the error handler with an
> underflow error, even though the proper behavior (theoretically) seems
> straightforward to represent


I don't know anything about that function in detail other than that it does indeed appear to approach zero as you say.  But it isn't exactly zero, and therefore it seems to me that the GSL behavior is correct.  If I intended to approximate the value past some point I would expect to have to do that at the level of the caller of this routine.

Britton

Britton Kerin <bkerin>
Sat 28 Mar 2020 05:28:49 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

As the airy Ai function approaches positive infinity, its output goes to
zero. The mathematical libraries mpmath, scipy, and jmat all represent
this behavior, returning zero for large arguments (somewhere just
past 100). On the other hand, GSL invokes the error handler with an
underflow error, even though the proper behavior (theoretically) seems
straightforward to represent

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

int main (void){
        double out;
        out = gsl_sf_airy_Ai(113, GSL_PREC_DOUBLE);

        printf("%.*f\n", DBL_DIG-1, out);
        printf("%.21e\n", out);
        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 bkerin (Posted a comment)
  • -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-f8d8.
    Corresponding source code