Special Functions

Phi function, from Abramowitz & Stegun (1965) page 258. Motivated by the need of some special functions when writing signal processing code for NMath, we decided to add a suite of special functions to be included in NMath 6.1. While the field of special functions is vast [1], our 41 functions cover many of the most commonly needed functions in physics and engineering. This includes the gamma function and related functions, Bessel functions, elliptic integrals, and more. All special functions in NMath are now organized in a SpecialFunctions class, which is structured similarly to the existing StatsFunctions and NMathFunctions classes.

Special functions list

Below is a complete list of the special functions now available in the SpecialFunctions class which resides in the CenterSpace.NMath.Core name space. Previously a handful of these functions were available in either the NMathFunctions or StatsFunctions classes, but now those functions have been deprecated and consolidated into the SpecialFunctions class. Please update your code accordingly as these deprecated functions will be removed from NMath within two to three release cycles.

Using these special functions in your code is simple.

using namespace CenterSpace.NMath.Core

// Compute the Jacobi function Sn() with a complex argument.
var cmplx = new DoubleComplex( 0.1, 3.3 )
var sn = SpecialFunctions.Sn( cmplx, .3 );  // sn = 0.16134 - i 0.99834

// Compute the elliptic integral, K(m)
var ei = SpecialFunctions.EllipticK( 0.432 ); // ei = 1.80039

Below is a complete list of all NMath special functions.

 

Special Function Comments
EulerGamma A constant, also known as the Euler-Macheroni constant. Famously, rationality unknown.
Airy Provides solutions Ai, Bi, and derivatives Ai’, Bi’ to y” – yz = 0.
Zeta The Riemann zeta function.
PolyLogarithm The Polylogarithm, Li_n(x) reduces to the Riemann zeta for x = 1.
HarmonicNumber The harmonic number is a truncated sum of the harmonic series, closely related to the digamma function.
Factorial n!
FactorialLn The natural log of the factorial, ln( n! ).
Binomial The binomial coefficient, n choose k; The number of ways of picking k unordered outcomes from n possibilities.
BinomialLn The natural log of the binomial coefficient.
Gamma The gamma function, conceptually a generalization of the factorial.
GammaReciprocal The reciprocal of the gamma function.
IncompleteGammaFunction Computes the gamma integral from 0 to x.
IncompleteGammaComplement Computes the gamma integral from x to infinity (and beyond!).
Digamma Also known as the psi function.
GammaLn The natural log of the gamma function.
Beta The beta integral is also known as the Eulerian integral of the first kind.
IncompleteBeta Computes the beta integral from 0 to x in [0,1].
Ei The exponential integral.
Elliptic Integrals
EllipticK The complete elliptic integral, K(m), of the first kind. Note that m is related to the elliptic modulus k with, m = k * k.
EllipticE( m ) The complete elliptic integral, E(m), of the second kind.
EllipticF The incomplete elliptic integral of the first kind.
EllipticE(phi, m) The incomplete elliptic integral of the second kind.
EllipJ Computes the Jacobi elliptic functions Cn(), Sn(), and Dn() for real arguments.
Sn Computes the Jacobi elliptic function Sn() for complex arguments.
Cn Computes the Jacobi elliptic function Cn() for complex arguments.
Bessel Functions
BesselI0 Modified Bessel function of the first kind, order zero.
BesselI1 Modified Bessel function of the first kind, first order.
BesselIv Modified Bessel function of the first kind, non-integer order.
BesselJ0 Bessel function of the first kind, order zero.
BesselJ1 Bessel function of the first kind, first order.
BesselJn Bessel function of the first kind, arbitrary integer order.
BesselJv Bessel function of first kind, non-integer order.
BesselK0 Modified Bessel function of the second kind, order zero.
BesselK1 Modified Bessel function of the second kind, order one.
BesselKn Modified Bessel function of the second kind, arbitrary integer order.
BesselY0 Bessel function of the second kind, order zero.
BesselY1 Bessel function of the second kind, order one.
BesselYn Bessel function of the second kind of integer order.
BesselYv Bessel function of the second kind, non-integer order.
Hypergeometric Functions
Hypergeometric1F1 The confluent hypergeometric series of the first kind.
Hypergeometric2F1 The Gauss or generalized hypergeometric function.

 

Let us know if you need any additional special functions and we’ll see if we can add them.

Mathematically,

Paul Shirkey

References

[1] Abramowitz, M. and Stegun, I. (1965). Handbook of Mathematical Functions. Dover Publications. ( Abramowitz and Stegun PDF )
[2] Wolfram Alpha LLC. (2014). www.wolframalpha.com
[3] Weisstein, Eric W. “[Various Articles]” From MathWorld–A Wolfram Web Resource. http://mathworld.wolfram.com/
[4] Moshier L. Stephen. (1995) The Cephes Math Library. (Cephes).

Leave a Reply

Your email address will not be published. Required fields are marked *

Top