Package org.la4j
Class Vectors
- java.lang.Object
-
- org.la4j.Vectors
-
public final class Vectors extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static VectorFactory<BasicVector>
BASIC
static VectorFactory<CompressedVector>
COMPRESSED
static VectorFunction
DEC_FUNCTION
Decreases each element of vectors by1
.static VectorFactory<BasicVector>
DENSE
static double
EPS
static VectorFactory<?>[]
FACTORIES
static VectorFunction
INC_FUNCTION
Increases each element of vector by1
.static VectorFunction
INV_FUNCTION
Inverts each element of vector.static VectorPredicate
NEGATIVE_VECTOR
Checks whether the vector is a negative vector.static VectorPredicate
POSITIVE_VECTOR
Checks whether the vector is a positive vector.static int
ROUND_FACTOR
static VectorFactory<CompressedVector>
SPARSE
static VectorPredicate
ZERO_VECTOR
Checks whether the vector is a zero vector.
-
Constructor Summary
Constructors Constructor Description Vectors()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static VectorProcedure
asAccumulatorProcedure(VectorAccumulator accumulator)
Creates an accumulator procedure that adapts a vector accumulator for procedure interface.static VectorFunction
asConstFunction(double arg)
Creates a const function that evaluates it's argument to givenvalue
.static VectorFunction
asDivFunction(double arg)
Creates a div function that divides it's argument by givenvalue
.static VectorFunction
asMinusFunction(double arg)
Creates a minus function that subtracts givenvalue
from it's argument.static VectorFunction
asModFunction(double arg)
Creates a mod function that calculates the modulus of it's argument and givenvalue
.static VectorFunction
asMulFunction(double arg)
Creates a mul function that multiplies givenvalue
by it's argument.static VectorFunction
asPlusFunction(double arg)
Creates a plus function that adds givenvalue
to it's argument.static VectorAccumulator
asProductAccumulator(double neutral)
Creates a product vector accumulator that calculates the product of all elements in the vector.static VectorAccumulator
asProductFunctionAccumulator(double neutral, VectorFunction function)
Creates a product function accumulator, that calculates the product of all elements in the vector after applying givenfunction
to each of them.static VectorAccumulator
asSumAccumulator(double neutral)
Creates a sum vector accumulator that calculates the sum of all elements in the vector.static VectorAccumulator
asSumFunctionAccumulator(double neutral, VectorFunction function)
Creates a sum function accumulator, that calculates the sum of all elements in the vector after applying givenfunction
to each of them.static VectorAccumulator
mkEuclideanNormAccumulator()
Makes an Euclidean norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.static VectorAccumulator
mkInfinityNormAccumulator()
Makes an Infinity norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.static VectorAccumulator
mkManhattanNormAccumulator()
Makes a Manhattan norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.static VectorAccumulator
mkMaxAccumulator()
Makes a maximum vector accumulator that accumulates the maximum across vector elements.static VectorAccumulator
mkMinAccumulator()
Makes a minimum vector accumulator that accumulates the minimum across vector elements.
-
-
-
Field Detail
-
EPS
public static final double EPS
-
ROUND_FACTOR
public static final int ROUND_FACTOR
-
BASIC
public static final VectorFactory<BasicVector> BASIC
-
COMPRESSED
public static final VectorFactory<CompressedVector> COMPRESSED
-
FACTORIES
public static final VectorFactory<?>[] FACTORIES
-
DENSE
public static final VectorFactory<BasicVector> DENSE
-
SPARSE
public static final VectorFactory<CompressedVector> SPARSE
-
ZERO_VECTOR
public static final VectorPredicate ZERO_VECTOR
Checks whether the vector is a zero vector.
-
POSITIVE_VECTOR
public static final VectorPredicate POSITIVE_VECTOR
Checks whether the vector is a positive vector.
-
NEGATIVE_VECTOR
public static final VectorPredicate NEGATIVE_VECTOR
Checks whether the vector is a negative vector.
-
INC_FUNCTION
public static final VectorFunction INC_FUNCTION
Increases each element of vector by1
.
-
DEC_FUNCTION
public static final VectorFunction DEC_FUNCTION
Decreases each element of vectors by1
.
-
INV_FUNCTION
public static final VectorFunction INV_FUNCTION
Inverts each element of vector.
-
-
Method Detail
-
asConstFunction
public static VectorFunction asConstFunction(double arg)
Creates a const function that evaluates it's argument to givenvalue
.- Parameters:
arg
- a const value- Returns:
- a closure object that does
_
-
asPlusFunction
public static VectorFunction asPlusFunction(double arg)
Creates a plus function that adds givenvalue
to it's argument.- Parameters:
arg
- a value to be added to function's argument- Returns:
- a closure object that does
_ + _
-
asMinusFunction
public static VectorFunction asMinusFunction(double arg)
Creates a minus function that subtracts givenvalue
from it's argument.- Parameters:
arg
- a value to be subtracted from function's argument- Returns:
- a closure that does
_ - _
-
asMulFunction
public static VectorFunction asMulFunction(double arg)
Creates a mul function that multiplies givenvalue
by it's argument.- Parameters:
arg
- a value to be multiplied by function's argument- Returns:
- a closure that does
_ * _
-
asDivFunction
public static VectorFunction asDivFunction(double arg)
Creates a div function that divides it's argument by givenvalue
.- Parameters:
arg
- a divisor value- Returns:
- a closure that does
_ / _
-
asModFunction
public static VectorFunction asModFunction(double arg)
Creates a mod function that calculates the modulus of it's argument and givenvalue
.- Parameters:
arg
- a divisor value- Returns:
- a closure that does
_ % _
-
asSumAccumulator
public static VectorAccumulator asSumAccumulator(double neutral)
Creates a sum vector accumulator that calculates the sum of all elements in the vector.- Parameters:
neutral
- the neutral value- Returns:
- a sum accumulator
-
asProductAccumulator
public static VectorAccumulator asProductAccumulator(double neutral)
Creates a product vector accumulator that calculates the product of all elements in the vector.- Parameters:
neutral
- the neutral value- Returns:
- a product accumulator
-
mkMinAccumulator
public static VectorAccumulator mkMinAccumulator()
Makes a minimum vector accumulator that accumulates the minimum across vector elements.- Returns:
- a minimum vector accumulator
-
mkMaxAccumulator
public static VectorAccumulator mkMaxAccumulator()
Makes a maximum vector accumulator that accumulates the maximum across vector elements.- Returns:
- a maximum vector accumulator
-
mkEuclideanNormAccumulator
public static VectorAccumulator mkEuclideanNormAccumulator()
Makes an Euclidean norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.- Returns:
- an Euclidean norm accumulator
-
mkManhattanNormAccumulator
public static VectorAccumulator mkManhattanNormAccumulator()
Makes a Manhattan norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.- Returns:
- a Manhattan norm accumulator
-
mkInfinityNormAccumulator
public static VectorAccumulator mkInfinityNormAccumulator()
Makes an Infinity norm accumulator that allows to useVector.fold(org.la4j.vector.functor.VectorAccumulator)
method for norm calculation.- Returns:
- an Infinity norm accumulator
-
asSumFunctionAccumulator
public static VectorAccumulator asSumFunctionAccumulator(double neutral, VectorFunction function)
Creates a sum function accumulator, that calculates the sum of all elements in the vector after applying givenfunction
to each of them.- Parameters:
neutral
- the neutral valuefunction
- the vector function- Returns:
- a sum function accumulator
-
asProductFunctionAccumulator
public static VectorAccumulator asProductFunctionAccumulator(double neutral, VectorFunction function)
Creates a product function accumulator, that calculates the product of all elements in the vector after applying givenfunction
to each of them.- Parameters:
neutral
- the neutral valuefunction
- the vector function- Returns:
- a product function accumulator
-
asAccumulatorProcedure
public static VectorProcedure asAccumulatorProcedure(VectorAccumulator accumulator)
Creates an accumulator procedure that adapts a vector accumulator for procedure interface. This is useful for reusing a single accumulator for multiple fold operations in multiple vectors.- Parameters:
accumulator
- the vector accumulator- Returns:
- an accumulator procedure
-
-