For
it is based on the Chebyshev expansion
where
,
,
.
None.
If
and
are the relative errors in the argument and result, respectively, then in principle
That is, the relative error in the argument,
, is amplified by at least a factor
in the result. The equality should hold if
is greater than the
machine precision (
due to data errors etc.) but if
is simply due to round-off in the machine representation then it is possible that an extra figure may be lost in internal calculation round-off.
The behaviour of the amplification factor is shown in the following graph:
Figure 1
The factor is not significantly greater than one except for arguments close to
. However in the region where
is close to one,
, the above analysis is inapplicable since
is bounded by definition,
. In this region where arctanh is tending to infinity we have
which implies an obvious, unavoidable serious loss of accuracy near
, e.g., if
and
agree to
significant figures, the result for
would be correct to at most about one figure.
None.
function s11aa_example
fprintf('s11aa example results\n\n');
x = [-0.5 0 0.5 -0.9999];
n = size(x,2);
result = x;
for j=1:n
[result(j), ifail] = s11aa(x(j));
end
disp(' x arctanh(x)');
fprintf('%12.3e%12.3e\n',[x; result]);