# Error functions#

This module provides symbolic error functions. These functions use the $$mpmath library$$ for numerical evaluation and Maxima, Pynac for symbolics.

The main objects which are exported from this module are:

AUTHORS:

• Original authors erf/error_fcn (c) 2006-2014: Karl-Dieter Crisman, Benjamin Jones, Mike Hansen, William Stein, Burcin Erocal, Jeroen Demeyer, W. D. Joyner, R. Andrew Ohana

• Reorganisation in new file, addition of erfi/erfinv/erfc (c) 2016: Ralf Stephan

• Fresnel integrals (c) 2017 Marcelo Forets

REFERENCES:

class sage.functions.error.Function_Fresnel_cos#

The cosine Fresnel integral.

It is defined by the integral

$\operatorname{C}(x) = \int_0^x \cos\left(\frac{\pi t^2}{2}\right)\, dt$

for real $$x$$. Using power series expansions, it can be extended to the domain of complex numbers. See the Wikipedia article Fresnel_integral.

INPUT:

• x – the argument of the function

EXAMPLES:

sage: # needs sage.symbolic
sage: fresnel_cos(0)
0
sage: fresnel_cos(x).subs(x==0)
0
sage: x = var('x')
sage: fresnel_cos(1).n(100)
0.77989340037682282947420641365
sage: fresnel_cos(x)._sympy_()                                              # needs sympy
fresnelc(x)

class sage.functions.error.Function_Fresnel_sin#

The sine Fresnel integral.

It is defined by the integral

$\operatorname{S}(x) = \int_0^x \sin\left(\frac{\pi t^2}{2}\right)\, dt$

for real $$x$$. Using power series expansions, it can be extended to the domain of complex numbers. See the Wikipedia article Fresnel_integral.

INPUT:

• x – the argument of the function

EXAMPLES:

sage: # needs sage.symbolic
sage: fresnel_sin(0)
0
sage: fresnel_sin(x).subs(x==0)
0
sage: x = var('x')
sage: fresnel_sin(1).n(100)
0.43825914739035476607675669662
sage: fresnel_sin(x)._sympy_()                                              # needs sympy
fresnels(x)

class sage.functions.error.Function_erf#

The error function.

The error function is defined for real values as

$\operatorname{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} dt.$

This function is also defined for complex values, via analytic continuation.

EXAMPLES:

We can evaluate numerically:

sage: erf(2)                                                                    # needs sage.symbolic
erf(2)
sage: erf(2).n()                                                                # needs sage.symbolic
0.995322265018953
sage: erf(2).n(100)                                                             # needs sage.symbolic
0.99532226501895273416206925637
sage: erf(ComplexField(100)(2+3j))                                              # needs sage.rings.real_mpfr
-20.829461427614568389103088452 + 8.6873182714701631444280787545*I


Basic symbolic properties are handled by Sage and Maxima:

sage: x = var("x")                                                              # needs sage.symbolic
sage: diff(erf(x),x)                                                            # needs sage.symbolic
2*e^(-x^2)/sqrt(pi)
sage: integrate(erf(x),x)                                                       # needs sage.symbolic
x*erf(x) + e^(-x^2)/sqrt(pi)


ALGORITHM:

Sage implements numerical evaluation of the error function via the erf() function from mpmath. Symbolics are handled by Sage and Maxima.

REFERENCES:

class sage.functions.error.Function_erfc#

The complementary error function.

The complementary error function is defined by

$\frac{2}{\sqrt{\pi}} \int_t^\infty e^{-x^2} dx.$

EXAMPLES:

sage: erfc(6)                                                                   # needs sage.symbolic
erfc(6)
sage: erfc(6).n()                                                               # needs sage.symbolic
2.15197367124989e-17
sage: erfc(RealField(100)(1/2))                                                 # needs sage.rings.real_mpfr
0.47950012218695346231725334611

sage: 1 - erfc(0.5)                                                             # needs mpmath
0.520499877813047
sage: erf(0.5)                                                                  # needs mpmath
0.520499877813047

class sage.functions.error.Function_erfi#

The imaginary error function.

The imaginary error function is defined by

$\operatorname{erfi}(x) = -i \operatorname{erf}(ix).$
class sage.functions.error.Function_erfinv#

The inverse error function.

The inverse error function is defined by:

$\operatorname{erfinv}(x) = \operatorname{erf}^{-1}(x).$