public final class VectorUtil extends Object
Constructor and Description |
---|
VectorUtil() |
Modifier and Type | Method and Description |
---|---|
static double |
angle(NumberVector<?,?> v1,
NumberVector<?,?> v2,
NumberVector<?,?> o)
Compute the angle between two vectors.
|
static double |
angle(NumberVector<?,?> v1,
NumberVector<?,?> v2,
Vector o)
Compute the angle between two vectors.
|
static double |
angleSparse(SparseNumberVector<?,?> v1,
SparseNumberVector<?,?> v2)
Compute the angle for sparse vectors.
|
static double |
cosAngle(NumberVector<?,?> v1,
NumberVector<?,?> v2)
Compute the absolute cosine of the angle between two vectors.
|
static DoubleMinMax |
getRangeDouble(NumberVector<?,?> vec)
Return the range across all dimensions.
|
static double |
minCosAngle(SpatialComparable v1,
SpatialComparable v2)
Compute the minimum angle between two rectangles.
|
static <V extends NumberVector<V,?>> |
randomVector(V template)
Produce a new vector based on random numbers in [0:1] of the same type and
dimensionality as the given vector.
|
static <V extends NumberVector<V,?>> |
randomVector(V template,
Random r)
Produce a new vector based on random numbers in [0:1] of the same type and
dimensionality as the given vector.
|
static double |
scalarProduct(NumberVector<?,?> d1,
NumberVector<?,?> d2)
Provides the scalar product (inner product) of this and the given
DoubleVector.
|
public static DoubleMinMax getRangeDouble(NumberVector<?,?> vec)
vec
- Vector to process.public static <V extends NumberVector<V,?>> V randomVector(V template, Random r)
template
- existing instance of wanted dimensionality.r
- Random generatorpublic static <V extends NumberVector<V,?>> V randomVector(V template)
template
- existing instance of wanted dimensionality.public static double angleSparse(SparseNumberVector<?,?> v1, SparseNumberVector<?,?> v2)
v1
- First vectorv2
- Second vectorpublic static double angle(NumberVector<?,?> v1, NumberVector<?,?> v2, Vector o)
v1
- first vectorv2
- second vectoro
- Originpublic static double angle(NumberVector<?,?> v1, NumberVector<?,?> v2, NumberVector<?,?> o)
v1
- first vectorv2
- second vectoro
- Originpublic static double cosAngle(NumberVector<?,?> v1, NumberVector<?,?> v2)
Math.acos(angle)
!v1
- first vectorv2
- second vectorpublic static double minCosAngle(SpatialComparable v1, SpatialComparable v2)
v1
- first rectanglev2
- second rectanglepublic static double scalarProduct(NumberVector<?,?> d1, NumberVector<?,?> d2)
d1
- the first vector to compute the scalar product ford2
- the second vector to compute the scalar product for