NAG Library Routine Document

s15aef  (erf_real)

 Contents

    1  Purpose
    7  Accuracy

1
Purpose

s15aef returns the value of the error function erfx, via the function name.

2
Specification

Fortran Interface
Function s15aef ( x, ifail)
Real (Kind=nag_wp):: s15aef
Integer, Intent (Inout):: ifail
Real (Kind=nag_wp), Intent (In):: x
C Header Interface
#include nagmk26.h
double  s15aef_ ( const double *x, Integer *ifail)

3
Description

s15aef calculates an approximate value for the error function
erfx=2π0xe-t2dt=1-erfcx.  
Let x^ be the root of the equation erfcx-erfx=0 (then x^0.46875). For xx^ the value of erfx is based on the following rational Chebyshev expansion for erfx:
erfxxR,mx2,  
where R,m denotes a rational function of degree  in the numerator and m in the denominator.
For x>x^ the value of erfx is based on a rational Chebyshev expansion for erfcx: for x^<x4 the value is based on the expansion
erfcxex2R,mx;  
and for x>4 it is based on the expansion
erfcxex2x1π+1x2R,m1/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 x02bef).
For xxhi there is a danger of setting underflow in erfcx (the value of xhi is given in the Users' Note for your implementation). For xxhi, s15aef returns erfx=1; for x-xhi it returns erfx=-1.

4
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

5
Arguments

1:     x – Real (Kind=nag_wp)Input
On entry: the argument x of the function.
2:     ifail – IntegerInput/Output
On entry: ifail must be set to 0, -1​ or ​1. If you are unfamiliar with this argument you should refer to Section 3.4 in How to Use the NAG Library and its Documentation for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value -1​ or ​1 is recommended. If the output of error messages is undesirable, then the value 1 is recommended. Otherwise, if you are not familiar with this argument, the recommended value is 0. When the value -1​ or ​1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6
Error Indicators and Warnings

There are no failure exits from s15aef. The argument ifail has been included for consistency with other routines in this chapter.

7
Accuracy

See Section 7 in s15adf.

8
Parallelism and Performance

s15aef is not threaded in any implementation.

9
Further Comments

None.

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 (s15aefe.f90)

10.2
Program Data

Program Data (s15aefe.d)

10.3
Program Results

Program Results (s15aefe.r)

© The Numerical Algorithms Group Ltd, Oxford, UK. 2017