|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Vector
The basic interface including numerous convenience functions
NOTE: All implementing classes must have a constructor that takes an int for cardinality and a no-arg constructor that can be used for marshalling the Writable instance NOTE: Implementations may choose to reuse the Vector.Element in the Iterable methods
Nested Class Summary | |
---|---|
static interface |
Vector.Element
A holder for information about a specific item in the Vector. |
Method Summary | |
---|---|
void |
addTo(Vector v)
Add the elements to the other vector and results are stored in that vector. |
double |
aggregate(BinaryFunction aggregator,
UnaryFunction map)
Examples speak louder than words: aggregate(plus, pow(2)) is another way to say getLengthSquared(), aggregate(max, abs) is norm(Double.POSITIVE_INFINITY). |
double |
aggregate(Vector other,
BinaryFunction aggregator,
BinaryFunction combiner)
Generalized inner product - take two vectors, iterate over them both, using the combiner to combine together (and possibly map in some way) each pair of values, which are then aggregated with the previous accumulated value in the combiner. |
java.lang.String |
asFormatString()
|
Vector |
assign(BinaryFunction f,
double y)
Apply the function to each element of the receiver, using the y value as the second argument of the BinaryFunction |
Vector |
assign(double value)
Assign the value to all elements of the receiver |
Vector |
assign(double[] values)
Assign the values to the receiver |
Vector |
assign(UnaryFunction function)
Apply the function to each element of the receiver |
Vector |
assign(Vector other)
Assign the other matrix values to the receiver |
Vector |
assign(Vector other,
BinaryFunction function)
Apply the function to each element of the receiver and the corresponding element of the other argument |
Vector |
clone()
Return a copy of the recipient |
Matrix |
cross(Vector other)
Return the cross product of the receiver and the other vector |
Vector |
divide(double x)
Return a new matrix containing the values of the recipient divided by the argument |
double |
dot(Vector x)
Return the dot product of the recipient and the argument |
double |
get(int index)
Return the value at the given index |
double |
get(java.lang.String label)
Return the value at the index defined by the label |
double |
getDistanceSquared(Vector v)
Get the square of the distance between this vector and the other vector. |
Vector.Element |
getElement(int index)
Return an object of Vector.Element representing an element of this Vector. |
java.util.Map<java.lang.String,java.lang.Integer> |
getLabelBindings()
Return a map of the current label bindings of the receiver |
double |
getLengthSquared()
Return the sum of squares of all elements in the vector. |
java.lang.String |
getName()
Vectors may have a name associated with them, which makes them easy to identify |
int |
getNumNondefaultElements()
Return the number of values in the recipient |
double |
getQuick(int index)
Return the value at the given index, without checking bounds |
java.util.Iterator<Vector.Element> |
iterateAll()
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 getElement(int) for the given index |
java.util.Iterator<Vector.Element> |
iterateNonZero()
Iterates over all non-zero elements. |
Vector |
like()
Return an empty matrix of the same underlying class as the receiver |
Vector |
like(int cardinality)
Return an empty matrix of the same underlying class as the receiver and of the given cardinality |
double |
maxValue()
|
int |
maxValueIndex()
|
Vector |
minus(Vector x)
Return a new matrix containing the element by element difference of the recipient and the argument |
double |
norm(double power)
Return the k-norm of the vector. |
Vector |
normalize()
Return a new matrix containing the normalized (L_2 norm) values of the recipient |
Vector |
normalize(double power)
Return a new Vector containing the normalized (L_power norm) values of the recipient. |
Vector |
plus(double x)
Return a new matrix containing the sum of each value of the recipient and the argument |
Vector |
plus(Vector x)
Return a new matrix containing the element by element sum of the recipient and the argument |
void |
set(int index,
double value)
Set the value at the given index |
void |
set(java.lang.String label,
double value)
Set the value at the index that is mapped to the label |
void |
set(java.lang.String label,
int index,
double value)
Set the value at the index and add the label to the bindings |
void |
setLabelBindings(java.util.Map<java.lang.String,java.lang.Integer> bindings)
Sets a map of label bindings in the receiver |
void |
setName(java.lang.String name)
Set a name for this vector. |
void |
setQuick(int index,
double value)
Set the value at the given index, without checking bounds |
int |
size()
Return the cardinality of the recipient (the maximum number of values) |
Vector |
times(double x)
Return a new matrix containing the product of each value of the recipient and the argument |
Vector |
times(Vector x)
Return a new matrix containing the element-wise product of the recipient and the argument |
Vector |
viewPart(int offset,
int length)
Return a new matrix containing the subset of the recipient |
double |
zSum()
Return the sum of all the elements of the receiver |
Method Detail |
---|
java.lang.String getName()
void setName(java.lang.String name)
name
- The namejava.lang.String asFormatString()
Vector assign(double value)
value
- a double value
Vector assign(double[] values)
values
- a double[] of values
CardinalityException
- if the cardinalities differVector assign(Vector other)
other
- a Vector
CardinalityException
- if the cardinalities differVector assign(UnaryFunction function)
function
- a UnaryFunction to apply
Vector assign(Vector other, BinaryFunction function)
other
- a Vector containing the second arguments to the functionfunction
- a BinaryFunction to apply
CardinalityException
- if the cardinalities differVector assign(BinaryFunction f, double y)
f
- a BinaryFunction to be appliedy
- a double value to be argument to the function
int size()
Vector clone()
java.util.Iterator<Vector.Element> iterateAll()
getElement(int)
for the given index
Iterator
over all elementsjava.util.Iterator<Vector.Element> iterateNonZero()
getElement(int)
for the given index
Iterator
over all non-zero elementsdouble get(java.lang.String label) throws IndexException, UnboundLabelException
label
- a String label that maps to an index
IndexException
- if the index is out of bounds
UnboundLabelException
- if the label is unboundjava.util.Map<java.lang.String,java.lang.Integer> getLabelBindings()
Vector.Element getElement(int index)
index
- Index of the Vector.Element required
Vector divide(double x)
x
- a double value
double dot(Vector x)
x
- a Vector
CardinalityException
- if the cardinalities differdouble get(int index)
index
- an int index
IndexException
- if the index is out of boundsdouble getQuick(int index)
index
- an int index
Vector like()
Vector like(int cardinality)
cardinality
- an int specifying the desired cardinality
Vector minus(Vector x)
x
- a Vector
CardinalityException
- if the cardinalities differVector normalize()
Vector normalize(double power)
Double.POSITIVE_INFINITY
(max element). Again, see the Wikipedia page for more info
power
- The power to use. Must be >= 0. May also be Double.POSITIVE_INFINITY
. See the Wikipedia link
for more on this.
double norm(double power)
Double.POSITIVE_INFINITY
(max element). Again, see the Wikipedia page for
more info.
power
- The power to use.normalize(double)
double maxValue()
int maxValueIndex()
Vector plus(double x)
x
- a double
Vector plus(Vector x)
x
- a Vector
CardinalityException
- if the cardinalities differvoid set(java.lang.String label, double value) throws IndexException, UnboundLabelException
label
- a String label that maps to an indexvalue
- the double value at the index
IndexException
UnboundLabelException
void set(java.lang.String label, int index, double value) throws IndexException
label
- a String label that maps to an indexindex
- an int indexvalue
- a double value
IndexException
void setLabelBindings(java.util.Map<java.lang.String,java.lang.Integer> bindings)
bindings
- a Map
of label bindingsvoid set(int index, double value)
index
- an int index into the receivervalue
- a double value to set
IndexException
- if the index is out of boundsvoid setQuick(int index, double value)
index
- an int index into the receivervalue
- a double value to setint getNumNondefaultElements()
Vector times(double x)
x
- a double argument
Vector times(Vector x)
x
- a Vector argument
CardinalityException
- if the cardinalities differVector viewPart(int offset, int length)
offset
- an int offset into the receiverlength
- the cardinality of the desired result
CardinalityException
- if the length is greater than the cardinality of the receiver
IndexException
- if the offset is negative or the offset+length is outside of the receiverdouble zSum()
Matrix cross(Vector other)
other
- another Vector
double aggregate(BinaryFunction aggregator, UnaryFunction map)
aggregator
- used to combine the current value of the aggregation with the result of map.apply(nextValue)map
- a function to apply to each element of the vector in turn before passing to the aggregator
double aggregate(Vector other, BinaryFunction aggregator, BinaryFunction combiner)
Generalized inner product - take two vectors, iterate over them both, using the combiner to combine together (and possibly map in some way) each pair of values, which are then aggregated with the previous accumulated value in the combiner.
Example: dot(other) could be expressed as aggregate(other, Plus, Times), and kernelized inner products (which are symmetric on the indices) work similarly.
other
- a vector to aggregate in combination withaggregator
- combiner
-
double getLengthSquared()
double getDistanceSquared(Vector v)
void addTo(Vector v)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |