PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_specfun_erfc_real (s15ad)
Purpose
nag_specfun_erfc_real (s15ad) returns the value of the complementary error function, , via the function name.
Syntax
Description
nag_specfun_erfc_real (s15ad) calculates an approximate value for the complement of the error function
Let
be the root of the equation
(then
). For
the value of
is based on the following rational Chebyshev expansion for
:
where
denotes a rational function of degree
in the numerator and
in the denominator.
For
the value of
is based on a rational Chebyshev expansion for
: for
the value is based on the expansion
and for
it is based on the expansion
For each expansion, the specific values of
and
are selected to be minimal such that the maximum relative error in the expansion is of the order
, where
is the maximum number of decimal digits that can be accurately represented for the particular implementation (see
nag_machine_decimal_digits (x02be)).
For there is a danger of setting underflow in . For , nag_specfun_erfc_real (s15ad) returns ; for it returns .
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:
– double scalar
-
The argument of the function.
Optional Input Parameters
None.
Output Parameters
- 1:
– double scalar
The result of the function.
- 2:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
There are no failure exits from
nag_specfun_erfc_real (s15ad). The argument
ifail has been included for consistency with other functions in this chapter.
Accuracy
If
and
are relative errors in the argument and result, respectively, then in principle
That is, the relative error in the argument,
, is amplified by a factor
in the result.
The behaviour of this factor is shown in
Figure 1.
It should be noted that near
this factor behaves as
and hence the accuracy is largely determined by the
machine precision. Also for large negative
, where the factor is
, accuracy is mainly limited by
machine precision. However, for large positive
, the factor becomes
and to an extent relative accuracy is necessarily lost. The absolute accuracy
is given by
so absolute accuracy is guaranteed for all
.
Further Comments
None.
Example
This example reads values of the argument from a file, evaluates the function at each value of and prints the results.
Open in the MATLAB editor:
s15ad_example
function s15ad_example
fprintf('s15ad example results\n\n');
x = [-10 -1 0 1 10];
n = size(x,2);
result = x;
for j=1:n
[result(j), ifail] = s15ad(x(j));
end
disp(' x erfc(x)');
fprintf('%12.3e%12.3e\n',[x; result]);
s15ad example results
x erfc(x)
-1.000e+01 2.000e+00
-1.000e+00 1.843e+00
0.000e+00 1.000e+00
1.000e+00 1.573e-01
1.000e+01 2.088e-45
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015