org.tribuo.math.la

## Interface SGDVector

• ### Method Summary

All Methods
Modifier and Type Method and Description
`void` ```add(int index, double value)```
Adds `value` to the element at `index`.
`SGDVector` `add(SGDVector other)`
Adds `other` to this vector, producing a new `SGDVector`.
`SGDVector` `copy()`
Returns a deep copy of this vector.
`default double` `cosineDistance(SGDVector other)`
Calculates the cosine distance of two vectors.
`default double` `cosineSimilarity(SGDVector other)`
Calculates the cosine similarity of two vectors.
`double` `dot(SGDVector other)`
Calculates the dot product between this vector and `other`.
`double` `euclideanDistance(SGDVector other)`
The l2 or euclidean distance between this vector and the other vector.
`double` `get(int index)`
Gets an element from this vector.
`int` `indexOfMax()`
Returns the index of the maximum value.
`double` `l1Distance(SGDVector other)`
The l1 or Manhattan distance between this vector and the other vector.
`default double` `l2Distance(SGDVector other)`
Synonym for euclideanDistance.
`double` `maxValue()`
Returns the maximum value.
`double` `minValue()`
Returns the minimum value.
`void` `normalize(VectorNormalizer normalizer)`
Normalizes the vector using the supplied vector normalizer.
`int` `numActiveElements()`
Returns the number of non-zero elements (on construction, an element could be set to zero and it would still remain active).
`double` `oneNorm()`
Calculates the Manhattan norm for this vector.
`Matrix` `outer(SGDVector other)`
Generates the matrix representing the outer product between the two vectors.
`SGDVector` `scale(double coefficient)`
Generates a new vector with each element scaled by `coefficient`.
`void` ```set(int index, double value)```
Sets the `index` to the `value`.
`int` `size()`
Returns the dimensionality of this vector.
`SGDVector` `subtract(SGDVector other)`
Subtracts `other` from this vector, producing a new `SGDVector`.
`double` `sum()`
Calculates the sum of this vector.
`double` `twoNorm()`
Calculates the euclidean norm for this vector.
`default double` `variance()`
Calculates the variance of this vector.
`double` `variance(double mean)`
Calculates the variance of this vector based on the supplied mean.
• ### Methods inherited from interface org.tribuo.math.la.Tensor

`foreachInPlace, getShape, hadamardProductInPlace, hadamardProductInPlace, intersectAndAddInPlace, intersectAndAddInPlace, reshape, scalarAddInPlace, scaleInPlace, shapeCheck, shapeSum`
• ### Methods inherited from interface java.lang.Iterable

`forEach, iterator, spliterator`
• ### Method Detail

• #### copy

`SGDVector copy()`
Returns a deep copy of this vector.
Returns:
A copy of this vector.
• #### size

`int size()`
Returns the dimensionality of this vector.
Returns:
The dimensionality of the vector.
• #### numActiveElements

`int numActiveElements()`
Returns the number of non-zero elements (on construction, an element could be set to zero and it would still remain active).
Returns:
The number of non-zero elements.
• #### scale

`SGDVector scale(double coefficient)`
Generates a new vector with each element scaled by `coefficient`.
Parameters:
`coefficient` - The coefficient to scale the elements by.
Returns:
A new `SGDVector`.

```void add(int index,
double value)```
Adds `value` to the element at `index`.
Parameters:
`index` - The index to update.
`value` - The value to add.
• #### dot

`double dot(SGDVector other)`
Calculates the dot product between this vector and `other`.
Parameters:
`other` - The other vector.
Returns:
The dot product.
• #### outer

`Matrix outer(SGDVector other)`
Generates the matrix representing the outer product between the two vectors.
Parameters:
`other` - Another `SGDVector`
Returns:
The outer product `Matrix`.
• #### sum

`double sum()`
Calculates the sum of this vector.
Returns:
The sum.
• #### twoNorm

`double twoNorm()`
Calculates the euclidean norm for this vector.
Specified by:
`twoNorm` in interface `Tensor`
Returns:
The euclidean norm.
• #### oneNorm

`double oneNorm()`
Calculates the Manhattan norm for this vector.
Returns:
The Manhattan norm.
• #### get

`double get(int index)`
Gets an element from this vector.
Parameters:
`index` - The index of the element.
Returns:
The value at that index.
• #### set

```void set(int index,
double value)```
Sets the `index` to the `value`.
Parameters:
`index` - The index to set.
`value` - The value to set it to.
• #### indexOfMax

`int indexOfMax()`
Returns the index of the maximum value. Requires probing the array.
Returns:
The index of the maximum value.
• #### maxValue

`double maxValue()`
Returns the maximum value. Requires probing the array.
Returns:
The maximum value.
• #### minValue

`double minValue()`
Returns the minimum value. Requires probing the array.
Returns:
The minimum value.
• #### normalize

`void normalize(VectorNormalizer normalizer)`
Normalizes the vector using the supplied vector normalizer.
Parameters:
`normalizer` - The kind of normalization to apply.
• #### l2Distance

`default double l2Distance(SGDVector other)`
Synonym for euclideanDistance.
Parameters:
`other` - The other vector.
Returns:
The l2 norm of the difference between the two vectors.
• #### euclideanDistance

`double euclideanDistance(SGDVector other)`
The l2 or euclidean distance between this vector and the other vector.
Parameters:
`other` - The other vector.
Returns:
The euclidean distance between them.
• #### l1Distance

`double l1Distance(SGDVector other)`
The l1 or Manhattan distance between this vector and the other vector.
Parameters:
`other` - The other vector.
Returns:
The l1 distance.
• #### cosineDistance

`default double cosineDistance(SGDVector other)`
Calculates the cosine distance of two vectors. 1 - cos(x,y)
Parameters:
`other` - The other vector.
Returns:
1 - cosine similarity (this,other)
• #### cosineSimilarity

`default double cosineSimilarity(SGDVector other)`
Calculates the cosine similarity of two vectors. cos(x,y) = dot(x,y) / (norm(x) * norm(y))
Parameters:
`other` - The other vector.
Returns:
cosine similarity (this,other)
• #### variance

`default double variance()`
Calculates the variance of this vector.
Returns:
The variance of the vector.
• #### variance

`double variance(double mean)`
Calculates the variance of this vector based on the supplied mean.
Parameters:
`mean` - The mean of the vector.
Returns:
The variance of the vector.