public class MatrixVectorView extends AbstractVector
AbstractVector.LocalElement
Vector.Element
lengthSquared
Constructor and Description |
---|
MatrixVectorView(Matrix matrix,
int row,
int column,
int rowStride,
int columnStride) |
MatrixVectorView(Matrix matrix,
int row,
int column,
int rowStride,
int columnStride,
boolean isDense) |
Modifier and Type | Method and Description |
---|---|
Vector |
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
|
double |
getQuick(int index)
Return the value at the given index, without checking bounds
|
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 |
Vector |
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)
Used internally by assign() to update multiple indices and values at once.
|
void |
setQuick(int index,
double value)
Set the value at the given index, without checking bounds
|
aggregate, aggregate, all, asFormatString, assign, assign, assign, assign, assign, assign, createOptimizedCopy, cross, divide, dot, dotSelf, equals, get, getDistanceSquared, getElement, getLengthSquared, getNumNonZeroElements, hashCode, incrementQuick, invalidateCachedLength, logNormalize, logNormalize, logNormalize, maxValue, maxValueIndex, minus, minValue, minValueIndex, nonZeroes, norm, normalize, normalize, plus, plus, set, size, sparseVectorToString, times, times, toString, toString, viewPart, zSum
public MatrixVectorView(Matrix matrix, int row, int column, int rowStride, int columnStride, boolean isDense)
public MatrixVectorView(Matrix matrix, int row, int column, int rowStride, int columnStride)
public boolean isDense()
Vector
implementation should be considered
dense -- that it explicitly represents every valuepublic boolean isSequentialAccess()
Vector
should be considered to be iterable in
index order in an efficient way. In particular this implies that iterator()
and
iterateNonZero()
return elements in ascending order by index.public Iterator<Vector.Element> iterator()
AbstractVector.getElement(int)
for
the given indexiterator
in class AbstractVector
Iterator
over all elementspublic Iterator<Vector.Element> iterateNonZero()
AbstractVector.getElement(int)
for the given indexiterateNonZero
in class AbstractVector
Iterator
over all non-zero elementspublic double getQuick(int index)
index
- an int indexpublic Vector like()
public void setQuick(int index, double value)
index
- an int index into the receivervalue
- a double value to setpublic int getNumNondefaultElements()
public double getLookupCost()
Vector
public double getIteratorAdvanceCost()
Vector
public boolean isAddConstantTime()
Vector
protected Matrix matrixLike(int rows, int columns)
AbstractVector
matrixLike
in class AbstractVector
rows
- the row cardinalitycolumns
- the column cardinalitypublic Vector clone()
Vector
clone
in interface Vector
clone
in class AbstractVector
public void mergeUpdates(OrderedIntDoubleMapping updates)
updates
- a mapping of indices to values to merge in the vector.Copyright © 2008–2015 The Apache Software Foundation. All rights reserved.