Math.atanh()

The Math.atanh() function returns the hyperbolic arctangent of a number, that is

$∀ x ∊ ( - 1 , 1 ) , Math.atanh ( x ) = arctanh ( x ) = the unique y such that tanh ( y ) = x \forall x \in \left( -1, 1 \right), \mathtt{\operatorname{Math.atanh}(x)} = \operatorname{arctanh}(x) = \text{ the unique } \; y \; \text{such that} \; \tanh(y) = x$

Syntax

Math.atanh(x)

Parameters

x
A number.

Return value

The hyperbolic arctangent of the given number.

Description

Because atanh() is a static method of Math, you always use it as Math.atanh(), rather than as a method of a Math object you created (Math is not a constructor).

Examples

Using Math.atanh()

Math.atanh(-2);  // NaN
Math.atanh(-1);  // -Infinity
Math.atanh(0);   // 0
Math.atanh(0.5); // 0.5493061443340548
Math.atanh(1);   // Infinity
Math.atanh(2);   // NaN


For values greater than 1 or less than -1, NaN is returned.

Polyfill

For $\left|x\right| < 1$, we have $\operatorname \left\{artanh\right\} \left(x\right) = \frac\left\{1\right\}\left\{2\right\}\ln \left\left( \frac\left\{1 + x\right\}\left\{1 - x\right\} \right\right)$ so this can be emulated by the following function:

Math.atanh = Math.atanh || function(x) {
return Math.log((1+x)/(1-x)) / 2;
};


Browser compatibility

BCD tables only load in the browser