## Types in MathNet.Numerics

Type ComplexExtensions

Namespace MathNet.Numerics

Extension methods for the Complex type provided by System.Numerics

### Public Static Functions

#### ComplexConjugate(this Complex complex)

Gets the conjugate of the `Complex` number.
The semantic of is such that ```// a, b of type Complex32 a.Conjugate = b;``` is equivalent to ```// a, b of type Complex32 a = b.Conjugate```
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `Complex`

The conjugate of the Complex number.

#### ValueTuple<Complex, Complex, Complex>CubicRoots(this Complex complex)

Evaluate all cubic roots of this `Complex`.

#### ComplexExp(this Complex complex)

Exponential of this `Complex` (exp(x), E^x).
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `Complex`

The exponential of this complex number.

#### boolIsImaginaryOne(this Complex complex)

Gets a value indicating whether the `Complex32` is the imaginary unit.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is ImaginaryOne; otherwise, `false`.

#### boolIsInfinity(this Complex complex)

Gets a value indicating whether the provided `Complex32` evaluates to an infinite value.
True if it either evaluates to a complex infinity or to a directed infinity.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is infinite; otherwise, `false`.

#### boolIsNaN(this Complex complex)

Gets a value indicating whether the provided `Complex32` evaluates to a value that is not a number.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is `NaN` ; otherwise, `false`.

#### boolIsOne(this Complex complex)

Gets a value indicating whether the `Complex32` is one.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is one; otherwise, `false`.

#### boolIsReal(this Complex complex)

Gets a value indicating whether the provided `Complex32` is real.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is a real number; otherwise, `false`.

#### boolIsRealNonNegative(this Complex complex)

Gets a value indicating whether the provided `Complex32` is real and not negative, that is >= 0.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is real nonnegative number; otherwise, `false`.

#### boolIsZero(this Complex complex)

Gets a value indicating whether the `Complex32` is zero.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `bool`

`true` if this instance is zero; otherwise, `false`.

#### ComplexLn(this Complex complex)

Natural Logarithm of this `Complex` (Base E).
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `Complex`

The natural logarithm of this complex number.

#### ComplexLog(this Complex complex, double baseValue)

Logarithm of this `Complex` with custom base.
##### Return
###### `Complex`

The logarithm of this complex number.

#### ComplexLog10(this Complex complex)

Common Logarithm of this `Complex` (Base 10).
##### Return
###### `Complex`

The common logarithm of this complex number.

#### doubleMagnitudeSquared(this Complex32 complex)

Gets the squared magnitude of the `Complex` number.
##### Parameters
###### `Complex32` complex

The Complex32 number to perform this operation on.

##### Return
###### `double`

The squared magnitude of the `Complex` number.

#### doubleMagnitudeSquared(this Complex complex)

Gets the squared magnitude of the `Complex` number.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `double`

The squared magnitude of the `Complex` number.

#### doubleNorm(this Complex complex)

Returns a Norm of a value of this type, which is appropriate for measuring how close this value is to zero.

#### doubleNorm(this Complex32 complex)

Returns a Norm of a value of this type, which is appropriate for measuring how close this value is to zero.

#### doubleNormOfDifference(this Complex complex, Complex otherValue)

Returns a Norm of the difference of two values of this type, which is appropriate for measuring how close together these two values are.

#### doubleNormOfDifference(this Complex32 complex, Complex32 otherValue)

Returns a Norm of the difference of two values of this type, which is appropriate for measuring how close together these two values are.

#### ComplexPower(this Complex complex, Complex exponent)

Raise this `Complex` to the given value.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

The exponent.

##### Return
###### `Complex`

The complex number raised to the given exponent.

#### ComplexReciprocal(this Complex complex)

Returns the multiplicative inverse of a complex number.

#### ComplexRoot(this Complex complex, Complex rootExponent)

Raise this `Complex` to the inverse of the given value.
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

###### `Complex` rootExponent

The root exponent.

##### Return
###### `Complex`

The complex raised to the inverse of the given exponent.

#### ComplexSign(this Complex complex)

Gets the unity of this complex (same argument, but on the unit circle; exp(I*arg))
##### Return
###### `Complex`

The unity of this `Complex`.

#### ComplexSquare(this Complex complex)

The Square (power 2) of this `Complex`
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `Complex`

The square of this complex number.

#### ComplexSquareRoot(this Complex complex)

The Square Root (power 1/2) of this `Complex`
##### Parameters
###### `Complex` complex

The Complex number to perform this operation on.

##### Return
###### `Complex`

The square root of this complex number.

#### ValueTuple<Complex, Complex>SquareRoots(this Complex complex)

Evaluate all square roots of this `Complex`.

#### ComplexToComplex(this string value, IFormatProvider formatProvider)

Creates a complex number based on a string. The string can be in the following formats (without the quotes): 'n', 'ni', 'n +/- ni', 'ni +/- n', 'n,n', 'n,ni,' '(n,n)', or '(n,ni)', where n is a double.
##### Parameters
###### `string` value

the string to parse.

###### `IFormatProvider` formatProvider

An IFormatProvider that supplies culture-specific formatting information.

##### Return
###### `Complex`

A complex number containing the value specified by the given string.

#### ComplexToComplex(this string value)

Creates a complex number based on a string. The string can be in the following formats (without the quotes): 'n', 'ni', 'n +/- ni', 'ni +/- n', 'n,n', 'n,ni,' '(n,n)', or '(n,ni)', where n is a double.
##### Parameters
###### `string` value

The string to parse.

##### Return
###### `Complex`

A complex number containing the value specified by the given string.

#### Complex32ToComplex32(this string value)

Creates a `Complex32` number based on a string. The string can be in the following formats (without the quotes): 'n', 'ni', 'n +/- ni', 'ni +/- n', 'n,n', 'n,ni,' '(n,n)', or '(n,ni)', where n is a double.
##### Parameters
###### `string` value

the string to parse.

##### Return
###### `Complex32`

A complex number containing the value specified by the given string.

#### Complex32ToComplex32(this string value, IFormatProvider formatProvider)

Creates a `Complex32` number based on a string. The string can be in the following formats (without the quotes): 'n', 'ni', 'n +/- ni', 'ni +/- n', 'n,n', 'n,ni,' '(n,n)', or '(n,ni)', where n is a double.
##### Parameters
###### `string` value

the string to parse.

###### `IFormatProvider` formatProvider

An IFormatProvider that supplies culture-specific formatting information.

##### Return
###### `Complex32`

A complex number containing the value specified by the given string.