Represents a complex number.
Namespace: Extreme.MathematicsAssembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
[SerializableAttribute]
public struct DoubleComplex : IEquatable<DoubleComplex>,
IEquatable<double>, IStructuralEquatable
<SerializableAttribute>
Public Structure DoubleComplex
Implements IEquatable(Of DoubleComplex), IEquatable(Of Double),
IStructuralEquatable
[SerializableAttribute]
public value class DoubleComplex : IEquatable<DoubleComplex>,
IEquatable<double>, IStructuralEquatable
[<SealedAttribute>]
[<SerializableAttribute>]
type DoubleComplex =
struct
interface IEquatable<DoubleComplex>
interface IEquatable<float>
interface IStructuralEquatable
end
The DoubleComplex type exposes the following members.
Top
 Name  Description 

 Argument  Obsolete.
Gets the argument of a DoubleComplex number.

 Im 
Gets the imaginary part of the complex number.

 IsImaginary 
Indicates whether a DoubleComplex number is a pure
imaginary number.

 IsReal 
Indicates whether a DoubleComplex number is, in fact,
real.

 IsZero 
Indicates whether a DoubleComplex number is equal to
zero.

 Magnitude 
Gets the magnitude (modulus or absolute value) of a
DoubleComplex number.

 MagnitudeSquared 
Returns the square of the modulus of a DoubleComplex
number.

 Modulus  Obsolete.
Gets the magnitude (modulus or absolute value) of a
DoubleComplex number.

 ModulusSquared  Obsolete.
Returns the square of the modulus of a DoubleComplex
number.

 OneNorm 
Gets the sum of the absolute values of the real and imaginary parts of the complex number.

 Phase 
Gets the phase or argument of a DoubleComplex number.

 Re 
Gets the real part of the DoubleComplex number.

Top
 Name  Description 

 Abs 
Returns the absolute value of a DoubleComplex
number.

 Acos(Double) 
Gets the inverse cosine of a real number.

 Acos(DoubleComplex) 
Gets the inverse cosine of a DoubleComplex number.

 Acosh 
Gets the inverse hyperbolic cosine of a DoubleComplex number.

 Add(Double, DoubleComplex) 
Adds a DoubleComplex number to a real number.

 Add(DoubleComplex, DoubleComplex) 
Adds two DoubleComplex numbers.

 Add(DoubleComplex, Double) 
Adds a DoubleComplex number to a real number.

 Arg 
Returns the argument of a DoubleComplex
number.

 Asin(Double) 
Gets the inverse sine of a real number.

 Asin(DoubleComplex) 
Gets the inverse sine of a DoubleComplex number.

 Asinh 
Gets the inverse hyperbolic sine of a DoubleComplex number.

 Atan 
Gets the inverse tangent of a DoubleComplex number.

 Atanh 
Gets the inverse hyperbolic tangent of a DoubleComplex number.

 Conjugate 
Returns the conjugate of this complex number.

 Conjugate(DoubleComplex) 
Returns the conjugate of a DoubleComplex number.

 ConjugateMultiply  
 Cos 
Gets the cosine of a DoubleComplex number.

 Cosh 
Gets the hyperbolic cosine of a DoubleComplex number.

 Decrement 
Decrements the real part of a DoubleComplex number
by one.

 Divide(Double, DoubleComplex) 
Divides a real number by a DoubleComplex number.

 Divide(DoubleComplex, DoubleComplex) 
Divides a DoubleComplex number by another.

 Divide(DoubleComplex, Double) 
Divides a DoubleComplex number by a real number.

 Equals(Double) 
Compares a complex number to a real number.

 Equals(Object) 
Overridden. Returns a value indicating whether this
instance is equal to a specified object.
(Overrides ValueTypeEquals(Object).) 
 Equals(DoubleComplex) 
Compares a complex number to another complex number.

 Equals(Object, IEqualityComparer) 
Overridden. Returns a value indicating whether this
instance is equal to a specified object.

 Exp 
Returns e raised to the specified power.

 ExpI 
Evaluates the exponential function for an imaginary
argument.

 ExpMinus1 
Returns the exponential function minus 1.

 FromPolar 
Constructs a complex number from polar components.

 GetHashCode 
Overridden. Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.) 
 GetHashCode(IEqualityComparer) 
Overridden. Returns the hash code for this instance.

 GetImaginaryPart 
Returns an array of Doubles that contains the imaginary
parts of an array of DoubleComplex numbers.

 GetRealPart 
Returns an array of Doubles that contains the real
parts of an array of DoubleComplex numbers.

 GetType  Gets the Type of the current instance. (Inherited from Object.) 
 Imaginary 
Constructs a complex number that has a purely imaginary value.

 Increment 
Increments the real part of a DoubleComplex number
by one.

 IsInfinity 
Indicates whether a DoubleComplex number is
infinite.

 IsNaN 
Indicates whether a DoubleComplex number is
undefined.

 Log(DoubleComplex) 
Returns the natural logarithm of a DoubleComplex number.

 Log(DoubleComplex, DoubleComplex) 
Returns the logarithm of a DoubleComplex number
to the specified base.

 Log10 
Returns the base 10 logarithm of a DoubleComplex number.

 Log1PlusX 
Returns the logarithm of 1 plus the argument.

 Multiply(Double, DoubleComplex) 
Multiplies a DoubleComplex number and a real number.

 Multiply(DoubleComplex, DoubleComplex) 
Multiplies two DoubleComplex numbers.

 Multiply(DoubleComplex, Double) 
Multiplies a DoubleComplex number and a real number.

 Negate 
Negates a DoubleComplex number.

 Plus 
Applies the unary plus operator to a DoubleComplex number.

 Pow(DoubleComplex, DoubleComplex) 
Returns a DoubleComplex number raised to the specified
power.

 Pow(DoubleComplex, Double) 
Returns a DoubleComplex number raised to the specified
power.

 Pow(DoubleComplex, Int32) 
Returns a DoubleComplex number raised to the specified
integer power.

 RootOfUnity 
Returns a complex number that is the specified
root of unity of the specified degree.

 Sin 
Gets the sine of a DoubleComplex number.

 Sinh 
Gets the hyperbolic sine of a DoubleComplex number.

 Sqrt(Double) 
Returns the first square root of a real number.

 Sqrt(DoubleComplex) 
Returns the first square root of a DoubleComplex number.

 Subtract(Double, DoubleComplex) 
Subtracts a DoubleComplex number from a real number.

 Subtract(DoubleComplex, DoubleComplex) 
Subtracts two DoubleComplex numbers.

 Subtract(DoubleComplex, Double) 
Subtracts a real number from a DoubleComplex number.

 Tan 
Gets the tangent of a DoubleComplex number.

 Tanh 
Gets the hyperbolic tangent of a DoubleComplex number.

 ToString 
Converts the numeric value of this instance to its
equivalent string representation.
(Overrides ValueTypeToString.) 
 ToString(IFormatProvider) 
Converts the numeric value of this instance to its
equivalent string representation using the specified
culturespecific format information.

 ToString(String) 
Converts the numeric value of this instance to its
equivalent string representation using the specified
format.

 ToString(String, IFormatProvider) 
Converts the numeric value of this instance to its
equivalent string representation using the specified
format and culturespecific format information.

Top
 Name  Description 

 Addition(Double, DoubleComplex) 
Adds a DoubleComplex number to a real number.

 Addition(DoubleComplex, DoubleComplex) 
Adds two DoubleComplex numbers.

 Addition(DoubleComplex, Double) 
Adds a DoubleComplex number to a real number.

 Decrement 
Decrements the real part of a DoubleComplex number
by one.

 Division(Double, DoubleComplex) 
Divides a real number by a DoubleComplex number.

 Division(DoubleComplex, DoubleComplex) 
Divides a DoubleComplex number by another.

 Division(DoubleComplex, Double) 
Divides a DoubleComplex number by a real number.

 Equality(Double, DoubleComplex) 
Compares a DoubleComplex number and a real number for equality.

 Equality(DoubleComplex, DoubleComplex) 
Compares two DoubleComplex numbers for equality.

 Equality(DoubleComplex, Double) 
Compares a DoubleComplex number and a real number for equality.

 (DoubleComplex to Double) 
Casts a DoubleComplex number to a real number. The
imaginary part must be zero.

 (Double to DoubleComplex) 
Casts a real number to a DoubleComplex type.

 Increment 
Increments the real part of a DoubleComplex number
by one.

 Inequality(Double, DoubleComplex) 
Compares a DoubleComplex number and a real number
for inequality.

 Inequality(DoubleComplex, DoubleComplex) 
Compares two DoubleComplex numbers for inequality.

 Inequality(DoubleComplex, Double) 
Compares a DoubleComplex number and a real number
for inequality.

 Multiply(Double, DoubleComplex) 
Multiplies a DoubleComplex number and a real number.

 Multiply(DoubleComplex, DoubleComplex) 
Multiplies two DoubleComplex numbers.

 Multiply(DoubleComplex, Double) 
Multiplies a DoubleComplex number and a real number.

 Subtraction(Double, DoubleComplex) 
Subtracts a DoubleComplex number from a real number.

 Subtraction(DoubleComplex, DoubleComplex) 
Subtracts two DoubleComplex numbers.

 Subtraction(DoubleComplex, Double) 
Subtracts a real number from a DoubleComplex number.

 UnaryNegation 
Negates a DoubleComplex number.

 UnaryPlus 
Applies the unary plus operator to a DoubleComplex number.

Top
Top
The DoubleComplex value type represents a complex number
made of doubleprecision, 64bit real and imaginary
parts.
DoubleComplex numbers arise in algebra in the solution of
quadratic equations. The equation x^{2}= –1
does not have any real solutions. However, if we define
a new number, i as the square root of 1, then we
have two solutions: i and i.
This, in turn, gives rise to an entirely new class
of numbers of the form a + ib with a and
b real, and i defined as above. These are
the complex numbers.
The DoubleComplex structure provides methods for all
the common operations on complex numbers. The Re
property returns the real component of the complex number,
while Im returns the imaginary part.
Because the complex numbers don't have a natural ordering,
only equality and inequality operators are available.
Overloaded versions of the major arithmetic operators
are provided for languages that support them. For languages
that don't support operator overloading, equivalent
methods are supplied.
When performing binary operations, if one of the
operands is a DoubleComplex, then the other operand is
required to be an integral type or a floatingpoint type
(Double or Single) or a complex
type (DoubleComplex).
Prior to performing the operation, if the other operand is
not a DoubleComplex, it is converted to DoubleComplex,
and the operation is performed using at least double precision.
If the operation produces a numeric
result, the type of the result is DoubleComplex.
Exceptions to this are methods that return a real
property of a complex number: Phase,
Magnitude, MagnitudeSquared and
Abs(DoubleComplex). These methods return a Double
value.
The floatingpoint operators, including the assignment
operators, do not throw exceptions. Instead, in exceptional
situations, the result of a floatingpoint operation is
zero, Infinity, or NaN,
as described below:

If the result of a complex floatingpoint operation is too
small for the destination format, the result of the
operation is zero.

If the magnitude of the complex result of a floatingpoint
operation is too large for the destination format, the
result of the operation is Infinity.
Directed infinities are currently not supported.

If a complex floatingpoint operation is invalid, the result
of the operation is NaN.

If one or both operands of a complex floatingpoint operation
are NaN, the result of the operation is
NaN.
Many elementary functions have been extended to the complex domain.
These are implemented by static methods.
Some of these functions are multivalued. If there is one real argument,
then any symmetry or antisymmetry about the origin is preserved. For example,
the inverse sine function satisfies asin(x) == asin(x) for
1 <= x <= 1. The Asin(Double)
method satisfies this relationship for any real value of x.
For complex arguments, the identity Conjugate(f(x)) == f(Conjugate(x))
is preserved. The branch cuts for all complex functions defined here are along either
the real or the imaginary axis. Along the branch cuts, the functions have different
values depending on whether the zero component is normal (positive) zero or
negative zero.
The real and imaginary parts of DoubleComplex
numbers are doubleprecision floatingpoint numbers.
Numerical Libraries
Supported in: 5.x, 4.x
Reference