s15af returns a value for Dawson's Integral, Fx.

Syntax

C#
public static double s15af(
	double x
)
Visual Basic
Public Shared Function s15af ( _
	x As Double _
) As Double
Visual C++
public:
static double s15af(
	double x
)
F#
static member s15af : 
        x : float -> float 

Parameters

x
Type: System..::..Double
On entry: the argument x of the function.

Return Value

s15af returns a value for Dawson's Integral, Fx.

Description

s15af evaluates an approximation for Dawson's Integral
Fx=e-x20xet2dt.
The method is based on two Chebyshev expansions:
For 0<x4,
Fx=xr=0arTrt,   where  t=2x42-1.
For x>4,
Fx=1xr=0brTrt,   where  t=24x2-1.
For x near zero, Fxx, and for x large, Fx12x. These approximations are used for those values of x for which the result is correct to machine precision.

References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

Error Indicators and Warnings

None.

Accuracy

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

Parallelism and Performance

None.

Further Comments

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.

Example program (C#): s15afe.cs

Example program data: s15afe.d

Example program results: s15afe.r

See Also