[J3] More Bessel functions

Ondřej Čertík ondrej at certik.us
Tue Jan 19 19:28:38 UTC 2021



On Tue, Jan 19, 2021, at 12:11 PM, Steven G. Kargl via J3 wrote:
> On Tue, Jan 19, 2021 at 10:45:22AM -0800, Van Snyder via J3 wrote:
> > On Tue, 2021-01-19 at 16:38 +0000, Nathan Sircombe via J3 wrote:
> > > They’re not implemented in libm as far as I can tell -
> > > 
> > > https://www.gnu.org/software/libc/manual/html_node/Special-Functions.html
> > > 
> > > …so you don’t get them ‘for free’, although GSL has an
> > > implementation.
> > 
> > There are more things in heaven and earth, Horatio, than are dreamt of
> > in your philosophy.
> > There are more sources of freely-available reliable mathematical
> > software than libm.
> 
> Isn't your second sentence an argument against adding 
> these functions to the Fortran standard?
> 
> As Bill points out, Abramowitz and Stegun is a rather thick
> book on special functions.  It is now updated and available
> for free at https://dlmf.nist.gov.  The NIST site contains links
> to software, e.g., https://dlmf.nist.gov/10.77.  Should the
> Fortran standard include all of the functions covered by NIST?


The main issue here is that we do not have clear criteria how to decide which special functions to include. Currently some special functions are included (and only for a subset of all possible arguments) and some are not.

I asked exactly this question to some members of the J3 committee in the past, and the best answer that I heard is that we simply decide on a case by case basis based on what is the most useful to users, and we balance it with not adding too much into the language as it makes it hard for all compiler vendors to ensure all included special functions return the correct answer (as users last thing we want is to not be able to trust compiler implementation of special functions).

I have created an issue to determine the criteria how to judge what functions to include and in what form:

https://github.com/j3-fortran/fortran_proposals/issues/194

Ondrej


More information about the J3 mailing list