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 void
addElement(double x)
Adds an element into the vectorint
capacity()
Gets the capacity of the vector.DoubleVector
cat(DoubleVector v)
Combine two vectors togetherjava.lang.Object
clone()
Clones the DoubleVector object.DoubleVector
copy()
Makes a deep copy of the vectorDoubleVector
cumulate()
Returns a vector that stores the cumulated values of the original vectorDoubleVector
cumulateInPlace()
Cumulates the original vector in placeDoubleVector
dividedBy(DoubleVector v)
Divided by another DoubleVector element by elementDoubleVector
dividedByEquals(DoubleVector v)
Divided by another DoubleVector element by element in placedouble
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.java.lang.String
getRevision()
Returns the revision string.int
indexOfMax()
Returns the index of the maximum.double
innerProduct(DoubleVector v)
Returns the inner product of two DoubleVectorsboolean
isEmpty()
Checks if it is an empty vectorstatic void
main(java.lang.String[] args)
DoubleVector
map(java.lang.String className, java.lang.String method)
Applies a method to the vectordouble
max()
Returns the maximum value of all elementsDoubleVector
minus(double x)
Subtracts a valueDoubleVector
minus(DoubleVector v)
Subtracts another DoubleVector element by elementDoubleVector
minusEquals(double x)
Subtracts a value in placeDoubleVector
minusEquals(DoubleVector v)
Subtracts another DoubleVector element by element in placedouble
norm1()
Returns the L1-norm of the vectordouble
norm2()
Returns the L2-norm of the vectorDoubleVector
plus(double x)
Adds a value to all the elementsDoubleVector
plus(DoubleVector v)
Adds another vector element by elementDoubleVector
plusEquals(double x)
Adds a value to all the elements in placeDoubleVector
plusEquals(DoubleVector v)
Adds another vector in place element by elementstatic DoubleVector
random(int n)
Returns a random vector of uniform distributionDoubleVector
rev()
Returns the reverse vectorvoid
set(double s)
Set all elements to a valuevoid
set(int i, double s)
Set a single element.void
set(int i0, int i1, double s)
Set some elements to a valuevoid
set(int i0, int i1, double[] v, int j0)
Set some elements using a 2-D arrayvoid
set(int i0, int i1, DoubleVector v, int j0)
Set some elements using a DoubleVector.void
set(DoubleVector v)
Set the elements using a DoubleVectorvoid
setCapacity(int n)
Sets the capacity of the vectorvoid
setPlus(int i, double s)
Adds a value to an elementvoid
setSize(int m)
Sets the size of the vectorvoid
setTimes(int i, double s)
Multiplies a value to an elementDoubleVector
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 placeIntVector
sortWithIndex()
Sorts the array in place with index returnedvoid
sortWithIndex(int xi, int xj, IntVector index)
Sorts the array in place with index changedDoubleVector
sqrt()
Returns the square-root of all the elements in the vectorDoubleVector
square()
Returns the squared vectorDoubleVector
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||^2void
swap(int i, int j)
Swaps the values stored at i and jDoubleVector
times(double s)
Multiplies a scalarDoubleVector
times(DoubleVector v)
Multiplies another DoubleVector element by elementDoubleVector
timesEquals(double s)
Multiply a vector by a scalar in place, u = s * uDoubleVector
timesEquals(DoubleVector v)
Multiplies another DoubleVector element by element in placejava.lang.String
toString()
Convert the DoubleVecor to a stringjava.lang.String
toString(int digits, boolean trailing)
Convert the DoubleVecor to a stringDoubleVector
unpivoting(IntVector index, int length)
Returns a vector from the pivoting indices.boolean
unsorted()
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:
toString
in 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:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
-
-