Package weka.core

Class AlgVector

java.lang.Object
weka.core.AlgVector
All Implemented Interfaces:
Serializable, Cloneable, RevisionHandler

public class AlgVector extends Object implements Cloneable, Serializable, 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

    Constructors
    Constructor
    Description
    AlgVector(double[] array)
    Constructs a vector using a given array.
    AlgVector(int n)
    Constructs a vector and initializes it with default values.
    AlgVector(Instance instance)
    Constructs a vector using an instance.
    AlgVector(Instances format, Random random)
    Constructs a vector using a given data format.
  • Method Summary

    Modifier and Type
    Method
    Description
    final AlgVector
    add(AlgVector other)
    Returns the sum of this vector with another.
    void
    changeLength(double len)
    Changes the length of a vector.
    Creates and returns a clone of this object.
    final double
    Returns the inner (or dot) product of two vectors
    getAsInstance(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(String[] args)
    Main method for testing this class, can take an ARFF file as first argument.
    double
    Returns the norm of the vector
    final void
    Norms this vector to length 1.0
    final int
    Returns the number of elements in the vector.
    final void
    scalarMultiply(double s)
    Computes the scalar product of this vector with a scalar
    final 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.
    Converts a vector to a string

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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

      public AlgVector(Instances format, Random random) throws Exception
      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 use
      random - for initializing the attributes
      Throws:
      Exception - if something goes wrong
    • AlgVector

      public AlgVector(Instance instance) throws Exception
      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

      public Object clone() throws CloneNotSupportedException
      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 index
      value - 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

      public Instance getAsInstance(Instances model, Random random) throws Exception
      Gets the elements of the vector as an instance. !! NON-numeric data is ignored sofar
      Parameters:
      model - the dataset structure to fit the data to
      random - 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

      public final AlgVector add(AlgVector other)
      Returns the sum of this vector with another.
      Parameters:
      other - the vector to add
      Returns:
      a vector containing the sum.
    • substract

      public final AlgVector substract(AlgVector other)
      Returns the difference of this vector minus another.
      Parameters:
      other - the vector to subtract
      Returns:
      a vector containing the difference vector.
    • dotMultiply

      public final double dotMultiply(AlgVector b)
      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

      public String toString()
      Converts a vector to a string
      Overrides:
      toString in class Object
      Returns:
      the converted string
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • main

      public static void main(String[] args) throws Exception
      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