public class PermutedVectorView extends AbstractVector
AbstractVector.LocalElement
Vector.Element
lengthSquared
Constructor and Description |
---|
PermutedVectorView(Vector vector,
int[] pivot) |
PermutedVectorView(Vector vector,
int[] pivot,
int[] unpivot) |
Modifier and Type | Method and Description |
---|---|
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
|
int |
getNumNonZeroElements()
Return the number of non zero elements in the vector.
|
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()
true if this implementation should be considered dense -- that it explicitly
represents every value
|
boolean |
isSequentialAccess()
If the view is permuted, the elements cannot be accessed in the same order.
|
Iterator<Vector.Element> |
iterateNonZero()
Iterates over all non-zero elements.
|
Iterator<Vector.Element> |
iterator()
Iterates over all elements
|
Vector |
like()
Return an empty vector of the same underlying class as the receiver
|
Vector |
like(int cardinality)
Return a new empty vector of the same underlying class as the receiver with given cardinality
|
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, clone, createOptimizedCopy, cross, divide, dot, dotSelf, equals, get, getDistanceSquared, getElement, getLengthSquared, 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 PermutedVectorView(Vector vector, int[] pivot, int[] unpivot)
public PermutedVectorView(Vector vector, int[] pivot)
protected Matrix matrixLike(int rows, int columns)
matrixLike
in class AbstractVector
rows
- the row cardinalitycolumns
- the column cardinalitypublic void mergeUpdates(OrderedIntDoubleMapping updates)
If someone ever adds a new type of sparse vectors, this method must merge (index, value) pairs into the vector.
updates
- a mapping of indices to values to merge in the vector.public boolean isDense()
Vector
public boolean isSequentialAccess()
iterator()
and iterateNonZero()
return elements in ascending order by index.public Iterator<Vector.Element> iterator()
* 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
iterator
in class AbstractVector
Iterator
over all elementspublic Iterator<Vector.Element> iterateNonZero()
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
iterateNonZero
in class AbstractVector
Iterator
over all non-zero elementspublic double getQuick(int index)
index
- an int indexpublic Vector like()
public Vector like(int cardinality)
Vector
cardinality
- - size of vectorVector
public void setQuick(int index, double value)
index
- an int index into the receivervalue
- a double value to setpublic int getNumNondefaultElements()
public int getNumNonZeroElements()
Vector
getNumNonZeroElements
in interface Vector
getNumNonZeroElements
in class AbstractVector
public double getLookupCost()
Vector
public double getIteratorAdvanceCost()
Vector
public boolean isAddConstantTime()
Vector
Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.