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: 1.10 $
Author:
  Gabi Schmidberger (gabi@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## 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.
`Object`
`clone()`
Creates and returns a clone of this object.
`final double`
`dotMultiply(AlgVector b)`
Returns the inner (or dot) product of two vectors
`Instance`
`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[]`
`getElements()`
Gets the elements of the vector and returns them as double array.
`String`
`getRevision()`
Returns the revision string.
`static void`
`main(String[] args)`
Main method for testing this class, can take an ARFF file as first argument.
`double`
`norm()`
Returns the norm of the vector
`final void`
`normVector()`
Norms this vector to length 1.0
`final int`
`numElements()`
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`
`substract(AlgVector other)`
Returns the difference of this vector minus another.
`String`
`toString()`
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