# Analytic functions

In mathematics, an analytic function is a function that is locally given by a
convergent power series. There exist both real analytic functions and complex
analytic functions. Functions of each type are infinitely differentiable, but
complex analytic functions exhibit properties that do not generally hold for
real analytic functions.

DB48X analytic functions generally have a symbolic differentiation form.
Many of them also have a symbolic primitive for symbolic integration.

# Transcendental functions

## sin

[Analytic function](#analytic-functions) returning the sine of the argument.

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. If the argument for `sin` is a unit object, then
the specified angular unit overrides the angle mode to determine the result.

For complex arguments, the computation is always done considering that the real
part is in radians.

`z` ▶ *sin* `z`

`x_angleunit` ▶ *sin* `x_angleunit`

`symbexpr` ▶ `sin symbexpr`

## cos

[Analytic function](#analytic-functions) returning the cosine of the argument

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. If the argument for `cos` is a unit object, then
the specified angular unit overrides the angle mode to determine the result.

`z` ▶ *cos* `z`

`x_angleunit` ▶ *cos* `x_angleunit`

`symbexpr` ▶ `cos symbexpr`


## tan

[Analytic function](#analytic-functions) returning the tangent of the argument

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. If the argument for `tan` is a unit object, then
the specified angular unit overrides the angle mode to determine the result.

For a real argument that is an odd-integer multiple of 90 degrees, an
[infinite result](#infinite-result) is generated.

`z` ▶ *tan* `z`

`x_angleunit` ▶ *tan* `x_angleunit`

`symbexpr` ▶ `tan symbexpr`


## sec

[Analytic function](#analytic-functions) returning the secant of the argument (1/cos).

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. At odd-integer multiples of 90° in the current angle
units, an [infinite result](#infinite-result) is generated.

`z` ▶ *sec* `z`

`symbexpr` ▶ `sec symbexpr`


## csc

[Analytic function](#analytic-functions) returning the cosecant of the argument (1/sin).

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. At integer multiples of 180° in the current angle
units, an [infinite result](#infinite-result) is generated.

`z` ▶ *csc* `z`

`symbexpr` ▶ `csc symbexpr`


## cot

[Analytic function](#analytic-functions) returning the cotangent of the argument (cos/sin).

For real arguments, the current angle mode determines the number's units, unless
angular units are specified. At integer multiples of 180° in the current angle
units, an [infinite result](#infinite-result) is generated.

`z` ▶ *cot* `z`

`symbexpr` ▶ `cot symbexpr`


## ASIN
Compute the arcsine


## ACOS
Compute the arccosine


## ATAN
Compute the arctangent


## sec⁻¹

Compute the arc-secant. The argument must satisfy |x| ≥ 1.


## csc⁻¹

Compute the arc-cosecant. The argument must satisfy |x| ≥ 1.


## cot⁻¹

Compute the arc-cotangent.


## ATAN2
Compute arctangent(y/x)


## LN
Compute natural logarithm


## EXP
Compute exponential function


## SINH
Compute the hyperbolic sine


## COSH
Compute the hyperbolic cosine


## TANH
Compute the hyperbolic tangent


## ASINH
Compute the hyperbolic arcsine


## ACOSH
Compute the hyperbolic arccosine


## ATANH
Compute the hyperbolic arctangent


## csch
Compute the hyperbolic cosecant (1/sinh)


## sech
Compute the hyperbolic secant (1/cosh)


## coth
Compute the hyperbolic cotangent (cosh/sinh)


## csch⁻¹
Compute the hyperbolic arccosecant


## sech⁻¹
Compute the hyperbolic arcsecant


## coth⁻¹
Compute the hyperbolic arccotangent


## LOG10
Compute logarithm in base 10


## EXP10
Compute anti-logarithm in base 10


## SQRT
Compute the square root

## CBRT
Compute the cube root


## Expm1
Compute exp(x)-1


## Ln1p
Compute ln(x+1)


## Exp2
Compute 2^x


## HYPOT

Calculate the hypotenuse given two values (x, y), i.e., sqrt(x^2 + y^2).

 * Only works for numeric types (not integers, big integers, fractions, or complex numbers yet).
 * Not optimized for special integer cases (e.g., 3-4-5 triangle).
 * Not implemented for ranges or complex numbers (to be defined as sqrt(x^2 + y^2)).

*This command is defined as `hypot` in the code and as `⊿` on the calculator.*
