|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.mahout.math.AbstractVector
org.apache.mahout.math.SequentialAccessSparseVector
public class SequentialAccessSparseVector
Implements vector that only stores non-zero doubles as a pair of parallel arrays (OrderedIntDoubleMapping),
one int[], one double[]. If there are k non-zero elements in the vector, this implementation has
O(log(k)) random-access read performance, and O(k) random-access write performance, which is far below that
of the hashmap based RandomAccessSparseVector
. This
class is primarily used for operations where the all the elements will be accessed in a read-only fashion
sequentially: methods which operate not via get() or set(), but via iterateNonZero(), such as (but not limited
to) :
OrderedIntDoubleMapping
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.mahout.math.AbstractVector |
---|
AbstractVector.LocalElement |
Nested classes/interfaces inherited from interface org.apache.mahout.math.Vector |
---|
Vector.Element |
Field Summary |
---|
Fields inherited from class org.apache.mahout.math.AbstractVector |
---|
lengthSquared |
Constructor Summary | |
---|---|
SequentialAccessSparseVector()
For serialization purposes only. |
|
SequentialAccessSparseVector(int cardinality)
|
|
SequentialAccessSparseVector(int cardinality,
int size)
|
|
SequentialAccessSparseVector(SequentialAccessSparseVector other)
|
|
SequentialAccessSparseVector(SequentialAccessSparseVector other,
boolean shallowCopy)
|
|
SequentialAccessSparseVector(Vector other)
|
Method Summary | |
---|---|
SequentialAccessSparseVector |
clone()
Return a copy of the recipient |
double |
getIteratorAdvanceCost()
Gets an estimate of the cost (in number of operations) it takes to advance an iterator through the nonzero elements of this vector. |
double |
getLookupCost()
Gets an estimate of the cost (in number of operations) it takes to lookup a random element in this vector. |
int |
getNumNondefaultElements()
Return the number of values in the recipient which are not the default value. |
double |
getQuick(int index)
Warning! This takes O(log n) time as it does a binary search behind the scenes! Only use it when STRICTLY necessary. |
void |
incrementQuick(int index,
double increment)
Increment the value at the given index by the given value. |
boolean |
isAddConstantTime()
Return true iff adding a new (nonzero) element takes constant time for this vector. |
boolean |
isDense()
|
boolean |
isSequentialAccess()
|
Iterator<Vector.Element> |
iterateNonZero()
Iterates over all non-zero elements. |
Iterator<Vector.Element> |
iterator()
Iterates over all elements * NOTE: Implementations may choose to reuse the Element returned for performance reasons, so if you need a copy of it, you should call AbstractVector.getElement(int) for the given index |
SequentialAccessSparseVector |
like()
Return an empty vector of the same underlying class as the receiver |
protected Matrix |
matrixLike(int rows,
int columns)
Subclasses must override to return an appropriately sparse or dense result |
void |
mergeUpdates(OrderedIntDoubleMapping updates)
Merge a set of (index, value) pairs into the vector. |
void |
setQuick(int index,
double value)
Warning! This takes O(log n) time as it does a binary search behind the scenes! Only use it when STRICTLY necessary. |
String |
toString()
|
Methods inherited from class org.apache.mahout.math.AbstractVector |
---|
aggregate, aggregate, all, asFormatString, assign, assign, assign, assign, assign, assign, createOptimizedCopy, cross, divide, dot, dotSelf, equals, get, getDistanceSquared, getElement, getLengthSquared, getNumNonZeroElements, hashCode, invalidateCachedLength, logNormalize, logNormalize, logNormalize, maxValue, maxValueIndex, minus, minValue, minValueIndex, nonZeroes, norm, normalize, normalize, plus, plus, set, size, sparseVectorToString, times, times, toString, viewPart, zSum |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SequentialAccessSparseVector()
public SequentialAccessSparseVector(int cardinality)
public SequentialAccessSparseVector(int cardinality, int size)
public SequentialAccessSparseVector(Vector other)
public SequentialAccessSparseVector(SequentialAccessSparseVector other, boolean shallowCopy)
public SequentialAccessSparseVector(SequentialAccessSparseVector other)
Method Detail |
---|
protected Matrix matrixLike(int rows, int columns)
AbstractVector
matrixLike
in class AbstractVector
rows
- the row cardinalitycolumns
- the column cardinality
public SequentialAccessSparseVector clone()
Vector
clone
in interface Vector
clone
in class AbstractVector
public void mergeUpdates(OrderedIntDoubleMapping updates)
Vector
updates
- an ordered mapping of indices to values to be merged in.public String toString()
toString
in class AbstractVector
public boolean isDense()
public boolean isSequentialAccess()
public double getQuick(int index)
index
- an int index.
public void setQuick(int index, double value)
index
- an int index.value
- a double value to setpublic void incrementQuick(int index, double increment)
Vector
incrementQuick
in interface Vector
incrementQuick
in class AbstractVector
index
- an int index into the receiverincrement
- sets the value at the given index to value + increment;public SequentialAccessSparseVector like()
Vector
public int getNumNondefaultElements()
Vector
public double getLookupCost()
Vector
public double getIteratorAdvanceCost()
Vector
public boolean isAddConstantTime()
Vector
public Iterator<Vector.Element> iterateNonZero()
AbstractVector
AbstractVector.getElement(int)
for the given index
iterateNonZero
in class AbstractVector
Iterator
over all non-zero elementspublic Iterator<Vector.Element> iterator()
AbstractVector
AbstractVector.getElement(int)
for the given index
iterator
in class AbstractVector
Iterator
over all elements
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |