|
||||||||||
| 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 AbstractVectorrows - the row cardinalitycolumns - the column cardinality
public SequentialAccessSparseVector clone()
Vector
clone in interface Vectorclone in class AbstractVectorpublic void mergeUpdates(OrderedIntDoubleMapping updates)
Vector
updates - an ordered mapping of indices to values to be merged in.public String toString()
toString in class AbstractVectorpublic 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 set
public void incrementQuick(int index,
double increment)
Vector
incrementQuick in interface VectorincrementQuick in class AbstractVectorindex - 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()
AbstractVectorAbstractVector.getElement(int) for the given index
iterateNonZero in class AbstractVectorIterator over all non-zero elementspublic Iterator<Vector.Element> iterator()
AbstractVectorAbstractVector.getElement(int) for the given index
iterator in class AbstractVectorIterator over all elements
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||