# Available Functions

You can use the operators and functions listed below to define complex functions. The variable name must be z. Upper or lower case is not important. You may only use ( or ) as parenthesis. You should separate numbers from variables by operators, although in many cases you don't have to do that. In other words:

- sin(x)*cos(x) is invalid because the variable name is not z. Use sin(z)*cos(z) instead
- 2*[3+4*(5+z)] is invalid because square brackets are not allowed. Use 2*(3+4*(5+z)) instead
- instead of 2 z use 2*z (but in this case both would work, and even 2z would be fine)
- Pi*z and pi*z are the same (but clearly piz would not work)

### Basic Operators

> `+` (plus), `-` (minus), `*` (times), `/` (divided), `^` (power)

### Basic Constants

> `Pi ( = 3.141592654...)`
> `E = exp(1) ( = 2.718281828...)`
> `I or i ( = sqrt(-1))`

### Functions specific for Complex Numbers

> `conj(z)` | conjugate of a complex number or expression
> `Im(z)` | imaginary part of a complex number
> `Re(z)` | real part of a complex number
> `abs(z)` | absolute value (modulus) of a number
> `arg(z)` | argument (angle) of a complex number

### Trig Functions

> `sin(z)`, `cos(z)`, `tan(z)`

> For sec use `1/cos(z)`, for csc use `1/sin(z)`, and for cot use `1/tan(z)` or `cos(z)/sin(z)`.

### Hyperbolic Functions

> `sinh(z)`, `cosh(z)`, `tanh(z)`

> For sech(z) use `1/cosh(z)`, for csch(z) use `1/sinh(z)`, for coth(z) use `1/tanh(z)`.

### Inverse Trig Functions

> `asin(z)`, `acos(z)`, `atan(z)`

### Inverse Hyperbolic functions

> `asinh(z)` `acosh(z)`, `atanh(z)`

> For asech(z) use `ln((1+(1-z^2)^(1/2))/z)`, for acsch(z) use `ln((1+(1+ x^2)^(1/2))/x)`, for acoth(z) use `(1/2)*ln((z+1)/(z-1))`.

### Exponential, Logarithm, and Square Root Functions

> `exp(z)` | exponential function
> `ln(z)` | natural logarithm (principle part)
> `log(z)` | logarithm with base 10 (principle part)
> `sqrt(z)` | square root of a complex number (principle part)

### Piecewise Defined Functions

> You can define a piecewise continuous function using the command

> > `if(condition, eval_if_true, eval_if_false)`

> For example:

> > `if(abs(z) < 1, z, 1/z)`

> Please note that complex numbers are not ordered, so that the usual comparison operators such as `<` and `>` do not apply (but they do apply to Re(z), Im(z), or abs(z)).

ZMap (c) 2002-2007, Bert G. Wachsmuth
Web: pirate.shu.edu/~wachsmut
Email: wachsmut@shu.edu