Click or drag to resize

CVector Structure

Represents a dense complex vector of arbitrary size.
Inheritance Hierarchy
SystemObject
  SystemValueType
    Austra.LibraryCVector

Namespace: Austra.Library
Assembly: Austra.Library (in Austra.Library.dll) Version: 2.5.0+44e7797405725ef3cf24b3ff0eba94ce6c649601
Syntax
C#
public readonly struct CVector : IFormattable, 
	IEnumerable<Complex>, IEnumerable, IEquatable<CVector>, 
	IEqualityOperators<CVector, CVector, bool>, IAdditionOperators<CVector, CVector, CVector>, 
	IAdditionOperators<CVector, Complex, CVector>, IAdditionOperators<CVector, double, CVector>, 
	ISubtractionOperators<CVector, CVector, CVector>, ISubtractionOperators<CVector, Complex, CVector>, 
	ISubtractionOperators<CVector, double, CVector>, IMultiplyOperators<CVector, CVector, Complex>, 
	IMultiplyOperators<CVector, Complex, CVector>, IMultiplyOperators<CVector, double, CVector>, 
	IUnaryNegationOperators<CVector, CVector>, IPointwiseOperators<CVector>, 
	ISafeIndexed, IVector, IIndexable

The CVector type exposes the following members.

Constructors
 NameDescription
Public methodCVector(Complex)Creates a complex vector for a complex value.
Public methodCVector(Complex)Initializes a complex vector from a complex array.
Public methodCVector(Double)Creates a complex vector for a real value.
Public methodCVector(DVector)Creates a complex vector from a real vector.
Public methodCVector(Int32)Creates a complex vector of a given size.
Public methodCVector(Complex, Complex)Creates a complex vector from two complex values.
Public methodCVector(Double, Double)Creates a complex vector from two real values.
Public methodCVector(Double, Double)Creates a complex vector from separate component arrays.
Public methodCVector(DVector, DVector)Creates a complex vector from two real vectors.
Public methodCVector(Int32, NormalRandom)Creates a vector filled with a normal distribution generator.
Public methodCVector(Int32, FuncInt32, CVector, Complex)Creates a vector using a formula to fill its items.
Public methodCVector(Int32, FuncInt32, Complex)Creates a vector using a formula to fill its items.
Public methodCVector(Int32, Random)Creates a vector filled with a uniform distribution generator.
Public methodCVector(Int32, Random, Double, Double)Creates a vector filled with a uniform distribution generator.
Top
Properties
 NameDescription
Public propertyFirstGets the first complex in the vector.
Public propertyImaginaryGets the imaginary part of the complex numbers in this vector.
Public propertyIsInitializedHas the vector been properly initialized?
Public propertyItemIndexGets the component at a given index.
Public propertyItemInt32Gets or sets the component at a given index.
Public propertyItemRangeExtracts a slice from the vector.
Public propertyLastGets the last complex in the vector.
Public propertyLengthGets the dimensions of the vector.
Public propertyRealGets the real part of the complex numbers in this vector.
Top
Methods
 NameDescription
Public methodAbsMaxGets maximum absolute magnitude in the vector.
Public methodAbsMinGets minimum absolute magnitude in the vector.
Public methodAllChecks whether the predicate is satisfied by all items.
Public methodAnyChecks whether the predicate is satisfied by at least one item.
Public methodCloneCreates an identical vector.
Public methodConjugateCreates a new complex vector with conjugated values.
Public methodContainsChecks if the vector contains the given value.
Public methodDeconstructDeconstructs the vector into a tuple of real and imaginary vectors.
Public methodDistinctReturns a new vector with the distinct values in the original one.
Public methodEquals(CVector)Checks if the provided argument is a vector with the same values.
Public methodEquals(Object)Checks if the provided argument is a complex vector with the same values.
(Overrides ValueTypeEquals(Object))
Public methodFftComputes the real discrete Fourier transform.
Public methodFilterCreates a new vector by filtering items with the given predicate.
Public methodFilterMapCreates a new vector by filtering and mapping at the same time.
Public methodFind(Complex)Returns all indexes containing ocurrences of a value.
Public methodFind(FuncComplex, Boolean)Returns all indexes satisfying a condition.
Public methodGetEnumeratorRetrieves an enumerator to iterate over components.
Public methodGetHashCodeReturns the hashcode for this complex vector.
(Overrides ValueTypeGetHashCode)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodIndexOf(Complex)Returns the zero-based index of the first occurrence of a value.
Public methodIndexOf(Complex, Int32)Returns the zero-based index of the next occurrence of a value.
Public methodInplaceAddInplace addition of two vectors.
Public methodInplaceNegateInplace negation of the vector.
Public methodInplaceSubInplace substraction of two vectors.
Public methodMagnitudes Gets a vector containing the magnitudes of the complex numbers in this vector.
Public methodMap Creates a new vector by transforming each item with the given function.
Public methodMapReal Creates a real vector by transforming each item with the given function.
Public methodMeanComputes the mean of the vector's items.
Public methodMultiplyAddOptimized vector multiplication and addition.
Public methodMultiplySubtractOptimized vector scaling and subtraction.
Public methodNormGets the Euclidean norm of this vector.
Public methodPhases Gets a vector containing the phases of the complex numbers in this vector.
Public methodPlotCreates a plot for this vector.
Public methodPointwiseDividePointwise division.
Public methodPointwiseMultiplyPointwise multiplication.
Public methodProductCalculates the product of the vector's items.
Public methodReduceCreates an aggregate value by applying the reducer to each item.
Public methodReverseCreates a reversed copy of the vector.
Public methodSafeThis Safe access to the vector's components. If the index is out of range, a zero is returned.
Public methodSquaredGets the squared norm of this vector.
Public methodSubtractMultiplyOptimized subtraction of scaled vector.
Public methodSumCalculates the sum of the vector's items.
Public methodToStringGets a textual representation of this vector.
(Overrides ValueTypeToString)
Public methodToString(String, IFormatProvider)Gets a textual representation of this vector.
Public methodZipCombines the common prefix of two vectors.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(Complex, CVector)Adds a complex scalar to a complex vector.
Public operatorStatic memberAddition(CVector, CVector)Adds two complex vectors.
Public operatorStatic memberAddition(CVector, Double)Adds a double scalar to a complex vector.
Public operatorStatic memberAddition(CVector, Complex)Adds a complex scalar to a complex vector.
Public operatorStatic memberAddition(Double, CVector)Adds a double scalar to a complex vector.
Public operatorStatic memberDivision(CVector, Double)Divides a complex vector by a scalar.
Public operatorStatic memberDivision(CVector, Complex)Divides a complex vector by a complex value.
Public operatorStatic memberEquality(CVector, CVector)Compares two complex vectors for equality.
Public operatorStatic member(CVector to Complex)Explicit conversion from vector to array.
Public operatorStatic memberInequality(CVector, CVector)Compares two complex vectors for inequality.
Public operatorStatic memberMultiply(Complex, CVector)Multiplies a complex scalar value by a vector.
Public operatorStatic memberMultiply(CVector, CVector)Dot product of two vectors.
Public operatorStatic memberMultiply(CVector, Double)Multiplies a vector by a scalar value.
Public operatorStatic memberMultiply(CVector, Complex)Multiplies a vector by a scalar value.
Public operatorStatic memberMultiply(Double, CVector)Multiplies a real scalar value by a vector.
Public operatorStatic memberSubtraction(Complex, CVector)Subtracts a vector from a scalar.
Public operatorStatic memberSubtraction(CVector, CVector)Subtracts two complex vectors.
Public operatorStatic memberSubtraction(CVector, Double)Subtracts a scalar from a complex vector.
Public operatorStatic memberSubtraction(CVector, Complex)Subtracts a scalar from a complex vector.
Public operatorStatic memberSubtraction(Double, CVector)Subtracts a vector from a scalar.
Public operatorStatic memberUnaryNegation(CVector)Negates a complex vector.
Top
Remarks
For the sake of acceleration, the vector's components are stored in two separate arrays. Most operations are non-destructive.
See Also