nag_arccosh (s11acc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_arccosh (s11acc)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_arccosh (s11acc) returns the value of the inverse hyperbolic cosine, arccoshx . The result is in the principal positive branch.

2  Specification

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

3  Description

nag_arccosh (s11acc) calculates an approximate value for the inverse hyperbolic cosine, arccoshx . It is based on the relation
arccoshx = ln x + x 2 - 1 .
This form is used directly for 1 < x < 10 k , where k = n / 2 + 1 , and the machine uses approximately n  decimal place arithmetic.
For x 10 k , x 2 - 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
arccoshx = ln2 + lnx .

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: x1.0 .
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

On entry, x must not be less than 1.0: x=value .
arccoshx  is not defined and the result returned is zero.

7  Accuracy

If δ  and ε  are the relative errors in the argument and result respectively, then in principle
ε x x 2 - 1 arccoshx δ .
That is the relative error in the argument is amplified by a factor at least
x x 2 - 1 arccoshx
in the result. The equality should apply if δ  is greater than the machine precision ( δ  due to data error etc.), but if δ  is simply a result of round-off in the machine representation, it is possible that an extra figure may be lost in internal calculation and round-off.
It should be noted that for x>2  the factor is always less than 1.0. For large x  we have the absolute error E  in the result, in principle, given by
E δ .
This means that eventually accuracy is limited by machine precision. More significantly for x  close to 1, x - 1 δ , the above analysis becomes inapplicable due to the fact that both function and argument are bounded, x1 , arccoshx 0 . In this region we have
E δ .
That is, there will be approximately half as many decimal places correct in the result as there were correct figures in the argument.

8  Further Comments


9  Example

The following program reads values of the argument x  from a file, evaluates the function at each value of x  and prints the results.

9.1  Program Text

Program Text (s11acce.c)

9.2  Program Data

Program Data (s11acce.d)

9.3  Program Results

Program Results (s11acce.r)

nag_arccosh (s11acc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

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