Class SparseDoubleVector
- java.lang.Object
-
- ai.libs.jaicore.math.linearalgebra.AbstractVector
-
- ai.libs.jaicore.math.linearalgebra.SparseDoubleVector
-
- All Implemented Interfaces:
org.api4.java.common.math.IVector
public class SparseDoubleVector extends AbstractVector
Sparse vector implementation wrapping the MTJ implementation of a sparse vector.
-
-
Field Summary
Fields Modifier and Type Field Description protected no.uib.cipr.matrix.sparse.SparseVectorinternalVector
-
Constructor Summary
Constructors Constructor Description SparseDoubleVector(double[] data)Creates a new SparseDoubleVector which contains the given values.SparseDoubleVector(int dimension)Creates a new SparseDoubleVector which contains only zero values.SparseDoubleVector(int[] indices, double[] values, int dimension)Creates a new SparseDoubleVector which contains the given values.SparseDoubleVector(no.uib.cipr.matrix.sparse.SparseVector mtjVector)Creates a new SparseDoubleVector from an MTJSparseVector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConstant(double constant)voidaddVector(double[] vectorAsArray)voidaddVector(org.api4.java.common.math.IVector vector)double[]asArray()voiddivideByConstant(double constant)voiddivideByVectorPairwise(double[] vectorAsArray)voiddivideByVectorPairwise(org.api4.java.common.math.IVector secondVector)doubledotProduct(double[] vectorAsArray)doubledotProduct(org.api4.java.common.math.IVector vector)org.api4.java.common.math.IVectorduplicate()booleanequals(java.lang.Object obj)voidfillRandomly()int[]getNonZeroIndices()Returns an array containing the non-zero indices of this sparse vector.doublegetValue(int index)inthashCode()booleanisSparse()org.api4.java.common.math.IVectorkroneckerProduct(double[] vectorAsArray)intlength()voidmultiplyByConstant(double constant)voidmultiplyByVectorPairwise(double[] vectorAsArray)voidmultiplyByVectorPairwise(org.api4.java.common.math.IVector secondVector)voidnormalize()voidsetValue(int index, double value)voidsubtractConstant(double constant)voidsubtractVector(double[] vectorAsArray)voidsubtractVector(org.api4.java.common.math.IVector vector)DenseDoubleVectortoDenseVector()SparseDoubleVectortoSparseVector()-
Methods inherited from class ai.libs.jaicore.math.linearalgebra.AbstractVector
addConstantToCopy, addVectorToCopy, addVectorToCopy, average, divideByConstantToCopy, divideByVectorPairwiseToCopy, divideByVectorPairwiseToCopy, euclideanNorm, incrementValueAt, kroneckerProductInternal, mean, multiplyByConstantToCopy, multiplyByVectorPairwiseToCopy, multiplyByVectorPairwiseToCopy, squareRoot, squareRootToCopy, standardDeviation, subtractConstantFromCopy, subtractVectorFromCopy, subtractVectorFromCopy, sum, toString, zeroAllDimensions
-
-
-
-
Constructor Detail
-
SparseDoubleVector
public SparseDoubleVector(int[] indices, double[] values, int dimension)Creates a new SparseDoubleVector which contains the given values.- Parameters:
indices- An array which includes all indices for which there exists a value.values- An array which contains all values.dimension- The total dimension of the vector.
-
SparseDoubleVector
public SparseDoubleVector(int dimension)
Creates a new SparseDoubleVector which contains only zero values.- Parameters:
dimension- The dimension of the vector.
-
SparseDoubleVector
public SparseDoubleVector(double[] data)
Creates a new SparseDoubleVector which contains the given values.- Parameters:
data- A double array, which can be interpreted as a vector.
-
SparseDoubleVector
public SparseDoubleVector(no.uib.cipr.matrix.sparse.SparseVector mtjVector)
Creates a new SparseDoubleVector from an MTJSparseVector.- Parameters:
mtjVector- The MTJ vector.
-
-
Method Detail
-
addVector
public void addVector(double[] vectorAsArray)
-
subtractVector
public void subtractVector(double[] vectorAsArray)
-
multiplyByVectorPairwise
public void multiplyByVectorPairwise(double[] vectorAsArray)
-
divideByVectorPairwise
public void divideByVectorPairwise(double[] vectorAsArray)
-
dotProduct
public double dotProduct(double[] vectorAsArray)
-
length
public int length()
-
getValue
public double getValue(int index)
-
setValue
public void setValue(int index, double value)
-
addVector
public void addVector(org.api4.java.common.math.IVector vector)
-
subtractVector
public void subtractVector(org.api4.java.common.math.IVector vector)
-
multiplyByVectorPairwise
public void multiplyByVectorPairwise(org.api4.java.common.math.IVector secondVector)
-
multiplyByConstant
public void multiplyByConstant(double constant)
-
divideByVectorPairwise
public void divideByVectorPairwise(org.api4.java.common.math.IVector secondVector)
-
divideByConstant
public void divideByConstant(double constant)
-
dotProduct
public double dotProduct(org.api4.java.common.math.IVector vector)
-
isSparse
public boolean isSparse()
-
asArray
public double[] asArray()
-
toDenseVector
public DenseDoubleVector toDenseVector()
- Specified by:
toDenseVectorin classAbstractVector
-
toSparseVector
public SparseDoubleVector toSparseVector()
- Specified by:
toSparseVectorin classAbstractVector
-
duplicate
public org.api4.java.common.math.IVector duplicate()
-
normalize
public void normalize()
-
addConstant
public void addConstant(double constant)
-
subtractConstant
public void subtractConstant(double constant)
-
fillRandomly
public void fillRandomly()
-
getNonZeroIndices
public int[] getNonZeroIndices()
Returns an array containing the non-zero indices of this sparse vector.- Returns:
- an integer array containing the non-zero indices of this sparse vector
-
kroneckerProduct
public org.api4.java.common.math.IVector kroneckerProduct(double[] vectorAsArray)
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractVector
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classAbstractVector
-
-