Bessel and Airy Functions
Bessel functions are named after Friedrich Wilhelm Bessel, a German mathematician, who published the first in-depth study of their properties in 1816. They appear in many shapes and sizes in physics, including the vibration patterns of cylindrical drums, the 3-body problem in celestial mechanics, hydrodynamics, and even warp field equations.
The Special class contains static methods for evaluating Bessel function and variants of Bessel functions as well as selected zeroes.
Regular Bessel functions
Bessel functions arise as the solutions of the Bessel differential equation:
$$x^2y'' + xy' + (x^2-n^2)y = 0$$where n is usually an integer. This equation appears when solving certain partial differential equations over a cylindrical domain.
For each value of n, the order, there are two independent solutions. These are called Bessel functions of the first kind and Bessel functions of the second kind, also known as Neumann functions.
The Special class contains static methods for evaluating these functions for arbitrary integer or real order for real and complex arguments, as listed in the table below.
Method | Description |
---|---|
Bessel function of the first kind of order zero. | |
Bessel function of the first kind of order one. | |
Bessel function of the first kind of integer order n. | |
Bessel function of the first kind of real order ν. | |
Bessel function of the second kind of order zero. | |
Bessel function of the second kind of order one. | |
Bessel function of the second kind of integer order n. | |
Bessel function of the second kind of real order ν. |
In addition, several methods return delegates that evaluate a Bessel function for fixed order:
Method | Description |
---|---|
Returns a delegate that evaluates the Bessel function of the first kind of the specified fixed integer order n. | |
Returns a delegate that evaluates the Bessel function of the first kind for the specified fixed real order ν. | |
Returns a delegate that evaluates the Bessel function of the second kind of the specified fixed integer order n. | |
Returns a delegate that evaluates the Bessel function of the second kind for the specified fixed real order ν. |
Hankel functions
The Hankel function of the first kind is a complex function whose real part is the Bessel function of the first kind, and the imaginary part is the Bessel function of the second kind. The Hankel function of the second kind is the complex conjugate of the first Hankel function:
$$\begin{align}H^{(1)}_\nu(z)=J_\nu(z)+\mathrm{i} Y_\nu(z),H^{(1)}_\nu(z)=J_\nu(z)-\mathrm{i} Y_\nu(z)\\\end{align}$$These definitions in terms of the real Bessel functions are extended to complex arguments.
Zeroes of Bessel functions
In many applications, the zeroes of Bessel functions are needed. The BesselJZero(Double, Int32) and BesselYZero(Double, Int32) return real zeros of the Bessel function of the first and second kind, respectively. The first argument is the order of the Bessel function. The second argument is the zero-based index of the zero. The count starts from the first strictly positive zero.
Modified Bessel Functions
Modified Bessel functions arise as the solutions of the following differential equation:
$$x^2y''+xy'-(x^2-n^2)y = 0$$where n is again usually an integer. The two independent solutions of this equation are called the modified Bessel functions of the first and second kind.
The modified Bessel functions of the first kind increase exponentially with increasing real part of the argument. For this reason, they are often scaled by a factor \(\exp(-|\Re(z)|)\). Likewise, the modified Bessel functions of the second kind decrease exponentially with increasing modulus of the argument and are often scaled by a factor \(\exp(|z|)\).
The Special class also provides static methods for evaluating standard and scaled versions of the modified Bessel function of the first and second kind of arbitrary integer order for real arguments, as listed in the table below
Method | Description |
---|---|
Modified Bessel function of the first kind of order zero. | |
Scaled modified Bessel function of the first kind of order zero. | |
Modified Bessel function of the first kind of order one. | |
Scaled modified Bessel function of the first kind of order one. | |
Modified Bessel function of the first kind of real order. | |
Scaled modified Bessel function of the first kind of real order. | |
Modified Bessel function of the second kind of order zero. | |
Scaled modified Bessel function of the second kind of order zero. | |
Modified Bessel function of the second kind of order one. |
Spherical Bessel Functions
Spherical Bessel functions are closely related to ordinary Bessel functions of half-integer order. The Special class also provides static methods for evaluating standard and scaled versions of the modified Bessel function of the first and second kind of arbitrary integer order for real arguments, as listed in the table below.
Method | Description |
---|---|
Spherical Bessel function of the first kind. | |
Spherical Bessel function of the second kind. |
Airy Functions
Closely related to the Bessel functions are the two Airy functions, Ai and Bi. These arise in a number of applications in physics and engineering as two linearly independent solutions of the differential equation
$$y'' - xy = 0$$Other solutions to this equation are a linear combination of the two standard Airy functions.
The Special class provides static methods for evaluating the Airy functions and their first derivative. The methods are listed in table 4 below.
Method | Description |
---|---|
Airy function Ai(x). | |
Airy function Ai(z) of a complex argument. | |
Airy function Bi(x). | |
Airy function Bi(z) of a complex argument. | |
First derivative of the Airy function Ai(x). | |
First derivative of the Airy function Ai(z) of a complex argument. | |
First derivative of the Airy function Bi(x). | |
First derivative of the Airy function Bi(z) of a complex argument. |
Kelvin Functions
The Kelvin functions are defined as the real and imaginary parts of Bessel functions of the first kind (Kelvin functions of the first kind) or modified Bessel functions of the first kind (Kelvin functions of the second kind) along a bisector of the real and imaginary axis in the complex plane.
The Special class provides static methods for evaluating the Kelvin functions and their first derivative. The methods are listed in table 5 below. Each method has two overloads. With two arguments, the first argument is the order of the Kelvin function and the second argument is the value at which to evaluate the function. When there is only one argument, the order of the Kelvin function is taken to be zero.
Method | Description |
---|---|
Kelvin function of the first kind be(x). | |
Real part ber(x) of the Kelvin function of the first kind. | |
Imaginary part bei(x) of the Kelvin function of the first kind. | |
First derivative be'(x) of the Kelvin function of the first kind. | |
Real part ber'(x) of the first derivative of the Kelvin function of the first kind. | |
Imaginary part bei'(x) of the first derivative of the Kelvin function of the first kind. | |
Kelvin function of the second kind, ke(x). | |
Real part ker(x) of the Kelvin function of the second kind. | |
Imaginary part kei(x) of the Kelvin function of the second kind. | |
First derivative ke'(x) of the Kelvin function of the second kind. | |
Real part ker'(x) of the first derivative of the Kelvin function of the second kind. | |
Imaginary part Kei'(x) of the first derivative of the Kelvin function of the second kind. |
Zeros of Bessel and Airy Functions
The Special class provides static methods for evaluating the zeros of Bessel functions of the first and second kind, and of both Airy functions. For Bessel functions, the order must be supplied as the first argument. The second argument is the index of the zero. For Airy functions, the index of the zero is the only argument. The methods are listed below.
Method | Description |
---|---|
Zero of the Bessel function Jν(x). | |
Zero of the Bessel function Yν(x). | |
Zero of Airy function Ai(x). | |
Zero of function Bi(x). |