Inverse tangent function

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.


arctan(y, x)


arctan(x) represents the inverse of the tangent function.

arctan(y, x) is an alias for arg(x, y).

The angle returned by this function is measured in radians, not in degrees. For example, the result π represents an angle of 180o.

arctan is defined for complex arguments.

Floating-point values are returned for floating-point arguments. Floating-point intervals are returned for interval arguments. Unevaluated function calls are returned for most exact arguments.

If the argument is a rational multiple of I, the result is expressed in terms of hyperbolic functions. See Example 2.

The inverse tangent function is multivalued. The MuPAD® arctan function returns the value on the main branch. The branch cuts are the intervals interval(- i ∞, [- i]) and interval([i], i ∞) on the imaginary axis. Thus, arctan returns values, such that y = arctan(x) satisfies for any finite complex x.

The tan function returns explicit values for arguments that are certain rational multiples of π. For these values, arctan returns an appropriate rational multiple of π on the main branch. See Example 3.

The values jump when the arguments cross a branch cut. See Example 4.

The float attributes are kernel functions. Thus, floating-point evaluation is fast.

If you call arctan with two arguments, y and x, MuPAD calls the arg function that computes the polar angle of a complex number x + I*y. See Example 7 and the arg help page.

Environment Interactions

When called with a floating-point argument, arctan is sensitive to the environment variable DIGITS which determines the numerical working precision.


Example 1

We demonstrate some calls with exact and symbolic input data:

arcsin(1), arccos(1/sqrt(2)), arctan(5 + I), arccsc(1/3),
arcsec(I), arccot(1)

arcsin(-x), arccos(x + 1), arctan(1/x)

Floating-point values are computed for floating-point arguments:

arcsin(0.1234), arccos(5.6 + 7.8*I), arccot(1.0/10^20)

On input of floating-point intervals, these functions compute floating-point intervals containing the image sets:

arcsin(0...1), arccos(0...1)


Note that certain types of input lead to severe overestimation, sometimes returning the whole image set of the function in question:


Example 2

Arguments that are rational multiples of I are rewritten in terms of hyperbolic functions:

arcsin(5*I), arccos(5/4*I), arctan(-3*I)

For other complex arguments unevaluated function calls without simplifications are returned:

arcsin(1/2^(1/2) + I), arccos(1 -3*I)

Example 3

Some special values are implemented:

arcsin(1/sqrt(2)), arccos((5^(1/2) - 1)/4), arctan(3^(1/2) - 2)

Such simplifications occur for arguments that are trigonometric images of rational multiples of π:

sin(9/10*PI), arcsin(sin(9/10*PI))

cos(PI/8)/sin(PI/8), arctan(cos(PI/8)/sin(PI/8))

Example 4

The values jump when crossing a branch cut:

arcsin(2.0 + I/10^10), arcsin(2.0 - I/10^10)

On the branch cut, the values of arcsin coincide with the limit "from below" for real arguments x > 1. The values coincide with the limit "from above" for real x < - 1:

arcsin(1.2), arcsin(1.2 - I/10^10), arcsin(1.2 + I/10^10)

arcsin(-1.2), arcsin(-1.2 + I/10^10), arcsin(-1.2 - I/10^10)

Example 5

The inverse trigonometric functions can be rewritten in terms of the logarithm function with complex arguments:

rewrite(arcsin(x), ln), rewrite(arctan(x), ln)

Example 6

Various system functions such as diff, float, limit, or series handle expressions involving the inverse trigonometric functions:

diff(arcsin(x^2), x), float(arccos(3)*arctan(5 + I))

limit(arcsin(x^2)/arctan(x^2), x = 0)

series(arctan(sin(x)) - arcsin(tan(x)), x = 0, 10)

series(arccos(2 + x), x, 3)

Example 7

When you call arctan with two arguments, MuPAD calls the arg function and computes the polar angle of a complex number:

arctan(y, x)



Arithmetical expression or floating-point interval

y, x

Arithmetical expressions representing real numbers

Return Values

Arithmetical expression or floating-point interval.

Overloaded By


See Also

MuPAD Functions

Was this topic helpful?