Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
ComplexVector ClassExtreme Optimization Numerical Libraries for .NET Professional
Contains methods that perform operations on vectors.
Represents a vector, a one-dimensional array of real numbers.
Inheritance Hierarchy

SystemObject
  Extreme.MathematicsComplexVector
    More...

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
public abstract class ComplexVector : IFormattable, 
	IList<DoubleComplex>, ICollection<DoubleComplex>, IEnumerable<DoubleComplex>, 
	IEnumerable, ICloneable, IStructuralEquatable
Public MustInherit Class ComplexVector
	Implements IFormattable, IList(Of DoubleComplex), 
	ICollection(Of DoubleComplex), IEnumerable(Of DoubleComplex), IEnumerable, 
	ICloneable, IStructuralEquatable
public ref class ComplexVector abstract : IFormattable, 
	IList<DoubleComplex>, ICollection<DoubleComplex>, IEnumerable<DoubleComplex>, 
	IEnumerable, ICloneable, IStructuralEquatable
[<AbstractClassAttribute>]
type ComplexVector =  
    class
        interface IFormattable
        interface IList<DoubleComplex>
        interface ICollection<DoubleComplex>
        interface IEnumerable<DoubleComplex>
        interface IEnumerable
        interface ICloneable
        interface IStructuralEquatable
    end

The ComplexVector type exposes the following members.

Constructors

  NameDescription
Protected methodComplexVector(Int32)
Constructs a new complex vector with the specified number of components.
Protected methodComplexVector(SerializationInfo, StreamingContext)
Constructs a new complex vector from serialization values.
Top
Properties

  NameDescription
Public propertyItemInt32
Gets or sets a specific component of this vector.
Public propertyItemRange
Gets or sets a range of components of the complex vector.
Public propertyLength
Gets the number of elements in the complex vector.
Top
Methods

  NameDescription
Public methodStatic memberAbs
Returns a complex vector whose components are the absolute values of the components of another vector.
Public methodAbsoluteMax
Returns the value of the component in this complex vector that has the largest absolute value.
Public methodStatic memberAbsoluteMax(ComplexVector)
Returns the largest absolute value of a component of a vector.
Public methodAbsoluteMaxIndex
Returns the index of the component in this complex vector that has the largest absolute value.
Public methodAbsoluteMin
Returns the value of the component in this complex vector that has the smallest absolute value.
Public methodStatic memberAbsoluteMin(ComplexVector)
Returns the smallest absolute value of a component of a vector.
Public methodAbsoluteMinIndex
Returns the index of the component in this complex vector that has the smallest absolute value.
Public methodStatic memberAcos
Returns a complex vector whose components are the inverse cosine of the components of another vector.
Public methodAdd(ComplexVector)
Adds another ComplexVector to this ComplexVector.
Public methodAdd(DoubleComplex)
Adds a constant to a vector.
Public methodAdd(ComplexMatrix, ComplexVector)
Adds the product of a ComplexMatrix and a ComplexVector to this ComplexVector.
Public methodStatic memberAdd(ComplexVector, ComplexVector)
Adds two complex vector values.
Public methodAdd(DoubleComplex, ComplexVector)
Adds a scaled ComplexVector to this ComplexVector.
Public methodAdd(DoubleComplex, ComplexMatrix, ComplexVector)
Adds the scaled product of a ComplexMatrix and a ComplexVector to this ComplexVector.
Public methodApply(FuncDoubleComplex, DoubleComplex) Obsolete.
Applies a function to the elements of a complex vector.
Public methodStatic memberApply(FuncDoubleComplex, DoubleComplex, ComplexVector)
Applies a function to the elements of a complex vector and returns the result in a new vector.
Public methodApplyInPlace
Applies a function to the elements of a complex vector.
Public methodAsDenseVector
Returns a ComplexDenseVector with the same components as this vector.
Public methodAsGeneralVector Obsolete.
Returns a ComplexDenseVector with the same components as this vector.
Public methodStatic memberAsin
Returns a complex vector whose components are the inverse sine of the components of another vector.
Public methodStatic memberAtan
Returns a complex vector whose components are the inverse tangent of the components of another vector.
Public methodClone
Makes a copy of this complex vector.
Public methodClone(CloningMethod)
Makes a copy of this complex vector using the specified method.
Public methodCloneData
If possible, gives this instance its own copy of its elements.
Public methodStatic memberComponentwiseConjugateMultiply Obsolete.
Multiplies the components of the conjugate of a complex vector by the corresponding components of another vector.
Public methodComponentwiseDivide(ComplexVector) Obsolete.
Divides the components of this instance by the corresponding components of another vector.
Public methodComponentwiseDivide(Vector)
Divides the components of this instance by the corresponding components of a real vector.
Public methodStatic memberComponentwiseDivide(ComplexVector, ComplexVector) Obsolete.
Divides the components of a complex vector by the corresponding components of another vector.
Public methodComponentwiseMultiply(ComplexVector) Obsolete.
Multiplies the components of this instance by the corresponding components of another vector.
Public methodComponentwiseMultiply(Vector) Obsolete.
Multiplies the components of this instance by the corresponding components of a real vector.
Public methodStatic memberComponentwiseMultiply(ComplexVector, ComplexVector) Obsolete.
Multiplies the components of a complex vector by the corresponding components of another vector.
Public methodConjugate
Returns a complex vector whose components are the complex conjugate of this vector's components.
Public methodStatic memberConvolution
Calculates the convolution of two vectors.
Public methodCopyTo(ComplexVector)
Copies the components of this complex vector to another vector.
Public methodCopyTo(DoubleComplex)
Copies the components of this complex vector to another vector.
Public methodCopyTo(ComplexVector, Int32)
Copies the components of this complex vector to another vector starting at the specified position.
Public methodStatic memberCos
Returns a complex vector whose components are the cosines of the components of another vector.
Public methodStatic memberCosh
Returns a complex vector whose components are the hyperbolic cosines of the components of another vector.
Public methodStatic memberCreate(Int32)
Constructs a new vector with the specified length.
Public methodStatic memberCreate(DoubleComplex)
Constructs a new vector with the specified components.
Public methodStatic memberCreate(IListDoubleComplex)
Constructs a new vector with the specified components.
Public methodStatic memberCreate(Double, Double)
Constructs a new ComplexDenseVector with the specified components.
Public methodStatic memberCreate(Int32, FuncInt32, DoubleComplex)
Constructs a new ComplexDenseVector.
Public methodStatic memberCreate(DoubleComplex, Boolean)
Constructs a new ComplexDenseVector with the specified components.
Public methodStatic memberCreate(Int32, DoubleComplex, Boolean)
Constructs a new ComplexDenseVector with the specified components.
Public methodStatic memberCreate(Int32, DoubleComplex, Int32, Int32)
Constructs a new ComplexDenseVector.
Public methodStatic memberCreateConstant
Constructs a new constant vector.
Public methodStatic memberCrossProduct
Returns the cross product of two 3D vectors.
Public methodStatic memberCumulativeProduct
Returns a vector containing the cumulative product of the elements of the vector.
Public methodStatic memberCumulativeSum
Returns a vector containing the cumulative sum of the elements of the vector.
Public methodStatic memberDivide
Divides a complex vector by a constant.
Public methodDotProduct(ComplexVector)
Returns the dot product of this vector with another vector.
Public methodStatic memberDotProduct(ComplexVector, ComplexVector)
Returns the dot product of two vectors.
Public methodStatic memberElementwiseConjugateMultiply
Multiplies the components of the conjugate of a complex vector by the corresponding components of another vector.
Public methodStatic memberElementwiseDivide
Divides the components of a complex vector by the corresponding components of another vector.
Public methodElementwiseDivideInPlace
Divides the components of this instance by the corresponding components of another vector.
Public methodStatic memberElementwiseMultiply
Multiplies the components of a complex vector by the corresponding components of another vector.
Public methodElementwiseMultiplyInPlace(ComplexVector)
Multiplies the components of this instance by the corresponding components of another vector.
Public methodElementwiseMultiplyInPlace(Vector)
Multiplies the components of this instance by the corresponding components of a real vector.
Public methodEquals(Object)
Determines whether the specified Object is equal to the current ComplexVector.
(Overrides ObjectEquals(Object).)
Public methodEquals(Object, IEqualityComparer)
Returns whether an object is structurally equal to this instance.
Public methodStatic memberExp
Returns a complex vector whose components are the exponential of the components of another vector.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodStatic memberFourierTransform
Returns the Fourier transform of a vector.
Public methodGetAmplitude
Returns a vector containing the amplitude (modulus) of each component of this vector.
Public methodGetComponents Obsolete.
Gets the components of the complex vector.
Public methodGetEnumerator
Returns a IEnumeratorT that enumerates the elements of the vector.
Public methodGetHashCode
Returns the hash code for this instance.
(Overrides ObjectGetHashCode.)
Public methodGetHashCode(IEqualityComparer)
Returns a hash code for this instance.
Public methodGetImaginaryPart
Returns a real vector containing the imaginary elements of the vector.
Public methodGetObjectData
Populates a SerializationInfo with the values needed to serialize the target object.
Public methodGetPhase
Returns a vector containing the phase (argument) of each component of this vector.
Public methodGetProduct
Gets the product of the elements of the vector.
Public methodGetRealPart
Returns a real vector containing the real elements of the vector.
Public methodGetSubvector(Range)
Returns a vector whose components are a subset of the components of this instance
Public methodGetSubvector(Int32, Int32)
Returns a vector whose components are a subset of the components of this instance
Public methodGetSubvector(Int32, Int32, Int32)
Returns a vector whose components are a subset of the components of this instance
Public methodGetSum
Gets the sum of the elements of the vector.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue
Gets the vector component at the specified position.
Public methodStatic memberInverseFourierTransform
Returns the inverse Fourier transform of a vector.
Public methodIsComponentWritable Obsolete.
Gets a value indicating whether the value of the component at the specified index can be changed.
Public methodIsElementWritable
Gets a value indicating whether the value of the component at the specified index can be changed.
Public methodStatic memberJoin(ComplexVector)
Joins vectors together to form one large vector.
Public methodStatic memberJoin(ComplexVector, ComplexVector)
Joins two vectors.
Public methodStatic memberLog(ComplexVector)
Returns a complex vector whose components are the logarithms of the components of another vector.
Public methodStatic memberLog(ComplexVector, ComplexVector)
Returns a complex vector whose components are the logarithms of the components of another vector.
Public methodStatic memberLog(ComplexVector, DoubleComplex)
Returns a complex vector whose components are the logarithms of the components of another vector.
Public methodStatic memberLog10
Returns a complex vector whose components are the base 10 logarithms of the components of another vector.
Public methodStatic memberMax
Returns the value of the largest component of a vector.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberMin
Returns the value of the smallest component of a vector.
Public methodMultiply(ComplexMatrix)
Multiplies the vector on the left by a matrix.
Public methodMultiply(DoubleComplex)
Multiplies a vector by a given factor.
Public methodMultiply(ComplexMatrix, MatrixOperationSide)
Multiplies a ComplexVector by a ComplexMatrix.
Public methodStatic memberMultiply(DoubleComplex, ComplexVector)
Multiplies a complex vector by a constant.
Public methodStatic memberNegate
Negates a complex vector.
Public methodNorm
Returns the two-norm of the complex vector.
Public methodNorm(Double)
Returns the norm of the specified order of this complex vector.
Public methodNorm(Int32)
Returns the norm of the specified order of this complex vector.
Public methodNormalize
Scales the complex vector to make its two-norm equal to one.
Protected methodNormInternal(Double)
Returns the norm of the specified order of this complex vector.
Protected methodNormInternal(Int32)
Returns the norm of the specified order of this complex vector.
Public methodNormSquared
Returns the square of the two-norm of this complex vector.
Public methodOneNorm
Returns the one-norm of this complex vector.
Public methodPermute(Permutation)
Permutes a vector.
Public methodStatic memberPermute(ComplexVector, Permutation)
Permutes a vector.
Public methodPermute(Permutation, Boolean)
Permutes a vector.
Public methodStatic memberPow(ComplexVector, DoubleComplex)
Returns a complex vector whose components are the components of another vector raised to the specified power.
Public methodStatic memberPow(ComplexVector, Int32)
Returns a complex vector whose components are the components of another vector raised to the specified power.
Public methodStatic memberProduct
Returns the product of the components of a vector.
Public methodStatic memberProject
Returns the projection of one vector onto another.
Public methodStatic memberReciprocal
Returns a complex vector whose components are the inverses (reciprocals) of the components of another vector.
Public methodSetValue(DoubleComplex)
Sets all the components of the complex vector to the specified value.
Public methodSetValue(DoubleComplex, Int32)
Sets the vector component at the specified position to the specified value.
Public methodShallowCopy
Makes a shallow copy of this complex vector.
Public methodStatic memberSin
Returns a complex vector whose components are the sines of the components of another vector.
Public methodStatic memberSinh
Returns a complex vector whose components are the hyperbolic sines of the components of another vector.
Public methodStatic memberSqrt
Returns a complex vector whose components are the square roots of the components of another vector.
Public methodSubtract(ComplexVector)
Subtracts another ComplexVector from this ComplexVector.
Public methodSubtract(ComplexMatrix, ComplexVector)
Subtracts the product of a ComplexMatrix and a ComplexVector from this ComplexVector.
Public methodStatic memberSubtract(ComplexVector, ComplexVector)
Subtracts two complex vector values.
Public methodStatic memberSum
Returns the sum of the components of a vector.
Public methodStatic memberSwap
Swaps the elements of two vectors.
Public methodSwapElements
Exchanges two elements of the vector.
Public methodStatic memberTan
Returns a complex vector whose components are the tangents of the components of another vector.
Public methodStatic memberTanh
Returns a complex vector whose components are the hyperbolic tangents of the components of another vector.
Public methodToArray
Gets the components of the complex vector.
Public methodToConjugate
Changes the elements of the vector to their complex conjugate.
Public methodToDenseVector
Makes a copy of this instance and returns it as a ComplexDenseVector.
Public methodToGeneralVector Obsolete.
Makes a copy of this instance and returns it as a ComplexDenseVector.
Public methodToString
Returns a String representation of this ComplexVector.
(Overrides ObjectToString.)
Public methodToString(String)
Converts the numeric value of this complex vector instance to its equivalent string representation, using the specified format.
Public methodToString(String, IFormatProvider)
Returns a String representation of this ComplexDenseMatrix.
Protected methodToStringInternal
Writes a string representation of this ComplexVector to an instance of StringBuilder using the specified number format.
Public methodZero
Sets all the components of the complex vector to 0.
Top
Operators

  NameDescription
Public operatorStatic memberAddition
Adds two complex vector values.
Public operatorStatic memberDivision
Divides a complex vector by a constant.
Public operatorStatic memberEquality
Returns a value indicating whether two instances of complex vector are equal.
Public operatorStatic memberInequality
Returns a value indicating whether two instances of complex vector are not equal.
Public operatorStatic memberMultiply(ComplexVector, DoubleComplex)
Multiplies a complex vector by a constant.
Public operatorStatic memberMultiply(DoubleComplex, ComplexVector)
Multiplies a complex vector by a constant.
Public operatorStatic memberSubtraction
Subtracts two complex vector values.
Public operatorStatic memberUnaryNegation
Negates a complex vector.
Top
Extension Methods

  NameDescription
Public Extension MethodGroupDoubleComplexOverloaded.
Returns a grouping by the unique elements in a list.
(Defined by Grouping.)
Public Extension MethodGroupDoubleComplexOverloaded.
Returns a grouping by the unique elements in a sequence.
(Defined by Grouping.)
Public Extension MethodGroupDoubleComplex(IEqualityComparerDoubleComplex)Overloaded.
Returns a grouping by the unique elements in a list using the specified comparer to determine equality.
(Defined by Grouping.)
Public Extension MethodGroupDoubleComplex(IEqualityComparerDoubleComplex)Overloaded.
Returns a grouping by the unique elements in a sequence using the specified comparer to determine equality.
(Defined by Grouping.)
Public Extension MethodSumDoubleComplexOverloaded.
Computes the sum of the sequence of values.
(Defined by ArrayMath.)
Public Extension MethodSumDoubleComplex, U(FuncDoubleComplex, U)Overloaded.
Computes the sum of the sequence of values that are obtained by invoking a transform function on each element of the input sequence.
(Defined by ArrayMath.)
Top
Remarks

The ComplexVector class represents a one-dimensional array of DoubleComplex precision floating-point numbers.

The ComplexVector class provides methods and properties for all the common operations on vectors, including norms, dot products, as well as retrieving extreme values from a vector.

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.

To allow for greater efficiency, overloaded instance methods are available for many compound operations on vectors.

Version Information

Numerical Libraries

Supported in: 5.x, 4.x
See Also

Reference

Extreme.Mathematics Namespace
Inheritance Hierarchy

SystemObject
  Extreme.MathematicsComplexVector
    Extreme.Mathematics.LinearAlgebra.ComplexComplexBandVector
    Extreme.Mathematics.LinearAlgebra.ComplexComplexConstantVector
    Extreme.Mathematics.LinearAlgebra.ComplexComplexDenseVector
    Extreme.Mathematics.LinearAlgebra.ComplexComplexVectorView
    Extreme.Mathematics.LinearAlgebra.ComplexComposedComplexVector
    Extreme.Mathematics.SignalProcessingComplexConjugateSignalVector

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.