Class VectorExtensions
A vector extensions.
Inheritance
Inherited Members
Namespace:numl.Math.LinearAlgebra
Assembly:numl.dll
Syntax
public static class VectorExtensions
Methods
View SourceCalc(Vector, Func<Double, Double>)
A Vector extension method that calcs.
Declaration
public static Vector Calc(this Vector v, Func<double, double> f)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Func<System.Double, System.Double> | f | The Func<T,double> to process. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
Combine(Vector, Vector[])
Binds the supplied Vectors with the current vector.
Declaration
public static Vector Combine(this Vector source, params Vector[] vectors)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | Source vector. |
Vector[] | vectors | Array of vectors to bind with. |
Returns
Type | Description |
---|---|
Vector |
ContainsNaN(Vector)
A Vector extension method that query if 'vector' contains na n.
Declaration
public static bool ContainsNaN(this Vector vector)
Parameters
Type | Name | Description |
---|---|---|
Vector | vector | The vector to act on. |
Returns
Type | Description |
---|---|
System.Boolean | true if it succeeds, false if it fails. |
Correlation(Vector, Vector)
A Vector extension method that correlations.
Declaration
public static double Correlation(this Vector x, Vector y)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The x to act on. |
Vector | y | The Vector to process. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Covariance(Vector, Vector)
A Vector extension method that covariances.
Declaration
public static double Covariance(this Vector x, Vector y)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The x to act on. |
Vector | y | The Vector to process. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
Diag(Vector)
A Vector extension method that diags.
Declaration
public static Matrix Diag(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Returns
Type | Description |
---|---|
Matrix | A Matrix. |
Diag(Vector, Int32, Int32)
A Vector extension method that diags.
Declaration
public static Matrix Diag(this Vector v, int n, int d)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Int32 | n | The int to process. |
System.Int32 | d | The int to process. |
Returns
Type | Description |
---|---|
Matrix | A Matrix. |
Dot(Vector, Vector)
A Vector extension method that dots.
Declaration
public static double Dot(this Vector v, Vector x)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Vector | x | The x to act on. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Each(Vector, Func<Double, Double>, Boolean)
A Vector extension method that eaches.
Declaration
public static Vector Each(this Vector v, Func<double, double> transform, bool asCopy = false)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Func<System.Double, System.Double> | transform | The transform. |
System.Boolean | asCopy | (Optional) true to as copy. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
Each(Vector, Func<Double, Int32, Double>, Boolean)
A Vector extension method that eaches.
Declaration
public static Vector Each(this Vector v, Func<double, int, double> transform, bool asCopy = false)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Func<System.Double, System.Int32, System.Double> | transform | The transform including value and coordinate. |
System.Boolean | asCopy | (Optional) true to as copy. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
Expand(Vector, Vector)
A Vector extension method that expands.
Declaration
public static Vector Expand(this Vector source, Vector s)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
Vector | s | The Vector to process. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
Expand(Vector, Int32)
A Vector extension method that expands.
Declaration
public static Vector Expand(this Vector source, int n)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
System.Int32 | n | The int to process. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
First(Vector, Func<Int32, Double, Boolean>)
A Vector extension method that firsts.
Declaration
public static int First(this Vector v, Func<int, double, bool> predicate)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Func<System.Int32, System.Double, System.Boolean> | predicate | The predicate. |
Returns
Type | Description |
---|---|
System.Int32 | An int. |
Generate(IEnumerable<Double>, Func<Double, Double>)
Enumerates generate in this collection.
Declaration
public static IEnumerable<double> Generate(this IEnumerable<double> seq, Func<double, double> gen)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | seq | The seq to act on. |
System.Func<System.Double, System.Double> | gen | The generate. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Double> | An enumerator that allows foreach to be used to process generate in this collection. |
GetRandom(Vector)
Gets a random element from the vector.
Declaration
public static double GetRandom(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v. |
Returns
Type | Description |
---|---|
System.Double | System.Double. |
Indices(IEnumerable<Double>, Func<Double, Boolean>)
Enumerates indices in this collection.
Declaration
public static IEnumerable<int> Indices(this IEnumerable<double> source, Func<double, bool> f)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | source | The source to act on. |
System.Func<System.Double, System.Boolean> | f | The Func<T,double> to process. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Int32> | An enumerator that allows foreach to be used to process indices in this collection. |
Insert(Vector, Int32, Double, Boolean)
Inserts the supplied value into a new Vector at the specified position
Declaration
public static Vector Insert(this Vector source, int index, double value, bool insertAfter = true)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | |
System.Int32 | index | Row or Column index |
System.Double | value | Value to insert |
System.Boolean | insertAfter | True to add to the end, if the index matches last column |
Returns
Type | Description |
---|---|
Vector |
IsBinary(Vector)
Returns True if the Vector contains only positive and negative values (either 0 or -1).
Declaration
public static bool IsBinary(this Vector vector)
Parameters
Type | Name | Description |
---|---|---|
Vector | vector | The input vector. |
Returns
Type | Description |
---|---|
System.Boolean | Boolean. |
IsNaN(Vector)
A Vector extension method that query if 'vector' is na n.
Declaration
public static bool IsNaN(this Vector vector)
Parameters
Type | Name | Description |
---|---|---|
Vector | vector | The vector to act on. |
Returns
Type | Description |
---|---|
System.Boolean | true if na n, false if not. |
Last(Vector, Func<Int32, Double, Boolean>)
A Vector extension method that lasts.
Declaration
public static int Last(this Vector v, Func<int, double, bool> predicate)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Func<System.Int32, System.Double, System.Boolean> | predicate | The predicate. |
Returns
Type | Description |
---|---|
System.Int32 | An int. |
Log(Vector)
Returns the Log of the current Vector
Declaration
public static Vector Log(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v |
Returns
Type | Description |
---|---|
Vector |
MaxIndex(IEnumerable<Double>)
An IEnumerable<double> extension method that maximum index.
Declaration
public static int MaxIndex(this IEnumerable<double> source)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | source | The source to act on. |
Returns
Type | Description |
---|---|
System.Int32 | An int. |
Mean(Vector)
A Vector extension method that determines the mean of the given parameters.
Declaration
public static double Mean(this Vector source)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
Returns
Type | Description |
---|---|
System.Double | The mean value. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
Mean(IEnumerable<Vector>)
A Vector extension method that determines the mean of the given parameters.
Declaration
public static Vector Mean(this IEnumerable<Vector> source)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<Vector> | source | The source to act on. |
Returns
Type | Description |
---|---|
Vector | The mean value. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
Median(Vector)
Returns the median value of the Vector.
Declaration
public static double Median(this Vector source)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | Vector. |
Returns
Type | Description |
---|---|
System.Double | Double. |
MinIndex(IEnumerable<Double>)
An IEnumerable<double> extension method that minimum index.
Declaration
public static int MinIndex(this IEnumerable<double> source)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | source | The source to act on. |
Returns
Type | Description |
---|---|
System.Int32 | An int. |
Mode(Vector)
A Vector extension method that modes the given source.
Declaration
public static double Mode(this Vector source)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Norm(Vector)
A Vector extension method that normals.
Declaration
public static double Norm(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Norm(Vector, Double)
A Vector extension method that normals.
Declaration
public static double Norm(this Vector v, double p)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Double | p | The double to process. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Outer(Vector, Vector)
A Vector extension method that outers.
Declaration
public static Matrix Outer(this Vector x, Vector y)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The x to act on. |
Vector | y | The Vector to process. |
Returns
Type | Description |
---|---|
Matrix | A Matrix. |
Prod(Vector)
A Vector extension method that products the given v.
Declaration
public static double Prod(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Returns
Type | Description |
---|---|
System.Double | A double. |
Reshape(Vector, Int32, VectorType, VectorType)
Reshapes the given Vector into a Matrix form given the specified dimension.
Reads from the source vector and repopulates from left to right when vectorType equals 'Col' otherwise uses top down approach.
Declaration
public static Matrix Reshape(this Vector source, int dimension, VectorType vectorType = VectorType.Col, VectorType fillType = VectorType.Row)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | |
System.Int32 | dimension | If the vectorType equals 'Col' the dimension becomes the column width otherwise it is row height. |
VectorType | vectorType | Unit type of the dimension to use when rebuilding the Matrix. |
VectorType | fillType | Direction to process, i.e. Row = Fill Down then Right, or Col = Fill Right then Down |
Returns
Type | Description |
---|---|
Matrix | Matrix. |
Reverse(Vector)
Enumerates reverse in this collection.
Declaration
public static IEnumerable<double> Reverse(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Double> | An enumerator that allows foreach to be used to process reverse in this collection. |
Round(Vector, Int32)
A Vector extension method that rounds.
Declaration
public static Vector Round(this Vector v, int decimals = 0)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Int32 | decimals | (Optional) the decimals. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
Segment(Vector, Int32)
A Vector extension method that segments.
Declaration
public static Range[] Segment(this Vector x, int segments)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The x to act on. |
System.Int32 | segments | The segments. |
Returns
Type | Description |
---|---|
Range[] | A Range[]. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
Slice(Vector, IEnumerable<Int32>)
Enumerates slice in this collection.
Declaration
public static Vector Slice(this Vector v, IEnumerable<int> indices)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
System.Collections.Generic.IEnumerable<System.Int32> | indices | The indices. |
Returns
Type | Description |
---|---|
Vector | An enumerator that allows foreach to be used to process slice in this collection. |
Slice(Vector, IEnumerable<Int32>, Boolean)
Slices the given Vector while preserving the index ordering in the specified index array.
Declaration
public static Vector Slice(this Vector v, IEnumerable<int> indices, bool preserveOrder)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | Vector to slice. |
System.Collections.Generic.IEnumerable<System.Int32> | indices | Index array to extract. |
System.Boolean | preserveOrder | If True, the ordering in indices is preserved. |
Returns
Type | Description |
---|---|
Vector |
Slice(Vector, Int32, Int32)
Slices using starting and stopping positions.
Declaration
public static Vector Slice(this Vector v, int fromIndex, int toIndex)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | Vector. |
System.Int32 | fromIndex | Minimum index to from. |
System.Int32 | toIndex | Maximum index to. |
Returns
Type | Description |
---|---|
Vector |
Slice(IEnumerable<Double>, Func<Double, Boolean>)
Enumerates slice in this collection.
Declaration
public static IEnumerable<double> Slice(this IEnumerable<double> x, Func<double, bool> where)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | x | The x to act on. |
System.Func<System.Double, System.Boolean> | where | The where. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Double> | An enumerator that allows foreach to be used to process slice in this collection. |
Sort(Vector, Boolean, out Int32[])
Sorts the given Vector by the specified direction, and returns the original unsorted indices.
Declaration
public static Vector Sort(this Vector source, bool ascending, out int[] indices)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | Vector. |
System.Boolean | ascending | True to sort in ascending order, otherwise False. |
System.Int32[] | indices | The original index array before sorting. |
Returns
Type | Description |
---|---|
Vector |
Sqrt(Vector)
Computes the element-wise square-root value for each row / col value.
Declaration
public static Vector Sqrt(this Vector source)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source Vector. |
Returns
Type | Description |
---|---|
Vector | Vector. |
Stats(Vector)
A Vector extension method that statistics the given x coordinate.
Declaration
public static Matrix Stats(this Vector x)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The x to act on. |
Returns
Type | Description |
---|---|
Matrix | A Matrix. |
StdDev(Vector, Boolean)
A Vector extension method that computes the standard deviation
Declaration
public static double StdDev(this Vector source, bool isSamplePop = false)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
System.Boolean | isSamplePop | is sample population? |
Returns
Type | Description |
---|---|
System.Double | A double. |
Sum(Vector)
An IEnumerable<Vector> extension method that sums the given source.
Declaration
public static double Sum(this Vector v)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | The v to act on. |
Returns
Type | Description |
---|---|
System.Double | A Vector. |
Sum(IEnumerable<Vector>)
An IEnumerable<Vector> extension method that sums the given source.
Declaration
public static Vector Sum(this IEnumerable<Vector> source)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<Vector> | source | The source to act on. |
Returns
Type | Description |
---|---|
Vector | A Vector. |
ToBinary(Vector, Func<Double, Boolean>, Double, Double)
Converts the Vector to a binary Vector based on a predicate function.
Declaration
public static Vector ToBinary(this Vector v, Func<double, bool> fnPredicate, double trueValue = 1, double falseValue = 0)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | Vector to process. |
System.Func<System.Double, System.Boolean> | fnPredicate | Predicate function to test values for. |
System.Double | trueValue | True substitution value. |
System.Double | falseValue | False substitution value. |
Returns
Type | Description |
---|---|
Vector |
ToBinaryMatrix(Vector, Boolean)
Returns a 1-of-k binary indexed Matrix (m x k) from the supplied Vector, where k is the number of distinct values.
Declaration
public static Matrix ToBinaryMatrix(this Vector v, bool expand = false)
Parameters
Type | Name | Description |
---|---|---|
Vector | v | Vector of discrete values. |
System.Boolean | expand | If True, a binary Vector is expanded to a m x 2 Matrix, otherwise a binary Matrix of m x 1 is returned. |
Returns
Type | Description |
---|---|
Matrix | Matrix. |
ToDouble(Vector)
Return the result of a 1 x m * m x 1
Declaration
public static double ToDouble(this Vector vector)
Parameters
Type | Name | Description |
---|---|---|
Vector | vector |
Returns
Type | Description |
---|---|
System.Double |
ToMatrix(IEnumerable<Vector>, VectorType)
An IEnumerable<double[]> extension method that converts the source into a matrix.
Declaration
public static Matrix ToMatrix(this IEnumerable<Vector> source, VectorType vectorType = VectorType.Row)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<Vector> | source | The source to act on. |
VectorType | vectorType | The VectorType of the input array. |
Returns
Type | Description |
---|---|
Matrix | e as a Matrix. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
ToMatrix(IEnumerable<Double[]>)
An IEnumerable<double[]> extension method that converts an e to a matrix.
Declaration
public static Matrix ToMatrix(this IEnumerable<double[]> e)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double[]> | e | The e to act on. |
Returns
Type | Description |
---|---|
Matrix | e as a Matrix. |
Top(Vector, Int32)
Enumerates top in this collection.
Declaration
public static IEnumerable<int> Top(this Vector source, int n)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
System.Int32 | n | The int to process. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Int32> | An enumerator that allows foreach to be used to process top in this collection. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
TopReverse(Vector, Int32)
Enumerates top reverse in this collection.
Declaration
public static IEnumerable<int> TopReverse(this Vector source, int n)
Parameters
Type | Name | Description |
---|---|---|
Vector | source | The source to act on. |
System.Int32 | n | The int to process. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Int32> | An enumerator that allows foreach to be used to process top reverse in this collection. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
ToVector(IEnumerable<Double>)
An IEnumerable<int> extension method that converts a seq to a vector.
Declaration
public static Vector ToVector(this IEnumerable<double> seq)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Double> | seq | The seq to act on. |
Returns
Type | Description |
---|---|
Vector | seq as a Vector. |
ToVector(IEnumerable<Int32>)
An IEnumerable<int> extension method that converts a seq to a vector.
Declaration
public static Vector ToVector(this IEnumerable<int> seq)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Int32> | seq | The seq to act on. |
Returns
Type | Description |
---|---|
Vector | seq as a Vector. |
ToVector(Double[])
An IEnumerable<int> extension method that converts a seq to a vector.
Declaration
public static Vector ToVector(this double[] array)
Parameters
Type | Name | Description |
---|---|---|
System.Double[] | array | The array to act on. |
Returns
Type | Description |
---|---|
Vector | seq as a Vector. |
ToVector<T>(IEnumerable<T>, Func<T, Double>)
An IEnumerable<T> extension method that converts this object to a vector.
Declaration
public static Vector ToVector<T>(this IEnumerable<T> seq, Func<T, double> f)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<T> | seq | The seq to act on. |
System.Func<T, System.Double> | f | The Func<T,double> to process. |
Returns
Type | Description |
---|---|
Vector | The given data converted to a Vector. |
Type Parameters
Name | Description |
---|---|
T |
Variance(Vector, Boolean)
A Vector extension method that computes variances the given x coordinate
Declaration
public static double Variance(this Vector x, bool isSamplePop = false)
Parameters
Type | Name | Description |
---|---|---|
Vector | x | The source to act on. |
System.Boolean | isSamplePop | is sample population? |
Returns
Type | Description |
---|---|
System.Double | A double. |