Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.data
Class DoubleVector

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.data.AbstractDatabaseObject
      extended by de.lmu.ifi.dbs.elki.data.AbstractNumberVector<DoubleVector,Double>
          extended by de.lmu.ifi.dbs.elki.data.DoubleVector
All Implemented Interfaces:
DatabaseObject, FeatureVector<DoubleVector,Double>, NumberVector<DoubleVector,Double>, SpatialComparable, SpatialObject
Direct Known Subclasses:
ParameterizationFunction

public class DoubleVector
extends AbstractNumberVector<DoubleVector,Double>

A DoubleVector is to store real values approximately as double values.

Author:
Arthur Zimek

Field Summary
private  double[] values
          Keeps the values of the real vector
 
Fields inherited from class de.lmu.ifi.dbs.elki.data.AbstractNumberVector
ATTRIBUTE_SEPARATOR
 
Constructor Summary
  DoubleVector(double[] values)
          Provides a DoubleVector consisting of the given double values.
  DoubleVector(Double[] values)
          Provides a DoubleVector consisting of the given double values.
private DoubleVector(double[] values, boolean nocopy)
          Private constructor.
  DoubleVector(List<Double> values)
          Provides a feature vector consisting of double values according to the given Double values.
  DoubleVector(Matrix columnMatrix)
          Expects a matrix of one column.
 
Method Summary
 double doubleValue(int dimension)
          Returns the value of the specified attribute.
 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.
 Matrix getRowVector()
          Returns a Matrix representing in one row and getDimensionality() columns the values of this NumberVector of V.
 Double getValue(int dimension)
          Returns the value of the specified attribute.
 double[] getValues()
          Get a copy of the raw double[] array.
 long longValue(int dimension)
          Returns the value of the specified attribute as long.
 DoubleVector minus(DoubleVector fv)
          Returns a new NumberVector of V that is the sum of this NumberVector of V and the negativeVector() of given NumberVector of V.
 DoubleVector multiplicate(double k)
          Returns a new NumberVector of V that is the result of a scalar multiplication with the given scalar.
 DoubleVector negativeVector()
          Returns the additive inverse to this NumberVector of V.
 DoubleVector newInstance(double[] values)
          Returns a new NumberVector of N for the given values.
 DoubleVector newInstance(Double[] values)
          Returns a new FeatureVector of V for the given values.
 DoubleVector newInstance(List<Double> values)
          Returns a new FeatureVector of V for the given values.
 DoubleVector newInstance(Vector values)
          Returns a new NumberVector of N for the given values.
 DoubleVector nullVector()
          Provides a null vector of the same Vector Space as this NumberVector of V (that is, of the same dimensionality).
 DoubleVector plus(DoubleVector fv)
          Returns a new NumberVector of V that is the sum of this NumberVector of V and the given NumberVector of V.
 DoubleVector randomInstance(Double min, Double max, Random random)
          Returns a NumberVector of V with random values between min and max.
 DoubleVector randomInstance(DoubleVector min, DoubleVector max, Random random)
          Returns a NumberVector of V with random values between min and max.
 DoubleVector randomInstance(Random random)
          Returns a new DoubleVector with random values between 0 and 1.
 Double scalarProduct(DoubleVector d)
          Provides the scalar product (inner product) of this and the given DoubleVector.
 String toString()
          Returns a String representation of the FeatureVector of V as a line that is suitable to be printed in a sequential file.
 
Methods inherited from class de.lmu.ifi.dbs.elki.data.AbstractNumberVector
byteValue, equals, floatValue, getMax, getMin, intValue, shortValue
 
Methods inherited from class de.lmu.ifi.dbs.elki.data.AbstractDatabaseObject
getID, setID
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.data.DatabaseObject
getID, setID
 
Methods inherited from interface de.lmu.ifi.dbs.elki.index.tree.spatial.SpatialObject
getID
 

Field Detail

values

private double[] values
Keeps the values of the real vector

Constructor Detail

DoubleVector

private DoubleVector(double[] values,
                     boolean nocopy)
Private constructor. NOT for public use.


DoubleVector

public DoubleVector(List<Double> values)
Provides a feature vector consisting of double values according to the given Double values.

Parameters:
values - the values to be set as values of the real vector

DoubleVector

public DoubleVector(double[] values)
Provides a DoubleVector consisting of the given double values.

Parameters:
values - the values to be set as values of theDoubleVector

DoubleVector

public DoubleVector(Double[] values)
Provides a DoubleVector consisting of the given double values.

Parameters:
values - the values to be set as values of theDoubleVector

DoubleVector

public DoubleVector(Matrix columnMatrix)
Expects a matrix of one column.

Parameters:
columnMatrix - a matrix of one column
Method Detail

newInstance

public DoubleVector newInstance(Vector values)
Description copied from interface: NumberVector
Returns a new NumberVector of N for the given values.

Parameters:
values - the values of the NumberVector
Returns:
a new DoubleVector with the specified values

newInstance

public DoubleVector newInstance(Double[] values)
Description copied from interface: FeatureVector
Returns a new FeatureVector of V for the given values.

Parameters:
values - the values of the featureVector
Returns:
a new DoubleVector with the specified values

newInstance

public DoubleVector newInstance(double[] values)
Description copied from interface: NumberVector
Returns a new NumberVector of N for the given values.

Parameters:
values - the values of the NumberVector
Returns:
a new DoubleVector with the specified values

newInstance

public DoubleVector newInstance(List<Double> values)
Description copied from interface: FeatureVector
Returns a new FeatureVector of V for the given values.

Parameters:
values - the values of the featureVector
Returns:
a new FeatureVector of V for the given values

randomInstance

public DoubleVector randomInstance(Random random)
Returns a new DoubleVector with random values between 0 and 1.

Parameters:
random - a Random instance
Returns:
a NumberVector of V with random values

randomInstance

public DoubleVector randomInstance(Double min,
                                   Double max,
                                   Random random)
Description copied from interface: NumberVector
Returns a NumberVector of V with random values between min and max.

Parameters:
min - minimum of random value
max - maximum of random value
random - a random instance
Returns:
a NumberVector of V with random values between min and max

randomInstance

public DoubleVector randomInstance(DoubleVector min,
                                   DoubleVector max,
                                   Random random)
Description copied from interface: NumberVector
Returns a NumberVector of V with random values between min and max.

Parameters:
min - minimum of random value for each axis
max - maximum of random value for each axis
random - a random instance
Returns:
a NumberVector of V with random values between min and max
See Also:
NumberVector.randomInstance(de.lmu.ifi.dbs.elki.data.NumberVector, de.lmu.ifi.dbs.elki.data.NumberVector, java.util.Random)

getDimensionality

public int getDimensionality()
Description copied from interface: FeatureVector
The dimensionality of the vector space where of this FeatureVector of V is an element.

Returns:
the number of dimensions of this FeatureVector of V

getValue

public Double getValue(int dimension)
Returns the value of the specified attribute.

Parameters:
dimension - the selected attribute. Attributes are counted starting with 1.
Returns:
the value in the specified dimension
Throws:
IllegalArgumentException - if the specified dimension is out of range of the possible attributes

doubleValue

public double doubleValue(int dimension)
Returns the value of the specified attribute.

Parameters:
dimension - the selected attribute. Attributes are counted starting with 1.
Returns:
the value in the specified dimension
Throws:
IllegalArgumentException - if the specified dimension is out of range of the possible attributes

longValue

public long longValue(int dimension)
Returns the value of the specified attribute as long.

Parameters:
dimension - the selected attribute. Attributes are counted starting with 1.
Returns:
the value in the specified dimension
Throws:
IllegalArgumentException - if the specified dimension is out of range of the possible attributes

getValues

public double[] getValues()
Get a copy of the raw double[] array.

Returns:
copy of values array.

getColumnVector

public Vector getColumnVector()
Description copied from interface: NumberVector
Returns a Vector representing in one column and getDimensionality() rows the values of this NumberVector of V.

Returns:
a Matrix representing in one column and getDimensionality() rows the values of this NumberVector of V

getRowVector

public Matrix getRowVector()
Description copied from interface: NumberVector
Returns a Matrix representing in one row and getDimensionality() columns the values of this NumberVector of V.

Returns:
a Matrix representing in one row and getDimensionality() columns the values of this NumberVector of V

plus

public DoubleVector plus(DoubleVector fv)
Description copied from interface: NumberVector
Returns a new NumberVector of V that is the sum of this NumberVector of V and the given NumberVector of V.

Parameters:
fv - a NumberVector of V to be added to this NumberVector of V
Returns:
a new NumberVector of V that is the sum of this NumberVector of V and the given NumberVector of V

minus

public DoubleVector minus(DoubleVector fv)
Description copied from interface: NumberVector
Returns a new NumberVector of V that is the sum of this NumberVector of V and the negativeVector() of given NumberVector of V.

Parameters:
fv - a NumberVector of V to be subtracted to this NumberVector of V
Returns:
a new NumberVector of V that is the sum of this NumberVector of V and the negative of given NumberVector of V

nullVector

public DoubleVector nullVector()
Description copied from interface: NumberVector
Provides a null vector of the same Vector Space as this NumberVector of V (that is, of the same dimensionality).

Returns:
a null vector of the same Vector Space as this NumberVector of V (that is, of the same dimensionality)

negativeVector

public DoubleVector negativeVector()
Description copied from interface: NumberVector
Returns the additive inverse to this NumberVector of V.

Returns:
the additive inverse to this NumberVector of V

multiplicate

public DoubleVector multiplicate(double k)
Description copied from interface: NumberVector
Returns a new NumberVector of V that is the result of a scalar multiplication with the given scalar.

Parameters:
k - a scalar to multiply this NumberVector of V with
Returns:
a new NumberVector of V that is the result of a scalar multiplication with the given scalar

scalarProduct

public Double scalarProduct(DoubleVector d)
Provides the scalar product (inner product) of this and the given DoubleVector.

Parameters:
d - the DoubleVector to compute the scalar product for
Returns:
the scalar product (inner product) of this and the given DoubleVector

toString

public String toString()
Description copied from interface: FeatureVector
Returns a String representation of the FeatureVector of V as a line that is suitable to be printed in a sequential file.

Specified by:
toString in interface FeatureVector<DoubleVector,Double>
Overrides:
toString in class Object
Returns:
a String representation of the FeatureVector of V

Release 0.3 (2010-03-31_1612)