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

PDF version (NAG web site, 64-bit version, 64-bit version)
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 $\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
 $erfx=2π∫0xe-t2dt=1-erfcx.$
Let $\stackrel{^}{x}$ be the root of the equation $\mathrm{erfc}\left(x\right)-\mathrm{erf}\left(x\right)=0$ (then $\stackrel{^}{x}\approx 0.46875$). For $\left|x\right|\le \stackrel{^}{x}$ the value of $\mathrm{erf}\left(x\right)$ is based on the following rational Chebyshev expansion for $\mathrm{erf}\left(x\right)$:
 $erfx≈xRℓ,mx2,$
where ${R}_{\ell ,m}$ denotes a rational function of degree $\ell$ in the numerator and $m$ in the denominator.
For $\left|x\right|>\stackrel{^}{x}$ the value of $\mathrm{erf}\left(x\right)$ is based on a rational Chebyshev expansion for $\mathrm{erfc}\left(x\right)$: for $\stackrel{^}{x}<\left|x\right|\le 4$ the value is based on the expansion
 $erfcx≈ex2Rℓ,mx;$
and for $\left|x\right|>4$ it is based on the expansion
 $erfcx≈ex2x1π+1x2Rℓ,m1/x2.$
For each expansion, the specific values of $\ell$ and $m$ are selected to be minimal such that the maximum relative error in the expansion is of the order ${10}^{-d}$, where $d$ is the maximum number of decimal digits that can be accurately represented for the particular implementation (see nag_machine_decimal_digits (x02be)).
For $\left|x\right|\ge {x}_{\mathrm{hi}}$ there is a danger of setting underflow in $\mathrm{erfc}\left(x\right)$. For $x\ge {x}_{\mathrm{hi}}$, nag_specfun_erf_real (s15ae) returns $\mathrm{erf}\left(x\right)=1$; for $x\le -{x}_{\mathrm{hi}}$ it returns $\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:     $\mathrm{x}$ – double scalar
The argument $x$ of the function.

None.

### Output Parameters

1:     $\mathrm{result}$ – double scalar
The result of the function.
2:     $\mathrm{ifail}$int64int32nag_int scalar
${\mathbf{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 argument ifail has been included for consistency with other functions in this chapter.

## Accuracy

See Accuracy in nag_specfun_erfc_real (s15ad).

None.

## Example

This example reads values of the argument $x$ from a file, evaluates the function at each value of $x$ and prints the results.
```function s15ae_example

fprintf('s15ae example results\n\n');

x = [-6   -4.5    -1    1     4.5   6];
n = size(x,2);
result = x;

for j=1:n
[result(j), ifail] = s15ae(x(j));
end

disp('      x          erf(x)');
fprintf('%12.3e%12.3e\n',[x; result]);

```
```s15ae example results

x          erf(x)
-6.000e+00  -1.000e+00
-4.500e+00  -1.000e+00
-1.000e+00  -8.427e-01
1.000e+00   8.427e-01
4.500e+00   1.000e+00
6.000e+00   1.000e+00
```

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015