Package weka.core
Class AlgVector
java.lang.Object
weka.core.AlgVector
- All Implemented Interfaces:
Serializable
,Cloneable
,RevisionHandler
Class for performing operations on an algebraic vector
of floating-point values.
- Version:
- $Revision: 8034 $
- Author:
- Gabi Schmidberger (gabi@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal AlgVector
Returns the sum of this vector with another.void
changeLength
(double len) Changes the length of a vector.clone()
Creates and returns a clone of this object.final double
Returns the inner (or dot) product of two vectorsgetAsInstance
(Instances model, Random random) Gets the elements of the vector as an instance.final double
getElement
(int index) Returns the value of a cell in the matrix.double[]
Gets the elements of the vector and returns them as double array.Returns the revision string.static void
Main method for testing this class, can take an ARFF file as first argument.double
norm()
Returns the norm of the vectorfinal void
Norms this vector to length 1.0final int
Returns the number of elements in the vector.final void
scalarMultiply
(double s) Computes the scalar product of this vector with a scalarfinal void
setElement
(int index, double value) Sets an element of the matrix to the given value.final void
setElements
(double[] elements) Sets the elements of the vector to values of the given array.final AlgVector
Returns the difference of this vector minus another.toString()
Converts a vector to a string
-
Constructor Details
-
AlgVector
public AlgVector(int n) Constructs a vector and initializes it with default values.- Parameters:
n
- the number of elements
-
AlgVector
public AlgVector(double[] array) Constructs a vector using a given array.- Parameters:
array
- the values of the matrix
-
AlgVector
Constructs a vector using a given data format. The vector has an element for each numerical attribute. The other attributes (nominal, string) are ignored. Random is used to initialize the attributes.- Parameters:
format
- the data format to userandom
- for initializing the attributes- Throws:
Exception
- if something goes wrong
-
AlgVector
Constructs a vector using an instance. The vector has an element for each numerical attribute. The other attributes (nominal, string) are ignored.- Parameters:
instance
- with numeric attributes, that AlgVector gets build from- Throws:
Exception
- if instance doesn't have access to the data format or no numeric attributes in the data
-
-
Method Details
-
clone
Creates and returns a clone of this object.- Returns:
- a clone of this instance.
- Throws:
CloneNotSupportedException
- if an error occurs
-
getElement
public final double getElement(int index) Returns the value of a cell in the matrix.- Parameters:
index
- the row's index- Returns:
- the value of the cell of the vector
-
numElements
public final int numElements()Returns the number of elements in the vector.- Returns:
- the number of rows
-
setElement
public final void setElement(int index, double value) Sets an element of the matrix to the given value.- Parameters:
index
- the elements indexvalue
- the new value
-
setElements
public final void setElements(double[] elements) Sets the elements of the vector to values of the given array. Performs a deep copy.- Parameters:
elements
- an array of doubles
-
getElements
public double[] getElements()Gets the elements of the vector and returns them as double array.- Returns:
- an array of doubles
-
getAsInstance
Gets the elements of the vector as an instance. !! NON-numeric data is ignored sofar- Parameters:
model
- the dataset structure to fit the data torandom
- in case of nominal values a random label is taken- Returns:
- an array of doubles
- Throws:
Exception
- if length of vector is not number of numerical attributes
-
add
Returns the sum of this vector with another.- Parameters:
other
- the vector to add- Returns:
- a vector containing the sum.
-
substract
Returns the difference of this vector minus another.- Parameters:
other
- the vector to subtract- Returns:
- a vector containing the difference vector.
-
dotMultiply
Returns the inner (or dot) product of two vectors- Parameters:
b
- the multiplication matrix- Returns:
- the double representing the dot product
-
scalarMultiply
public final void scalarMultiply(double s) Computes the scalar product of this vector with a scalar- Parameters:
s
- the scalar
-
changeLength
public void changeLength(double len) Changes the length of a vector.- Parameters:
len
- the new length of the vector
-
norm
public double norm()Returns the norm of the vector- Returns:
- the norm of the vector
-
normVector
public final void normVector()Norms this vector to length 1.0 -
toString
Converts a vector to a string -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
Main method for testing this class, can take an ARFF file as first argument.- Parameters:
args
- commandline options- Throws:
Exception
- if something goes wrong in testing
-