﻿ Math - Complex

# Complex 复数

Complex numbers are represented by a dictionary of real and imaginary attributes:

complex( x, y ) — returns a complex number as `{ re: x, im: y }`

complex( x ) — returns a complex number as `{ re: x, im: 0 }`

## Real and imaginary part

The separate attributes can be accessed through their respective names,

```complex( x, y ).re = x
complex( x, y ).im = y
```

or with convenience functions:

re( x ) — real part of a real or complex number

real( x ) — real part of a real or complex number

im( x ) — imaginary part of a real or complex number

imag( x ) — imaginary part of a real or complex number

## Operator

Since JavaScript does not support operator overloading, functions are available for complex arithmetic:

add( x, y ) — add two real or complex numbers of x+y

add( x, y, z, … ) — add an arbitrary number of real or complex numbers of x+y+z

sub( x, y ) — subtract two real or complex numbers of x-y

mul( x, y ) — multiply two real or complex numbers of x*y

mul( x, y, z, … ) — multiply an arbitrary number of real or complex numbers of x*y*z

div( x, y ) — divide two real or complex numbers of x/y

neg( x ) — negate a real or complex number of -x

inv( x ) — invert a real or complex number of 1/z

pow( x, y ) — power two real or complex numbers of x^y

root( x, y ) — root two real or complex numbers of x^(1/y)

## Computation

Please convert to complex() and complex operator by tocomplex() before complex computation. Plot complex function for the real domain x by complex2D(), and for complex domain by complex3D(). ﻿