Modernisation of a library for special mathematical functions

As a hobby project I have been working on the code by W. Fullerton, as found on www.netlib.org, to modernise the implementation of such mathematical functions as the Airy, Beta and modified Bessel functions. See https://github.com/arjenmarkus/specfunc-fullerton. Currently limited to single-precision, but the original library also contains double-precision and complex implementations and modernising these will be a next step…

It may or may not be useful, as there are several such libraries around. I found the methods used to approximate these functions quite intriguing, which was one of the motivations to do this.

4 Likes

Good to see your effort. I have been working on special functions (#625) for fortran stdlib as a continuation of other projects(#278, #286). I think it is useful to have a library containing all allowed precision for real and complex arguments.

Note: I rely almost completely but not quite on the netlib implementation. It does not have a double complex version as far as I have found. Perhaps that can be constructed, once I have done the double precision and the complex versions ;).

You might want to look at GitHub - heltonmc/Bessels.jl: Bessel's functions written in Julia. It’s not complete yet, but for the functions it supports, it has implemented a number of the more recently published techniques which for some of the functions is a major performance win.

I will keep that in mind! Thanks.