Package weka.core.matrix
Class DoubleVector
- java.lang.Object
-
- weka.core.matrix.DoubleVector
-
- All Implemented Interfaces:
java.lang.Cloneable,RevisionHandler
public class DoubleVector extends java.lang.Object implements java.lang.Cloneable, RevisionHandler
A vector specialized on doubles.- Version:
- $Revision: 1.4 $
- Author:
- Yong Wang
-
-
Constructor Summary
Constructors Constructor Description DoubleVector()Constructs a null vector.DoubleVector(double[] v)Constructs a vector directly from a double arrayDoubleVector(int n)Constructs an n-vector of zeros.DoubleVector(int n, double s)Constructs a constant n-vector.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddElement(double x)Adds an element into the vectorintcapacity()Gets the capacity of the vector.DoubleVectorcat(DoubleVector v)Combine two vectors togetherjava.lang.Objectclone()Clones the DoubleVector object.DoubleVectorcopy()Makes a deep copy of the vectorDoubleVectorcumulate()Returns a vector that stores the cumulated values of the original vectorDoubleVectorcumulateInPlace()Cumulates the original vector in placeDoubleVectordividedBy(DoubleVector v)Divided by another DoubleVector element by elementDoubleVectordividedByEquals(DoubleVector v)Divided by another DoubleVector element by element in placedoubleget(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.java.lang.StringgetRevision()Returns the revision string.intindexOfMax()Returns the index of the maximum.doubleinnerProduct(DoubleVector v)Returns the inner product of two DoubleVectorsbooleanisEmpty()Checks if it is an empty vectorstatic voidmain(java.lang.String[] args)DoubleVectormap(java.lang.String className, java.lang.String method)Applies a method to the vectordoublemax()Returns the maximum value of all elementsDoubleVectorminus(double x)Subtracts a valueDoubleVectorminus(DoubleVector v)Subtracts another DoubleVector element by elementDoubleVectorminusEquals(double x)Subtracts a value in placeDoubleVectorminusEquals(DoubleVector v)Subtracts another DoubleVector element by element in placedoublenorm1()Returns the L1-norm of the vectordoublenorm2()Returns the L2-norm of the vectorDoubleVectorplus(double x)Adds a value to all the elementsDoubleVectorplus(DoubleVector v)Adds another vector element by elementDoubleVectorplusEquals(double x)Adds a value to all the elements in placeDoubleVectorplusEquals(DoubleVector v)Adds another vector in place element by elementstatic DoubleVectorrandom(int n)Returns a random vector of uniform distributionDoubleVectorrev()Returns the reverse vectorvoidset(double s)Set all elements to a valuevoidset(int i, double s)Set a single element.voidset(int i0, int i1, double s)Set some elements to a valuevoidset(int i0, int i1, double[] v, int j0)Set some elements using a 2-D arrayvoidset(int i0, int i1, DoubleVector v, int j0)Set some elements using a DoubleVector.voidset(DoubleVector v)Set the elements using a DoubleVectorvoidsetCapacity(int n)Sets the capacity of the vectorvoidsetPlus(int i, double s)Adds a value to an elementvoidsetSize(int m)Sets the size of the vectorvoidsetTimes(int i, double s)Multiplies a value to an elementDoubleVectorsign()Returns the signs of all elements in terms of -1, 0 and +1.intsize()Gets the size of the vector.voidsort()Sorts the array in placeIntVectorsortWithIndex()Sorts the array in place with index returnedvoidsortWithIndex(int xi, int xj, IntVector index)Sorts the array in place with index changedDoubleVectorsqrt()Returns the square-root of all the elements in the vectorDoubleVectorsquare()Returns the squared vectorDoubleVectorsubvector(int i0, int i1)Returns a subvector.DoubleVectorsubvector(IntVector index)Returns a subvector.doublesum()Returns the sum of all elements in the vector.doublesum2()Returns the squared sum of all elements in the vector.doublesum2(DoubleVector v)Returns ||u-v||^2voidswap(int i, int j)Swaps the values stored at i and jDoubleVectortimes(double s)Multiplies a scalarDoubleVectortimes(DoubleVector v)Multiplies another DoubleVector element by elementDoubleVectortimesEquals(double s)Multiply a vector by a scalar in place, u = s * uDoubleVectortimesEquals(DoubleVector v)Multiplies another DoubleVector element by element in placejava.lang.StringtoString()Convert the DoubleVecor to a stringjava.lang.StringtoString(int digits, boolean trailing)Convert the DoubleVecor to a stringDoubleVectorunpivoting(IntVector index, int length)Returns a vector from the pivoting indices.booleanunsorted()Returns true if vector not sorted
-
-
-
Constructor Detail
-
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 Detail
-
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 elementi1- the index of the second elements- 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 elementi1- the index of the second elementj0- the index of the starting element in the 2-D arrayv- 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 elementi1- the index of the second elementv- the DoubleVectorj0- 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 indexxj- last indexindex- 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 elements- the value
-
setTimes
public void setTimes(int i, double s)Multiplies a value to an element- Parameters:
i- the index of the elements- 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 java.lang.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 elementi1- 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 indiceslength- 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 ij- the index j
-
max
public double max()
Returns the maximum value of all elements
-
map
public DoubleVector map(java.lang.String className, java.lang.String method)
Applies a method to the vector- Parameters:
className- the class namemethod- 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 java.lang.String toString()
Convert the DoubleVecor to a string- Overrides:
toStringin classjava.lang.Object
-
toString
public java.lang.String toString(int digits, boolean trailing)Convert the DoubleVecor to a string- Parameters:
digits- the number of digits after decimal pointtrailing- true if trailing zeros are to be shown
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
-
-