org.apache.mahout.math
Class RandomAccessSparseVector

java.lang.Object
  extended by org.apache.mahout.math.AbstractVector
      extended by org.apache.mahout.math.RandomAccessSparseVector
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<Vector.Element>, Vector

public class RandomAccessSparseVector
extends AbstractVector

Implements vector that only stores non-zero doubles


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
RandomAccessSparseVector()
          For serialization purposes only.
RandomAccessSparseVector(int cardinality)
           
RandomAccessSparseVector(int cardinality, int size)
           
RandomAccessSparseVector(RandomAccessSparseVector other, boolean shallowCopy)
           
RandomAccessSparseVector(Vector other)
           
 
Method Summary
 void addTo(Vector v)
          Add the elements to the other vector and results are stored in that vector.
 Vector assign(Vector other)
          Assign the other vector values to the receiver
 RandomAccessSparseVector clone()
          Return a copy of the recipient
 double dot(Vector x)
          Return the dot product of the recipient and the argument
 int getNumNondefaultElements()
          Return the number of values in the recipient
 double getQuick(int index)
          Return the value at the given index, without checking bounds
 boolean isDense()
           
 boolean isSequentialAccess()
           
 java.util.Iterator<Vector.Element> iterateNonZero()
          NOTE: this implementation reuses the Vector.Element instance for each call of next().
 java.util.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 Vector.getElement(int) for the given index

 RandomAccessSparseVector 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 setQuick(int index, double value)
          Set the value at the given index, without checking bounds
 java.lang.String toString()
           
 
Methods inherited from class org.apache.mahout.math.AbstractVector
aggregate, aggregate, asFormatString, assign, assign, assign, assign, assign, cross, decodeVector, divide, dotSelf, equals, get, getDistanceSquared, getElement, getLengthSquared, hashCode, logNormalize, logNormalize, logNormalize, maxValue, maxValueIndex, minus, minValue, minValueIndex, norm, normalize, normalize, plus, plus, set, size, times, times, viewPart, zSum
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RandomAccessSparseVector

public RandomAccessSparseVector()
For serialization purposes only.


RandomAccessSparseVector

public RandomAccessSparseVector(int cardinality)

RandomAccessSparseVector

public RandomAccessSparseVector(int cardinality,
                                int size)

RandomAccessSparseVector

public RandomAccessSparseVector(Vector other)

RandomAccessSparseVector

public RandomAccessSparseVector(RandomAccessSparseVector other,
                                boolean shallowCopy)
Method Detail

matrixLike

protected Matrix matrixLike(int rows,
                            int columns)
Description copied from class: AbstractVector
Subclasses must override to return an appropriately sparse or dense result

Specified by:
matrixLike in class AbstractVector
Parameters:
rows - the row cardinality
columns - the column cardinality
Returns:
a Matrix

clone

public RandomAccessSparseVector clone()
Description copied from interface: Vector
Return a copy of the recipient

Specified by:
clone in interface Vector
Overrides:
clone in class AbstractVector
Returns:
a new Vector

toString

public java.lang.String toString()
Overrides:
toString in class AbstractVector

assign

public Vector assign(Vector other)
Description copied from interface: Vector
Assign the other vector values to the receiver

Specified by:
assign in interface Vector
Overrides:
assign in class AbstractVector
Parameters:
other - a Vector
Returns:
the modified receiver

isDense

public boolean isDense()
Returns:
false

isSequentialAccess

public boolean isSequentialAccess()
Returns:
false

getQuick

public double getQuick(int index)
Description copied from interface: Vector
Return the value at the given index, without checking bounds

Parameters:
index - an int index
Returns:
the double at the index

setQuick

public void setQuick(int index,
                     double value)
Description copied from interface: Vector
Set the value at the given index, without checking bounds

Parameters:
index - an int index into the receiver
value - a double value to set

getNumNondefaultElements

public int getNumNondefaultElements()
Description copied from interface: Vector
Return the number of values in the recipient

Returns:
an int

like

public RandomAccessSparseVector like()
Description copied from interface: Vector
Return an empty vector of the same underlying class as the receiver

Returns:
a Vector

iterateNonZero

public java.util.Iterator<Vector.Element> iterateNonZero()
NOTE: this implementation reuses the Vector.Element instance for each call of next(). If you need to preserve the instance, you need to make a copy of it

Returns:
an Iterator over the Elements.
See Also:
AbstractVector.getElement(int)

iterator

public java.util.Iterator<Vector.Element> iterator()
Description copied from interface: Vector
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 Vector.getElement(int) for the given index

Returns:
An Iterator over all elements

addTo

public void addTo(Vector v)
Description copied from interface: Vector
Add the elements to the other vector and results are stored in that vector.

Specified by:
addTo in interface Vector
Overrides:
addTo in class AbstractVector

dot

public double dot(Vector x)
Description copied from interface: Vector
Return the dot product of the recipient and the argument

Specified by:
dot in interface Vector
Overrides:
dot in class AbstractVector
Parameters:
x - a Vector
Returns:
a new Vector


Copyright © 2008-2010 The Apache Software Foundation. All Rights Reserved.