org.apache.mahout.math
Class VectorView

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

public class VectorView
extends AbstractVector

Implements subset view of a Vector


Nested Class Summary
 class VectorView.AllIterator
           
 class VectorView.NonZeroIterator
           
 
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
VectorView()
          For serialization purposes only
VectorView(Vector vector, int offset, int cardinality)
           
 
Method Summary
 void addTo(Vector v)
          Add the elements to the other vector and results are stored in that vector.
 Vector clone()
          Return a copy of the recipient
 double dot(Vector x)
          Return the dot product of the recipient and the argument
 double getDistanceSquared(Vector v)
          Get the square of the distance between this vector and the other vector.
 double getLengthSquared()
          Return the sum of squares of all elements in the vector.
 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()
          Iterates over all non-zero elements.
 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

 VectorView 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
 Vector viewPart(int offset, int length)
          Return a new vector containing the subset of the recipient
 
Methods inherited from class org.apache.mahout.math.AbstractVector
aggregate, aggregate, asFormatString, assign, assign, assign, assign, assign, assign, cross, decodeVector, divide, dotSelf, equals, get, getElement, hashCode, logNormalize, logNormalize, logNormalize, maxValue, maxValueIndex, minus, minValue, minValueIndex, norm, normalize, normalize, plus, plus, set, size, times, times, toString, zSum
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VectorView

public VectorView()
For serialization purposes only


VectorView

public VectorView(Vector vector,
                  int offset,
                  int cardinality)
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 Vector 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

isDense

public boolean isDense()
Returns:
true iff the Vector implementation should be considered dense -- that it explicitly represents every value

isSequentialAccess

public boolean isSequentialAccess()
Returns:
true iff Vector should be considered to be iterable in index order in an efficient way. In particular this implies that Vector.iterator() and Vector.iterateNonZero() return elements in ascending order by index.

like

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

Returns:
a Vector

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

viewPart

public Vector viewPart(int offset,
                       int length)
Description copied from interface: Vector
Return a new vector containing the subset of the recipient

Specified by:
viewPart in interface Vector
Overrides:
viewPart in class AbstractVector
Parameters:
offset - an int offset into the receiver
length - the cardinality of the desired result
Returns:
a new Vector

iterateNonZero

public java.util.Iterator<Vector.Element> iterateNonZero()
Description copied from interface: Vector
Iterates over all non-zero 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 non-zero elements

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

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

getLengthSquared

public double getLengthSquared()
Description copied from interface: Vector
Return the sum of squares of all elements in the vector. Square root of this value is the length of the vector.

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

getDistanceSquared

public double getDistanceSquared(Vector v)
Description copied from interface: Vector
Get the square of the distance between this vector and the other vector.

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

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


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