NAG Library Function Document

nag_arcsinh (s11abc)

 Contents

    1  Purpose
    7  Accuracy

1
Purpose

nag_arcsinh (s11abc) returns the value of the inverse hyperbolic sine, arcsinhx.

2
Specification

#include <nag.h>
#include <nags.h>
double  nag_arcsinh (double x)

3
Description

nag_arcsinh (s11abc) calculates an approximate value for the inverse hyperbolic sine of its argument, arcsinhx.
For x1 it is based on the Chebyshev expansion
arcsinhx=x×yt=xr=0crTrt,   where ​t=2x2-1.  
For x>1 it uses the fact that
arcsinhx=signx×lnx+x2+1 .  
This form is used directly for 1<x<10k, where k=n/2+1, and the machine uses approximately n decimal place arithmetic.
For x10k, x2+1 is equal to x to within the accuracy of the machine and hence we can guard against premature overflow and, without loss of accuracy, calculate
arcsinhx=signx×ln2+lnx.  

4
References

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

5
Arguments

1:     x doubleInput
On entry: the argument x of the function.

6
Error Indicators and Warnings

None.

7
Accuracy

If δ and ε are the relative errors in the argument and the result, respectively, then in principle
ε x 1+x2 arcsinhx δ .  
That is, the relative error in the argument, x, is amplified by a factor at least x1+x2arcsinhx , 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 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
It should be noted that this factor is always less than or equal to one. For large x we have the absolute error in the result, E, in principle, given by
Eδ.  
This means that eventually accuracy is limited by machine precision.

8
Parallelism and Performance

nag_arcsinh (s11abc) is not threaded in any implementation.

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 (s11abce.c)

10.2
Program Data

Program Data (s11abce.d)

10.3
Program Results

Program Results (s11abce.r)

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