TVec Class

Source: MtxVec.cs · Assembly: Dew.Math

public class TVec : TDenseMtxVec

One dimensional array - vector.

Encapsulates routines for vector specific operations. This include 1D FFt's, autocorrelation, cross-correlation, convolution, sorting, discrete cosine and Hilbert transform's and many other utility funcitons.

Properties

NameTypeDescription
BlockEndBooleanReturns true, if the currrent subrange of the vector was also the last subrange in the vector.
CacheIndexInt32For internal use only. Read to get the index of this object in object cache.
CapacityInt64Sizing the object will not allocate less than Capacity.
CapacityInBytesInt64Sizing the object will not allocate less than CapacityInBytes.
CapacityInElementsInt64Sizing the object will not allocate less than CapacityInElements.
CapacityStepDoubleSpecifies increment step for the Capacity property.
CaptionStringCaption.
ComplexBooleanDefines if object values are complex.
ConditionCheckBooleanEnables/disable inline condition checking.
DirtyBooleanTrue after object property changes.
FFTOddLengthBooleanDefines if FFT transform length is odd.
FFTScrambledBooleanLeave FFT scrambeled.
FFTStorageFormatTFFTStorageFormatThe FFT storage format.
FirstDoubleFirst element in object Values array.
FirstcTCplxFirst element in object CValues array.
FloatPrecisionTMtxFloatPrecisionDefines the precision (single, float) and type (real, complex) of the floating point operations.
IsDoubleBooleanDefines the precision (single or double) of the floating point operations.
IsSubRangeBooleanSet to true after the SetSubIndex or SetSubRange call.
LastDoubleLast element in object Values array.
LastcTCplxLast complex element in object CValues array.
LengthInt32Defines the length in number of samples.
OnSetSizeTMtxNotifyEventCalled when object size changes.
PoolIndexInt32Internal.
PrecisionTPrecisionDefines the precision used by streaming routines.
RoundingTRoundingDefines the rounding used by streaming routines.
TagInt32Stores an integer value as part of a TMtxVec object.
ValuesSerializationStringProvides serializatin of object content.
ZeroToleranceDoubleThe tolerance used by Dew.Math.TMtxVec.IsEqual.

Methods

NameDescription
Abs (4)Absolute values.
Add (18)Adds complex Value to all calling object complex elements.
AddAndMul (50)Compute (X + yScalar)*zScalar
AddProduct (2)Add a product of two vectors.
AddScaled (25)Add each of Vec elements to corresponding elements in the calling object.
AddScaledC (8)Compute X*xScale + Y*yScale + zScalar
AddScaledSqr (8)Compute sqr(X*xScale + Y*yScale)
AddTensorProdCalculates the right tensor product between vector and matrix and adds the result to the calling vector.
ArcCos (4)The inverse cosine.
ArcCosh (4)Inverse hyperbolic cosine.
ArcCot (4)Inverse cotangens.
ArcCoth (4)Inverse hyperbolic cotangens.
ArcCsc (4)Inverse cosecant.
ArcCsch (4)Inverse hyperbolic cosecant.
ArcSec (4)Inverse secant.
ArcSech (4)Inverse hyperbolic secant.
ArcSin (4)The inverse sine.
ArcSinh (4)Inverse hyperbolic sine.
ArcTan (4)Inverse tangens.
ArcTan2 (2)Inverse tangens of Y/X.
ArcTanh (4)Inverse hyperbolic tangens.
AutoCorrBiasedBiased auto-correlation.
AutoCorrNormalNormal auto-corellation.
AutoCorrUnBiasedUnbiased auto-correlation.
BinarySearch (2)Finds a match for X in sorted object values using binary search.
BlockFinishDeinitializes block processing before the final block is processed.
BlockInit (3)Initializes block processing.
BlockNextObtains the next subrange of the data.
BlockSubRangeLevelReturns the current subrange stack level used by block processing functions.
CartToPolar (2)Converts elements from cartesian to polar coordinate form.
Cbrt (4)The cube root.
CDataIndexReturns an index pointing to element at Index for TCplx data.
Ceil (4)Rounds towards positive infinity.
ClearSets vector size to zero.
Concat (2)Concatenates an array of TVec objects.
CondDisableSaves the current value of ConditionCheck property and sets it to false.
CondEnableSets the ConditionCheck property to whatever it was before the CondDisable was used.
Conj (4)Conjugate.
ConjMul (4)Conjugate and multiply.
ConvolveSingle-rate finite, linear convolution of two sequences.
Copy (6)Copies values from Vec1 and Vec2 (concatenate).
CopyFromArray (14)Copies values from an array.
CopyMtx (2)Copy values from matrix.
CopyTo (5)Copy and if needed convert values to Dst, but keep Dst.FloatPrecision.
CopyToArray (14)Copy values to an array.
Cos (4)Cosine.
Cosh (4)Hyperbolic cosine.
Cot (4)Cotangens.
Coth (4)Hyperbolic cotangens.
CplxToReal (2)Split complex calling object in real and imaginary part.
CreateFromCacheObtains a pointer to a precreated object from cache.
CrossCorrThe cross-correlation of two vectors.
Csc (4)Cosecant.
Csch (4)Hyperbolic cosecant.
CumProduct (4)Calculate the cumulative product for all Vec elements.
CumSum (4)Cumulative sum.
DCT (3)The forward discrete cosine transform (DCT).
DegToRad (4)DegToRad converts degrees to radians.
DiagCopies the k-th diagonal from the TMtx object.
Difference (3)Calculate the difference for all Vec elements.
DisableSelectPrevents calls to Dew.Math.TMtxVecBase.Select.
DisableSubrangePrevents calls to Dew.Math.TMtxVecBase.SetSubRange.
Disown (2)Disowns a calling vector values pointer by setting Values, CValues to nil and Dew.Math.TMtxVecBase.Length to 0.
DivAndAdd (22)Compute X/Y + zScalar
DivAndSub (22)Compute X/Y - zScalar
Divide (14)Compute xScalar / (Y*Z)
DivideBy (8)Divide complex Value with elements of the calling object.
DivideC (4)Compute X / (Y*zScale)
DivideVec (3)Same as the Dew.Math.TDenseMtxVec.Divide method.
DotProd (2)Scalar product of two real arrays.
DotProdc (4)Scalar product of two complex arrays.
DownSample (2)Downsamples vector values.
EnableSelectEnables calls to Dew.Math.TMtxVecBase.Select.
EnableSubrangeEnables calls to Dew.Math.TMtxVecBase.SetSubRange.
Equal (2)Compares vector elements and returns true if vectors are equal.
Erf (4)Error functon of values.
Erfc (4)Complementary error functon of values.
ErfcInv (4)Calculates the inverse complementary error function for all calling object elements in-place.
ErfInv (4)Inverse error functon of values.
Exp (4)Exponent (e^).
Exp10 (4)Exponent base 10 (10^).
Exp2 (4)Exponent base 2 (2^).
Expj (3)A complex exponential e^(j*Omega)).
ExtendToComplex (3)Extend Vec object to complex calling object.
FFT (3)Calculate the FFT from all Vec elements.
FFTFromReal (3)The forward Fast Fourier Transformation (FFT) from real to complex.
Find (2)Compare complex value X with all calling object elements.
FindAndGather (3)Finds and gathers vector elements.
FixAngle (4)Sets angle in [-2PI,2PI].
Flip (4)Flips the real and imaginary part of complex numbers.
FlipConj (4)Flips the real and imaginary part of complex numbers and conjugates the complex numbers.
Floor (4)Rounds towards negative infinity.
Frac (4)Fractional part of values.
FreeToCacheReleases this object back to cache.
GatherGather vector elements.
GatherSplitGather a vector, split to two vectors.
GetCol (3)Copies a column from matrix.
GetObjectToByteArrayCopies object to an array of bytes.
GetRow (3)Copies a row from matrix.
GetSchemaReturns null.
GroupSumSums items from Data with matching corresponding indexes from Bins and places result in self.
GroupSumIterationSums items from Data with matching corresponding indexes from Bins and places result in self.
HilbertThe fast hilbert transform (FFT based).
IDCT (3)Calculate the inverse DCT in-pllace.
IFFT (3)Calculate the inverse FFT from all Vec elements.
IFFTToReal (3)Calculate the inverse FFT from all Vec elements (not-in-place).
ImagPart (2)Gets the imaginary part of a complex object.
Integrate (2)Integrate calling vector values.
IntPower (2)Calculate the power Base^(Exponent) for all Base object elements.
Inv (8)Inverse elements.
InvCbrt (4)The inverse of cube root 1/(v)^1/3.
InvSqrt (4)The inverse of square root 1/(v)^1/2.
IsEqual (8)Compares complex Value with all calling object elements.
IsPinnedReturns true of the working memory is pinned.
KronThe Kronecker product between two vectors.
Kurtosis (2)The Kurtosis (fourth central momentum).
Ln (4)Natural logarithm.
LoadFromFileReads the header information and the values array content from the file.
LoadFromStreamSave component to the .NET framework Stream.
Log10 (4)Log base 10.
Log2 (4)Log base 2.
LogN (4)Log base N.
Mag (4)Magnitude.
Mask (3)Assigns Value at indexes of the calling object, at which aMask is different from 0.
MaskNot (3)Assigns Value at indexes of the calling object, at which aMask is equal to 0.
Max (6)Maximum value.
Maxc (3)Maximum value.
MaxEvery (4)Vectorised maximum.
MaxMin (4)Maximum and minimum value in a single pass.
Mean (5)Mean value.
MeanAndStdDev (2)Returns the standard deviation of all calling object elements.
Meanc (4)Mean value.
Median (2)Median.
Min (6)Minimum value.
Minc (3)Minimum value.
MinEvery (4)Vectorised minimum.
Mul (18)Vector multiplication.
MulAndAdd (26)Compute (X*yScalar) + zScalar
MulAndDiv (10)Compute X * Y / zScalar
MulAndSub (26)Compute X*yScalar - Z*zScale
MulI (4)Multiply elements by imaginary unit I.
NormThe norm of a vector.
Normalize (12)Normalize by subtracting a complex constant SubOffset from Vec elements and dividing the result by complex constant DivFactor.
NormC (4)Calculate the C-norm of calling vector.
NormL1 (4)Calculate the L1-norm of the calling vector.
NormL2 (4)Calculate the L2-norm of the calling vector.
Offset (4)Add/Subtract a complex value.
ParseParses string content as vector.
PCValues1DObtaines a pointer to the complex value of the vector at Index.
PhaseSpectrum (2)The phase angles (spectrum) of object elements.
PinPin down internal data structures for GC.
PixelDownSample (2)Downsample the vectors Y and (optionaly) X starting at position Index and for Len samples.
PixelDownSampleHighDownsample the vectors Y and (optionaly) X starting at position Index and for Len samples.
PixelDownSampleLowDownsample the vectors Y and (optionaly) X starting at position Index and for Len samples.
PolarToCart (2)Converts the polar magnitude/phase pairs to cartesian pairs.
Power (7)Raises all calling vector elements to complex power Exponent in-place.
PowerSpectrum (2)The power spectrum from object complex values.
PowerVecRaises Base object elements to Exponent object elements power.
PrecisionEPSReturns machine constant depending on value of FloatPrecision property.
PrecisionMaxValueReturns maximum floating point number depending on the value of FloatPrecision property.
PrecisionMinValueMinimum floating point number.
PrecisionSqrtEPSSqrt(EPS) machine constant depending on value of FloatPrecision property.
PrimeNumbersFills vector with prime numbers, starting from 2 up to the value of n.
Product (6)Elements product.
Productc (2)Elements product.
PSCValues1DObtaines a pointer to the complex value of the vector at Index.
PSValues1DObtains a pointer to the real value of the vector at Index.
PValues1DObtains a pointer to the real value of the vector at Index.
RadToDeg (4)RadToDeg converts radians to degrees.
Ramp (7)Fills the calling vector with a series following linear rule.
RandGauss (3)The pseudo random sample generator with Gaussian distribution.
RandomShuffleRandomly shuffles the content of the vector.
RandUniform (3)The pseudo random sample generator with continuous uniform distribution.
Range (3)Calculate the range from all calling object elements.
ReadHeaderReads the header information from a stream to object.
ReadValuesRead values content from stream to object.
ReadXmlRead the object from the .NET XML stream.
RealPart (2)Gets real part of complex object values.
RealToCplx (2)Constructs a complex object from two real objects.
Rem (4)The Reminder after division X/Y.
Replace (4)Search and replace a complex value.
ReplaceNAN (2)Replaces all NAN values with Value.
ResetResets object properties to default values.
Resize (2)Resizes vector size while preserving values.
Reverse (4)Reverse vector elements.
RMS (2)Root mean square (RMS).
Rotate (3)A cyclic shift on vector elements.
Round (5)Elements rounded to the nearest whole number.
SaveToFileWrite object header and values to a file.
SaveToStreamLoad the component from the .NET framework Stream.
Scale (4)Multiply all calling object elements with a complex Value in-place.
ScatterScatter object elements.
ScatterByIncrScatters Src elements starting at Offset and with Increment to the calling object.
ScatterByIndexesScatters Src elements defined with indices stored in Indexes to the calling object.
ScatterByMaskScatters Src elements defined with the Mask to the calling object.
SDataIndexReturns an index pointing to element at Index for double data.
Sec (4)Secant.
Sech (4)Hyperbolic secant.
Select (2)Resets the selection.
SelectAllResets any defined selection.
SetCplx (2)Sets vector values (complex).
SetDouble (2)Sets vector values (double).
SetFullRangeResets subrange defined with SetSubRange.
SetFullRangeLevelPops the current subrange stack one level up.
SetInteger (2)Sets vector values (integer).
SetIt (4)Sets vector values.
SetObjectFromByteArrayReads the properties of the object from the array of bytes.
SetSingle (2)Sets vector values (single).
SetSubIndex (2)Defines a subarray.
SetSubRange (4)Defines the calling vector to have the view of the same memory as Src.
SetSubRangeLevel (2)Defines a sub vector/matrix of Src and pushes any previous subranges on to a stack.
SetVal (4)Set all calling object complex elements to complex Value.
SetZero (2)Initializes object elements to zero.
Sgn (4)Computes signum function of calling object elements.
SgnMulSignum.
Shift (4)Shift vector elements left or right in the array.
Sign (4)Changes elements sign.
Sin (4)Sine function.
SinCos (2)Sine and cosine.
Sinh (4)Hyperbolic sine.
SinhCosh (2)Hyperbolic sine and cosine.
Size (8)Sets vector size.
SizeFromArray (7)Sets the size of the vector to match an array.
SizeToArray (8)Sizes the array.
Skewness (2)Skewness (third central momentum).
SortAscend (4)Sorts vector elements in ascending order.
SortDescend (4)Sorts vector elements in descending order.
Split (3)Copy the contents of the calling TVec object to Vec1 and Vec2 objects.
Sqr (4)Square.
SqrAddScaled (8)Compute sqr(X)*xScale + sqr(Y)*yScale
Sqrt (4)Square root.
StdDev (6)Standard deviation.
StringsToValues (2)Convert strings in aList to double or TCplx.
StripNanAndInf (3)Copies only those values from Src, which are not NAN or INF.
Sub (18)Subtracts complex Value from all calling object complex elements.
SubAndMul (50)Compute (X - yScalar)*zScalar
SubFrom (8)Subtract each of calling object elements from complex Value.
SubRangeLevelReturns the current subrange stack level.
SubScaled (12)Compute X*xScale - Y*yScale - Z*zScale
SubScaledC (8)Compute X*xScale - Y*yScale - zScalar
Sum (5)Sums vector values.
Sumc (2)Sum (complex value).
SumOfSquares (2)Calculate the Sum of squares of the calling vector.
Tan (4)Tangens.
Tanh (4)Hyperbolic tangens.
TensorProd (2)Tensor product between vector and matrix.
ThreshAbsGT (4)Perform threshold operation on all Src object values.
ThreshAbsLT (4)Perform threshold operation on all Src object values.
ThreshBottom (4)Perform threshold operation on all Src object values.
ThresholdGT (8)Perform "greater than" threshold operation for complex numbers on all Vec object values.
ThresholdGT_LT (4)Perform "greater than and less than" threshold operation on all Vec object values.
ThresholdLT (8)Perform "less than" threshold operation for complex numbers on all Vec object values.
ThreshTop (4)Perform threshold operation on all Src object values.
ToStringReturns content as a string.
Trunc (5)Rounds a real number towards zero.
TruncAndFrac (2)Rounds a real number towards zero and returns the fractional part.
UnPinUnpin internal data structures for GC.
UpSample (2)Inserts zeroes between consecutive vector values.
ValuesToStrings (2)Converts the content of the Values array of the calling vector to a list of strings.
ValuesToText (2)Convert all vector elements to text.
WriteHeaderWrites the header information for the calling vector to a stream.
WriteValuesWrites the header information for the calling vector to a stream.
WriteXmlWrite the object to the .NET XML stream.
ZScore (2)Transforms vector into vector of standardized data.

Operators

NameDescription
op_Implicit (4)Implicit conversion from TVec to Span<TCplx>.

Events

NameDescription
OnSetSizeEventCalled when object size changes.