## Types in MathNet.Numerics.LinearAlgebra

Type Vector<T>

Namespace MathNet.Numerics.LinearAlgebra

Interfaces IFormattable, IEquatable<Vector<T>>, IList, IList<T>, ICloneable

Defines the generic class for `Vector` classes.

### Public Static Functions

#### Vector<T>Abs(Vector<T> x)

Computes the absolute value of a vector pointwise

The input vector

#### Vector<T>Acos(Vector<T> x)

Computes the acos of a vector pointwise

The input vector

#### Vector<T>Asin(Vector<T> x)

Computes the asin of a vector pointwise

The input vector

#### Vector<T>Atan(Vector<T> x)

Computes the atan of a vector pointwise

The input vector

#### Vector<T>Ceiling(Vector<T> x)

Computes the ceiling of a vector pointwise

The input vector

#### Vector<T>Cos(Vector<T> x)

Computes the cos of a vector pointwise

The input vector

#### Vector<T>Cosh(Vector<T> x)

Computes the cosh of a vector pointwise

The input vector

#### Vector<T>Exp(Vector<T> x)

Computes the exponential of a vector pointwise

The input vector

#### Vector<T>Floor(Vector<T> x)

Computes the floor of a vector pointwise

The input vector

#### Vector<T>Log(Vector<T> x)

Computes the log of a vector pointwise

The input vector

#### Vector<T>Log10(Vector<T> x)

Computes the log10 of a vector pointwise

The input vector

#### Vector<T>Round(Vector<T> x)

Computes the rounded value of a vector pointwise

The input vector

#### Vector<T>Sin(Vector<T> x)

Computes the sin of a vector pointwise

The input vector

#### Vector<T>Sinh(Vector<T> x)

Computes the sinh of a vector pointwise

The input vector

#### Vector<T>Sqrt(Vector<T> x)

Computes the sqrt of a vector pointwise

The input vector

#### Vector<T>Tan(Vector<T> x)

Computes the tan of a vector pointwise

The input vector

#### Vector<T>Tanh(Vector<T> x)

Computes the tanh of a vector pointwise

The input vector

### Public Methods

#### TAbsoluteMaximum()

Returns the value of the absolute maximum element.
##### Return
###### `T`

The value of the absolute maximum element.

#### intAbsoluteMaximumIndex()

Returns the index of the absolute maximum element.
##### Return
###### `int`

The index of absolute maximum element.

#### TAbsoluteMinimum()

Returns the value of the absolute minimum element.
##### Return
###### `T`

The value of the absolute minimum element.

#### intAbsoluteMinimumIndex()

Returns the index of the absolute minimum element.
##### Return
###### `int`

The index of absolute minimum element.

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.

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.

Adds a scalar to each element of the vector and stores the result in the result vector.
##### Parameters

###### `Vector<T>` result

The vector to store the result of the addition.

Adds a scalar to each element of the vector.

##### Return
###### `Vector<T>`

A copy of the vector with the scalar added.

#### T[]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.

#### TAt(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
###### `T`

The value of the vector at the given index.

#### voidAt(int index, T value)

Sets the value at the given index without range checking..
##### Parameters
###### `int` index

The index of the value to get or set.

###### `T` value

The value to set.

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

#### voidCoerceZero(Func<T, bool> zeroPredicate)

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

#### voidCoerceZero(double threshold)

Set all values whose absolute value is smaller than the threshold to zero, in-place.

#### Vector<T>Conjugate()

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

Conjugated vector

#### voidConjugate(Vector<T> result)

Complex conjugates vector and save result to result

Target vector

#### TConjugateDotProduct(Vector<T> other)

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

The other vector.

##### Return
###### `T`

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

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

#### voidCopyTo(Vector<T> target)

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

The vector to copy elements into.

#### voidDivide(T scalar, Vector<T> result)

Divides each element of the vector by a scalar and stores the result in the result vector.
##### Parameters
###### `T` scalar

The scalar to divide with.

###### `Vector<T>` result

The vector to store the result of the division.

#### Vector<T>Divide(T scalar)

Divides each element of the vector by a scalar.
##### Parameters
###### `T` scalar

The scalar to divide with.

##### Return
###### `Vector<T>`

A new vector that is the division of the vector and the scalar.

#### voidDivideByThis(T scalar, Vector<T> result)

Divides a scalar by each element of the vector and stores the result in the result vector.
##### Parameters
###### `T` scalar

The scalar to divide.

###### `Vector<T>` result

The vector to store the result of the division.

#### Vector<T>DivideByThis(T scalar)

Divides a scalar by each element of the vector.
##### Parameters
###### `T` scalar

The scalar to divide.

##### Return
###### `Vector<T>`

A new vector that is the division of the vector and the scalar.

#### TDotProduct(Vector<T> other)

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

The other vector.

##### Return
###### `T`

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

#### IEnumerable<T>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<T>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, T>>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.

#### IEnumerable<ValueTuple<int, T>>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.

#### boolEquals(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`.

#### boolEquals(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`.

#### boolExists(Func<T, 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).

#### boolExists2<TOther>(Func<T, 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, T>Find(Func<T, 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, T, TOther>Find2<TOther>(Func<T, 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).

#### TStateFold2<TOther, TState>(Func<TState, T, 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.

#### boolForAll(Func<T, bool> predicate, Zeros zeros)

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

#### boolForAll2<TOther>(Func<T, 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).

#### intGetHashCode()

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.

#### doubleInfinityNorm()

Calculates the infinity norm of the vector.
##### Return
###### `double`

The maximum absolute value.

#### doubleL1Norm()

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

The sum of the absolute values.

#### doubleL2Norm()

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

The square root of the sum of the squared values.

#### voidMap(Func<T, T> 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<T, 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<T, T, T> f, Vector<T> other, Zeros zeros)

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

#### voidMap2(Func<T, T, T> 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.

#### voidMapConvert<TU>(Func<T, 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).

#### voidMapIndexed(Func<int, T, T> 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, T, 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).

#### voidMapIndexedConvert<TU>(Func<int, T, 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).

#### voidMapIndexedInplace(Func<int, T, T> 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).

#### voidMapInplace(Func<T, T> 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).

#### TMaximum()

Returns the value of maximum element.
##### Return
###### `T`

The value of maximum element.

#### intMaximumIndex()

Returns the index of the maximum element.
##### Return
###### `int`

The index of maximum element.

#### TMinimum()

Returns the value of the minimum element.
##### Return
###### `T`

The value of the minimum element.

#### intMinimumIndex()

Returns the index of the minimum element.
##### Return
###### `int`

The index of minimum element.

#### Vector<T>Modulus(T divisor)

Computes the canonical modulus, where the result has the sign of the divisor, for each element of the vector for the given divisor.
##### Parameters
###### `T` divisor

The scalar denominator to use.

##### Return
###### `Vector<T>`

A vector containing the result.

#### voidModulus(T divisor, Vector<T> result)

Computes the canonical modulus, where the result has the sign of the divisor, for each element of the vector for the given divisor.
##### Parameters
###### `T` divisor

The scalar denominator to use.

###### `Vector<T>` result

A vector to store the results in.

#### voidModulusByThis(T dividend, Vector<T> result)

Computes the canonical modulus, where the result has the sign of the divisor, for the given dividend for each element of the vector.
##### Parameters
###### `T` dividend

The scalar numerator to use.

###### `Vector<T>` result

A vector to store the results in.

#### Vector<T>ModulusByThis(T dividend)

Computes the canonical modulus, where the result has the sign of the divisor, for the given dividend for each element of the vector.
##### Parameters
###### `T` dividend

The scalar numerator to use.

##### Return
###### `Vector<T>`

A vector containing the result.

#### Vector<T>Multiply(T scalar)

Multiplies a scalar to each element of the vector.
##### Parameters
###### `T` scalar

The scalar to multiply.

##### Return
###### `Vector<T>`

A new vector that is the multiplication of the vector and the scalar.

#### voidMultiply(T scalar, Vector<T> result)

Multiplies a scalar to each element of the vector and stores the result in the result vector.
##### Parameters
###### `T` scalar

The scalar to multiply.

###### `Vector<T>` result

The vector to store the result of the multiplication.

#### voidNegate(Vector<T> result)

Negates vector and save result to result

Target vector

#### Vector<T>Negate()

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

The negated vector.

#### doubleNorm(double p)

Computes the p-Norm.

The p value.

##### Return
###### `double`

`Scalar ret = (sum(abs(this[i])^p))^(1/p)`

#### Vector<T>Normalize(double p)

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

The p value.

##### Return
###### `Vector<T>`

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

#### voidOuterProduct(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

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.

The other vector

#### voidPointwiseAbs(Vector<T> result)

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

The vector to store the result

#### Vector<T>PointwiseAbs()

Pointwise applies the abs function to each value

#### voidPointwiseAbsoluteMaximum(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(T scalar)

Pointwise applies the absolute maximum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

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

#### voidPointwiseAbsoluteMaximum(T scalar, Vector<T> result)

Pointwise applies the absolute maximum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

###### `Vector<T>` result

The vector to store the result.

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

#### Vector<T>PointwiseAbsoluteMinimum(T scalar)

Pointwise applies the absolute minimum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

#### voidPointwiseAbsoluteMinimum(T scalar, Vector<T> result)

Pointwise applies the absolute minimum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

###### `Vector<T>` result

The vector to store the result.

#### Vector<T>PointwiseAcos()

Pointwise applies the acos function to each value

#### voidPointwiseAcos(Vector<T> result)

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

The vector to store the result

#### voidPointwiseAsin(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

#### voidPointwiseAtan(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'

#### voidPointwiseAtan2(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>` result

The vector to store the result

#### voidPointwiseCeiling(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

#### Vector<T>PointwiseCos()

Pointwise applies the cos function to each value

#### voidPointwiseCos(Vector<T> result)

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

The vector to store the result

#### voidPointwiseCosh(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

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

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

#### voidPointwiseExp(Vector<T> result)

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

The vector to store the result.

#### Vector<T>PointwiseExp()

Pointwise applies the exponent function to each value.

#### Vector<T>PointwiseFloor()

Pointwise applies the floor function to each value

#### voidPointwiseFloor(Vector<T> result)

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

The vector to store the result

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

#### Vector<T>PointwiseLog10()

Pointwise applies the log10 function to each value

#### voidPointwiseLog10(Vector<T> result)

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

The vector to store the result

#### voidPointwiseMaximum(T scalar, Vector<T> result)

Pointwise applies the maximum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

###### `Vector<T>` result

The vector to store the result.

#### Vector<T>PointwiseMaximum(T scalar)

Pointwise applies the maximum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

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

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

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

#### voidPointwiseMinimum(T scalar, Vector<T> result)

Pointwise applies the minimum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

###### `Vector<T>` result

The vector to store the result.

#### Vector<T>PointwiseMinimum(T scalar)

Pointwise applies the minimum with a scalar to each value.
##### Parameters
###### `T` scalar

The scalar value to compare to.

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

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

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

#### voidPointwisePower(T exponent, Vector<T> result)

Pointwise raise this vector to an exponent and store the result into the result vector.
##### Parameters
###### `T` exponent

The exponent to raise this vector values to.

###### `Vector<T>` result

The matrix to store the result into.

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

Pointwise raise this vector to an exponent.
##### Parameters
###### `T` exponent

The exponent to raise this vector values to.

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

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

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

#### voidPointwiseRound(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

#### voidPointwiseSign(Vector<T> result)

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

The vector to store the result

#### Vector<T>PointwiseSign()

Pointwise applies the sign function to each value

#### voidPointwiseSin(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

#### voidPointwiseSinh(Vector<T> result)

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

#### voidPointwiseSqrt(Vector<T> result)

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

#### voidPointwiseTan(Vector<T> result)

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

#### voidPointwiseTanh(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(T divisor)

Computes the remainder (vector % divisor), where the result has the sign of the dividend, for each element of the vector for the given divisor.
##### Parameters
###### `T` divisor

The scalar denominator to use.

##### Return
###### `Vector<T>`

A vector containing the result.

#### voidRemainder(T divisor, Vector<T> result)

Computes the remainder (vector % divisor), where the result has the sign of the dividend, for each element of the vector for the given divisor.
##### Parameters
###### `T` divisor

The scalar denominator to use.

###### `Vector<T>` result

A vector to store the results in.

#### Vector<T>RemainderByThis(T dividend)

Computes the remainder (dividend % vector), where the result has the sign of the dividend, for the given dividend for each element of the vector.
##### Parameters
###### `T` dividend

The scalar numerator to use.

##### Return
###### `Vector<T>`

A vector containing the result.

#### voidRemainderByThis(T dividend, Vector<T> result)

Computes the remainder (dividend % vector), where the result has the sign of the dividend, for the given dividend for each element of the vector.
##### Parameters
###### `T` dividend

The scalar numerator to use.

###### `Vector<T>` result

A vector to store the results in.

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

#### voidSetValues(T[] values)

Set the values of this vector to the given values.
##### Parameters
###### `T[]` values

The array containing the values to use.

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

#### voidSubtract(T scalar, Vector<T> result)

Subtracts a scalar from each element of the vector and stores the result in the result vector.
##### Parameters
###### `T` scalar

The scalar to subtract.

###### `Vector<T>` result

The vector to store the result of the subtraction.

#### 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>Subtract(T scalar)

Subtracts a scalar from each element of the vector.
##### Parameters
###### `T` scalar

The scalar to subtract.

##### Return
###### `Vector<T>`

A new vector containing the subtraction of this vector and the scalar.

#### voidSubtractFrom(T scalar, Vector<T> result)

Subtracts each element of the vector from a scalar and stores the result in the result vector.
##### Parameters
###### `T` scalar

The scalar to subtract from.

###### `Vector<T>` result

The vector to store the result of the subtraction.

#### Vector<T>SubtractFrom(T scalar)

Subtracts each element of the vector from a scalar.
##### Parameters
###### `T` scalar

The scalar to subtract from.

##### Return
###### `Vector<T>`

A new vector containing the subtraction of the scalar and this vector.

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

#### TSum()

Computes the sum of the vector's elements.
##### Return
###### `T`

The sum of the vector's elements.

#### doubleSumMagnitudes()

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.

#### T[]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
###### `T[]`

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.

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

#### stringToString()

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

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

#### stringToTypeString()

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

#### stringToVectorString(int maxPerColumn, int maxCharactersWidth, string ellipsis, string columnSeparator, string rowSeparator, Func<T, 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<T, string>` formatValue

Function to provide a string for any given entry value.

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

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

### Public Properties

#### intCount get; set;

Gets the length or number of dimensions of this vector.

#### TItem get; set;

Gets or sets the value at the given index.

#### VectorStorage<T>Storage get; set;

Gets the raw vector data storage.

### Public fields

#### T Zero

The zero value for type T.
 `return T`

#### T One

The value of 1.0 for type T.
 `return T`

#### VectorBuilder<T> Build

 `return VectorBuilder`