# Function complex #

Create a complex value or convert a value to a complex value.

## Syntax #

``````math.complex()                           // creates a complex value with zero
// as real and imaginary part.
math.complex(re : number, im : string)   // creates a complex value with provided
// values for real and imaginary part.
math.complex(re : number)                // creates a complex value with provided
// real value and zero imaginary part.
math.complex(complex : Complex)          // clones the provided complex value.
math.complex(arg : string)               // parses a string into a complex value.
math.complex(array : Array)              // converts the elements of the array
// or matrix element wise into a
// complex value.
math.complex({re: number, im: number})   // creates a complex value with provided
// values for real an imaginary part.
math.complex({r: number, phi: number})   // creates a complex value with provided
// polar coordinates
``````

### Parameters #

Parameter Type Description
`args` * | Array | Matrix Arguments specifying the real and imaginary part of the complex number

### Returns #

Type Description
Complex | Array | Matrix Returns a complex value

### Throws #

Type | Description —- | ———–

## Examples #

``````const a = math.complex(3, -4)     // a = Complex 3 - 4i
a.re = 5                          // a = Complex 5 - 4i
const i = a.im                    // Number -4
const b = math.complex('2 + 6i')  // Complex 2 + 6i
const c = math.complex()          // Complex 0 + 0i
const d = math.add(a, b)          // Complex 5 + 2i
``````