NAG CL Interfaces15afc (dawson)

Settings help

CL Name Style:

1Purpose

s15afc returns a value for Dawson's Integral, $F\left(x\right)$.

2Specification

 #include
 double s15afc (double x)
The function may be called by the names: s15afc, nag_specfun_dawson or nag_dawson.

3Description

s15afc evaluates an approximation for Dawson's Integral
 $F(x) = e-x2 ∫0x et2 dt .$
The function is based on two Chebyshev expansions:
For $0<|x|\le 4$,
 $F(x) = x ∑r=0′ ar Tr (t) , where t=2 (x4) 2 -1 .$
For $|x|>4$,
 $F(x) = 1x ∑r=0′ br Tr (t) , where t=2 (4x) 2 -1 .$
For $|x|$ near zero, $F\left(x\right)\simeq x$, and for $|x|$ large, $F\left(x\right)\simeq \frac{1}{2x}$. These approximations are used for those values of $x$ for which the result is correct to machine precision.

4References

NIST Digital Library of Mathematical Functions

5Arguments

1: $\mathbf{x}$double Input
On entry: the argument $x$ of the function.

None.

7Accuracy

Let $\delta$ and $\epsilon$ be the relative errors in the argument and result respectively.
If $\delta$ is considerably greater than the machine precision (i.e., if $\delta$ is due to data errors etc.), then $\epsilon$ and $\delta$ are approximately related by:
 $ε≃ | x (1-2xF(x)) F(x) | δ.$
The following graph shows the behaviour of the error amplification factor $|\frac{x\left(1-2xF\left(x\right)\right)}{F\left(x\right)}|$:
However, if $\delta$ is of the same order as machine precision, then rounding errors could make $\epsilon$ somewhat larger than the above relation indicates. In fact $\epsilon$ will be largely independent of $x$ or $\delta$, but will be of the order of a few times the machine precision.

8Parallelism and Performance

s15afc is not threaded in any implementation.

None.

10Example

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

10.1Program Text

Program Text (s15afce.c)

10.2Program Data

Program Data (s15afce.d)

10.3Program Results

Program Results (s15afce.r)