Documentation Center

  • Trial Software
  • Product Updates


Inverse cosine function

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.




arccos(x) represents the inverse of the cosine function.

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

arccos 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 cosine function is multivalued. The MuPAD® arccos function returns the value on the main branch. The branch cuts are the real intervals (- ∞, - 1) and (1, ∞). Thus, arccos returns values, such that y = arccos(x) satisfies 0 ≤ (y) ≤ π for any finite complex x.

The cos function returns explicit values for arguments that are certain rational multiples of π. For these values, arccos 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.

Environment Interactions

When called with a floating-point argument, arccos 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)

Return Values

Arithmetical expression or floating-point interval.

Overloaded By


See Also

MuPAD Functions

Was this topic helpful?