Special Functions

The Wolfram System includes all the common special functions of mathematical physics found in standard handbooks. Each of the various classes of functions is discussed in turn.

One point you should realize is that in the technical literature there are often several conflicting definitions of any particular special function. When you use a special function in the Wolfram System, therefore, you should be sure to look at the definition given here to confirm that it is exactly what you want.

The Wolfram System gives exact results for some values of special functions:

Gamma[15/2]

No exact result is known here:

Gamma[15/7]

A numerical result, to arbitrary precision, can nevertheless be found:

N[%,40]

You can give complex arguments to special functions:

Gamma[3+4I]//N

Special functions automatically get applied to each element in a list:

Gamma[{3/2,5/2,7/2}]

The Wolfram System knows analytic properties of special functions, such as derivatives:

D[Gamma[x],{x,2}]

You can use (RefLink[FindRoot, paclet:ref/FindRoot]) to find roots of special functions:

FindRoot[BesselJ[0,x],{x,1}]

Special functions in the Wolfram System can usually be evaluated for arbitrary complex values of their arguments. Often, however, the defining relations given in this tutorial apply only for some special choices of arguments. In these cases, the full function corresponds to a suitable extension or analytic continuation of these defining relations. Thus, for example, integral representations of functions are valid only when the integral exists, but the functions themselves can usually be defined elsewhere by analytic continuation.

As a simple example of how the domain of a function can be extended, consider the function represented by the sum (∑_(k=0)^∞)(x^k). This sum converges only when |x|<1. Nevertheless, it is easy to show analytically that for any x, the complete function is equal to 1/(1-x). Using this form, you can easily find a value of the function for any x, at least so long as x≠1.

Gamma and Related Functions

Gamma and related functions.

The Euler gamma function (RefLink[Gamma, paclet:ref/Gamma])[z] is defined by the integral Γ(z)==(∫_0^∞)(t^(z-1))(e^(-t))dt. For positive integer n, Γ(n)==(n-1)!. Γ(z) can be viewed as a generalization of the factorial function, valid for complex arguments z.

There are some computations, particularly in number theory, where the logarithm of the gamma function often appears. For positive real arguments, you can evaluate this simply as (RefLink[Log, paclet:ref/Log])[(RefLink[Gamma, paclet:ref/Gamma])[z]]. For complex arguments, however, this form yields spurious discontinuities. The Wolfram System therefore includes the separate function (RefLink[LogGamma, paclet:ref/LogGamma])[z], which yields the logarithm of the gamma function with a single branch cut along the negative real axis.

The Euler beta function (RefLink[Beta, paclet:ref/Beta])[a,b] is Β(a,b)==Γ(a)Γ(b)/Γ(a+b)==(∫_0^1)(t^(a-1))(((1-t))^(b-1))dt.

The Pochhammer symbol or rising factorial (RefLink[Pochhammer, paclet:ref/Pochhammer])[a,n] is (Subscript[(a), n])==a(a+1)…(a+n-1)==Γ(a+n)/Γ(a). It often appears in series expansions for hypergeometric functions. Note that the Pochhammer symbol has a definite value even when the gamma functions that appear in its definition are infinite.

The incomplete gamma function (RefLink[Gamma, paclet:ref/Gamma])[a,z] is defined by the integral Γ(a,z)==(∫_z^∞)(t^(a-1))(e^(-t))dt. The Wolfram System includes a generalized incomplete gamma function (RefLink[Gamma, paclet:ref/Gamma])[a,(Subscript[z, 0]),(Subscript[z, 1])] defined as (∫_(Subscript[z, 0])^(Subscript[z, 1]))(t^(a-1))(e^(-t))dt.

The alternative incomplete gamma function γ(a,z) can therefore be obtained in the Wolfram System as (RefLink[Gamma, paclet:ref/Gamma])[a,0,z].

The incomplete beta function (RefLink[Beta, paclet:ref/Beta])[z,a,b] is given by (Subscript[Β, z])(a,b)==(∫_0^z)(t^(a-1))(((1-t))^(b-1))dt. Notice that in the incomplete beta function, the parameter z is an upper limit of integration, and appears as the first argument of the function. In the incomplete gamma function, on the other hand, z is a lower limit of integration, and appears as the second argument of the function.

In certain cases, it is convenient not to compute the incomplete beta and gamma functions on their own, but instead to compute regularized forms in which these functions are divided by complete beta and gamma functions. The Wolfram System includes the regularized incomplete beta function (RefLink[BetaRegularized, paclet:ref/BetaRegularized])[z,a,b] defined for most arguments by I(z,a,b)==Β(z,a,b)/Β(a,b), but taking into account singular cases. The Wolfram System also includes the regularized incomplete gamma function (RefLink[GammaRegularized, paclet:ref/GammaRegularized])[a,z] defined by Q(a,z)==Γ(a,z)/Γ(a), with singular cases taken into account.

The incomplete beta and gamma functions, and their inverses, are common in statistics. The inverse beta function (RefLink[InverseBetaRegularized, paclet:ref/InverseBetaRegularized])[s,a,b] is the solution for z in s==I(z,a,b). The inverse gamma function (RefLink[InverseGammaRegularized, paclet:ref/InverseGammaRegularized])[a,s] is similarly the solution for z in s==Q(a,z).

Derivatives of the gamma function often appear in summing rational series. The digamma function (RefLink[PolyGamma, paclet:ref/PolyGamma])[z] is the logarithmic derivative of the gamma function, given by ψ(z)==Γ'(z)/Γ(z). For integer arguments, the digamma function satisfies the relation ψ(n)==-γ+(Subscript[H, n-1]), where γ is Euler's constant ((RefLink[EulerGamma, paclet:ref/EulerGamma]) in the Wolfram System) and (Subscript[H, n]) are the harmonic numbers.

The polygamma functions (RefLink[PolyGamma, paclet:ref/PolyGamma])[n,z] are given by (ψ^((n)))(z)==(d^n)ψ(z)/d(z^n). Notice that the digamma function corresponds to (ψ^((0)))(z). The general form (ψ^((n)))(z) is the (n+1)(^th), not the n(^th), logarithmic derivative of the gamma function. The polygamma functions satisfy the relation (ψ^((n)))(z)==(((-1))^(n+1))n!(∑_(k=0)^∞)1/(((z+k))^(n+1)). (RefLink[PolyGamma, paclet:ref/PolyGamma])[ν,z] is defined for arbitrary complex ν by fractional calculus analytic continuation.

(RefLink[BarnesG, paclet:ref/BarnesG])[z] is a generalization of the (RefLink[Gamma, paclet:ref/Gamma]) function and is defined by its functional identity (RefLink[BarnesG, paclet:ref/BarnesG])[z+1]=(RefLink[Gamma, paclet:ref/Gamma])[z] (RefLink[BarnesG, paclet:ref/BarnesG])[z], where the third derivative of the logarithm of (RefLink[BarnesG, paclet:ref/BarnesG]) is positive for positive z. (RefLink[BarnesG, paclet:ref/BarnesG]) is an entire function in the complex plane.

(RefLink[LogBarnesG, paclet:ref/LogBarnesG])[z] is a holomorphic function with a branch cut along the negative real-axis such that (RefLink[Exp, paclet:ref/Exp])[(RefLink[LogBarnesG, paclet:ref/LogBarnesG])[z]]=(RefLink[BarnesG, paclet:ref/BarnesG])[z].

(RefLink[Hyperfactorial, paclet:ref/Hyperfactorial])[n] is a generalization of (∏_(k=1)^n)(k^k) to the complex plane.

Many exact results for gamma and polygamma functions are built into the Wolfram System:

PolyGamma[6]

Here is a contour plot of the gamma function in the complex plane:

ContourPlot[Abs[Gamma[x+I y]],{x,-3,3},{y,-2,2},PlotPoints->50]

Zeta and Related Functions

Zeta and related functions.

The Dirichlet-L function (RefLink[DirichletL, paclet:ref/DirichletL])[k,j,s] is implemented as L(χ,s)==(∑_(n=1)^∞)χ(n) (n^(-s)) (for Re (s)>1) where χ(n) is a Dirichlet character with modulus k and index j.

The Riemann zeta function (RefLink[Zeta, paclet:ref/Zeta])[s] is defined by the relation ζ(s)==(∑_(k=1)^∞)(k^(-s)) (for s>1). Zeta functions with integer arguments arise in evaluating various sums and integrals. The Wolfram System gives exact results when possible for zeta functions with integer arguments.

There is an analytic continuation of ζ(s) for arbitrary complex s≠1. The zeta function for complex arguments is central to number theoretic studies of the distribution of primes. Of particular importance are the values on the critical line Re (s)==(1/2).

In studying ζ((1/2)+it), it is often convenient to define the two Riemann–Siegel functions (RefLink[RiemannSiegelZ, paclet:ref/RiemannSiegelZ])[t] and (RefLink[RiemannSiegelTheta, paclet:ref/RiemannSiegelTheta])[t] according to Z(t)==(e^(iϑ(t)))ζ((1/2)+it) and ϑ(t)==Im logΓ((1/4)+it/2)-t log(π)/2 (for t real). Note that the Riemann–Siegel functions are both real as long as t is real.

The Stieltjes constants (RefLink[StieltjesGamma, paclet:ref/StieltjesGamma])[n] are generalizations of Euler's constant that appear in the series expansion of ζ(s) around its pole at s==1; the coefficient of (((1-s))^n) is (Subscript[γ, n])/n!. Euler's constant is (Subscript[γ, 0]).

The generalized Riemann zeta function (RefLink[Zeta, paclet:ref/Zeta])[s,a] is implemented as ζ(s,a)==(∑_(k=0)^∞)((((((k+a))^2)))^(-s/2)), where any term with k+a==0 is excluded.

The Hurwitz zeta function (RefLink[HurwitzZeta, paclet:ref/HurwitzZeta])[s,a] is implemented as ζ(s,a)==(∑_(k=0)^∞)(((k+a))^(-s)).

The Ramanujan τ Dirichlet L-function (RefLink[RamanujanTauL, paclet:ref/RamanujanTauL])[s] is defined by L(s)==(∑_(n=1)^∞)((τ(n))/(n^s)) (for Re(s)>6), with coefficients (RefLink[RamanujanTau, paclet:ref/RamanujanTau])[n]. In analogy with the Riemann zeta function, it is again convenient to define the functions (RefLink[RamanujanTauZ, paclet:ref/RamanujanTauZ])[t] and (RefLink[RamanujanTauTheta, paclet:ref/RamanujanTauTheta])[t].

Here is the numerical approximation for L(6,2,1.0+i):

DirichletL[6,2,1.+I]

Here is a three-dimensional picture of the real part of a Dirichlet L-function:

Plot3D[Re@DirichletL[6,2,u+I v],{u,-5,5},{v,-10,10},Mesh->None,PlotStyle->Directive[Opacity[0.7],Green,Specularity[10]],BoxRatios->{1,1,2}]

The Wolfram System gives exact results for ζ(2n):

Zeta[6]

Here is a three-dimensional picture of the Riemann zeta function in the complex plane:

Plot3D[Abs[Zeta[x+I y]],{x,-3,3},{y,2,35}]

This is a plot of the absolute value of the Riemann zeta function on the critical line Re(z)==(1/2). You can see the first few zeros of the zeta function:

Plot[Abs[Zeta[1/2+I y]],{y,0,40}]

This is a plot of the absolute value of the Ramanujan τ L function on its critical line Re(z)==6:

Plot[Abs[RamanujanTauL[6+I y]],{y,0,20}]

The polylogarithm functions (RefLink[PolyLog, paclet:ref/PolyLog])[n,z] are given by (Subscript[Li, n])(z)==(∑_(k=1)^∞)(z^k)/(k^n). The polylogarithm function is sometimes known as Jonquière's function. The dilogarithm (RefLink[PolyLog, paclet:ref/PolyLog])[2,z] satisfies (Subscript[Li, 2])(z)==(∫_z^0)log(1-t)/tdt. Sometimes (Subscript[Li, 2])(1-z) is known as Spence's integral. The Nielsen generalized polylogarithm functions or hyperlogarithms (RefLink[PolyLog, paclet:ref/PolyLog])[n,p,z] are given by (Subscript[S, n,p])(z)==(((-1))^(n+p-1))/((n-1)!p!)(∫_0^1)(log^(n-1))(t)(log^p)(1-zt)/t dt. Polylogarithm functions appear in Feynman diagram integrals in elementary particle physics, as well as in algebraic K-theory.

The Lerch transcendent (RefLink[LerchPhi, paclet:ref/LerchPhi])[z,s,a] is a generalization of the zeta and polylogarithm functions, given by Φ(z,s,a)==(∑_(k=0)^∞)(z^k)/((((((a+k))^2)))^(s/2)), where any term with a+k==0 is excluded. Many sums of reciprocal powers can be expressed in terms of the Lerch transcendent. For example, the Catalan beta function β(s)==(∑_(k=0)^∞)(((-1))^k)(((2k+1))^(-s)) can be obtained as (2^(-s))Φ(-1,s,(1/2)).

The Lerch transcendent is related to integrals of the Fermi–Dirac distribution in statistical mechanics by (∫_0^∞)(k^s)/((e^(k-μ))+1)dk==(e^μ)Γ(s+1)Φ(-(e^μ),s+1,1).

The Lerch transcendent can also be used to evaluate Dirichlet L-series that appear in number theory. The basic L-series has the form L(s,χ)==(∑_(k=1)^∞)χ(k)(k^(-s)), where the "character" χ(k) is an integer function with period m. L-series of this kind can be written as sums of Lerch functions with z a power of (e^(2πi/m)).

(RefLink[LerchPhi, paclet:ref/LerchPhi])[z,s,a,DoublyInfinite->(RefLink[True, paclet:ref/True])] gives the doubly infinite sum (∑_(k=-∞)^∞)(z^k)/((((((a+k))^2)))^(s/2)).

The Hurwitz–Lerch transcendent (RefLink[HurwitzLerchPhi, paclet:ref/HurwitzLerchPhi])[z,s,a] generalizes (RefLink[HurwitzZeta, paclet:ref/HurwitzZeta])[s,a] and is defined by Φ(z,s,a)==(∑_(k=0)^∞)(z^k)/(((a+k))^s).

Zeros of the zeta function.

(RefLink[ZetaZero, paclet:ref/ZetaZero])[1] represents the first nontrivial zero of ζ (z):

Zeta[ZetaZero[1]]

This gives its numerical value:

N[ZetaZero[1]]

This gives the first zero with height greater than 15:

N[ZetaZero[1,15]]

Exponential Integral and Related Functions

Exponential integral and related functions.

The Wolfram System has two forms of exponential integral: (RefLink[ExpIntegralE, paclet:ref/ExpIntegralE]) and (RefLink[ExpIntegralEi, paclet:ref/ExpIntegralEi]).

The exponential integral function (RefLink[ExpIntegralE, paclet:ref/ExpIntegralE])[n,z] is defined by (Subscript[E, n])(z)==(∫_1^∞)(e^(-zt))/(t^n)dt.

The second exponential integral function (RefLink[ExpIntegralEi, paclet:ref/ExpIntegralEi])[z] is defined by Ei(z)==-(∫_(-z)^∞)(e^(-t))/t dt (for z>0), where the principal value of the integral is taken.

The logarithmic integral function (RefLink[LogIntegral, paclet:ref/LogIntegral])[z] is given by li(z)==(∫_0^z)dt/log t (for z>1), where the principal value of the integral is taken. li(z) is central to the study of the distribution of primes in number theory. The logarithmic integral function is sometimes also denoted by Li(z). In some number theoretic applications, li(z) is defined as (∫_2^z)dt/log t, with no principal value taken. This differs from the definition used in the Wolfram System by the constant li(2).

The sine and cosine integral functions (RefLink[SinIntegral, paclet:ref/SinIntegral])[z] and (RefLink[CosIntegral, paclet:ref/CosIntegral])[z] are defined by Si(z)==(∫_0^z)sin(t)/t dt and Ci(z)==-(∫_z^∞)cos(t)/t dt. The hyperbolic sine and cosine integral functions (RefLink[SinhIntegral, paclet:ref/SinhIntegral])[z] and (RefLink[CoshIntegral, paclet:ref/CoshIntegral])[z] are defined by Shi(z)==(∫_0^z)sinh(t)/t dt and Chi(z)==γ+log(z)+(∫_0^z)(cosh(t)-1)/t dt.

Error Function and Related Functions

Error function and related functions.

The error function (RefLink[Erf, paclet:ref/Erf])[z] is the integral of the Gaussian distribution, given by erf(z)==2/(Sqrt[π])(∫_0^z)(e^(-(t^2)))dt. The complementary error function (RefLink[Erfc, paclet:ref/Erfc])[z] is given simply by erfc(z)==1-erf(z). The imaginary error function (RefLink[Erfi, paclet:ref/Erfi])[z] is given by erfi(z)==erf(iz)/i. The generalized error function (RefLink[Erf, paclet:ref/Erf])[(Subscript[z, 0]),(Subscript[z, 1])] is defined by the integral 2/(Sqrt[π])(∫_(Subscript[z, 0])^(Subscript[z, 1]))(e^(-(t^2)))dt. The error function is central to many calculations in statistics.

The inverse error function (RefLink[InverseErf, paclet:ref/InverseErf])[s] is defined as the solution for z in the equation s==erf(z). The inverse error function appears in computing confidence intervals in statistics as well as in some algorithms for generating Gaussian random numbers.

Closely related to the error function are the Fresnel integrals (RefLink[FresnelC, paclet:ref/FresnelC])[z] defined by C(z)==(∫_0^z)cos(π(t^2)/2)dt and (RefLink[FresnelS, paclet:ref/FresnelS])[z] defined by S(z)==(∫_0^z)sin(π(t^2)/2)dt. Fresnel integrals occur in diffraction theory.

Bessel and Related Functions

Bessel and related functions.

The Bessel functions (RefLink[BesselJ, paclet:ref/BesselJ])[n,z] and (RefLink[BesselY, paclet:ref/BesselY])[n,z] are linearly independent solutions to the differential equation (z^2)y''+zy'+((z^2)-(n^2))y==0. For integer n, the (Subscript[J, n])(z) are regular at z==0, while the (Subscript[Y, n])(z) have a logarithmic divergence at z==0.

Bessel functions arise in solving differential equations for systems with cylindrical symmetry.

(Subscript[J, n])(z) is often called the Bessel function of the first kind, or simply the Bessel function. (Subscript[Y, n])(z) is referred to as the Bessel function of the second kind, the Weber function, or the Neumann function (denoted (Subscript[N, n])(z)).

The Hankel functions (or Bessel functions of the third kind) (RefLink[HankelH1, paclet:ref/HankelH1])[n,z] and (RefLink[HankelH2, paclet:ref/HankelH2])[n,z] give an alternative pair of solutions to the Bessel differential equation, related according to (Subscript[H, n]^((1,2)))(z)==(Subscript[J, n])(z)±i(Subscript[Y, n])(z).

The spherical Bessel functions (RefLink[SphericalBesselJ, paclet:ref/SphericalBesselJ])[n,z] and (RefLink[SphericalBesselY, paclet:ref/SphericalBesselY])[n,z], as well as the spherical Hankel functions (RefLink[SphericalHankelH1, paclet:ref/SphericalHankelH1])[n,z] and (RefLink[SphericalHankelH2, paclet:ref/SphericalHankelH2])[n,z], arise in studying wave phenomena with spherical symmetry. These are related to the ordinary functions by (Subscript[f, n])(z)==(Sqrt[π/2])/(Sqrt[z])(Subscript[F, n+(1/2)])(z), where f and F can be j and J, y and Y, or (h^i) and (H^i). For integer n, spherical Bessel functions can be expanded in terms of elementary functions by using (RefLink[FunctionExpand, paclet:ref/FunctionExpand]).

The modified Bessel functions (RefLink[BesselI, paclet:ref/BesselI])[n,z] and (RefLink[BesselK, paclet:ref/BesselK])[n,z] are solutions to the differential equation (z^2)y''+zy'-((z^2)+(n^2))y==0. For integer n, (Subscript[I, n])(z) is regular at z==0; (Subscript[K, n])(z) always has a logarithmic divergence at z==0. The (Subscript[I, n])(z) are sometimes known as hyperbolic Bessel functions.

Particularly in electrical engineering, one often defines the Kelvin functions (RefLink[KelvinBer, paclet:ref/KelvinBer])[n,z], (RefLink[KelvinBei, paclet:ref/KelvinBei])[n,z], (RefLink[KelvinKer, paclet:ref/KelvinKer])[n,z] and (RefLink[KelvinKei, paclet:ref/KelvinKei])[n,z]. These are related to the ordinary Bessel functions by (Subscript[ber, n])(z)+i (Subscript[bei, n])(z)==(e^(nπi))(Subscript[J, n])(z(e^(-πi/4))), (Subscript[ker, n])(z)+i (Subscript[kei, n])(z)==(e^(-nπi/2))(Subscript[K, n])(z(e^(πi/4))).

The Airy functions (RefLink[AiryAi, paclet:ref/AiryAi])[z] and (RefLink[AiryBi, paclet:ref/AiryBi])[z] are the two independent solutions Ai(z) and Bi(z) to the differential equation y''-z y==0. Ai(z) tends to zero for large positive z, while Bi(z) increases unboundedly. The Airy functions are related to modified Bessel functions with one-third-integer orders. The Airy functions often appear as the solutions to boundary value problems in electromagnetic theory and quantum mechanics. In many cases the derivatives of the Airy functions (RefLink[AiryAiPrime, paclet:ref/AiryAiPrime])[z] and (RefLink[AiryBiPrime, paclet:ref/AiryBiPrime])[z] also appear.

The Struve function (RefLink[StruveH, paclet:ref/StruveH])[n,z] appears in the solution of the inhomogeneous Bessel equation, which for integer n has the form (z^2)y''+zy'+((z^2)-(n^2))y==(2/π)((z^(n+1))/((2n-1)!!)); the general solution to this equation consists of a linear combination of Bessel functions with the Struve function (Subscript[H, n])(z) added. The modified Struve function (RefLink[StruveL, paclet:ref/StruveL])[n,z] is given in terms of the ordinary Struve function by (Subscript[L, n])(z)==-i(e^(-inπ/2))(Subscript[H, n])(z). Struve functions appear particularly in electromagnetic theory.

Here is a plot of (Subscript[J, 0])((Sqrt[x])). This is a curve that an idealized chain hanging from one end can form when you wiggle it:

Plot[BesselJ[0,Sqrt[x]],{x,0,50}]

The Wolfram System generates explicit formulas for half-integer-order Bessel functions:

BesselK[3/2,x]

The Airy function plotted here gives the quantum-mechanical amplitude for a particle in a potential that increases linearly from left to right. The amplitude is exponentially damped in the classically inaccessible region on the right:

Plot[AiryAi[x],{x,-10,10}]

Zeros of Bessel and Airy functions.

(RefLink[BesselJZero, paclet:ref/BesselJZero])[1,5] represents the fifth zero of (Subscript[J, 1]) (z):

BesselJ[1,BesselJZero[1,5]]

This gives its numerical value:

N[BesselJZero[1,5]]

Legendre and Related Functions

Legendre and related functions.

The Legendre functions and associated Legendre functions satisfy the differential equation (1-(z^2))y''-2zy'+[n(n+1)-(m^2)/(1-(z^2))]y==0. The Legendre functions of the first kind, (RefLink[LegendreP, paclet:ref/LegendreP])[n,z] and (RefLink[LegendreP, paclet:ref/LegendreP])[n,m,z], reduce to Legendre polynomials when n and m are integers. The Legendre functions of the second kind (RefLink[LegendreQ, paclet:ref/LegendreQ])[n,z] and (RefLink[LegendreQ, paclet:ref/LegendreQ])[n,m,z] give the second linearly independent solution to the differential equation. For integer m they have logarithmic singularities at z==±1. The (Subscript[P, n])(z) and (Subscript[Q, n])(z) solve the differential equation with m==0.

Legendre functions arise in studies of quantum-mechanical scattering processes.

Types of Legendre functions. Analogous types exist for (RefLink[LegendreQ, paclet:ref/LegendreQ]).

Legendre functions of type 1 and Legendre functions of type 2 have different symbolic forms, but the same numerical values. They have branch cuts from -∞ to -1 and from +1 to +∞. Legendre functions of type 3, sometimes denoted (Subscript[𝒫, n]^m)(z) and (Subscript[𝒬, n]^m)(z), have a single branch cut from -∞ to +1.

Toroidal functions or ring functions, which arise in studying systems with toroidal symmetry, can be expressed in terms of the Legendre functions (Subscript[P, ν-(1/2)]^( μ))(cosh η) and (Subscript[Q, ν-(1/2)]^( μ))(cosh η).

Conical functions can be expressed in terms of (Subscript[P, -(1/2)+ip]^( μ))(cos θ) and (Subscript[Q, -(1/2)+ip]^( μ))(cos θ).

When you use the function (RefLink[LegendreP, paclet:ref/LegendreP])[n,x] with an integer n, you get a Legendre polynomial. If you take n to be an arbitrary complex number, you get, in general, a Legendre function.

In the same way, you can use the functions (RefLink[GegenbauerC, paclet:ref/GegenbauerC]) and so on with arbitrary complex indices to get Gegenbauer functions, Chebyshev functions, Hermite functions, Jacobi functions and Laguerre functions. Unlike for associated Legendre functions, however, there is no need to distinguish different types in such cases.

Hypergeometric Functions and Generalizations

Confluent hypergeometric functions and related functions.

Many of the special functions that have been discussed so far can be viewed as special cases of the confluent hypergeometric function (RefLink[Hypergeometric1F1, paclet:ref/Hypergeometric1F1])[a,b,z].

The confluent hypergeometric function can be obtained from the series expansion (Subscript[, 1])(Subscript[F, 1])(a;b;z)==1+az/b+a(a+1)/b(b+1) (z^2)/2!+⋯==(∑_(k=0)^∞)(Subscript[(a), k])/(Subscript[(b), k]) (z^k)/k! . Some special results are obtained when a and b are both integers. If a<0, and either b>0 or b<a, the series yields a polynomial with a finite number of terms.

If b is zero or a negative integer, then (Subscript[, 1])(Subscript[F, 1])(a;b;z) itself is infinite. But the regularized confluent hypergeometric function (RefLink[Hypergeometric1F1Regularized, paclet:ref/Hypergeometric1F1Regularized])[a,b,z] given by (Subscript[, 1])(Subscript[F, 1])(a;b;z)/Γ(b) has a finite value in all cases.

Among the functions that can be obtained from (Subscript[, 1])(Subscript[F, 1]) are the Bessel functions, error function, incomplete gamma function, and Hermite and Laguerre polynomials.

The function (Subscript[, 1])(Subscript[F, 1])(a;b;z) is sometimes denoted Φ(a;b;z) or M(a,b,z). It is often known as the Kummer function.

The (Subscript[, 1])(Subscript[F, 1]) function can be written in the integral representation (Subscript[, 1])(Subscript[F, 1])(a;b;z)==Γ(b)/[Γ(b-a)Γ(a)](∫_( 0)^1)(e^(zt))(t^(a-1)) (((1-t))^(b-a-1)) dt.

The (Subscript[, 1])(Subscript[F, 1]) confluent hypergeometric function is a solution to Kummer's differential equation zy''+(b-z)y'-a y==0, with the boundary conditions (Subscript[, 1])(Subscript[F, 1])(a;b;0)==1 and ∂[(Subscript[, 1])(Subscript[F, 1])(a;b;z)]/∂z(Subscript[|, z=0])==a/b.

The function (RefLink[HypergeometricU, paclet:ref/HypergeometricU])[a,b,z] gives a second linearly independent solution to Kummer's equation. For Re(b)>1 this function behaves like (z^(1-b)) for small z. It has a branch cut along the negative real axis in the complex z plane.

The function U(a,b,z) has the integral representation U(a,b,z)==1/Γ(a)(∫_0^∞)(e^(-zt))(t^(a-1))(((1+t))^(b-a-1)) dt.

U(a,b,z), like (Subscript[, 1])(Subscript[F, 1])(a;b;z), is sometimes known as the Kummer function. The U function is sometimes denoted by Ψ.

The Whittaker functions (RefLink[WhittakerM, paclet:ref/WhittakerM])[k,m,z] and (RefLink[WhittakerW, paclet:ref/WhittakerW])[k,m,z] give a pair of solutions to the normalized Kummer differential equation, known as Whittaker's differential equation. The Whittaker function (Subscript[M, κ, μ]) is related to (Subscript[, 1])(Subscript[F, 1]) by (Subscript[M, κ, μ])(z)==(e^(-z/2))(z^(1/2+μ))(Subscript[, 1])(Subscript[F, 1])((1/2)+μ-κ;1+2μ;z). The second Whittaker function (Subscript[W, κ, μ]) obeys the same relation, with (Subscript[, 1])(Subscript[F, 1]) replaced by U.

The parabolic cylinder functions (RefLink[ParabolicCylinderD, paclet:ref/ParabolicCylinderD])[ν,z] are related to the Hermite functions by (Subscript[D, ν])(z)==(2^(-ν/2))(e^(-(((z/2))^2))) × (Subscript[H, ν])(z/(Sqrt[2])).

The Coulomb wave functions are also special cases of the confluent hypergeometric function. Coulomb wave functions give solutions to the radial Schrödinger equation in the Coulomb potential of a point nucleus. The regular Coulomb wave function is given by (Subscript[F, L])(η,ρ)==(Subscript[C, L])(η)(ρ^(L+1))(e^(-iρ))(Subscript[, 1])(Subscript[F, 1])(L+1-iη;2L+2;2iρ), where (Subscript[C, L])(η)==(2^L)(e^(-πη/2))|Γ(L+1+iη)|/Γ(2L+2).

Other special cases of the confluent hypergeometric function include the Toronto functions T(m,n,r), Poisson–Charlier polynomials (Subscript[ρ, n])(ν,x), Cunningham functions (Subscript[ω, n,m])(x), and Bateman functions (Subscript[k, ν])(x).

A limiting form of the confluent hypergeometric function that often appears is (RefLink[Hypergeometric0F1, paclet:ref/Hypergeometric0F1])[a,z]. This function is obtained as the limit (Subscript[, 0])(Subscript[F, 1])(;a;z)==(lim_(q->∞))(Subscript[, 1])(Subscript[F, 1])(q;a;z/q).

The (Subscript[, 0])(Subscript[F, 1]) function has the series expansion (Subscript[, 0])(Subscript[F, 1])(;a;z)==(∑_(k=0)^∞)1/(Subscript[(a), k]) (z^k)/k! and satisfies the differential equation zy''+ay'-y==0.

Bessel functions of the first kind can be expressed in terms of the (Subscript[, 0])(Subscript[F, 1]) function.

Hypergeometric functions and generalizations.

The hypergeometric function (RefLink[Hypergeometric2F1, paclet:ref/Hypergeometric2F1])[a,b,c,z] has series expansion (Subscript[, 2])(Subscript[F, 1])(a,b;c;z)==(∑_(k=0)^∞)(Subscript[(a), k])(Subscript[(b), k])/(Subscript[(c), k]) (z^k)/k! . The function is a solution of the hypergeometric differential equation z(1-z)y''+[c-(a+b+1)z]y'-a b y==0.

The hypergeometric function can also be written as an integral: (Subscript[, 2])(Subscript[F, 1])(a,b;c;z)==Γ(c)/[Γ(b)Γ(c-b)] ×(∫_0^1)(t^(b-1))(((1-t))^(c-b-1))(((1-tz))^(-a)) dt.

The hypergeometric function is also sometimes denoted by F, and is known as the Gauss series or the Kummer series.

The Legendre functions, and the functions that give generalizations of other orthogonal polynomials, can be expressed in terms of the hypergeometric function. Complete elliptic integrals can also be expressed in terms of the (Subscript[, 2])(Subscript[F, 1]) function.

The Riemann P function, which gives solutions to Riemann's differential equation, is also a (Subscript[, 2])(Subscript[F, 1]) function.

The generalized hypergeometric function or Barnes extended hypergeometric function (RefLink[HypergeometricPFQ, paclet:ref/HypergeometricPFQ])[{(Subscript[a, 1]),…,(Subscript[a, p])},{(Subscript[b, 1]),…,(Subscript[b, q])},z] has series expansion (Subscript[, p])(Subscript[F, q])(a;b;z)==(∑_(k=0)^∞)(((Subscript[((Subscript[a, 1])), k])...(Subscript[((Subscript[a, p])), k]))/((Subscript[((Subscript[b, 1])), k])...(Subscript[((Subscript[b, q])), k]))) ((z^k)/(k!)).

The Meijer G function (RefLink[MeijerG, paclet:ref/MeijerG])[{{(Subscript[a, 1]),…,(Subscript[a, n])},{(Subscript[a, n])+1,…,(Subscript[a, p])}},{{(Subscript[b, 1]),…,(Subscript[b, m])},{(Subscript[b, m])+1,…,(Subscript[b, q])}},z] is defined by the contour integral representation (Subscript[G, pq]^(mn))(z|({{(Subscript[a, 1]),…,(Subscript[a, p])}, {(Subscript[b, 1]),…,(Subscript[b, q])}}))==(1/(2πi))∫Γ(1-(Subscript[a, 1])-s)…Γ(1-(Subscript[a, n])-s) × Γ((Subscript[b, 1])+s)…Γ((Subscript[b, m])+s)/(Γ((Subscript[a, n+1])+s)…Γ((Subscript[a, p])+s)Γ(1-(Subscript[b, m+1])-s)…Γ(1-(Subscript[b, q])-s)) (z^(-s))ds, where the contour of integration is set up to lie between the poles of Γ(1-(Subscript[a, i])-s) and the poles of Γ((Subscript[b, i])+s). (RefLink[MeijerG, paclet:ref/MeijerG]) is a very general function whose special cases cover most of the functions discussed in the past few sections.

The Appell hypergeometric function of two variables (RefLink[AppellF1, paclet:ref/AppellF1])[a,(Subscript[b, 1]),(Subscript[b, 2]),c,x,y] has series expansion (Subscript[F, 1])(a;(Subscript[b, 1]),(Subscript[b, 2]);c;x,y)==(∑_(m=0)^∞)(∑_(n=0)^∞)(Subscript[(a), m+n])(Subscript[((Subscript[b, 1])), m])(Subscript[((Subscript[b, 2])), n])/(m!n!(Subscript[(c), m+n]))(x^m)(y^n). This function appears for example in integrating cubic polynomials to arbitrary powers.

The q-Series and Related Functions

q-series and related functions.

The q-Pochhammer symbol is a natural object in the calculus of q-differences, playing the same role as the power function in infinitesimal calculus or the falling factorial in the calculus of finite differences.

The finite q-Pochhammer symbol (QPochhammer[z, q, n]) is defined as the product (∏_(k=1)^n)(1-z (q^(k-1))). The limit n->∞ defines the q-Pochhammer symbol (QPochhammer2[z, q]) when (Abs[q])<1. The q-Pochhammer symbol (QPochhammer[z, q, n]) is the q-analog of the Pochhammer (Pochhammer[a, n]) symbol, which is recovered in the limit (Pochhammer[a, n])==(lim_(q->1)) (QPochhammer[(q^a), q, n])/(((1-q))^n).

The q-factorial (QFactorial[z, q]) is defined as (QPochhammer[q, q, z])/(((1-q))^z) and is a q-analog of the factorial function, which is recovered as q->1. The relationship (QFactorial[z, q])==(QGamma[z+1, q]) between the q-factorial and the q-gamma functions has the same functional form as the relationship z!==(Gamma[z+1]) between the factorial and the Euler gamma function.

The q-digamma function is defined as the logarithmic derivative of the q-gamma function  (QPolyGamma[z, q])==(1/(QGamma[z, q]))((∂(QGamma[z, q]))/(∂z)). The q-polygamma function (QPolyGamma3[n, z, q]) of order n is defined as the n(^th) derivative with respect to z of the q-digamma function.

The basic hypergeometric series is a q-analog of the generalized hypergeometric series. It was introduced by Heine as a q-analog of Gauss hypergeometric series and arises in combinatorics.

The Product Log Function

The product log function.

The product log function gives the solution for w in z==w (e^w). The function can be viewed as a generalization of a logarithm. It can be used to represent solutions to a variety of transcendental equations. The tree generating function for counting distinct oriented trees is related to the product log by T(z)==-W(-z).