public class DenseVector extends AbstractVector
AbstractVector.LocalElement
Vector.Element
lengthSquared
Constructor and Description |
---|
DenseVector()
For serialization purposes only
|
DenseVector(DenseVector values,
boolean shallowCopy) |
DenseVector(double[] values)
Construct a new instance using provided values
|
DenseVector(double[] values,
boolean shallowCopy) |
DenseVector(int cardinality)
Construct a new instance of the given cardinality
|
DenseVector(Vector vector)
Copy-constructor (for use in turning a sparse vector into a dense one, for example)
|
Modifier and Type | Method and Description |
---|---|
void |
addAll(Vector v) |
Vector |
assign(DenseVector vector) |
Vector |
assign(double value)
Assign the value to all elements of the receiver
|
DenseVector |
clone()
Return a copy of the recipient
|
double |
dot(Vector x)
Return the dot product of the recipient and the argument
|
protected double |
dotSelf() |
boolean |
equals(Object o)
Determines whether this
Vector represents the same logical vector as another
object. |
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.
|
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
|
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()
Returns an iterator that traverses this Vector from 0 to cardinality-1, in that order.
|
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 |
DenseVector |
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)
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
|
aggregate, aggregate, all, asFormatString, assign, assign, assign, assign, assign, createOptimizedCopy, cross, divide, get, getDistanceSquared, getElement, getLengthSquared, hashCode, invalidateCachedLength, logNormalize, logNormalize, logNormalize, maxValue, maxValueIndex, minus, minValue, minValueIndex, nonZeroes, norm, normalize, normalize, plus, plus, set, size, sparseVectorToString, times, times, toString, toString, zSum
public DenseVector()
public DenseVector(double[] values)
values
- - array of valuespublic DenseVector(double[] values, boolean shallowCopy)
public DenseVector(DenseVector values, boolean shallowCopy)
public DenseVector(int cardinality)
cardinality
- - number of values in the vectorpublic DenseVector(Vector vector)
vector
- The vector to copypublic double dot(Vector x)
Vector
dot
in interface Vector
dot
in class AbstractVector
x
- a Vectorprotected Matrix matrixLike(int rows, int columns)
AbstractVector
matrixLike
in class AbstractVector
rows
- the row cardinalitycolumns
- the column cardinalitypublic DenseVector clone()
Vector
clone
in interface Vector
clone
in class AbstractVector
public boolean isDense()
public boolean isSequentialAccess()
protected double dotSelf()
dotSelf
in class AbstractVector
public double getQuick(int index)
Vector
index
- an int indexpublic DenseVector like()
Vector
public void setQuick(int index, double value)
Vector
index
- an int index into the receivervalue
- a double value to setpublic void incrementQuick(int index, double increment)
Vector
incrementQuick
in interface Vector
incrementQuick
in class AbstractVector
index
- an int index into the receiverincrement
- sets the value at the given index to value + increment;public Vector assign(double value)
Vector
assign
in interface Vector
assign
in class AbstractVector
value
- a double valuepublic int getNumNondefaultElements()
Vector
public int getNumNonZeroElements()
Vector
getNumNonZeroElements
in interface Vector
getNumNonZeroElements
in class AbstractVector
public Vector assign(DenseVector vector)
public void mergeUpdates(OrderedIntDoubleMapping updates)
Vector
updates
- an ordered mapping of indices to values to be merged in.public Vector viewPart(int offset, int length)
Vector
viewPart
in interface Vector
viewPart
in class AbstractVector
offset
- an int offset into the receiverlength
- the cardinality of the desired resultpublic double getLookupCost()
Vector
public double getIteratorAdvanceCost()
Vector
public boolean isAddConstantTime()
Vector
public Iterator<Vector.Element> iterateNonZero()
iterateNonZero
in class AbstractVector
Iterator
over all non-zero elementspublic Iterator<Vector.Element> iterator()
AbstractVector
AbstractVector.getElement(int)
for the given indexiterator
in class AbstractVector
Iterator
over all elementspublic boolean equals(Object o)
AbstractVector
Vector
represents the same logical vector as another
object. Two Vector
s are equal (regardless of implementation) if the value at
each index is the same, and the cardinalities are the same.equals
in class AbstractVector
public void addAll(Vector v)
Copyright © 2008–2015 The Apache Software Foundation. All rights reserved.