nag_tanh (s10aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_tanh (s10aac)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_tanh (s10aac) returns a value for the hyperbolic tangent, tanhx .

2  Specification

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

3  Description

nag_tanh (s10aac) calculates an approximate value for the hyperbolic tangent of its argument, tanhx .
For x 1  the function is based on a Chebyshev expansion.
For 1 < x < E 1  (where E 1  is a machine-dependent constant),
tanhx = e 2x - 1 e 2x + 1 .
For x E 1 , tanhx = signx  to within the representation accuracy of the machine and so this approximation is used.

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.

6  Error Indicators and Warnings


7  Accuracy

If δ  and ε  are the relative errors in the argument and the result respectively, then in principle,
ε 2x sinh2 x δ .
That is, a relative error in the argument, x , is amplified by a factor approximately 2 x / sinh2 x  in the result.
The equality should hold if δ  is greater than the machine precision( δ  due to data errors etc.), but if δ  is due simply to the round-off in the machine representation, it is possible that an extra figure may be lost in internal calculation round-off.
It should be noted that this factor is always less than or equal to 1.0 and away from x=0  the accuracy will eventually be limited entirely by the machine precision.

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

9.2  Program Data

Program Data (s10aace.d)

9.3  Program Results

Program Results (s10aace.r)

nag_tanh (s10aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

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