Error function: Difference between revisions

From testwiki
Jump to navigation Jump to search
Making formulas look neater.
 
(No difference)

Latest revision as of 05:04, 1 March 2025

Template:Short description Template:Use dmy dates Template:Distinguish In mathematics, the error function (also called the Gauss error function), often denoted by Template:Math, is a function erf: defined as:[1] erf(z)=2π0zet2dt. Template:Infobox mathematical function

The integral here is a complex contour integral which is path-independent because exp(t2) is holomorphic on the whole complex plane . In many applications, the function argument is a real number, in which case the function value is also real.

In some old texts,[2] the error function is defined without the factor of 2/π. This nonelementary integral is a sigmoid function that occurs often in probability, statistics, and partial differential equations.

In statistics, for non-negative real values of Template:Mvar, the error function has the following interpretation: for a real random variable Template:Mvar that is normally distributed with mean 0 and standard deviation 1/2, Template:Math is the probability that Template:Mvar falls in the range Template:Closed-closed.

Two closely related functions are the complementary error function erfc: is defined as

erfc(z)=1erf(z),

and the imaginary error function erfi: is defined as

erfi(z)=ierf(iz),

where Template:Mvar is the imaginary unit.

Name

The name "error function" and its abbreviation Template:Math were proposed by J. W. L. Glaisher in 1871 on account of its connection with "the theory of Probability, and notably the theory of Errors."[3] The error function complement was also discussed by Glaisher in a separate publication in the same year.[4] For the "law of facility" of errors whose density is given by f(x)=(cπ)12ecx2 (the normal distribution), Glaisher calculates the probability of an error lying between Template:Mvar and Template:Mvar as: (cπ)12pqecx2dx=12(erf(qc)erf(pc)).

Plot of the error function Erf(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D
Plot of the error function Erf(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D

Applications

When the results of a series of measurements are described by a normal distribution with standard deviation Template:Mvar and expected value 0, then erf(σσ2) is the probability that the error of a single measurement lies between Template:Math and Template:Math, for positive Template:Mvar. This is useful, for example, in determining the bit error rate of a digital communication system.

The error and complementary error functions occur, for example, in solutions of the heat equation when boundary conditions are given by the Heaviside step function.

The error function and its approximations can be used to estimate results that hold with high probability or with low probability. Given a random variable Template:Math (a normal distribution with mean Template:Mvar and standard deviation Template:Mvar) and a constant Template:Math, it can be shown via integration by substitution: Pr[XL]=12+12erf(Lμ2σ)Aexp(B(Lμσ)2)

where Template:Mvar and Template:Mvar are certain numeric constants. If Template:Mvar is sufficiently far from the mean, specifically Template:Math, then:

Pr[XL]Aexp(Bln(k))=AkB

so the probability goes to 0 as Template:Math.

The probability for Template:Mvar being in the interval Template:Closed-closed can be derived as Pr[LaXLb]=LaLb12πσexp((xμ)22σ2)dx=12(erf(Lbμ2σ)erf(Laμ2σ)).

Properties

Template:Multiple image

The property Template:Math means that the error function is an odd function. This directly results from the fact that the integrand Template:Math is an even function (the antiderivative of an even function which is zero at the origin is an odd function and vice versa).

Since the error function is an entire function which takes real numbers to real numbers, for any complex number Template:Mvar: erf(z)=erf(z) where Template:Math is the complex conjugate of z.

The integrand f=exp(z2) and Template:Math are shown in the complex Template:Mvar-plane in the figures at right with domain coloring.

The error function at Template:Math is exactly 1 (see Gaussian integral). At the real axis, Template:Math approaches unity at Template:Math and −1 at Template:Math. At the imaginary axis, it tends to Template:Math.

Taylor series

The error function is an entire function; it has no singularities (except that at infinity) and its Taylor expansion always converges. For Template:Math, however, cancellation of leading terms makes the Taylor expansion unpractical.

The defining integral cannot be evaluated in closed form in terms of elementary functions (see Liouville's theorem), but by expanding the integrand Template:Math into its Maclaurin series and integrating term by term, one obtains the error function's Maclaurin series as: erf(z)=2πn=0(1)nz2n+1n!(2n+1)=2π(zz33+z510z742+z9216) which holds for every complex number Template:Mvar. The denominator terms are sequence A007680 in the OEIS.

For iterative calculation of the above series, the following alternative formulation may be useful: erf(z)=2πn=0(zk=1n(2k1)z2k(2k+1))=2πn=0z2n+1k=1nz2k because Template:Math expresses the multiplier to turn the Template:Mvarth term into the Template:Mathth term (considering Template:Mvar as the first term).

The imaginary error function has a very similar Maclaurin series, which is: erfi(z)=2πn=0z2n+1n!(2n+1)=2π(z+z33+z510+z742+z9216+) which holds for every complex number Template:Mvar.

Derivative and integral

The derivative of the error function follows immediately from its definition: ddzerf(z)=2πez2. From this, the derivative of the imaginary error function is also immediate: ddzerfi(z)=2πez2. An antiderivative of the error function, obtainable by integration by parts, is zerf(z)+ez2π. An antiderivative of the imaginary error function, also obtainable by integration by parts, is zerfi(z)ez2π. Higher order derivatives are given by erf(k)(z)=2(1)k1π𝐻k1(z)ez2=2πdk1dzk1(ez2),k=1,2, where Template:Mvar are the physicists' Hermite polynomials.[5]

Bürmann series

An expansion,[6] which converges more rapidly for all real values of Template:Mvar than a Taylor expansion, is obtained by using Hans Heinrich Bürmann's theorem:[7] erf(x)=2πsgn(x)1ex2(1112(1ex2)7480(1ex2)25896(1ex2)3787276480(1ex2)4)=2πsgn(x)1ex2(π2+k=1ckekx2). where Template:Math is the sign function. By keeping only the first two coefficients and choosing Template:Math and Template:Math, the resulting approximation shows its largest relative error at Template:Math, where it is less than 0.0034361: erf(x)2πsgn(x)1ex2(π2+31200ex23418000e2x2).

Inverse functions

Inverse error function

Given a complex number Template:Mvar, there is not a unique complex number Template:Mvar satisfying Template:Math, so a true inverse function would be multivalued. However, for Template:Math, there is a unique real number denoted Template:Math satisfying erf(erf1(x))=x.

The inverse error function is usually defined with domain Template:Open-open, and it is restricted to this domain in many computer algebra systems. However, it can be extended to the disk Template:Math of the complex plane, using the Maclaurin series[8] erf1(z)=k=0ck2k+1(π2z)2k+1, where Template:Math and ck=m=0k1cmck1m(m+1)(2m+1)={1,1,76,12790,43692520,3480716200,}.

So we have the series expansion (common factors have been canceled from numerators and denominators): erf1(z)=π2(z+π12z3+7π2480z5+127π340320z7+4369π45806080z9+34807π5182476800z11+). (After cancellation the numerator and denominator values in Template:Oeis and Template:Oeis respectively; without cancellation the numerator terms are values in Template:Oeis.) The error function's value at Template:Math is equal to Template:Math.

For Template:Math, we have erf(erf1(z))=z.

The inverse complementary error function is defined as erfc1(1z)=erf1(z). For real Template:Mvar, there is a unique real number Template:Math satisfying erfi(erfi1(x))=x. The inverse imaginary error function is defined as Template:Math.[9]

For any real x, Newton's method can be used to compute Template:Math, and for Template:Math, the following Maclaurin series converges: erfi1(z)=k=0(1)kck2k+1(π2z)2k+1, where Template:Math is defined as above.

Asymptotic expansion

A useful asymptotic expansion of the complementary error function (and therefore also of the error function) for large real Template:Mvar is erfc(x)=ex2xπ(1+n=1(1)n135(2n1)(2x2)n)=ex2xπn=0(1)n(2n1)!!(2x2)n, where Template:Math is the double factorial of Template:Math, which is the product of all odd numbers up to Template:Math. This series diverges for every finite Template:Mvar, and its meaning as asymptotic expansion is that for any integer Template:Math one has erfc(x)=ex2xπn=0N1(1)n(2n1)!!(2x2)n+RN(x) where the remainder is RN(x):=(1)Nπ212N(2N)!N!xt2Net2dt, which follows easily by induction, writing et2=(2t)1(et2) and integrating by parts.

The asymptotic behavior of the remainder term, in Landau notation, is RN(x)=O(x(1+2N)ex2) as Template:Math. This can be found by RN(x)xt2Net2dt=ex20(t+x)2Net22txdtex20x2Ne2txdtx(1+2N)ex2. For large enough values of Template:Mvar, only the first few terms of this asymptotic expansion are needed to obtain a good approximation of Template:Math (while for not too large values of Template:Mvar, the above Taylor expansion at 0 provides a very fast convergence).

Continued fraction expansion

A continued fraction expansion of the complementary error function was found by Laplace:[10][11] erfc(z)=zπez21z2+a11+a2z2+a31+,am=m2.

Factorial series

The inverse factorial series: erfc(z)=ez2πzn=0(1)nQn(z2+1)n¯=ez2πz[1121(z2+1)+141(z2+1)(z2+2)] converges for Re(z2)>0. Here Qn=def1Γ(12)0τ(τ1)(τn+1)τ12eτdτ=k=0n(12)k¯s(n,k), Template:Math denotes the rising factorial, and Template:Math denotes a signed Stirling number of the first kind.[12][13] There also exists a representation by an infinite sum containing the double factorial: erf(z)=2πn=0(2)n(2n1)!!(2n+1)!z2n+1

Numerical approximations

Approximation with elementary functions

  • Abramowitz and Stegun give several approximations of varying accuracy (equations 7.1.25–28). This allows one to choose the fastest approximation suitable for a given application. In order of increasing accuracy, they are: erf(x)11(1+a1x+a2x2+a3x3+a4x4)4,x0 (maximum error: Template:Val) Template:Pb where Template:Math, Template:Math, Template:Math, Template:Math erf(x)1(a1t+a2t2+a3t3)ex2,t=11+px,x0 (maximum error: Template:Val) Template:Pb where Template:Math, Template:Math, Template:Math, Template:Math erf(x)11(1+a1x+a2x2++a6x6)16,x0 (maximum error: Template:Val) Template:Pb where Template:Math, Template:Math, Template:Math, Template:Math, Template:Math, Template:Math erf(x)1(a1t+a2t2++a5t5)ex2,t=11+px (maximum error: Template:Val) Template:Pb where Template:Math, Template:Math, Template:Math, Template:Math, Template:Math, Template:Math Template:Pb All of these approximations are valid for Template:Math. To use these approximations for negative Template:Mvar, use the fact that Template:Math is an odd function, so Template:Math.
  • Exponential bounds and a pure exponential approximation for the complementary error function are given by[14] erfc(x)12e2x2+12ex2ex2,x>0erfc(x)16ex2+12e43x2,x>0.
  • The above have been generalized to sums of Template:Mvar exponentials[15] with increasing accuracy in terms of Template:Mvar so that Template:Math can be accurately approximated or bounded by Template:Math, where Q~(x)=n=1Nanebnx2. In particular, there is a systematic methodology to solve the numerical coefficients Template:Math that yield a minimax approximation or bound for the closely related Q-function: Template:Math, Template:Math, or Template:Math for Template:Math. The coefficients Template:Math for many variations of the exponential approximations and bounds up to Template:Math have been released to open access as a comprehensive dataset.[16]
  • A tight approximation of the complementary error function for Template:Math is given by Karagiannidis & Lioumpas (2007)[17] who showed for the appropriate choice of parameters Template:Math that erfc(x)(1eAx)ex2Bπx. They determined Template:Math, which gave a good approximation for all Template:Math. Alternative coefficients are also available for tailoring accuracy for a specific application or transforming the expression into a tight bound.[18]
  • A single-term lower bound is[19] erfc(x)2eπβ1βeβx2,x0,β>1, where the parameter Template:Mvar can be picked to minimize error on the desired interval of approximation.
  • Another approximation is given by Sergei Winitzki using his "global Padé approximations":[20][21]Template:Rp erf(x)sgn(x)1exp(x24π+ax21+ax2) where a=8(π3)3π(4π)0.140012. This is designed to be very accurate in a neighborhood of 0 and a neighborhood of infinity, and the relative error is less than 0.00035 for all real Template:Mvar. Using the alternate value Template:Math reduces the maximum relative error to about 0.00013.[22] Template:Pb This approximation can be inverted to obtain an approximation for the inverse error function: erf1(x)sgn(x)(2πa+ln(1x2)2)2ln(1x2)a(2πa+ln(1x2)2).
  • An approximation with a maximal error of Template:Val for any real argument is:[23] erf(x)={1τx0τ1x<0 with τ=texp(x21.26551223+1.00002368t+0.37409196t2+0.09678418t30.18628806t4+0.27886807t51.13520398t6+1.48851587t70.82215223t8+0.17087277t9) and t=11+12|x|.
  • An approximation of erfc with a maximum relative error less than 253 (1.1×1016) in absolute value is:[24] for Template:Nowrap erfc(x)=(0.56418958354775629x+2.06955023132914151)(x2+2.71078540045147805x+5.80755613130301624x2+3.47954057099518960x+12.06166887286239555)(x2+3.47469513777439592x+12.07402036406381411x2+3.72068443960225092x+8.44319781003968454)(x2+4.00561509202259545x+9.30596659485887898x2+3.90225704029924078x+6.36161630953880464)(x2+5.16722705817812584x+9.12661617673673262x2+4.03296893109262491x+5.13578530585681539)(x2+5.95908795446633271x+9.19435612886969243x2+4.11240942957450885x+4.48640329523408675)ex2 and for x<0 erfc(x)=2erfc(x)
  • A simple approximation for real-valued arguments could be done through Hyperbolic functions: erf(x)z(x)=tanh(2π(x+11123x3)) which keeps the absolute difference Template:Nowrap

Table of values

Template:Further

Template:Math Template:Math Template:Math
0 Template:Val Template:Val
0.02 Template:Val Template:Val
0.04 Template:Val Template:Val
0.06 Template:Val Template:Val
0.08 Template:Val Template:Val
0.1 Template:Val Template:Val
0.2 Template:Val Template:Val
0.3 Template:Val Template:Val
0.4 Template:Val Template:Val
0.5 Template:Val Template:Val
0.6 Template:Val Template:Val
0.7 Template:Val Template:Val
0.8 Template:Val Template:Val
0.9 Template:Val Template:Val
1 Template:Val Template:Val
1.1 Template:Val Template:Val
1.2 Template:Val Template:Val
1.3 Template:Val Template:Val
1.4 Template:Val Template:Val
1.5 Template:Val Template:Val
1.6 Template:Val Template:Val
1.7 Template:Val Template:Val
1.8 Template:Val Template:Val
1.9 Template:Val Template:Val
2 Template:Val Template:Val
2.1 Template:Val Template:Val
2.2 Template:Val Template:Val
2.3 Template:Val Template:Val
2.4 Template:Val Template:Val
2.5 Template:Val Template:Val
3 Template:Val Template:Val
3.5 Template:Val Template:Val

Complementary error function

The complementary error function, denoted Template:Math, is defined as

Plot of the complementary error function Erfc(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D
Plot of the complementary error function Erfc(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D

erfc(x)=1erf(x)=2πxet2dt=ex2erfcx(x), which also defines Template:Math, the scaled complementary error function[25] (which can be used instead of Template:Math to avoid arithmetic underflow[25][26]). Another form of Template:Math for Template:Math is known as Craig's formula, after its discoverer:[27] erfc(xx0)=2π0π2exp(x2sin2(θ))dθ. This expression is valid only for positive values of Template:Mvar, but it can be used in conjunction with Template:Math to obtain Template:Math for negative values. This form is advantageous in that the range of integration is fixed and finite. An extension of this expression for the Template:Math of the sum of two non-negative variables is as follows:[28] erfc(x+yx,y0)=2π0π2exp(x2sin2(θ)y2cos2(θ))dθ.

Imaginary error function

The imaginary error function, denoted Template:Math, is defined as

Plot of the imaginary error function Erfi(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D
Plot of the imaginary error function Erfi(z) in the complex plane from -2-2i to 2+2i with colors created with Mathematica 13.1 function ComplexPlot3D

erfi(x)=ierf(ix)=2π0xet2dt=2πex2D(x), where Template:Math is the Dawson function (which can be used instead of Template:Math to avoid arithmetic overflow[25]).

Despite the name "imaginary error function", Template:Math is real when Template:Mvar is real.

When the error function is evaluated for arbitrary complex arguments Template:Mvar, the resulting complex error function is usually discussed in scaled form as the Faddeeva function: w(z)=ez2erfc(iz)=erfcx(iz).

Cumulative distribution function

The error function is essentially identical to the standard normal cumulative distribution function, denoted Template:Math, also named Template:Math by some software languagesTemplate:Citation needed, as they differ only by scaling and translation. Indeed,

the normal cumulative distribution function plotted in the complex plane
the normal cumulative distribution function plotted in the complex plane

Φ(x)=12πxet22dt=12(1+erf(x2))=12erfc(x2) or rearranged for Template:Math and Template:Math: erf(x)=2Φ(x2)1erfc(x)=2Φ(x2)=2(1Φ(x2)).

Consequently, the error function is also closely related to the Q-function, which is the tail probability of the standard normal distribution. The Q-function can be expressed in terms of the error function as Q(x)=1212erf(x2)=12erfc(x2).

The inverse of Template:Math is known as the normal quantile function, or probit function and may be expressed in terms of the inverse error function as probit(p)=Φ1(p)=2erf1(2p1)=2erfc1(2p).

The standard normal cdf is used more often in probability and statistics, and the error function is used more often in other branches of mathematics.

The error function is a special case of the Mittag-Leffler function, and can also be expressed as a confluent hypergeometric function (Kummer's function): erf(x)=2xπM(12,32,x2).

It has a simple expression in terms of the Fresnel integral.Template:Elucidate

In terms of the regularized gamma function Template:Mvar and the incomplete gamma function, erf(x)=sgn(x)P(12,x2)=sgn(x)πγ(12,x2).Template:Math is the sign function.

Iterated integrals of the complementary error function

The iterated integrals of the complementary error function are defined by[29] inerfc(z)=zin1erfc(ζ)dζi0erfc(z)=erfc(z)i1erfc(z)=ierfc(z)=1πez2zerfc(z)i2erfc(z)=14(erfc(z)2zierfc(z))

The general recurrence formula is 2ninerfc(z)=in2erfc(z)2zin1erfc(z)

They have the power series inerfc(z)=j=0(z)j2njj!Γ(1+nj2), from which follow the symmetry properties i2merfc(z)=i2merfc(z)+q=0mz2q22(mq)1(2q)!(mq)! and i2m+1erfc(z)=i2m+1erfc(z)+q=0mz2q+122(mq)1(2q+1)!(mq)!.

Implementations

As real function of a real argument

As complex function of a complex argument

  • libcerf, numeric C library for complex error functions, provides the complex functions cerf, cerfc, cerfcx and the real functions erfi, erfcx with approximately 13–14 digits precision, based on the Faddeeva function as implemented in the MIT Faddeeva Package

References

Template:Reflist

Further reading

Template:Nonelementary Integral Template:Authority control