Package weka.core.matrix

# Class DoubleVector

java.lang.Object
weka.core.matrix.DoubleVector

All Implemented Interfaces:
  `Cloneable`, `RevisionHandler`

public class DoubleVector extends Object implements Cloneable, RevisionHandler
A vector specialized on doubles.

Version:
  $Revision: 10203 $
Author:
  Yong Wang

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DoubleVector()`
  Constructs a null vector.
  `DoubleVector(double[] v)`
  Constructs a vector directly from a double array
  `DoubleVector(int n)`
  Constructs an n-vector of zeros.
  `DoubleVector(int n, double s)`
  Constructs a constant n-vector.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addElement(double x)`
  Adds an element into the vector
  `int`
  `capacity()`
  Gets the capacity of the vector.
  `DoubleVector`
  `cat(DoubleVector v)`
  Combine two vectors together
  `Object`
  `clone()`
  Clones the DoubleVector object.
  `DoubleVector`
  `copy()`
  Makes a deep copy of the vector
  `DoubleVector`
  `cumulate()`
  Returns a vector that stores the cumulated values of the original vector
  `DoubleVector`
  `cumulateInPlace()`
  Cumulates the original vector in place
  `DoubleVector`
  `dividedBy(DoubleVector v)`
  Divided by another DoubleVector element by element
  `DoubleVector`
  `dividedByEquals(DoubleVector v)`
  Divided by another DoubleVector element by element in place
  `double`
  `get(int i)`
  Gets a single element.
  `double[]`
  `getArray()`
  Access the internal one-dimensional array.
  `double[]`
  `getArrayCopy()`
  Returns a copy of the DoubleVector usng a double array.
  `String`
  `getRevision()`
  Returns the revision string.
  `int`
  `indexOfMax()`
  Returns the index of the maximum.
  `double`
  `innerProduct(DoubleVector v)`
  Returns the inner product of two DoubleVectors
  `boolean`
  `isEmpty()`
  Checks if it is an empty vector
  `static void`
  `main(String[] args)`
  `DoubleVector`
  `map(String className, String method)`
  Applies a method to the vector
  `double`
  `max()`
  Returns the maximum value of all elements
  `DoubleVector`
  `minus(double x)`
  Subtracts a value
  `DoubleVector`
  `minus(DoubleVector v)`
  Subtracts another DoubleVector element by element
  `DoubleVector`
  `minusEquals(double x)`
  Subtracts a value in place
  `DoubleVector`
  `minusEquals(DoubleVector v)`
  Subtracts another DoubleVector element by element in place
  `double`
  `norm1()`
  Returns the L1-norm of the vector
  `double`
  `norm2()`
  Returns the L2-norm of the vector
  `DoubleVector`
  `plus(double x)`
  Adds a value to all the elements
  `DoubleVector`
  `plus(DoubleVector v)`
  Adds another vector element by element
  `DoubleVector`
  `plusEquals(double x)`
  Adds a value to all the elements in place
  `DoubleVector`
  `plusEquals(DoubleVector v)`
  Adds another vector in place element by element
  `static DoubleVector`
  `random(int n)`
  Returns a random vector of uniform distribution
  `DoubleVector`
  `rev()`
  Returns the reverse vector
  `void`
  `set(double s)`
  Set all elements to a value
  `void`
  `set(int i, double s)`
  Set a single element.
  `void`
  `set(int i0, int i1, double s)`
  Set some elements to a value
  `void`
  `set(int i0, int i1, double[] v, int j0)`
  Set some elements using a 2-D array
  `void`
  `set(int i0, int i1, DoubleVector v, int j0)`
  Set some elements using a DoubleVector.
  `void`
  `set(DoubleVector v)`
  Set the elements using a DoubleVector
  `void`
  `setCapacity(int n)`
  Sets the capacity of the vector
  `void`
  `setPlus(int i, double s)`
  Adds a value to an element
  `void`
  `setSize(int m)`
  Sets the size of the vector
  `void`
  `setTimes(int i, double s)`
  Multiplies a value to an element
  `DoubleVector`
  `sign()`
  Returns the signs of all elements in terms of -1, 0 and +1.
  `int`
  `size()`
  Gets the size of the vector.
  `void`
  `sort()`
  Sorts the array in place
  `IntVector`
  `sortWithIndex()`
  Sorts the array in place with index returned
  `void`
  `sortWithIndex(int xi, int xj, IntVector index)`
  Sorts the array in place with index changed
  `DoubleVector`
  `sqrt()`
  Returns the square-root of all the elements in the vector
  `DoubleVector`
  `square()`
  Returns the squared vector
  `DoubleVector`
  `subvector(int i0, int i1)`
  Returns a subvector.
  `DoubleVector`
  `subvector(IntVector index)`
  Returns a subvector.
  `double`
  `sum()`
  Returns the sum of all elements in the vector.
  `double`
  `sum2()`
  Returns the squared sum of all elements in the vector.
  `double`
  `sum2(DoubleVector v)`
  Returns ||u-v||^2
  `void`
  `swap(int i, int j)`
  Swaps the values stored at i and j
  `DoubleVector`
  `times(double s)`
  Multiplies a scalar
  `DoubleVector`
  `times(DoubleVector v)`
  Multiplies another DoubleVector element by element
  `DoubleVector`
  `timesEquals(double s)`
  Multiply a vector by a scalar in place, u = s * u
  `DoubleVector`
  `timesEquals(DoubleVector v)`
  Multiplies another DoubleVector element by element in place
  `String`
  `toString()`
  Convert the DoubleVecor to a string
  `String`
  `toString(int digits, boolean trailing)`
  Convert the DoubleVecor to a string
  `DoubleVector`
  `unpivoting(IntVector index, int length)`
  Returns a vector from the pivoting indices.
  `boolean`
  `unsorted()`
  Returns true if vector not sorted

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### DoubleVector

    public DoubleVector()
    Constructs a null vector.

  - ### DoubleVector

    public DoubleVector(int n)
    Constructs an n-vector of zeros.
    Parameters:
      `n` - length.

  - ### DoubleVector

    public DoubleVector(int n, double s)
    Constructs a constant n-vector.
    Parameters:
      `n` - length.
      `s` - the scalar value used to fill the vector

  - ### DoubleVector

    public DoubleVector(double[] v)
    Constructs a vector directly from a double array
    Parameters:
      `v` - the array

- ## Method Details

  - ### set

    public void set(int i, double s)
    Set a single element.
    Parameters:
      `i` - Index.
      `s` - a[i].

  - ### set

    public void set(double s)
    Set all elements to a value
    Parameters:
      `s` - the value

  - ### set

    public void set(int i0, int i1, double s)
    Set some elements to a value
    Parameters:
      `i0` - the index of the first element
      `i1` - the index of the second element
      `s` - the value

  - ### set

    public void set(int i0, int i1, double[] v, int j0)
    Set some elements using a 2-D array
    Parameters:
      `i0` - the index of the first element
      `i1` - the index of the second element
      `j0` - the index of the starting element in the 2-D array
      `v` - the values

  - ### set

    public void set(DoubleVector v)
    Set the elements using a DoubleVector
    Parameters:
      `v` - the DoubleVector

  - ### set

    public void set(int i0, int i1, DoubleVector v, int j0)
    Set some elements using a DoubleVector.
    Parameters:
      `i0` - the index of the first element
      `i1` - the index of the second element
      `v` - the DoubleVector
      `j0` - the index of the starting element in the DoubleVector

  - ### getArray

    public double[] getArray()
    Access the internal one-dimensional array.
    Returns:
      Pointer to the one-dimensional array of vector elements.

  - ### getArrayCopy

    public double[] getArrayCopy()
    Returns a copy of the DoubleVector usng a double array.
    Returns:
      the one-dimensional array.

  - ### sort

    public void sort()
    Sorts the array in place

  - ### sortWithIndex

    public IntVector sortWithIndex()
    Sorts the array in place with index returned

  - ### sortWithIndex

    public void sortWithIndex(int xi, int xj, IntVector index)
    Sorts the array in place with index changed
    Parameters:
      `xi` - first index
      `xj` - last index
      `index` - array that stores all indices

  - ### size

    public int size()
    Gets the size of the vector.
    Returns:
      the size

  - ### setSize

    public void setSize(int m)
    Sets the size of the vector
    Parameters:
      `m` - the size

  - ### capacity

    public int capacity()
    Gets the capacity of the vector.
    Returns:
      the capacity.

  - ### setCapacity

    public void setCapacity(int n)
    Sets the capacity of the vector
    Parameters:
      `n` - the capacity.

  - ### get

    public double get(int i)
    Gets a single element.
    Parameters:
      `i` - Index.
    Returns:
      the value of the i-th element

  - ### setPlus

    public void setPlus(int i, double s)
    Adds a value to an element
    Parameters:
      `i` - the index of the element
      `s` - the value

  - ### setTimes

    public void setTimes(int i, double s)
    Multiplies a value to an element
    Parameters:
      `i` - the index of the element
      `s` - the value

  - ### addElement

    public void addElement(double x)
    Adds an element into the vector
    Parameters:
      `x` - the value of the new element

  - ### square

    public DoubleVector square()
    Returns the squared vector

  - ### sqrt

    public DoubleVector sqrt()
    Returns the square-root of all the elements in the vector

  - ### copy

    public DoubleVector copy()
    Makes a deep copy of the vector

  - ### clone

    public Object clone()
    Clones the DoubleVector object.

  - ### innerProduct

    public double innerProduct(DoubleVector v)
    Returns the inner product of two DoubleVectors
    Parameters:
      `v` - the second DoubleVector
    Returns:
      the product

  - ### sign

    public DoubleVector sign()
    Returns the signs of all elements in terms of -1, 0 and +1.

  - ### sum

    public double sum()
    Returns the sum of all elements in the vector.

  - ### sum2

    public double sum2()
    Returns the squared sum of all elements in the vector.

  - ### norm1

    public double norm1()
    Returns the L1-norm of the vector

  - ### norm2

    public double norm2()
    Returns the L2-norm of the vector

  - ### sum2

    public double sum2(DoubleVector v)
    Returns ||u-v||^2
    Parameters:
      `v` - the second vector

  - ### subvector

    public DoubleVector subvector(int i0, int i1)
    Returns a subvector.
    Parameters:
      `i0` - the index of the first element
      `i1` - the index of the last element
    Returns:
      v[i0:i1]

  - ### subvector

    public DoubleVector subvector(IntVector index)
    Returns a subvector.
    Parameters:
      `index` - stores the indices of the needed elements
    Returns:
      v[index]

  - ### unpivoting

    public DoubleVector unpivoting(IntVector index, int length)
    Returns a vector from the pivoting indices. Elements not indexed are set to zero.
    Parameters:
      `index` - stores the pivoting indices
      `length` - the total number of the potential elements
    Returns:
      the subvector

  - ### plus

    public DoubleVector plus(double x)
    Adds a value to all the elements
    Parameters:
      `x` - the value

  - ### plusEquals

    public DoubleVector plusEquals(double x)
    Adds a value to all the elements in place
    Parameters:
      `x` - the value

  - ### plus

    public DoubleVector plus(DoubleVector v)
    Adds another vector element by element
    Parameters:
      `v` - the second vector

  - ### plusEquals

    public DoubleVector plusEquals(DoubleVector v)
    Adds another vector in place element by element
    Parameters:
      `v` - the second vector

  - ### minus

    public DoubleVector minus(double x)
    Subtracts a value
    Parameters:
      `x` - the value

  - ### minusEquals

    public DoubleVector minusEquals(double x)
    Subtracts a value in place
    Parameters:
      `x` - the value

  - ### minus

    public DoubleVector minus(DoubleVector v)
    Subtracts another DoubleVector element by element
    Parameters:
      `v` - the second DoubleVector

  - ### minusEquals

    public DoubleVector minusEquals(DoubleVector v)
    Subtracts another DoubleVector element by element in place
    Parameters:
      `v` - the second DoubleVector

  - ### times

    public DoubleVector times(double s)
    Multiplies a scalar
    Parameters:
      `s` - scalar
    Returns:
      s * v

  - ### timesEquals

    public DoubleVector timesEquals(double s)
    Multiply a vector by a scalar in place, u = s * u
    Parameters:
      `s` - scalar
    Returns:
      replace u by s * u

  - ### times

    public DoubleVector times(DoubleVector v)
    Multiplies another DoubleVector element by element
    Parameters:
      `v` - the second DoubleVector

  - ### timesEquals

    public DoubleVector timesEquals(DoubleVector v)
    Multiplies another DoubleVector element by element in place
    Parameters:
      `v` - the second DoubleVector

  - ### dividedBy

    public DoubleVector dividedBy(DoubleVector v)
    Divided by another DoubleVector element by element
    Parameters:
      `v` - the second DoubleVector

  - ### dividedByEquals

    public DoubleVector dividedByEquals(DoubleVector v)
    Divided by another DoubleVector element by element in place
    Parameters:
      `v` - the second DoubleVector

  - ### isEmpty

    public boolean isEmpty()
    Checks if it is an empty vector

  - ### cumulate

    public DoubleVector cumulate()
    Returns a vector that stores the cumulated values of the original vector

  - ### cumulateInPlace

    public DoubleVector cumulateInPlace()
    Cumulates the original vector in place

  - ### indexOfMax

    public int indexOfMax()
    Returns the index of the maximum.

    If multiple maximums exist, the index of the first is returned.

  - ### unsorted

    public boolean unsorted()
    Returns true if vector not sorted

  - ### cat

    public DoubleVector cat(DoubleVector v)
    Combine two vectors together
    Parameters:
      `v` - the second vector

  - ### swap

    public void swap(int i, int j)
    Swaps the values stored at i and j
    Parameters:
      `i` - the index i
      `j` - the index j

  - ### max

    public double max()
    Returns the maximum value of all elements

  - ### map

    public DoubleVector map(String className, String method)
    Applies a method to the vector
    Parameters:
      `className` - the class name
      `method` - the method

  - ### rev

    public DoubleVector rev()
    Returns the reverse vector

  - ### random

    public static DoubleVector random(int n)
    Returns a random vector of uniform distribution
    Parameters:
      `n` - the size of the vector

  - ### toString

    public String toString()
    Convert the DoubleVecor to a string
    Overrides:
      `toString` in class `Object`

  - ### toString

    public String toString(int digits, boolean trailing)
    Convert the DoubleVecor to a string
    Parameters:
      `digits` - the number of digits after decimal point
      `trailing` - true if trailing zeros are to be shown

  - ### getRevision

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

  - ### main

    public static void main(String[] args)