Bessel functions of integer order

Bessel functions are defined as linear independent solutions of equation

This equation often arises when solving Laplas and Helmholtz equations in spherical or cylindric coordinates (electromagnetic wave transmission, transmission of heat and diffusion).

Bessel functions of the first kind, denoted as Jα(x), are solutions of Bessel's differential equation that are finite at the origin (x = 0) for non-negative integer α, and diverge as x approaches zero for negative non-integer α. α is referred to as the order of the Bessel function. Bessel function of the second kind is the second solution of Bessel's differential equation (the solutions are linear independent). Bessel functions could be extended on a complex plane. The important special case are modified Bessel functions Iα(x) and Kα(x) - linear combinations of pure imaginary arguments which possess real values.

Subroutines in this module calculate the values of Bessel functions of integer order. Bessel functions of fractional order could be calculated by using the subroutines from another module.

BesselJ0, BesselJ1 and BesselJN subroutines calculate the Bessel functions of the first kind of 0th, 1st and N-th order. BesselY0, BesselY1 and BesselYN subroutines calculate the Bessel functions of the second kind of 0th, 1st and N-th order. BesselI0 and BesselI1 subroutines calculate the modified Bessel functions of the first kind of 0th and 1st order. BesselK0, BesselK1 and BesselKN subroutines calculate the modified Bessel functions of the second kind of 0th, 1st and N-th order.

Piecewise rational approximation and Chebyshev polynomial approximation are used to calculate functions of 0th and 1st order, forward and backward recurrence and series expansion are used for higher order functions.

This article is licensed for personal use only.

Download ALGLIB for C++ / C# / Java / Python / ...

ALGLIB Project offers you two editions of ALGLIB:

ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license

ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan

Links to download sections for Free and Commercial editions can be found below:

ALGLIB 4.01.0 for C++

C++ library.
Delivered with sources.
Monolithic design.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for C#

C# library with native kernels.
Delivered with sources.
VB.NET and IronPython wrappers.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for Java

Java wrapper around HPC core.
Delivered with sources.
Seamless integration with Java.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for Delphi

Delphi wrapper around C core.
Delivered as precompiled binary.
Compatible with FreePascal.
Editions:   FREE   COMMERCIAL

ALGLIB 4.01.0 for CPython

CPython wrapper around C core.
Delivered as precompiled binary.
Editions:   FREE   COMMERCIAL