---
layout: default
---
Function complex #
Create a complex value or convert a value to a complex value.
Syntax #
```js
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 #
```js
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
```
See also #
[bignumber](bignumber.html),
[boolean](boolean.html),
[index](index.html),
[matrix](matrix.html),
[number](number.html),
[string](string.html),
[unit](unit.html)