Package org.biojava.stats.svm
Class SparseVector
java.lang.Object
org.biojava.stats.svm.SparseVector
- All Implemented Interfaces:
Serializable
An implementation of a sparse vector.
Memory is only allocated for dimensions that have non-zero values.
- Author:
- Thomas Down, Matthew Pocock
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA version of the standard dot-product kernel that scales each column independently. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleget(int dim) Retrieve the value at dimension dim.intgetDimAtIndex(int indx) Retrieve the dimension at a specific index.doublegetValueAtIndex(int indx) Retrieve the value at a specific index.intmaxIndex()static SparseVectornormalLengthVector(SparseVector v, double length) voidput(int dim, double value) Set the value at a particular dimension.intsize()The number of used dimensions.
-
Field Details
-
kernel
-
-
Constructor Details
-
SparseVector
public SparseVector() -
SparseVector
-
-
Method Details
-
size
The number of used dimensions.This is the total number of non-zero dimensions. It is not equal to the number of the highest indexed dimension.
- Returns:
- the number of non-zero dimensions
-
put
Set the value at a particular dimension.This silently handles the case when previously there was no value at dim. It does not contract the sparse array if you set a value to zero.
- Parameters:
dim- the dimension to altervalue- the new value
-
get
Retrieve the value at dimension dim.- Parameters:
dim- the dimension to retrieve a value for- Returns:
- the value at that dimension
-
getDimAtIndex
Retrieve the dimension at a specific index.E.g., if the sparse vector had dimensions 5, 11, 12, 155 set to non-zero values then
sv.getDimAtIndex(2)would return 12.- Parameters:
indx- the index- Returns:
- the dimension stoored at that index
- Throws:
ArrayIndexOutOfBoundsException- if index >= size.
-
getValueAtIndex
Retrieve the value at a specific index.E.g., if the sparse vector contained the data 5->0.1, 11->100, 12->8.5, 155->-10 then
sv.geValueAtIndex(2)would return 8.5.- Parameters:
indx- the index- Returns:
- the value stoored at that index
- Throws:
ArrayIndexOutOfBoundsException- if index >= size.
-
maxIndex
-
normalLengthVector
-