Namespaces

Types in MathNet.Numerics.LinearAlgebra.Single

Type Vector

Namespace MathNet.Numerics.LinearAlgebra.Single

Parent Vector<T>

float version of the Vector<T> class.

Methods

Properties

Public Methods

float AbsoluteMaximum()

Returns the value of the absolute maximum element.
Return
float

The value of the absolute maximum element.

int AbsoluteMaximumIndex()

Returns the index of the absolute maximum element.
Return
int

The index of absolute maximum element.

float AbsoluteMinimum()

Returns the value of the absolute minimum element.
Return
float

The value of the absolute minimum element.

int AbsoluteMinimumIndex()

Returns the index of the absolute minimum element.
Return
int

The index of absolute minimum element.

void Add(Vector<T> other, Vector<T> result)

Adds another vector to this vector and stores the result into the result vector.
Parameters
Vector<T> other

The vector to add to this one.

Vector<T> result

The vector to store the result of the addition.

Vector<T> Add(float scalar)

void Add(float scalar, Vector<T> result)

Vector<T> Add(Vector<T> other)

Adds another vector to this vector.
Parameters
Vector<T> other

The vector to add to this one.

Return
Vector<T>

A new vector containing the sum of both vectors.

Single[] AsArray()

Returns the internal array of this vector if, and only if, this vector is stored by such an array internally. Otherwise returns null. Changes to the returned array and the vector will affect each other. Use ToArray instead if you always need an independent array.

float At(int index)

Gets the value at the given index without range checking..
Parameters
int index

The index of the value to get or set.

Return
float

The value of the vector at the given index.

void At(int index, float value)

void Clear()

Resets all values to zero.

void ClearSubVector(int index, int count)

Sets all values of a subvector to zero.

Vector<T> Clone()

Returns a deep-copy clone of the vector.
Return
Vector<T>

A deep-copy clone of the vector.

void CoerceZero(Func<float, bool> zeroPredicate)

Set all values that meet the predicate to zero, in-place.

void CoerceZero(double threshold)

Set all values whose absolute value is smaller than the threshold to zero.

void Conjugate(Vector<T> result)

Complex conjugates vector and save result to result
Parameters
Vector<T> result

Target vector

Vector<T> Conjugate()

Return vector with complex conjugate values of the source vector
Return
Vector<T>

Conjugated vector

float ConjugateDotProduct(Vector<T> other)

Computes the dot product between the conjugate of this vector and another vector.
Parameters
Vector<T> other

The other vector.

Return
float

The sum of conj(a[i])*b[i] for all i.

void CopySubVectorTo(Vector<T> destination, int sourceIndex, int targetIndex, int count)

Copies the requested elements from this vector to another.
Parameters
Vector<T> destination

The vector to copy the elements to.

int sourceIndex

The element to start copying from.

int targetIndex

The element to start copying to.

int count

The number of elements to copy.

void CopyTo(Vector<T> target)

Copies the values of this vector into the target vector.
Parameters
Vector<T> target

The vector to copy elements into.

Vector<T> Divide(float scalar)

void Divide(float scalar, Vector<T> result)

Vector<T> DivideByThis(float scalar)

void DivideByThis(float scalar, Vector<T> result)

float DotProduct(Vector<T> other)

Computes the dot product between this vector and another vector.
Parameters
Vector<T> other

The other vector.

Return
float

The sum of a[i]*b[i] for all i.

IEnumerable<float> Enumerate()

Returns an IEnumerable that can be used to iterate through all values of the vector.
The enumerator will include all values, even if they are zero.

IEnumerable<float> Enumerate(Zeros zeros)

Returns an IEnumerable that can be used to iterate through all values of the vector.
The enumerator will include all values, even if they are zero.

IEnumerable<ValueTuple<int, float>> EnumerateIndexed()

Returns an IEnumerable that can be used to iterate through all values of the vector and their index.
The enumerator returns a Tuple with the first value being the element index and the second value being the value of the element at that index. The enumerator will include all values, even if they are zero.

IEnumerable<ValueTuple<int, float>> EnumerateIndexed(Zeros zeros)

Returns an IEnumerable that can be used to iterate through all values of the vector and their index.
The enumerator returns a Tuple with the first value being the element index and the second value being the value of the element at that index. The enumerator will include all values, even if they are zero.

bool Equals(Vector<T> other)

Indicates whether the current object is equal to another object of the same type.
Parameters
Vector<T> other

An object to compare with this object.

Return
bool

true if the current object is equal to the other parameter; otherwise, false.

bool Equals(object obj)

Determines whether the specified Object is equal to this instance.
Parameters
object obj

The Object to compare with this instance.

Return
bool

true if the specified Object is equal to this instance; otherwise, false.

bool Exists(Func<float, bool> predicate, Zeros zeros)

Returns true if at least one element satisfies a predicate. Zero elements may be skipped on sparse data structures if allowed (default).

bool Exists2<TOther>(Func<float, TOther, bool> predicate, Vector<T> other, Zeros zeros)

Returns true if at least one element pairs of two vectors of the same size satisfies a predicate. Zero elements may be skipped on sparse data structures if allowed (default).

Tuple<int, float> Find(Func<float, bool> predicate, Zeros zeros)

Returns a tuple with the index and value of the first element satisfying a predicate, or null if none is found. Zero elements may be skipped on sparse data structures if allowed (default).

Tuple<int, float, TOther> Find2<TOther>(Func<float, TOther, bool> predicate, Vector<T> other, Zeros zeros)

Returns a tuple with the index and values of the first element pair of two vectors of the same size satisfying a predicate, or null if none is found. Zero elements may be skipped on sparse data structures if allowed (default).

TState Fold2<TOther, TState>(Func<TState, float, TOther, TState> f, TState state, Vector<T> other, Zeros zeros)

Applies a function to update the status with each value pair of two vectors and returns the resulting status.

bool ForAll(Func<float, bool> predicate, Zeros zeros)

Returns true if all elements satisfy a predicate. Zero elements may be skipped on sparse data structures if allowed (default).

bool ForAll2<TOther>(Func<float, TOther, bool> predicate, Vector<T> other, Zeros zeros)

Returns true if all element pairs of two vectors of the same size satisfy a predicate. Zero elements may be skipped on sparse data structures if allowed (default).

int GetHashCode()

Returns a hash code for this instance.
Return
int

A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

Type GetType()

double InfinityNorm()

Calculates the infinity norm of the vector.
Return
double

The maximum absolute value.

double L1Norm()

Calculates the L1 norm of the vector, also known as Manhattan norm.
Return
double

The sum of the absolute values.

double L2Norm()

Calculates the L2 norm of the vector, also known as Euclidean norm.
Return
double

The square root of the sum of the squared values.

void Map(Func<float, float> f, Vector<T> result, Zeros zeros)

Applies a function to each value of this vector and replaces the value in the result vector. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

Vector<T> Map<TU>(Func<float, TU> f, Zeros zeros)

Applies a function to each value of this vector and returns the results as a new vector. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

void Map2(Func<float, float, float> f, Vector<T> other, Vector<T> result, Zeros zeros)

Applies a function to each value pair of two vectors and replaces the value in the result vector.

Vector<T> Map2(Func<float, float, float> f, Vector<T> other, Zeros zeros)

Applies a function to each value pair of two vectors and returns the results as a new vector.

void MapConvert<TU>(Func<float, TU> f, Vector<T> result, Zeros zeros)

Applies a function to each value of this vector and replaces the value in the result vector. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

void MapIndexed(Func<int, float, float> f, Vector<T> result, Zeros zeros)

Applies a function to each value of this vector and replaces the value in the result vector. The index of each value (zero-based) is passed as first argument to the function. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

Vector<T> MapIndexed<TU>(Func<int, float, TU> f, Zeros zeros)

Applies a function to each value of this vector and returns the results as a new vector. The index of each value (zero-based) is passed as first argument to the function. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

void MapIndexedConvert<TU>(Func<int, float, TU> f, Vector<T> result, Zeros zeros)

Applies a function to each value of this vector and replaces the value in the result vector. The index of each value (zero-based) is passed as first argument to the function. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

void MapIndexedInplace(Func<int, float, float> f, Zeros zeros)

Applies a function to each value of this vector and replaces the value with its result. The index of each value (zero-based) is passed as first argument to the function. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

void MapInplace(Func<float, float> f, Zeros zeros)

Applies a function to each value of this vector and replaces the value with its result. If forceMapZero is not set to true, zero values may or may not be skipped depending on the actual data storage implementation (relevant mostly for sparse vectors).

float Maximum()

Returns the value of maximum element.
Return
float

The value of maximum element.

int MaximumIndex()

Returns the index of the maximum element.
Return
int

The index of maximum element.

float Minimum()

Returns the value of the minimum element.
Return
float

The value of the minimum element.

int MinimumIndex()

Returns the index of the minimum element.
Return
int

The index of minimum element.

void Modulus(float divisor, Vector<T> result)

Vector<T> Modulus(float divisor)

void ModulusByThis(float dividend, Vector<T> result)

Vector<T> ModulusByThis(float dividend)

Vector<T> Multiply(float scalar)

void Multiply(float scalar, Vector<T> result)

Vector<T> Negate()

Returns a negated vector.
Added as an alternative to the unary negation operator.
Return
Vector<T>

The negated vector.

void Negate(Vector<T> result)

Negates vector and save result to result
Parameters
Vector<T> result

Target vector

double Norm(double p)

Computes the p-Norm.
Parameters
double p

The p value.

Return
double

Scalar ret = ( ∑|At(i)|^p )^(1/p)

Vector<T> Normalize(double p)

Normalizes this vector to a unit vector with respect to the p-norm.
Parameters
double p

The p value.

Return
Vector<T>

This vector normalized to a unit vector with respect to the p-norm.

void OuterProduct(Vector<T> other, Matrix<T> result)

Computes the outer product M[i,j] = u[i]*v[j] of this and another vector and stores the result in the result matrix.
Parameters
Vector<T> other

The other vector

Matrix<T> result

The matrix to store the result of the product.

Matrix<T> OuterProduct(Vector<T> other)

Computes the outer product M[i,j] = u[i]*v[j] of this and another vector.
Parameters
Vector<T> other

The other vector

Vector<T> PointwiseAbs()

Pointwise applies the abs function to each value

void PointwiseAbs(Vector<T> result)

Pointwise applies the abs function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseAbsoluteMaximum(float scalar)

void PointwiseAbsoluteMaximum(float scalar, Vector<T> result)

Vector<T> PointwiseAbsoluteMaximum(Vector<T> other)

Pointwise applies the absolute maximum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

void PointwiseAbsoluteMaximum(Vector<T> other, Vector<T> result)

Pointwise applies the absolute maximum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

Vector<T> result

The vector to store the result.

Vector<T> PointwiseAbsoluteMinimum(Vector<T> other)

Pointwise applies the absolute minimum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

void PointwiseAbsoluteMinimum(Vector<T> other, Vector<T> result)

Pointwise applies the absolute minimum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

Vector<T> result

The vector to store the result.

Vector<T> PointwiseAbsoluteMinimum(float scalar)

void PointwiseAbsoluteMinimum(float scalar, Vector<T> result)

void PointwiseAcos(Vector<T> result)

Pointwise applies the acos function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseAcos()

Pointwise applies the acos function to each value

void PointwiseAsin(Vector<T> result)

Pointwise applies the asin function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseAsin()

Pointwise applies the asin function to each value

void PointwiseAtan(Vector<T> result)

Pointwise applies the atan function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseAtan()

Pointwise applies the atan function to each value

Vector<T> PointwiseAtan2(Vector<T> other)

Pointwise applies the atan2 function to each value of the current vector and a given other vector being the 'x' of atan2 and the 'this' vector being the 'y'

void PointwiseAtan2(Vector<T> other, Vector<T> result)

Pointwise applies the atan2 function to each value of the current vector and a given other vector being the 'x' of atan2 and the 'this' vector being the 'y'
Parameters
Vector<T> other
Vector<T> result

The vector to store the result

Vector<T> PointwiseCeiling()

Pointwise applies the ceiling function to each value

void PointwiseCeiling(Vector<T> result)

Pointwise applies the ceiling function to each value
Parameters
Vector<T> result

The vector to store the result

void PointwiseCos(Vector<T> result)

Pointwise applies the cos function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseCos()

Pointwise applies the cos function to each value

void PointwiseCosh(Vector<T> result)

Pointwise applies the cosh function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseCosh()

Pointwise applies the cosh function to each value

void PointwiseDivide(Vector<T> divisor, Vector<T> result)

Pointwise divide this vector with another vector and stores the result into the result vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

Vector<T> result

The vector to store the result of the pointwise division.

Vector<T> PointwiseDivide(Vector<T> divisor)

Pointwise divide this vector with another vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

Return
Vector<T>

A new vector which is the pointwise division of the two vectors.

Vector<T> PointwiseExp()

Pointwise applies the exponent function to each value.

void PointwiseExp(Vector<T> result)

Pointwise applies the exponent function to each value.
Parameters
Vector<T> result

The vector to store the result.

Vector<T> PointwiseFloor()

Pointwise applies the floor function to each value

void PointwiseFloor(Vector<T> result)

Pointwise applies the floor function to each value
Parameters
Vector<T> result

The vector to store the result

void PointwiseLog(Vector<T> result)

Pointwise applies the natural logarithm function to each value.
Parameters
Vector<T> result

The vector to store the result.

Vector<T> PointwiseLog()

Pointwise applies the natural logarithm function to each value.

void PointwiseLog10(Vector<T> result)

Pointwise applies the log10 function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseLog10()

Pointwise applies the log10 function to each value

void PointwiseMaximum(float scalar, Vector<T> result)

Vector<T> PointwiseMaximum(Vector<T> other)

Pointwise applies the maximum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

void PointwiseMaximum(Vector<T> other, Vector<T> result)

Pointwise applies the maximum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

Vector<T> result

The vector to store the result.

Vector<T> PointwiseMaximum(float scalar)

Vector<T> PointwiseMinimum(float scalar)

Vector<T> PointwiseMinimum(Vector<T> other)

Pointwise applies the minimum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

void PointwiseMinimum(Vector<T> other, Vector<T> result)

Pointwise applies the minimum with the values of another vector to each value.
Parameters
Vector<T> other

The vector with the values to compare to.

Vector<T> result

The vector to store the result.

void PointwiseMinimum(float scalar, Vector<T> result)

void PointwiseModulus(Vector<T> divisor, Vector<T> result)

Pointwise canonical modulus, where the result has the sign of the divisor, of this vector with another vector and stores the result into the result vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

Vector<T> result

The vector to store the result of the pointwise modulus.

Vector<T> PointwiseModulus(Vector<T> divisor)

Pointwise canonical modulus, where the result has the sign of the divisor, of this vector with another vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

void PointwiseMultiply(Vector<T> other, Vector<T> result)

Pointwise multiplies this vector with another vector and stores the result into the result vector.
Parameters
Vector<T> other

The vector to pointwise multiply with this one.

Vector<T> result

The vector to store the result of the pointwise multiplication.

Vector<T> PointwiseMultiply(Vector<T> other)

Pointwise multiplies this vector with another vector.
Parameters
Vector<T> other

The vector to pointwise multiply with this one.

Return
Vector<T>

A new vector which is the pointwise multiplication of the two vectors.

Vector<T> PointwisePower(Vector<T> exponent)

Pointwise raise this vector to an exponent and store the result into the result vector.
Parameters
Vector<T> exponent

The exponent to raise this vector values to.

void PointwisePower(Vector<T> exponent, Vector<T> result)

Pointwise raise this vector to an exponent.
Parameters
Vector<T> exponent

The exponent to raise this vector values to.

Vector<T> result

The vector to store the result into.

Vector<T> PointwisePower(float exponent)

void PointwisePower(float exponent, Vector<T> result)

Vector<T> PointwiseRemainder(Vector<T> divisor)

Pointwise remainder (% operator), where the result has the sign of the dividend, of this vector with another vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

void PointwiseRemainder(Vector<T> divisor, Vector<T> result)

Pointwise remainder (% operator), where the result has the sign of the dividend, this vector with another vector and stores the result into the result vector.
Parameters
Vector<T> divisor

The pointwise denominator vector to use.

Vector<T> result

The vector to store the result of the pointwise remainder.

void PointwiseRound(Vector<T> result)

Pointwise applies the round function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseRound()

Pointwise applies the round function to each value

Vector<T> PointwiseSign()

Pointwise applies the sign function to each value

void PointwiseSign(Vector<T> result)

Pointwise applies the sign function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseSin()

Pointwise applies the sin function to each value

void PointwiseSin(Vector<T> result)

Pointwise applies the sin function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseSinh()

Pointwise applies the sinh function to each value

void PointwiseSinh(Vector<T> result)

Pointwise applies the sinh function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseSqrt()

Pointwise applies the sqrt function to each value

void PointwiseSqrt(Vector<T> result)

Pointwise applies the sqrt function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseTan()

Pointwise applies the tan function to each value

void PointwiseTan(Vector<T> result)

Pointwise applies the tan function to each value
Parameters
Vector<T> result

The vector to store the result

void PointwiseTanh(Vector<T> result)

Pointwise applies the tanh function to each value
Parameters
Vector<T> result

The vector to store the result

Vector<T> PointwiseTanh()

Pointwise applies the tanh function to each value

Vector<T> Remainder(float divisor)

void Remainder(float divisor, Vector<T> result)

void RemainderByThis(float dividend, Vector<T> result)

Vector<T> RemainderByThis(float dividend)

void SetSubVector(int index, int count, Vector<T> subVector)

Copies the values of a given vector into a region in this vector.
Parameters
int index

The field to start copying to

int count

The number of fields to copy. Must be positive.

Vector<T> subVector

The sub-vector to copy from.

void SetValues(Single[] values)

Vector<T> Subtract(float scalar)

void Subtract(float scalar, Vector<T> result)

Vector<T> Subtract(Vector<T> other)

Subtracts another vector from this vector.
Parameters
Vector<T> other

The vector to subtract from this one.

Return
Vector<T>

A new vector containing the subtraction of the two vectors.

void Subtract(Vector<T> other, Vector<T> result)

Subtracts another vector to this vector and stores the result into the result vector.
Parameters
Vector<T> other

The vector to subtract from this one.

Vector<T> result

The vector to store the result of the subtraction.

Vector<T> SubtractFrom(float scalar)

void SubtractFrom(float scalar, Vector<T> result)

Vector<T> SubVector(int index, int count)

Creates a vector containing specified elements.
Parameters
int index

The first element to begin copying from.

int count

The number of elements to copy.

Return
Vector<T>

A vector containing a copy of the specified elements.

float Sum()

Computes the sum of the vector's elements.
Return
float

The sum of the vector's elements.

double SumMagnitudes()

Computes the sum of the absolute value of the vector's elements.
Return
double

The sum of the absolute value of the vector's elements.

Single[] ToArray()

Returns the data contained in the vector as an array. The returned array will be independent from this vector. A new memory block will be allocated for the array.
Return
Single[]

The vector's data as an array.

Matrix<T> ToColumnMatrix()

Create a matrix based on this vector in column form (one single column).
Return
Matrix<T>

This vector as a column matrix.

Matrix<T> ToRowMatrix()

Create a matrix based on this vector in row form (one single row).
Return
Matrix<T>

This vector as a row matrix.

string ToString()

Returns a string that summarizes this vector. The maximum number of cells can be configured in the Control class.

string ToString(int maxPerColumn, int maxCharactersWidth, string format, IFormatProvider provider)

Returns a string that summarizes this vector, column by column and with a type header.
Parameters
int maxPerColumn

Maximum number of entries and thus lines per column. Typical value: 12; Minimum: 3.

int maxCharactersWidth

Maximum number of characters per line over all columns. Typical value: 80; Minimum: 16.

string format

Floating point format string. Can be null. Default value: G6.

IFormatProvider provider

Format provider or culture. Can be null.

string ToString(string format, IFormatProvider formatProvider)

Returns a string that summarizes this vector. The maximum number of cells can be configured in the Control class. The format string is ignored.

string ToTypeString()

Returns a string that describes the type, dimensions and shape of this vector.

string ToVectorString(string format, IFormatProvider provider)

Returns a string that represents the content of this vector, column by column.
Parameters
string format

Floating point format string. Can be null. Default value: G6.

IFormatProvider provider

Format provider or culture. Can be null.

string ToVectorString(int maxPerColumn, int maxCharactersWidth, string ellipsis, string columnSeparator, string rowSeparator, Func<float, string> formatValue)

Returns a string that represents the content of this vector, column by column.
Parameters
int maxPerColumn

Maximum number of entries and thus lines per column. Typical value: 12; Minimum: 3.

int maxCharactersWidth

Maximum number of characters per line over all columns. Typical value: 80; Minimum: 16.

string ellipsis

Character to use to print if there is not enough space to print all entries. Typical value: "..".

string columnSeparator

Character to use to separate two columns on a line. Typical value: " " (2 spaces).

string rowSeparator

Character to use to separate two rows/lines. Typical value: Environment.NewLine.

Func<float, string> formatValue

Function to provide a string for any given entry value.

string ToVectorString(int maxPerColumn, int maxCharactersWidth, string format, IFormatProvider provider)

Returns a string that represents the content of this vector, column by column.
Parameters
int maxPerColumn

Maximum number of entries and thus lines per column. Typical value: 12; Minimum: 3.

int maxCharactersWidth

Maximum number of characters per line over all columns. Typical value: 80; Minimum: 16.

string format

Floating point format string. Can be null. Default value: G6.

IFormatProvider provider

Format provider or culture. Can be null.

String[,] ToVectorStringArray(int maxPerColumn, int maxCharactersWidth, int padding, string ellipsis, Func<float, string> formatValue)

Public Properties

int Count get;

float Item get; set;

VectorStorage<T> Storage get;