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, IIndexableDVector 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.
| 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(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. |
| 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. |
| 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. |
| 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. |
| CreateDiagonal | Creates a diagonal matrix given its diagonal. (Defined by Vec) |