﻿ s11aa Method
s11aa returns the value of the inverse hyperbolic tangent, $\mathrm{arctanh} x$.

# Syntax

C#
```public static double s11aa(
double x,
out int ifail
)```
Visual Basic
```Public Shared Function s11aa ( _
x As Double, _
<OutAttribute> ByRef ifail As Integer _
) As Double```
Visual C++
```public:
static double s11aa(
double x,
[OutAttribute] int% ifail
)```
F#
```static member s11aa :
x : float *
ifail : int byref -> float
```

#### Parameters

x
Type: System..::..Double
On entry: the argument $x$ of the function.
Constraint: $\left|{\mathbf{x}}\right|<1.0$.
ifail
Type: System..::..Int32%
On exit: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

#### Return Value

s11aa returns the value of the inverse hyperbolic tangent, $\mathrm{arctanh} x$.

# Description

s11aa calculates an approximate value for the inverse hyperbolic tangent of its argument, $\mathrm{arctanh} x$.
For ${x}^{2}\le \frac{1}{2}$ it is based on the Chebyshev expansion
 $arctanh x=x×yt=x∑′r=0arTrt$
where $-\frac{1}{\sqrt{2}}\le x\le \frac{1}{\sqrt{2}}$, $\text{ }-1\le t\le 1$, $\text{ and }t=4{x}^{2}-1$.
For $\frac{1}{2}<{x}^{2}<1$, it uses
 $arctanh x=12ln1+x1-x.$
For $\left|x\right|\ge 1$, the method fails as $\mathrm{arctanh} x$ is undefined.

# References

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

# Error Indicators and Warnings

Errors or warnings detected by the method:
${\mathbf{ifail}}=1$
The method has been called with an argument greater than or equal to $1.0$ in magnitude, for which $\mathrm{arctanh}$ is not defined. On failure, the result is returned as zero.
${\mathbf{ifail}}=-9000$
An error occured, see message report.

# Accuracy

If $\delta$ and $\epsilon$ are the relative errors in the argument and result, respectively, then in principle
 $ε≃x1-x2arctanh x×δ.$
That is, the relative error in the argument, $x$, is amplified by at least a factor $\frac{x}{\left(1-{x}^{2}\right)\mathrm{arctanh} x}$ in the result. The equality should hold if $\delta$ is greater than the machine precision ($\delta$ due to data errors etc.) but if $\delta$ 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 $\left|x\right|=1$. However in the region where $\left|x\right|$ is close to one, $1-\left|x\right|\sim \delta$, the above analysis is inapplicable since $x$ is bounded by definition, $\left|x\right|<1$. In this region where arctanh is tending to infinity we have
 $ε∼1/ln δ$
which implies an obvious, unavoidable serious loss of accuracy near $\left|x\right|\sim 1$, e.g., if $x$ and $1$ agree to $6$ significant figures, the result for $\mathrm{arctanh} x$ would be correct to at most about one figure.

None.

None.

# Example

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

Example program (C#): s11aae.cs

Example program data: s11aae.d

Example program results: s11aae.r