Click or drag to resize
Accord.NET (logo)

Bessel Class

Bessel functions.
Inheritance Hierarchy
SystemObject
  Accord.MathBessel

Namespace:  Accord.Math
Assembly:  Accord.Math (in Accord.Math.dll) Version: 3.8.0
Syntax
public static class Bessel
Request Example View Source

The Bessel type exposes the following members.

Methods
  NameDescription
Public methodStatic memberCode exampleI(Double)
Bessel function of the first kind, of order 1.
Public methodStatic memberCode exampleI(Int32, Double)
Bessel function of the first kind, of order n.
Public methodStatic memberCode exampleI0
Bessel function of the first kind, of order 0.
Public methodStatic memberCode exampleJ(Double)
Bessel function of order 1.
Public methodStatic memberCode exampleJ(Int32, Double)
Bessel function of order n.
Public methodStatic memberCode exampleJ0
Bessel function of order 0.
Public methodStatic memberCode exampleY(Double)
Bessel function of the second kind, of order 1.
Public methodStatic memberCode exampleY(Int32, Double)
Bessel function of the second kind, of order n.
Public methodStatic memberCode exampleY0
Bessel function of the second kind, of order 0.
Top
Remarks

Bessel functions, first defined by the mathematician Daniel Bernoulli and generalized by Friedrich Bessel, are the canonical solutions y(x) of Bessel's differential equation.

Bessel's equation arises when finding separable solutions to Laplace's equation and the Helmholtz equation in cylindrical or spherical coordinates. Bessel functions are therefore especially important for many problems of wave propagation and static potentials. In solving problems in cylindrical coordinate systems, one obtains Bessel functions of integer order (α = n); in spherical problems, one obtains half-integer orders (α = n+1/2). For example:

  • Electromagnetic waves in a cylindrical waveguide
  • Heat conduction in a cylindrical object
  • Modes of vibration of a thin circular (or annular) artificial membrane (such as a drum or other membranophone)
  • Diffusion problems on a lattice
  • Solutions to the radial Schrödinger equation (in spherical and cylindrical coordinates) for a free particle Solving for patterns of acoustical radiation Frequency-dependent friction in circular pipelines

Bessel functions also appear in other problems, such as signal processing (e.g., see FM synthesis, Kaiser window, or Bessel filter).

This class offers implementations of Bessel's first and second kind functions, with special cases for zero and for arbitrary n.

References:

  • Cephes Math Library, http://www.netlib.org/cephes/
  • Wikipedia contributors, "Bessel function,". Wikipedia, The Free Encyclopedia. Available at: http://en.wikipedia.org/wiki/Bessel_function

Examples
// Bessel function of order 0
actual = Bessel.J0(1);  //  0.765197686557967
actual = Bessel.J0(5);  // -0.177596771314338

// Bessel function of order n
double j2  = Bessel.J(2, 17.3); // 0.117351128521774
double j01 = Bessel.J(0, 1);    // 0.765197686557967
double j05 = Bessel.J(0, 5);    // -0.177596771314338


// Bessel function of the second kind, of order 0.
double y0 = Bessel.Y0(64);   // 0.037067103232088

// Bessel function of the second kind, of order n.
double y2 = Bessel.Y(2, 4);  // 0.215903594603615
double y0 = Bessel.Y(0, 64); // 0.037067103232088
See Also