public class SparseDoubleVector extends AbstractNumberVector<Double> implements SparseNumberVector<Double>
A SparseDoubleVector is to store real values as double values.
A SparseDoubleVector only requires storage for those attribute values that are non-zero.Modifier and Type | Class and Description |
---|---|
static class |
SparseDoubleVector.Factory
Factory class.
|
Modifier and Type | Field and Description |
---|---|
private int |
dimensionality
The dimensionality of this feature vector.
|
static gnu.trove.map.TIntDoubleMap |
EMPTYMAP
Empty map.
|
static SparseDoubleVector.Factory |
FACTORY
Static instance.
|
private int[] |
indexes
Indexes of values.
|
private double[] |
values
Stored values.
|
ATTRIBUTE_SEPARATOR
Constructor and Description |
---|
SparseDoubleVector(double[] values)
Provides a SparseDoubleVector consisting of double values according to the
specified mapping of indices and values.
|
SparseDoubleVector(int[] indexes,
double[] values,
int dimensionality)
Direct constructor.
|
SparseDoubleVector(gnu.trove.map.TIntDoubleMap values,
int dimensionality)
Provides a SparseDoubleVector consisting of double values according to the
specified mapping of indices and values.
|
Modifier and Type | Method and Description |
---|---|
double |
doubleValue(int dimension)
Returns the value in the specified dimension as double.
|
Vector |
getColumnVector()
Returns a Vector representing in one column and
getDimensionality() rows the values of this NumberVector of V. |
int |
getDimensionality()
The dimensionality of the vector space where of this FeatureVector of V is
an element.
|
private int |
getMaxDim()
Get the maximum dimensionality.
|
BitSet |
getNotNullMask()
Bit set of non-null features.
|
Double |
getValue(int dimension)
Deprecated.
|
private double[] |
getValues()
Returns an array consisting of the values of this feature vector.
|
long |
longValue(int dimension)
Returns the value in the specified dimension as long.
|
void |
setDimensionality(int dimensionality)
Sets the dimensionality to the new value.
|
String |
toString()
Provides a String representation of this SparseDoubleVector as suitable for
SparseNumberVectorLabelParser
. |
byteValue, floatValue, getMax, getMin, intValue, shortValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
byteValue, floatValue, intValue, shortValue
getMax, getMin
public static final SparseDoubleVector.Factory FACTORY
private final int[] indexes
private final double[] values
private int dimensionality
public static final gnu.trove.map.TIntDoubleMap EMPTYMAP
public SparseDoubleVector(int[] indexes, double[] values, int dimensionality)
indexes
- Indexes Must be sorted!values
- Associated value.dimensionality
- "true" dimensionalitypublic SparseDoubleVector(gnu.trove.map.TIntDoubleMap values, int dimensionality) throws IllegalArgumentException
values
- the values to be set as values of the real vectordimensionality
- the dimensionality of this feature vectorIllegalArgumentException
- if the given dimensionality is too small
to cover the given values (i.e., the maximum index of any value not
zero is bigger than the given dimensionality)public SparseDoubleVector(double[] values) throws IllegalArgumentException
values
- the values to be set as values of the real vectorIllegalArgumentException
- if the given dimensionality is too small
to cover the given values (i.e., the maximum index of any value not
zero is bigger than the given dimensionality)private int getMaxDim()
public int getDimensionality()
FeatureVector
getDimensionality
in interface FeatureVector<Double>
getDimensionality
in interface SpatialComparable
public void setDimensionality(int dimensionality) throws IllegalArgumentException
setDimensionality
in interface SparseNumberVector<Double>
dimensionality
- the new dimensionalityIllegalArgumentException
- if the given dimensionality is too small
to cover the given values (i.e., the maximum index of any value not
zero is bigger than the given dimensionality)@Deprecated public Double getValue(int dimension)
FeatureVector
getValue
in interface FeatureVector<Double>
getValue
in interface NumberVector<Double>
dimension
- the desired dimension, where 1 ≤ dimension ≤
this.getDimensionality()
public double doubleValue(int dimension)
NumberVector
getValue(dim).doubleValue()
, but usually this is much more
efficient due to boxing/unboxing cost.doubleValue
in interface NumberVector<Double>
dimension
- the desired dimension, where 0 ≤ dimension <
this.getDimensionality()
public long longValue(int dimension)
NumberVector
getValue(dim).longValue()
, but usually this is much more efficient
due to boxing/unboxing cost.longValue
in interface NumberVector<Double>
dimension
- the desired dimension, where 0 ≤ dimension <
this.getDimensionality()
public Vector getColumnVector()
NumberVector
getDimensionality()
rows the values of this NumberVector of V.getColumnVector
in interface NumberVector<Double>
getDimensionality()
rows the values of this
NumberVector of Vpublic String toString()
Provides a String representation of this SparseDoubleVector as suitable for
SparseNumberVectorLabelParser
.
The returned String is a single line with entries separated by
AbstractNumberVector.ATTRIBUTE_SEPARATOR
. The first entry gives the
number of values actually not zero. Following entries are pairs of Integer
and Double where the Integer gives the index of the dimensionality and the
Double gives the corresponding value.
Example: a vector (0,1.2,1.3,0)T would result in the String
2 2 1.2 3 1.3
toString
in interface FeatureVector<Double>
toString
in class Object
private double[] getValues()
public BitSet getNotNullMask()
SparseFeatureVector
getNotNullMask
in interface SparseFeatureVector<Double>