Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_specfun_erf_real (s15ae)

## Purpose

nag_specfun_erf_real (s15ae) returns the value of the error function erf(x)$\mathrm{erf}\left(x\right)$, via the function name.

## Syntax

[result, ifail] = s15ae(x)
[result, ifail] = nag_specfun_erf_real(x)

## Description

nag_specfun_erf_real (s15ae) calculates an approximate value for the error function
 x erf(x) = 2/(sqrt(π)) ∫ e − t2dt = 1 − erfc(x). 0
$erf(x)=2π∫0xe-t2dt=1-erfc(x).$
Let $\stackrel{^}{x}$ be the root of the equation erfc(x)erf(x) = 0$\mathrm{erfc}\left(x\right)-\mathrm{erf}\left(x\right)=0$ (then 0.46875$\stackrel{^}{x}\approx 0.46875$). For |x|$|x|\le \stackrel{^}{x}$ the value of erf(x)$\mathrm{erf}\left(x\right)$ is based on the following rational Chebyshev expansion for erf(x)$\mathrm{erf}\left(x\right)$:
 erf(x) ≈ xRℓ,m(x2), $erf(x)≈xRℓ,m(x2),$
where R,m${R}_{\ell ,m}$ denotes a rational function of degree $\ell$ in the numerator and m$m$ in the denominator.
For |x| > $|x|>\stackrel{^}{x}$ the value of erf(x)$\mathrm{erf}\left(x\right)$ is based on a rational Chebyshev expansion for erfc(x)$\mathrm{erfc}\left(x\right)$: for < |x|4$\stackrel{^}{x}<|x|\le 4$ the value is based on the expansion
 erfc(x) ≈ ex2Rℓ,m(x); $erfc(x)≈ex2Rℓ,m(x);$
and for |x| > 4$|x|>4$ it is based on the expansion
 erfc(x) ≈ (ex2)/x(1/(sqrt(π)) + 1/(x2)Rℓ,m(1 / x2)). $erfc(x)≈ex2x(1π+1x2Rℓ,m(1/x2)).$
For each expansion, the specific values of $\ell$ and m$m$ are selected to be minimal such that the maximum relative error in the expansion is of the order 10d${10}^{-d}$, where d$d$ is the maximum number of decimal digits that can be accurately represented for the particular implementation (see nag_machine_decimal_digits (x02be)).
For |x|xhi$|x|\ge {x}_{\mathrm{hi}}$ there is a danger of setting underflow in erfc(x)$\mathrm{erfc}\left(x\right)$. For xxhi$x\ge {x}_{\mathrm{hi}}$, nag_specfun_erf_real (s15ae) returns erf(x) = 1$\mathrm{erf}\left(x\right)=1$; for xxhi$x\le -{x}_{\mathrm{hi}}$ it returns erf(x) = 1$\mathrm{erf}\left(x\right)=-1$.

## References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Cody W J (1969) Rational Chebyshev approximations for the error function Math.Comp. 23 631–637

## Parameters

### Compulsory Input Parameters

1:     x – double scalar
The argument x$x$ of the function.

None.

None.

### Output Parameters

1:     result – double scalar
The result of the function.
2:     ifail – int64int32nag_int scalar
${\mathrm{ifail}}={\mathbf{0}}$ unless the function detects an error (see [Error Indicators and Warnings]).

## Error Indicators and Warnings

There are no failure exits from nag_specfun_erf_real (s15ae). The parameter ifail has been included for consistency with other functions in this chapter.

None.

## Example

function nag_specfun_erf_real_example
x = -6;
[result, ifail] = nag_specfun_erf_real(x)

result =

-1

ifail =

0

function s15ae_example
x = -6;
[result, ifail] = s15ae(x)

result =

-1

ifail =

0