# arccot

Inverse cotangent function

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```arccot(`x`)
```

## Description

`arccot(x)` represents the inverse of the cotangent function.

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

`arccot` 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 cotangent function is multivalued. The MuPAD® `arccot` function returns the value on the main branch. The branch cut is the interval [- i, i] on the imaginary axis. Thus, `arccot` returns values, such that y = arccot(x) satisfies $-\frac{\pi }{2}<\Re \left(y\right)\le \frac{\pi }{2}$ for any finite complex x.

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

 Note:   MuPAD defines `arccot` as ```arccot(x) = arctan(1/x)```, although `arccot` can return an unevaluated function call and does not rewrite itself in terms of `arctan`. As a consequence of this definition, the real line crosses the branch cut, and `arccot` has a jump discontinuity at the origin.

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

## Environment Interactions

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

## Examples

### Example 1

Call `arccot` with the following exact and symbolic input arguments:

```arccot(1), arccot(1/sqrt(2)), arccot(5 + I), arccot(1/3), arccot(0), arccot(I/2)```

`arccot(-x), arccot(x + 1), arccot(1/x)`

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

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

Floating-point intervals are computed for interval arguments:

`arccot(-4...4), arccot(0...1)`

### Example 2

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

`arccot(5*I), arccot(5/4*I), arccot(-3*I)`

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

`arccot(1/2^(1/2) + I), arccot(1 - 3*I)`

### Example 3

Some special values are implemented:

`arccot(1), arccot((5 - 2*5^(1/2))^(1/2)), arccot(3^(1/2) - 2)`

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

`cot(9/10*PI), arccot(cot(9/10*PI))`

### Example 4

The values jump when crossing a branch cut:

`arccot(0.5*I + 10^(-10)), arccot(0.5*I - 10^(-10))`

On the branch cut, the values of `arccot` coincide with the limit "from the right" for imaginary arguments ```x = c*i``` where `0 < c < 1`:

```limit(arccot(0.5*I - 1/n), n = infinity); limit(arccot(0.5*I + 1/n), n = infinity); arccot(0.5*I)```

The values coincide with the limit "from the left" for imaginary arguments `x = c*i` where ```-1 < c < 0```:

```limit(arccot(-0.5*I - 1/n), n = infinity); limit(arccot(-0.5*I + 1/n), n = infinity); arccot(-0.5*I)```

### Example 5

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

`rewrite(arccot(x), ln)`

### Example 6

`diff`, `float`, `limit`, `taylor`, `series`, and other system functions handle expressions involving the inverse trigonometric functions:

`diff(arccot(x^2), x), float(arccos(3)*arccot(5 + I))`

`limit(arccot(1 - sin(x)/x), x = 0)`

`taylor(arccot(1/x), x = 0)`

`series(arccot(x), x = 0)`

## Parameters

 `x`

## Return Values

Arithmetical expression or floating-point interval.

`x`