PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_specfun_erfcx_real (s15ag)
Purpose
nag_specfun_erfcx_real (s15ag) returns the value of the scaled complementary error function , via the function name.
Syntax
Description
nag_specfun_erfcx_real (s15ag) calculates an approximate value for the scaled complementary 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)).
Asymptotically,
. There is a danger of setting underflow in
whenever
, where
is the largest positive model number (see
nag_machine_real_largest (x02al)) and
is the smallest positive model number (see
nag_machine_real_smallest (x02ak)). In this case
nag_specfun_erfcx_real (s15ag) exits with
and returns
. For
in the range
, where
is the
machine precision, the asymptotic value
is returned for
and
nag_specfun_erfcx_real (s15ag) exits with
.
There is a danger of setting overflow in whenever . In this case nag_specfun_erfcx_real (s15ag) exits with and returns .
The values of
,
and
are given in the
Users' Note for your implementation.
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
Note: nag_specfun_erfcx_real (s15ag) may return useful information for one or more of the following detected errors or warnings.
Errors or warnings detected by the function:
Cases prefixed with W are classified as warnings and
do not generate an error of type NAG:error_n. See nag_issue_warnings.
- W
-
Constraint: .
- W
-
On entry, was in the interval where is approximately : .
- W
-
Constraint: .
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
The relative error in computing
may be estimated by evaluating
where
denotes repeated integration. Empirical results suggest that on the interval
the loss in base
significant digits for maximum relative error is around
, while for root-mean-square relative error on that interval it is
(see
nag_machine_model_base (x02bh) for the definition of the model parameter
). On the interval
the values are around
for maximum and
for root-mean-square relative errors; note that on these two intervals
is the primary computation. See also
Accuracy in
nag_specfun_erfc_real (s15ad).
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:
s15ag_example
function s15ag_example
fprintf('s15ag example results\n\n');
x = [-30.0; -6.0; -4.5; -1.0; 1.0; 4.5; 6.0; 7.0e7];
wstat = warning();
warning('OFF');
result = zeros(8, 1);
ifail = zeros(8, 1, 'int64');
for i=1:8
[result(i), ifail(i)] = s15ag(x(i));
end
fprintf(' x erfcx(x) ifail\n');
for i=1:8
fprintf('%10.2e %13.5e %d\n', x(i), result(i), ifail(i));
end
warning(wstat);
s15ag example results
x erfcx(x) ifail
-3.00e+01 1.79769e+308 3
-6.00e+00 8.62246e+15 0
-4.50e+00 1.24593e+09 0
-1.00e+00 5.00898e+00 0
1.00e+00 4.27584e-01 0
4.50e+00 1.22485e-01 0
6.00e+00 9.27766e-02 0
7.00e+07 8.05985e-09 2
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015