nag_arctanh (s11aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG Library Manual

NAG Library Function Document

nag_arctanh (s11aac)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_arctanh (s11aac) returns the value of the inverse hyperbolic tangent, arctanhx.

2  Specification

#include <nag.h>
#include <nags.h>
double  nag_arctanh (double x, NagError *fail)

3  Description

nag_arctanh (s11aac) calculates an approximate value for the inverse hyperbolic tangent of its argument, arctanhx.
For x212  it is based on the Chebyshev expansion
arctanhx=x×yt=xr=0arTrt
where - 12x 12, -1t1,   and  t=4x2-1.
For 12<x2<1, it uses
arctanhx=12ln1+x 1-x .
For x1, the function fails as arctanhx is undefined.

4  References

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

5  Arguments

1:     xdoubleInput
On entry: the argument x of the function.
Constraint: x<1.0.
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_REAL_ARG_GE
On entry, x=value.
Constraint: x<1.
The function has been called with an argument greater than or equal to 1.0 in magnitude, for which arctanh is not defined.

7  Accuracy

If δ and ε are the relative errors in the argument and result, respectively, then in principle
ε x 1-x2 arctanhx ×δ .
That is, the relative error in the argument, x, is amplified by at least a factor x1-x2arctanhx  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
Figure 1
The factor is not significantly greater than one except for arguments close to x=1. However in the region where x is close to one, 1-xδ, the above analysis is inapplicable since x is bounded by definition, x<1. In this region where arctanh is tending to infinity we have
ε1/lnδ
which implies an obvious, unavoidable serious loss of accuracy near x1, e.g., if x and 1 agree to 6 significant figures, the result for arctanhx would be correct to at most about one figure.

8  Parallelism and Performance

Not applicable.

9  Further Comments

None.

10  Example

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

10.1  Program Text

Program Text (s11aace.c)

10.2  Program Data

Program Data (s11aace.d)

10.3  Program Results

Program Results (s11aace.r)


nag_arctanh (s11aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2014