NAG CL Interface
s15aec (erf_​real)

Settings help

CL Name Style:

1 Purpose

s15aec returns the value of the error function erf(x).

2 Specification

#include <nag.h>
double  s15aec (double x)
The function may be called by the names: s15aec, nag_specfun_erf_real or nag_erf.

3 Description

s15aec calculates an approximate value for the error function
erf(x) = 2π 0x e-t2 dt = 1-erfc(x) .  
Unless stated otherwise in the Users' Note, s15aec calls the error function supplied by the compiler used for your implementation; as such, details of the underlying algorithm should be obtained from the documentation supplied by the compiler vendor. The following discussion only applies if the Users' Note for your implementation indicates that the compiler's supplied function was not available.
Let x^ be the root of the equation erfc(x)-erf(x)=0 (then x^0.46875). For |x|x^ the value of erf(x) is based on the following rational Chebyshev expansion for erf(x):
erf(x) xR,m (x2) ,  
where R,m denotes a rational function of degree in the numerator and m in the denominator.
For |x|>x^ the value of erf(x) is based on a rational Chebyshev expansion for erfc(x): for x^<|x|4 the value is based on the expansion
erfc(x) ex2 R,m (x) ;  
and for |x|>4 it is based on the expansion
erfc(x) ex2 x (1π+1x2R,m(1/x2)) .  
For each expansion, the specific values of 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 X02BEC).
For |x|xhi there is a danger of setting underflow in erfc(x) (the value of xhi is given in the Users' Note for your implementation). For xxhi, s15aec returns erf(x)=1; for x-xhi it returns erf(x)=-1.

4 References

NIST Digital Library of Mathematical Functions
Cody W J (1969) Rational Chebyshev approximations for the error function Math.Comp. 23 631–637

5 Arguments

1: x double Input
On entry: the argument x of the function.

6 Error Indicators and Warnings


7 Accuracy

See Section 7 in s15adc.

8 Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
s15aec is not threaded in any implementation.

9 Further Comments

9.1 Internal Changes

Internal changes have been made to this function as follows:
For details of all known issues which have been reported for the NAG Library please refer to the Known Issues.

10 Example

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

10.1 Program Text

Program Text (s15aece.c)

10.2 Program Data

Program Data (s15aece.d)

10.3 Program Results

Program Results (s15aece.r)