## Types

Type Complex

Namespace MathNet.Numerics

Parent ValueType

Interfaces IEquatable<Complex>, IComparable<Complex>

### Public instance methods

#### int CompareTo(Complex other)

Compare this complex number with another complex number.
The complex number's modulus takes precedence over the argument.
 return `int` `Complex` other The complex number to compare with.

#### Complex Cosecant()

Trigonometric Cosecant (csc, Cosekans) of this `Complex`.
 return `Complex`

#### Complex Cosine()

Trigonometric Cosine (cos, Cosinus) of this `Complex`.
 return `Complex`

#### Complex Cotangent()

Trigonometric Cotangent (cot, Cotangens) of this `Complex`.
 return `Complex`

#### bool Equals(object obj)

Indicates whether `obj` is equal to this instance.
 return `bool` `object` obj

#### bool Equals(Complex other)

Indicates whether `z` is equal to this instance.
 return `bool` `Complex` other

#### Complex Exponential()

Exponential of this `Complex` (exp(x), E^x).
 return `Complex`

#### int GetHashCode()

Gets the hashcode of this `Complex`.
 return `int`

#### Type GetType()

 return `Type`

#### Complex HyperbolicCosecant()

Trigonometric Hyperbolic Cosecant (csch, Cosecans hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex HyperbolicCosine()

Trigonometric Hyperbolic Cosine (cosh, Cosinus hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex HyperbolicCotangent()

Trigonometric Hyperbolic Cotangent (coth, Cotangens hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex HyperbolicSecant()

Trigonometric Hyperbolic Secant (sech, Secans hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex HyperbolicSine()

Trigonometric Hyperbolic Sine (sinh, Sinus hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex HyperbolicTangent()

Trigonometric Hyperbolic Tangent (tanh, Tangens hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseCosecant()

Trigonometric Arcus Cosecant (acsc, Arkuscosekans) of this `Complex`.
 return `Complex`

#### Complex InverseCosine()

Trigonometric Arcus Cosine (acos, Arkuscosinus) of this `Complex`.
 return `Complex`

#### Complex InverseCotangent()

Trigonometric Arcus Cotangent (acot, Arkuscotangens) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicCosecant()

Trigonometric Hyperbolic Area Cosecant (acsch, Areacosekans hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicCosine()

Trigonometric Hyperbolic Area Cosine (acosh, Areacosinus hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicCotangent()

Trigonometric Hyperbolic Area Cotangent (acoth, Areacotangens hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicSecant()

Trigonometric Hyperbolic Area Secant (asech, Areasekans hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicSine()

Trigonometric Hyperbolic Area Sine (asinh, reasinus hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseHyperbolicTangent()

Trigonometric Hyperbolic Area Tangent (atanh, Areatangens hyperbolicus) of this `Complex`.
 return `Complex`

#### Complex InverseSecant()

Trigonometric Arcus Secant (asec, Arkussekans) of this `Complex`.
 return `Complex`

#### Complex InverseSine()

Trigonometric Arcus Sine (asin, Arkussinus) of this `Complex`.
 return `Complex`

#### Complex InverseTangent()

Trigonometric Arcus Tangent (atan, Arkustangens) of this `Complex`.
 return `Complex`

#### Complex NaturalLogarithm()

Natural Logarithm of this `Complex` (Base E).
 return `Complex`

#### Complex Power(Complex exponent)

Raise this `Complex` to the given value.
 return `Complex` `Complex` exponent

#### Complex Root(Complex rootexponent)

Raise this `Complex` to the inverse of the given value.
 return `Complex` `Complex` rootexponent

#### Complex Secant()

Trigonometric Secant (sec, Sekans) of this `Complex`.
 return `Complex`

#### Complex Sine()

Trigonometric Sine (sin, Sinus) of this `Complex`.
 return `Complex`

#### Complex Square()

The Square (power 2) of this `Complex`
 return `Complex`

#### Complex SquareRoot()

The Square Root (power 1/2) of this `Complex`
 return `Complex`

#### Complex Tangent()

Trigonometric Tangent (tan, Tangens) of this `Complex`.
 return `Complex`

#### string ToString()

Formats this `Complex` into a `string`.
 return `string`

#### string ToString(NumberFormatInfo numberFormat)

Formats this `Complex` into a `string`.
 return `string` `NumberFormatInfo` numberFormat

### Public static methods

#### Complex FromModulusArgument(double modulus, double argument)

Constructs a `Complex` from its modulus and argument.
 return `Complex` `double` modulus Must be non-negative. `double` argument Real number.

#### Complex FromRealImaginary(double real, double imag)

Constructs a `Complex` from its real and imaginary parts.
 return `Complex` `double` real `double` imag

#### Complex Parse(string complex)

Parse a string into a `Complex`.
The adopted string representation for the complex numbers is where and are `double`strings. Some alternative representations are ,, and . Additionally the string `"NaN"` is mapped to`Complex.NaN`, the string `"Infinity"` to`Complex.ComplexInfinity`, `"PositiveInfinity"`to `Complex.DirectedInfinity(Complex.One)`,`"NegativeInfinity"` to `Complex.DirectedInfinity(-Complex.One)`and finally `"DirectedInfinity(WVW+I*XYZ)"` to `Complex.DirectedInfinity(WVW+I*XYZ)`.```Complex z = Complex.Parse("12.5+I*7"); Complex nan = Complex.Parse("NaN"); Complex infinity = Complex.Parse("Infinity");```This method is symmetric to ToString.
 return `Complex` `string` complex

#### Complex Parse(string complex, NumberFormatInfo numberFormat)

Parse a string into a `Complex`.
 return `Complex` `string` complex `NumberFormatInfo` numberFormat

#### Complex Random(IContinuousGenerator randomDistribution)

Constructs a complex number with random real and imaginary value.
 return `Complex` `IContinuousGenerator` randomDistribution Continuous random distribution or source for the real and imaginary parts.

#### Complex Random(IContinuousGenerator realRandomDistribution, IContinuousGenerator imagRandomDistribution)

Constructs a complex number with random real and imaginary value.
 return `Complex` `IContinuousGenerator` realRandomDistribution Continuous random distribution or source for the real part. `IContinuousGenerator` imagRandomDistribution Continuous random distribution or source for the imaginary part.

#### Complex RandomPolar(IContinuousGenerator modulusRandomDistribution, IContinuousGenerator argumentRandomDistribution)

Constructs a complex number with random modulus and argument.
 return `Complex` `IContinuousGenerator` modulusRandomDistribution Continuous random distribution or source for the modulus. `IContinuousGenerator` argumentRandomDistribution Continuous random distribution or source for the argument.

#### Complex RandomUnitCircle(IContinuousGenerator argumentRandomDistribution)

Constructs a complex number on the unit circle with random argument.
 return `Complex` `IContinuousGenerator` argumentRandomDistribution Continuous random distribution or source for the argument.

### Public properties

#### double Argument get; set;

Gets or sets the argument of this `Complex`.
Argument always returns a value bigger than negative Pi and smaller or equal to Pi. If this `Complex` is zero, the Complex is assumed to be positive real with an argument of zero.
 `return double`

#### IComparer ArgumentModulusComparer get;

Gets the lexicographical comparer based on `(argument, modulus)`.
 `return IComparer`

#### Complex Conjugate get; set;

Gets or sets the conjugate of this `Complex`.
The semantic of is such that```// a, b of type Complex a.Conjugate = b;```is equivalent to```// a, b of type Complex a = b.Conjugate```
 `return Complex`

#### Complex I get;

Represents the imaginary unit number. This field is constant.
 `return Complex`

#### double Imag get; set;

Gets or sets the imaginary part of this `Complex`.
 `return double`

#### Complex Infinity get;

Represents the infinity value. This field is constant.
The semantic associated to this value is a `Complex` of infinite real and imaginary part. If you need more formal complex number handling (according to the Riemann Sphere and the extended complex plane C*, or using directed infinity) please check out the alternative MathNet.PreciseNumerics and MathNet.Symbolics packages instead.
 `return Complex`

#### bool IsI get;

Indicates whether the `Complex` is the imaginary unit.
 `return bool`

#### bool IsImaginary get;

Indicates the provided `Complex` is imaginary.
 `return bool`

#### bool IsInfinity get;

Indicates the provided `Complex` evaluates to an infinite value.
True if it either evaluates to a complex infinity or to a directed infinity.
 `return bool`

#### bool IsNaN get;

Indicates whether the provided `Complex` evaluates to a value that is not a number.
 `return bool`

#### bool IsOne get;

Indicates whether the `Complex` is one.
 `return bool`

#### bool IsReal get;

Indicates the provided `Complex` is real.
 `return bool`

#### bool IsRealNonNegative get;

Indicates the provided `Complex` is real and not negative, that is >= 0.
 `return bool`

#### bool IsZero get;

Indicates whether the `Complex` is zero.
 `return bool`

#### double Modulus get; set;

Gets or sets the modulus of this `Complex`.
If this `Complex` is zero when the modulus is set, the Complex is assumed to be positive real with an argument of zero.
 `return double`

#### IComparer ModulusArgumentComparer get;

Gets the lexicographical comparer based on `(modulus, argument)`.
 `return IComparer`

#### double ModulusSquared get; set;

Gets or sets the squared modulus of this `Complex`.
If this `Complex` is zero when the modulus is set, the Complex is assumed to be positive real with an argument of zero.
 `return double`

#### Complex NaN get;

Represents a value that is not a number. This field is constant.
 `return Complex`

#### Complex One get;

Represents the `1` value. This field is constant.
 `return Complex`

#### double Real get; set;

Gets or sets the real part of this `Complex`.
 `return double`

#### IComparer RealImaginaryComparer get;

Gets the lexicographical comparer based on `(real, imaginary)`.
 `return IComparer`

#### Complex Sign get;

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

#### Complex Zero get;

Represents the zero value. This field is constant.
 `return Complex`