# arccos

Inverse cosine function

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```arccos(`x`)
```

## Description

`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.

## Examples

### 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)`

`arcsin(2...3)`

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

```arccsc(-2...2); csc(arccsc(-2...2))```

### 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)`

## Parameters

 `x`

## Return Values

Arithmetical expression or floating-point interval.

`x`