DVector Structure |
public readonly struct DVector : IFormattable, IEnumerable<double>, IEnumerable, IEquatable<DVector>, IEqualityOperators<DVector, DVector, bool>, IAdditionOperators<DVector, DVector, DVector>, IAdditionOperators<DVector, double, DVector>, ISubtractionOperators<DVector, DVector, DVector>, ISubtractionOperators<DVector, double, DVector>, IMultiplyOperators<DVector, DVector, double>, IMultiplyOperators<DVector, double, DVector>, IDivisionOperators<DVector, double, DVector>, IUnaryNegationOperators<DVector, DVector>, IPointwiseOperators<DVector>, ISafeIndexed, IVector, IIndexable
The DVector type exposes the following members.
| Name | Description | |
|---|---|---|
| DVector(Double) | Initializes a vector from an array. | |
| DVector(DVector) | Creates a vector by concatenating many vectors. | |
| DVector(Int32) | Creates a vector of a given size. | |
| DVector(Csv, Int32) | Creates a vector by reading a column from a CSV file. The column is identified by its name. | |
| DVector(Csv, String) | Creates a vector by reading a column from a CSV file. The column is identified by its name. | |
| DVector(Double, DVector) | Creates a vector by concatenating a new value with a suffix vector. | |
| DVector(DVector, DVector) | Creates a vector by concatenating two vectors. | |
| DVector(DVector, Double) | Creates a vector by concatenating a prefix vector with a new value. | |
| DVector(Int32, NormalRandom) | Creates a vector filled with a normal distribution generator. | |
| DVector(Int32, Double) | Initializes a vector from a scalar. | |
| DVector(Int32, FuncInt32, DVector, Double) | Creates a vector using a formula to fill its items. | |
| DVector(Int32, FuncInt32, Double) | Creates a vector using a formula to fill its items. | |
| DVector(Int32, Random) | Creates a vector filled with a uniform distribution generator. | |
| DVector(Int32, Random, Double, Double) | Creates a vector filled with a uniform distribution generator. |
| Name | Description | |
|---|---|---|
| First | Gets the first value in the vector. | |
| IsInitialized | Has the vector been properly initialized? | |
| ItemIndex | Gets or sets the component at a given index. | |
| ItemInt32 | Gets or sets the component at a given index. | |
| ItemRange | Extracts a slice from the vector. | |
| Last | Gets the last value in the vector. | |
| Length | Gets the dimensions of the vector. |
| Name | Description | |
|---|---|---|
| Abs | Gets the absolute values of the vector's items. | |
| ACF | Computes autocorrelation for all lags. | |
| All | Checks whether the predicate is satisfied by all items. | |
| AMax | Gets the cell with the maximum absolute value. | |
| AMin | Gets the cell with the minimum absolute value. | |
| Any | Checks whether the predicate is satisfied by at least one item. | |
| ARModel | Creates an AR model from a vector and a degree. | |
| AutoCorrelation | Computes the autocorrelation for a fixed lag. | |
| AutoRegression | Finds the coefficients for an autoregressive model. | |
| Clone | Creates an identical vector. | |
| Combine | Low-level method to linearly combine vectors with weights. | |
| Combine2 | Low-level method to linearly combine two vectors with weights. | |
| Contains | Checks if the vector contains the given value. | |
| Correlogram | Computes autocorrelation for a range of lags. | |
| Distance | Computes the maximum difference between cells. | |
| Distinct | Returns a new vector with the distinct values in the original one. | |
| Equals(DVector) | Checks if the provided argument is a vector with the same values. | |
| Equals(Object) | Checks if the provided argument is a vector with the same values. (Overrides ValueTypeEquals(Object)) | |
| Equals(DVector, DVector, Double) | Compares two vectors for equality within a tolerance. | |
| Fft | Computes the real discrete Fourier transform. | |
| Filter | Creates a new vector by filtering items with the given predicate. | |
| FilterMap | Creates a new vector by filtering and mapping at the same time. | |
| Find(Double) | Returns all indexes containing ocurrences of a value. | |
| Find(FuncDouble, Boolean) | Returns all indexes satisfying a condition. | |
| FullLinearModel | Creates a linear model a set of predictors. | |
| GetEnumerator | Retrieves an enumerator to iterate over components. | |
| GetHashCode | Returns the hashcode for this vector. (Overrides ValueTypeGetHashCode) | |
| GetType | Gets the Type of the current instance. (Inherited from Object) | |
| IndexOf(Double) | Returns the zero-based index of the first occurrence of a value. | |
| IndexOf(Double, Int32) | Returns the zero-based index of the first occurrence of a value. | |
| InplaceAdd | Inplace addition of two vectors. | |
| InplaceNegate | Inplace negation of the vector. | |
| InplaceSub | Inplace substraction of two vectors. | |
| LinearModel | Multilinear regression based in Ordinary Least Squares. | |
| MAModel | Creates an MA model from a vector and a degree. | |
| Map | Creates a new vector by transforming each item with the given function. | |
| Maximum | Gets the item with the maximum value. | |
| Mean | Computes the mean of the vector's items. | |
| Minimum | Gets the item with the minimum value. | |
| MovingAverage | Finds the coefficients for a moving average model. | |
| MultiplyAdd(Double, DVector) | Optimized vector multiplication and addition. | |
| MultiplyAdd(DVector, DVector) | Optimized vector multiplication and addition. | |
| MultiplySubtract(Double, DVector) | Optimized vector scaling and subtraction. | |
| MultiplySubtract(DVector, DVector) | Optimized vector multiplication and subtraction. | |
| Norm | Gets the Euclidean norm of this vector. | |
| PACF | Computes the partial autocorrelation for all lags. | |
| PACFRaw | Computes the partial autocorrelation for all lags. | |
| Plot | Creates a plot for this vector. | |
| PointwiseDivide | Pointwise division. | |
| PointwiseMultiply | Pointwise multiplication. | |
| Product | Calculates the product of the vector's items. | |
| Reduce | Creates an aggregate value by applying the reducer to each item. | |
| Reverse | Creates a reversed copy of the vector. | |
| SafeThis | Safe access to the vector's components. If the index is out of range, a zero is returned. | |
| Sort | Returns a new vector with sorted values. | |
| SortDescending | Returns a new vector with sorted values. | |
| Sqrt | Pointwise squared root. | |
| Squared | Gets the squared norm of this vector. | |
| Stats | Gets statistics on the vector values. | |
| SubtractMultiply | Optimized subtraction of scaled vector. | |
| Sum | Calculates the sum of the vector's items. | |
| ToString | Gets a textual representation of this vector. (Overrides ValueTypeToString) | |
| ToString(String, IFormatProvider) | Gets a textual representation of this vector. | |
| Zip | Combines the common prefix of two vectors. |
| Name | Description | |
|---|---|---|
| Addition(Double, DVector) | Adds a scalar to a vector. | |
| Addition(DVector, DVector) | Adds two vectors. | |
| Addition(DVector, Double) | Adds a scalar to a vector. | |
| Division(DVector, Double) | Divides a vector by a scalar value. | |
| Equality(DVector, DVector) | Compares two vectors for equality. | |
| ExclusiveOr(DVector, DVector) | The external product of two vectors. | |
| (DVector to Double) | Explicit conversion from vector to array. | |
| (Double to DVector) | Implicit conversion from an array to a vector. | |
| Inequality(DVector, DVector) | Compares two vectors for inequality. | |
| Multiply(Double, DVector) | Multiplies a vector by a scalar value. | |
| Multiply(DVector, DVector) | Dot product of two vectors. | |
| Multiply(DVector, Double) | Multiplies a vector by a scalar value. | |
| Subtraction(Double, DVector) | Subtracts a vector from a scalar. | |
| Subtraction(DVector, DVector) | Subtracts two vectors. | |
| Subtraction(DVector, Double) | Subtracts a scalar from a vector. | |
| UnaryNegation(DVector) | Negates a vector. |
| Name | Description | |
|---|---|---|
| CreateDiagonal | Creates a diagonal matrix given its diagonal. (Defined by Vec) |
DVector provides a thin wrapper around a single array. Most method operations are non destructive, and return a new vector, at the cost of extra memory allocation.
Methods like MultiplyAdd(DVector, DVector) save memory by reusing intermediate storage, and also time by using SIMD fused multiply-add instructions.
Most methods are hardware accelerated, either by using managed references, SIMD operations or both. Memory pinning has been reduced to the minimum, for easing the garbage collector's work.