Namespaces

Types in MathNet.Numerics.LinearAlgebra.Double

Type SparseVector

Namespace MathNet.Numerics.LinearAlgebra.Double

Parent Vector

A vector with sparse storage, intended for very large vectors where most of the cells are zero.
The sparse vector is not thread safe.

Constructors

Static Functions

Methods

Properties

Public Constructors

SparseVector(int length)

Create a new sparse vector with the given length. All cells of the vector will be initialized to zero.

SparseVector(SparseVectorStorage<T> storage)

Create a new sparse vector straight from an initialized vector storage instance. The storage is used directly without copying. Intended for advanced scenarios where you're working directly with storage for performance or interop reasons.

Public Static Functions

SparseVector Create(int length, double value)

Create a new sparse vector and initialize each value using the provided value.

SparseVector Create(int length, Func<int, double> init)

Create a new sparse vector and initialize each value using the provided init function.

SparseVector OfEnumerable(IEnumerable<double> enumerable)

Create a new sparse vector as a copy of the given enumerable. This new vector will be independent from the enumerable. A new memory block will be allocated for storing the vector.

SparseVector OfIndexedEnumerable(int length, IEnumerable<Tuple<int, double>> enumerable)

Create a new sparse vector as a copy of the given indexed enumerable. Keys must be provided at most once, zero is assumed if a key is omitted. This new vector will be independent from the enumerable. A new memory block will be allocated for storing the vector.

SparseVector OfVector(Vector<T> vector)

Create a new sparse vector as a copy of the given other vector. This new vector will be independent from the other vector. A new memory block will be allocated for storing the vector.

SparseVector Parse(string value, IFormatProvider formatProvider)

Creates a double sparse vector based on a string. The string can be in the following formats (without the quotes): 'n', 'n,n,..', '(n,n,..)', '[n,n,...]', where n is a double.
Parameters
string value

the string to parse.

IFormatProvider formatProvider

An IFormatProvider that supplies culture-specific formatting information.

Return
SparseVector

A double sparse vector containing the values specified by the given string.

bool TryParse(string value, IFormatProvider formatProvider, SparseVector& result)

bool TryParse(string value, SparseVector& result)

Public Methods

double AbsoluteMaximum()

Returns the value of the absolute maximum element.
Return
double

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.

double AbsoluteMinimum()

Returns the value of the absolute minimum element.
Return
double

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.

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.

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(double scalar)

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

Double[] 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.

void At(int index, double value)

double 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
double

The value of the vector at the given index.

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(double threshold)

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

void CoerceZero(Func<double, bool> zeroPredicate)

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

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

double 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
double

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(double scalar)

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

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

Vector<T> DivideByThis(double scalar)

double DotProduct(Vector<T> other)

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

The other vector.

Return
double

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

IEnumerable<double> 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<double> 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<ValueTuple<int, double>> 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, double>> 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<double, 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<double, 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, double> Find(Func<double, 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, double, TOther> Find2<TOther>(Func<double, 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, double, 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<double, 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<double, 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<double, double> 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<double, 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).

Vector<T> Map2(Func<double, double, double> 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 Map2(Func<double, double, double> 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.

void MapConvert<TU>(Func<double, 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, double, double> 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, double, 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, double, 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, double, double> 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<double, double> 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).

double Maximum()

Returns the value of maximum element.
Return
double

The value of maximum element.

int MaximumIndex()

Returns the index of the maximum element.
Return
int

The index of maximum element.

double Minimum()

Returns the value of the minimum element.
Return
double

The value of the minimum element.

int MinimumIndex()

Returns the index of the minimum element.
Return
int

The index of minimum element.

Vector<T> Modulus(double divisor)

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

Vector<T> ModulusByThis(double dividend)

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

Vector<T> Multiply(double scalar)

void Multiply(double 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 = ( ∑|this[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

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> 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.

Vector<T> PointwiseAbsoluteMaximum(double scalar)

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

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

Vector<T> PointwiseAbsoluteMinimum(double scalar)

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.

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

Vector<T> PointwiseAsin()

Pointwise applies the asin 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> PointwiseAtan()

Pointwise applies the atan 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

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> 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 PointwiseCeiling(Vector<T> result)

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

The vector to store the result

Vector<T> PointwiseCeiling()

Pointwise applies the ceiling function to each value

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

Vector<T> PointwiseCosh()

Pointwise applies the cosh 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

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

Vector<T> PointwiseLog()

Pointwise applies the natural logarithm function to each value.

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> PointwiseLog10()

Pointwise applies the log10 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

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

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(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.

Vector<T> PointwiseMaximum(double scalar)

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

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.

Vector<T> PointwiseMinimum(double scalar)

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.

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(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(double exponent, Vector<T> result)

Vector<T> PointwisePower(double exponent)

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.

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 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

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> PointwiseSin()

Pointwise applies the sin function to each value

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

Vector<T> PointwiseTanh()

Pointwise applies the tanh function to each value

void PointwiseTanh(Vector<T> result)

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

The vector to store the result

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

Vector<T> Remainder(double divisor)

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

Vector<T> RemainderByThis(double 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(Double[] values)

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.

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

Vector<T> Subtract(double scalar)

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.

Vector<T> SubtractFrom(double scalar)

void SubtractFrom(double 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.

double Sum()

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

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.

Double[] 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
Double[]

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(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()

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

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()

string ToVectorString(int maxPerColumn, int maxCharactersWidth, string ellipsis, string columnSeparator, string rowSeparator, Func<double, 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<double, 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 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[,] ToVectorStringArray(int maxPerColumn, int maxCharactersWidth, int padding, string ellipsis, Func<double, string> formatValue)

Public Properties

int Count get;

double Item get; set;

int NonZerosCount get;

Gets the number of non zero elements in the vector.
Value:

VectorStorage<T> Storage get;