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

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

Specifications

Browser compatibility

BCD tables only load in the browser

See also