tan

tan(x: array, /) array

Calculates an implementation-dependent approximation to the tangent for each element x_i of the input array x.

Each element x_i is assumed to be expressed in radians.

Note

Tangent is an analytical function on the complex plane and has no branch cuts. The function is periodic, with period \(\pi j\), with respect to the real component and has first order poles along the real line at coordinates \((\pi (\frac{1}{2} + n), 0)\). However, IEEE 754 binary floating-point representation cannot represent the value \(\pi / 2\) exactly, and, thus, no argument value is possible for which a pole error occurs.

Note

For complex arguments, the mathematical definition of tangent is

\[\begin{split}\begin{align} \operatorname{tan}(x) &= \frac{j(e^{-jx} - e^{jx})}{e^{-jx} + e^{jx}} \\ &= (-1) \frac{j(e^{jx} - e^{-jx})}{e^{jx} + e^{-jx}} \\ &= -j \cdot \operatorname{tanh}(jx) \end{align}\end{split}\]

where \(\operatorname{tanh}\) is the hyperbolic tangent.

Parameters:

x (array) – input array whose elements are expressed in radians. Should have a floating-point data type.

Returns:

out (array) – an array containing the tangent of each element in x. The returned array must have a floating-point data type determined by Type Promotion Rules.

Notes

Special cases

For real-valued floating-point operands,

  • If x_i is NaN, the result is NaN.

  • If x_i is +0, the result is +0.

  • If x_i is -0, the result is -0.

  • If x_i is either +infinity or -infinity, the result is NaN.

For complex floating-point operands, special cases must be handled as if the operation is implemented as -1j * tanh(x*1j).

Changed in version 2022.12: Added complex data type support.