Skip to content
A C++ library to evaluate Bessel functions of all kinds.
Fortran C++ Python CMake TeX Shell C
Branch: master
Clone or download


Join the chat at DOI

A C++ library to evaluate Bessel functions of all kinds. More information can be found on the website.


C++ library that acts as a wrapper for the Fortran subroutines developed by D.E. Amos. The library provides functionality to compute the Bessel, Hankel and Airy functions of complex argument and real order. Negative orders are implemented via the standard formulae.

We provide a shared object library and header files to be included.

Compilation instructions

The library uses CMake for compilation. The user should thus install CMake on their machine. On Ubuntu and other Debian-based OSes, this can be done by running

sudo apt-get install cmake

On Arch Linux

sudo pacman -S cmake

The user should then run


which will create a build/ directory and run make automatically. When you are ready to install the files, just run

cd build
sudo make install

The library will be installed to /usr by default. To change it, you will have to run cmake manually like so:

cmake -DCMAKE_INSTALL_PREFIX=/path/of/install/dir

Other similar libraries

The FORTRAN library that is used as the main driver for the computation of Bessel functions is also used in

Boost has its own implementation of the Bessel functions, but only supports real values for the argument.

If arbitrary precision is needed, the arb library supports the computation of many special functions, including Bessel functions.


Contours of Hankel function

You can’t perform that action at this time.