Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Elementary Functions > Trigonometry > atanh


hyperbolic tangent inverse

Calling Sequence

t = atanh(x)



a real or complex vector/matrix.


a real or complex vector/matrix.


The components of vector t are the hyperbolic tangent inverse of the corresponding entries of vector x. Definition domain is [-1,1] for the real function (see Remark).


In Scilab (as in some others numerical software) when you try to evaluate an elementary mathematical function outside its definition domain in the real case, then the complex extension is used (with a complex result). The most famous example being the sqrt function (try sqrt(-1)!). This approach have some drawbacks when you evaluate the function at a singular point which may led to different results when the point is considered as real or complex. For the atanh this occurs for -1 and 1 because the at these points the imaginary part do not converge and so atanh(1) = +Inf + i NaN while atanh(1) = +Inf for the real case (as lim x->1 of atanh(x)). So when you evaluate this function on the vector [1 2] then like 2 is outside the definition domain, the complex extension is used for all the vector and you get atanh(1) = +Inf + i NaN while you get atanh(1) = +Inf with [1 0.5] for instance.


// example 1

// example 2
x = [-%inf -3 -2 -1 0 1 2 3 %inf]

// example 3 (see Remark)
atanh([1 2])
atanh([1 0.5])

See Also

  • tanh — hyperbolic tangent
  • ieee — set floating point exception mode
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:36:21 CEST 2013