|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.linear.ArrayRealVector
public class ArrayRealVector
This class implements the RealVector
interface with a double array.
Field Summary | |
---|---|
protected double[] |
data
Entries of the vector. |
Constructor Summary | |
---|---|
ArrayRealVector()
Build a 0-length vector. |
|
ArrayRealVector(ArrayRealVector v)
Construct a vector from another vector, using a deep copy. |
|
ArrayRealVector(ArrayRealVector v1,
ArrayRealVector v2)
Construct a vector by appending one vector to another vector. |
|
ArrayRealVector(ArrayRealVector v,
boolean deep)
Construct a vector from another vector. |
|
ArrayRealVector(ArrayRealVector v1,
double[] v2)
Construct a vector by appending one vector to another vector. |
|
ArrayRealVector(double[] d)
Construct a vector from an array, copying the input array. |
|
ArrayRealVector(Double[] d)
Construct a vector from an array. |
|
ArrayRealVector(double[] v1,
ArrayRealVector v2)
Construct a vector by appending one vector to another vector. |
|
ArrayRealVector(double[] d,
boolean copyArray)
Create a new ArrayRealVector using the input array as the underlying data array. |
|
ArrayRealVector(double[] v1,
double[] v2)
Construct a vector by appending one vector to another vector. |
|
ArrayRealVector(double[] d,
int pos,
int size)
Construct a vector from part of a array. |
|
ArrayRealVector(Double[] d,
int pos,
int size)
Construct a vector from part of a Double array |
|
ArrayRealVector(int size)
Construct a (size)-length vector of zeros. |
|
ArrayRealVector(int size,
double preset)
Construct an (size)-length vector with preset values. |
|
ArrayRealVector(RealVector v)
Construct a vector from another vector, using a deep copy. |
Method Summary | |
---|---|
ArrayRealVector |
add(ArrayRealVector v)
Compute the sum of this and v. |
RealVector |
add(double[] v)
Compute the sum of this and v. |
RealVector |
add(RealVector v)
Compute the sum of this and v. |
ArrayRealVector |
append(ArrayRealVector v)
Construct a vector by appending a vector to this vector. |
RealVector |
append(double in)
Construct a vector by appending a double to this vector. |
RealVector |
append(double[] in)
Construct a vector by appending a double array to this vector. |
RealVector |
append(RealVector v)
Construct a vector by appending a vector to this vector. |
protected void |
checkVectorDimensions(int n)
Check if instance dimension is equal to some expected value. |
protected void |
checkVectorDimensions(RealVector v)
Check if instance and specified vectors have the same dimension. |
RealVector |
copy()
Returns a (deep) copy of this. |
double |
dotProduct(ArrayRealVector v)
Compute the dot product. |
double |
dotProduct(double[] v)
Compute the dot product. |
double |
dotProduct(RealVector v)
Compute the dot product. |
ArrayRealVector |
ebeDivide(ArrayRealVector v)
Element-by-element division. |
RealVector |
ebeDivide(double[] v)
Element-by-element division. |
RealVector |
ebeDivide(RealVector v)
Element-by-element division. |
ArrayRealVector |
ebeMultiply(ArrayRealVector v)
Element-by-element multiplication. |
RealVector |
ebeMultiply(double[] v)
Element-by-element multiplication. |
RealVector |
ebeMultiply(RealVector v)
Element-by-element multiplication. |
boolean |
equals(Object other)
Test for the equality of two real vectors. |
double[] |
getData()
Returns vector entries as a double array. |
double[] |
getDataRef()
Returns a reference to the underlying data array. |
int |
getDimension()
Returns the size of the vector. |
double |
getDistance(ArrayRealVector v)
Distance between two vectors. |
double |
getDistance(double[] v)
Distance between two vectors. |
double |
getDistance(RealVector v)
Distance between two vectors. |
double |
getEntry(int index)
Returns the entry in the specified index. |
double |
getL1Distance(ArrayRealVector v)
Distance between two vectors. |
double |
getL1Distance(double[] v)
Distance between two vectors. |
double |
getL1Distance(RealVector v)
Distance between two vectors. |
double |
getL1Norm()
Returns the L1 norm of the vector. |
double |
getLInfDistance(ArrayRealVector v)
Distance between two vectors. |
double |
getLInfDistance(double[] v)
Distance between two vectors. |
double |
getLInfDistance(RealVector v)
Distance between two vectors. |
double |
getLInfNorm()
Returns the L∞ norm of the vector. |
double |
getNorm()
Returns the L2 norm of the vector. |
RealVector |
getSubVector(int index,
int n)
Get a subvector from consecutive elements. |
int |
hashCode()
Get a hashCode for the real vector. |
boolean |
isInfinite()
Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise |
boolean |
isNaN()
Returns true if any coordinate of this vector is NaN; false otherwise |
RealVector |
mapAbs()
Map the Math.abs(double) function to each entry. |
RealVector |
mapAbsToSelf()
Map the Math.abs(double) function to each entry. |
RealVector |
mapAcos()
Map the Math.acos(double) function to each entry. |
RealVector |
mapAcosToSelf()
Map the Math.acos(double) function to each entry. |
RealVector |
mapAdd(double d)
Map an addition operation to each entry. |
RealVector |
mapAddToSelf(double d)
Map an addition operation to each entry. |
RealVector |
mapAsin()
Map the Math.asin(double) function to each entry. |
RealVector |
mapAsinToSelf()
Map the Math.asin(double) function to each entry. |
RealVector |
mapAtan()
Map the Math.atan(double) function to each entry. |
RealVector |
mapAtanToSelf()
Map the Math.atan(double) function to each entry. |
RealVector |
mapCbrt()
Map the Math.cbrt(double) function to each entry. |
RealVector |
mapCbrtToSelf()
Map the Math.cbrt(double) function to each entry. |
RealVector |
mapCeil()
Map the Math.ceil(double) function to each entry. |
RealVector |
mapCeilToSelf()
Map the Math.ceil(double) function to each entry. |
RealVector |
mapCos()
Map the Math.cos(double) function to each entry. |
RealVector |
mapCosh()
Map the Math.cosh(double) function to each entry. |
RealVector |
mapCoshToSelf()
Map the Math.cosh(double) function to each entry. |
RealVector |
mapCosToSelf()
Map the Math.cos(double) function to each entry. |
RealVector |
mapDivide(double d)
Map a division operation to each entry. |
RealVector |
mapDivideToSelf(double d)
Map a division operation to each entry. |
RealVector |
mapExp()
Map the Math.exp(double) function to each entry. |
RealVector |
mapExpm1()
Map the Math.expm1(double) function to each entry. |
RealVector |
mapExpm1ToSelf()
Map the Math.expm1(double) function to each entry. |
RealVector |
mapExpToSelf()
Map the Math.exp(double) function to each entry. |
RealVector |
mapFloor()
Map the Math.floor(double) function to each entry. |
RealVector |
mapFloorToSelf()
Map the Math.floor(double) function to each entry. |
RealVector |
mapInv()
Map the 1/x function to each entry. |
RealVector |
mapInvToSelf()
Map the 1/x function to each entry. |
RealVector |
mapLog()
Map the Math.log(double) function to each entry. |
RealVector |
mapLog10()
Map the Math.log10(double) function to each entry. |
RealVector |
mapLog10ToSelf()
Map the Math.log10(double) function to each entry. |
RealVector |
mapLog1p()
Map the Math.log1p(double) function to each entry. |
RealVector |
mapLog1pToSelf()
Map the Math.log1p(double) function to each entry. |
RealVector |
mapLogToSelf()
Map the Math.log(double) function to each entry. |
RealVector |
mapMultiply(double d)
Map a multiplication operation to each entry. |
RealVector |
mapMultiplyToSelf(double d)
Map a multiplication operation to each entry. |
RealVector |
mapPow(double d)
Map a power operation to each entry. |
RealVector |
mapPowToSelf(double d)
Map a power operation to each entry. |
RealVector |
mapRint()
Map the Math.rint(double) function to each entry. |
RealVector |
mapRintToSelf()
Map the Math.rint(double) function to each entry. |
RealVector |
mapSignum()
Map the Math.signum(double) function to each entry. |
RealVector |
mapSignumToSelf()
Map the Math.signum(double) function to each entry. |
RealVector |
mapSin()
Map the Math.sin(double) function to each entry. |
RealVector |
mapSinh()
Map the Math.sinh(double) function to each entry. |
RealVector |
mapSinhToSelf()
Map the Math.sinh(double) function to each entry. |
RealVector |
mapSinToSelf()
Map the Math.sin(double) function to each entry. |
RealVector |
mapSqrt()
Map the Math.sqrt(double) function to each entry. |
RealVector |
mapSqrtToSelf()
Map the Math.sqrt(double) function to each entry. |
RealVector |
mapSubtract(double d)
Map a subtraction operation to each entry. |
RealVector |
mapSubtractToSelf(double d)
Map a subtraction operation to each entry. |
RealVector |
mapTan()
Map the Math.tan(double) function to each entry. |
RealVector |
mapTanh()
Map the Math.tanh(double) function to each entry. |
RealVector |
mapTanhToSelf()
Map the Math.tanh(double) function to each entry. |
RealVector |
mapTanToSelf()
Map the Math.tan(double) function to each entry. |
RealVector |
mapUlp()
Map the Math.ulp(double) function to each entry. |
RealVector |
mapUlpToSelf()
Map the Math.ulp(double) function to each entry. |
RealMatrix |
outerProduct(ArrayRealVector v)
Compute the outer product. |
RealMatrix |
outerProduct(double[] v)
Compute the outer product. |
RealMatrix |
outerProduct(RealVector v)
Compute the outer product. |
ArrayRealVector |
projection(ArrayRealVector v)
Find the orthogonal projection of this vector onto another vector. |
RealVector |
projection(double[] v)
Find the orthogonal projection of this vector onto another vector. |
RealVector |
projection(RealVector v)
Find the orthogonal projection of this vector onto another vector. |
void |
set(double value)
Set all elements to a single value. |
void |
set(int index,
ArrayRealVector v)
Set a set of consecutive elements. |
void |
setEntry(int index,
double value)
Set a single element. |
void |
setSubVector(int index,
double[] v)
Set a set of consecutive elements. |
void |
setSubVector(int index,
RealVector v)
Set a set of consecutive elements. |
ArrayRealVector |
subtract(ArrayRealVector v)
Compute this minus v. |
RealVector |
subtract(double[] v)
Compute this minus v. |
RealVector |
subtract(RealVector v)
Compute this minus v. |
double[] |
toArray()
Convert the vector to a double array. |
String |
toString()
|
void |
unitize()
Converts this vector into a unit vector. |
RealVector |
unitVector()
Creates a unit vector pointing in the direction of this vector. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected double[] data
Constructor Detail |
---|
public ArrayRealVector()
Zero-length vectors may be used to initialized construction of vectors
by data gathering. We start with zero-length and use either the ArrayRealVector(ArrayRealVector, ArrayRealVector)
constructor
or one of the append
method (append(double)
, append(double[])
, append(ArrayRealVector)
) to gather data
into this vector.
public ArrayRealVector(int size)
size
- size of the vectorpublic ArrayRealVector(int size, double preset)
size
- size of the vectorpreset
- fill the vector with this scalar valuepublic ArrayRealVector(double[] d)
d
- array of doubles.public ArrayRealVector(double[] d, boolean copyArray) throws NullPointerException, IllegalArgumentException
If an array is built specially in order to be embedded in a
ArrayRealVector and not used directly, the
copyArray
may be
set to false
d
- data for new vectorcopyArray
- if true, the input array will be copied, otherwise
it will be referenced
IllegalArgumentException
- if d
is empty
NullPointerException
- if d
is nullArrayRealVector(double[])
public ArrayRealVector(double[] d, int pos, int size)
d
- array of doubles.pos
- position of first entrysize
- number of entries to copypublic ArrayRealVector(Double[] d)
d
- array of Doubles.public ArrayRealVector(Double[] d, int pos, int size)
d
- array of Doubles.pos
- position of first entrysize
- number of entries to copypublic ArrayRealVector(RealVector v)
v
- vector to copypublic ArrayRealVector(ArrayRealVector v)
v
- vector to copypublic ArrayRealVector(ArrayRealVector v, boolean deep)
v
- vector to copydeep
- if true perform a deep copy otherwise perform a shallow copypublic ArrayRealVector(ArrayRealVector v1, ArrayRealVector v2)
v1
- first vector (will be put in front of the new vector)v2
- second vector (will be put at back of the new vector)public ArrayRealVector(ArrayRealVector v1, double[] v2)
v1
- first vector (will be put in front of the new vector)v2
- second vector (will be put at back of the new vector)public ArrayRealVector(double[] v1, ArrayRealVector v2)
v1
- first vector (will be put in front of the new vector)v2
- second vector (will be put at back of the new vector)public ArrayRealVector(double[] v1, double[] v2)
v1
- first vector (will be put in front of the new vector)v2
- second vector (will be put at back of the new vector)Method Detail |
---|
public RealVector copy()
copy
in interface RealVector
public RealVector add(RealVector v) throws IllegalArgumentException
add
in interface RealVector
v
- vector to be added
IllegalArgumentException
- if v is not the same size as thispublic RealVector add(double[] v) throws IllegalArgumentException
add
in interface RealVector
v
- vector to be added
IllegalArgumentException
- if v is not the same size as thispublic ArrayRealVector add(ArrayRealVector v) throws IllegalArgumentException
v
- vector to be added
IllegalArgumentException
- if v is not the same size as thispublic RealVector subtract(RealVector v) throws IllegalArgumentException
subtract
in interface RealVector
v
- vector to be subtracted
IllegalArgumentException
- if v is not the same size as thispublic RealVector subtract(double[] v) throws IllegalArgumentException
subtract
in interface RealVector
v
- vector to be subtracted
IllegalArgumentException
- if v is not the same size as thispublic ArrayRealVector subtract(ArrayRealVector v) throws IllegalArgumentException
v
- vector to be subtracted
IllegalArgumentException
- if v is not the same size as thispublic RealVector mapAdd(double d)
mapAdd
in interface RealVector
d
- value to be added to each entry
public RealVector mapAddToSelf(double d)
The instance is changed by this method.
mapAddToSelf
in interface RealVector
d
- value to be added to each entry
public RealVector mapSubtract(double d)
mapSubtract
in interface RealVector
d
- value to be subtracted to each entry
public RealVector mapSubtractToSelf(double d)
The instance is changed by this method.
mapSubtractToSelf
in interface RealVector
d
- value to be subtracted to each entry
public RealVector mapMultiply(double d)
mapMultiply
in interface RealVector
d
- value to multiply all entries by
public RealVector mapMultiplyToSelf(double d)
The instance is changed by this method.
mapMultiplyToSelf
in interface RealVector
d
- value to multiply all entries by
public RealVector mapDivide(double d)
mapDivide
in interface RealVector
d
- value to divide all entries by
public RealVector mapDivideToSelf(double d)
The instance is changed by this method.
mapDivideToSelf
in interface RealVector
d
- value to divide all entries by
public RealVector mapPow(double d)
mapPow
in interface RealVector
d
- value to raise all entries to
public RealVector mapPowToSelf(double d)
The instance is changed by this method.
mapPowToSelf
in interface RealVector
d
- value to raise all entries to
public RealVector mapExp()
Math.exp(double)
function to each entry.
mapExp
in interface RealVector
public RealVector mapExpToSelf()
Math.exp(double)
function to each entry.
The instance is changed by this method.
mapExpToSelf
in interface RealVector
public RealVector mapExpm1()
Math.expm1(double)
function to each entry.
mapExpm1
in interface RealVector
public RealVector mapExpm1ToSelf()
Math.expm1(double)
function to each entry.
The instance is changed by this method.
mapExpm1ToSelf
in interface RealVector
public RealVector mapLog()
Math.log(double)
function to each entry.
mapLog
in interface RealVector
public RealVector mapLogToSelf()
Math.log(double)
function to each entry.
The instance is changed by this method.
mapLogToSelf
in interface RealVector
public RealVector mapLog10()
Math.log10(double)
function to each entry.
mapLog10
in interface RealVector
public RealVector mapLog10ToSelf()
Math.log10(double)
function to each entry.
The instance is changed by this method.
mapLog10ToSelf
in interface RealVector
public RealVector mapLog1p()
Math.log1p(double)
function to each entry.
mapLog1p
in interface RealVector
public RealVector mapLog1pToSelf()
Math.log1p(double)
function to each entry.
The instance is changed by this method.
mapLog1pToSelf
in interface RealVector
public RealVector mapCosh()
Math.cosh(double)
function to each entry.
mapCosh
in interface RealVector
public RealVector mapCoshToSelf()
Math.cosh(double)
function to each entry.
The instance is changed by this method.
mapCoshToSelf
in interface RealVector
public RealVector mapSinh()
Math.sinh(double)
function to each entry.
mapSinh
in interface RealVector
public RealVector mapSinhToSelf()
Math.sinh(double)
function to each entry.
The instance is changed by this method.
mapSinhToSelf
in interface RealVector
public RealVector mapTanh()
Math.tanh(double)
function to each entry.
mapTanh
in interface RealVector
public RealVector mapTanhToSelf()
Math.tanh(double)
function to each entry.
The instance is changed by this method.
mapTanhToSelf
in interface RealVector
public RealVector mapCos()
Math.cos(double)
function to each entry.
mapCos
in interface RealVector
public RealVector mapCosToSelf()
Math.cos(double)
function to each entry.
The instance is changed by this method.
mapCosToSelf
in interface RealVector
public RealVector mapSin()
Math.sin(double)
function to each entry.
mapSin
in interface RealVector
public RealVector mapSinToSelf()
Math.sin(double)
function to each entry.
The instance is changed by this method.
mapSinToSelf
in interface RealVector
public RealVector mapTan()
Math.tan(double)
function to each entry.
mapTan
in interface RealVector
public RealVector mapTanToSelf()
Math.tan(double)
function to each entry.
The instance is changed by this method.
mapTanToSelf
in interface RealVector
public RealVector mapAcos()
Math.acos(double)
function to each entry.
mapAcos
in interface RealVector
public RealVector mapAcosToSelf()
Math.acos(double)
function to each entry.
The instance is changed by this method.
mapAcosToSelf
in interface RealVector
public RealVector mapAsin()
Math.asin(double)
function to each entry.
mapAsin
in interface RealVector
public RealVector mapAsinToSelf()
Math.asin(double)
function to each entry.
The instance is changed by this method.
mapAsinToSelf
in interface RealVector
public RealVector mapAtan()
Math.atan(double)
function to each entry.
mapAtan
in interface RealVector
public RealVector mapAtanToSelf()
Math.atan(double)
function to each entry.
The instance is changed by this method.
mapAtanToSelf
in interface RealVector
public RealVector mapInv()
mapInv
in interface RealVector
public RealVector mapInvToSelf()
The instance is changed by this method.
mapInvToSelf
in interface RealVector
public RealVector mapAbs()
Math.abs(double)
function to each entry.
mapAbs
in interface RealVector
public RealVector mapAbsToSelf()
Math.abs(double)
function to each entry.
The instance is changed by this method.
mapAbsToSelf
in interface RealVector
public RealVector mapSqrt()
Math.sqrt(double)
function to each entry.
mapSqrt
in interface RealVector
public RealVector mapSqrtToSelf()
Math.sqrt(double)
function to each entry.
The instance is changed by this method.
mapSqrtToSelf
in interface RealVector
public RealVector mapCbrt()
Math.cbrt(double)
function to each entry.
mapCbrt
in interface RealVector
public RealVector mapCbrtToSelf()
Math.cbrt(double)
function to each entry.
The instance is changed by this method.
mapCbrtToSelf
in interface RealVector
public RealVector mapCeil()
Math.ceil(double)
function to each entry.
mapCeil
in interface RealVector
public RealVector mapCeilToSelf()
Math.ceil(double)
function to each entry.
The instance is changed by this method.
mapCeilToSelf
in interface RealVector
public RealVector mapFloor()
Math.floor(double)
function to each entry.
mapFloor
in interface RealVector
public RealVector mapFloorToSelf()
Math.floor(double)
function to each entry.
The instance is changed by this method.
mapFloorToSelf
in interface RealVector
public RealVector mapRint()
Math.rint(double)
function to each entry.
mapRint
in interface RealVector
public RealVector mapRintToSelf()
Math.rint(double)
function to each entry.
The instance is changed by this method.
mapRintToSelf
in interface RealVector
public RealVector mapSignum()
Math.signum(double)
function to each entry.
mapSignum
in interface RealVector
public RealVector mapSignumToSelf()
Math.signum(double)
function to each entry.
The instance is changed by this method.
mapSignumToSelf
in interface RealVector
public RealVector mapUlp()
Math.ulp(double)
function to each entry.
mapUlp
in interface RealVector
public RealVector mapUlpToSelf()
Math.ulp(double)
function to each entry.
The instance is changed by this method.
mapUlpToSelf
in interface RealVector
public RealVector ebeMultiply(RealVector v) throws IllegalArgumentException
ebeMultiply
in interface RealVector
v
- vector by which instance elements must be multiplied
IllegalArgumentException
- if v is not the same size as thispublic RealVector ebeMultiply(double[] v) throws IllegalArgumentException
ebeMultiply
in interface RealVector
v
- vector by which instance elements must be multiplied
IllegalArgumentException
- if v is not the same size as thispublic ArrayRealVector ebeMultiply(ArrayRealVector v) throws IllegalArgumentException
v
- vector by which instance elements must be multiplied
IllegalArgumentException
- if v is not the same size as thispublic RealVector ebeDivide(RealVector v) throws IllegalArgumentException
ebeDivide
in interface RealVector
v
- vector by which instance elements must be divided
IllegalArgumentException
- if v is not the same size as thispublic RealVector ebeDivide(double[] v) throws IllegalArgumentException
ebeDivide
in interface RealVector
v
- vector by which instance elements must be divided
IllegalArgumentException
- if v is not the same size as thispublic ArrayRealVector ebeDivide(ArrayRealVector v) throws IllegalArgumentException
v
- vector by which instance elements must be divided
IllegalArgumentException
- if v is not the same size as thispublic double[] getData()
getData
in interface RealVector
public double[] getDataRef()
Does not make a fresh copy of the underlying data.
public double dotProduct(RealVector v) throws IllegalArgumentException
dotProduct
in interface RealVector
v
- vector with which dot product should be computed
IllegalArgumentException
- if v is not the same size as thispublic double dotProduct(double[] v) throws IllegalArgumentException
dotProduct
in interface RealVector
v
- vector with which dot product should be computed
IllegalArgumentException
- if v is not the same size as thispublic double dotProduct(ArrayRealVector v) throws IllegalArgumentException
v
- vector with which dot product should be computed
IllegalArgumentException
- if v is not the same size as thispublic double getNorm()
The L2 norm is the root of the sum of the squared elements.
getNorm
in interface RealVector
RealVector.getL1Norm()
,
RealVector.getLInfNorm()
,
RealVector.getDistance(RealVector)
public double getL1Norm()
The L1 norm is the sum of the absolute values of elements.
getL1Norm
in interface RealVector
RealVector.getNorm()
,
RealVector.getLInfNorm()
,
RealVector.getL1Distance(RealVector)
public double getLInfNorm()
The L∞ norm is the max of the absolute values of elements.
getLInfNorm
in interface RealVector
RealVector.getNorm()
,
RealVector.getL1Norm()
,
RealVector.getLInfDistance(RealVector)
public double getDistance(RealVector v) throws IllegalArgumentException
This method computes the distance consistent with the L2 norm, i.e. the square root of the sum of elements differences, or euclidian distance.
getDistance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getL1Distance(RealVector)
,
RealVector.getLInfDistance(RealVector)
,
RealVector.getNorm()
public double getDistance(double[] v) throws IllegalArgumentException
This method computes the distance consistent with the L2 norm, i.e. the square root of the sum of elements differences, or euclidian distance.
getDistance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getL1Distance(double[])
,
RealVector.getLInfDistance(double[])
,
RealVector.getNorm()
public double getDistance(ArrayRealVector v) throws IllegalArgumentException
This method computes the distance consistent with the L2 norm, i.e. the square root of the sum of elements differences, or euclidian distance.
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisgetDistance(RealVector)
,
getL1Distance(ArrayRealVector)
,
getLInfDistance(ArrayRealVector)
,
getNorm()
public double getL1Distance(RealVector v) throws IllegalArgumentException
This method computes the distance consistent with L1 norm, i.e. the sum of the absolute values of elements differences.
getL1Distance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getDistance(RealVector)
,
RealVector.getLInfDistance(RealVector)
,
RealVector.getL1Norm()
public double getL1Distance(double[] v) throws IllegalArgumentException
This method computes the distance consistent with L1 norm, i.e. the sum of the absolute values of elements differences.
getL1Distance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getDistance(double[])
,
RealVector.getLInfDistance(double[])
,
RealVector.getL1Norm()
public double getL1Distance(ArrayRealVector v) throws IllegalArgumentException
This method computes the distance consistent with L1 norm, i.e. the sum of the absolute values of elements differences.
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisgetDistance(RealVector)
,
getL1Distance(ArrayRealVector)
,
getLInfDistance(ArrayRealVector)
,
getNorm()
public double getLInfDistance(RealVector v) throws IllegalArgumentException
This method computes the distance consistent with L∞ norm, i.e. the max of the absolute values of elements differences.
getLInfDistance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getDistance(RealVector)
,
RealVector.getL1Distance(RealVector)
,
RealVector.getLInfNorm()
public double getLInfDistance(double[] v) throws IllegalArgumentException
This method computes the distance consistent with L∞ norm, i.e. the max of the absolute values of elements differences.
getLInfDistance
in interface RealVector
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisRealVector.getDistance(double[])
,
RealVector.getL1Distance(double[])
,
RealVector.getLInfNorm()
public double getLInfDistance(ArrayRealVector v) throws IllegalArgumentException
This method computes the distance consistent with L∞ norm, i.e. the max of the absolute values of elements differences.
v
- vector to which distance is requested
IllegalArgumentException
- if v is not the same size as thisgetDistance(RealVector)
,
getL1Distance(ArrayRealVector)
,
getLInfDistance(ArrayRealVector)
,
getNorm()
public RealVector unitVector() throws ArithmeticException
The instance is not changed by this method.
unitVector
in interface RealVector
ArithmeticException
- if the norm is nullpublic void unitize() throws ArithmeticException
The instance itself is changed by this method.
unitize
in interface RealVector
ArithmeticException
- if the norm is nullpublic RealVector projection(RealVector v)
projection
in interface RealVector
v
- vector onto which instance must be projected
public RealVector projection(double[] v)
projection
in interface RealVector
v
- vector onto which instance must be projected
public ArrayRealVector projection(ArrayRealVector v)
v
- vector onto which instance must be projected
IllegalArgumentException
- if v is not the same size as thispublic RealMatrix outerProduct(RealVector v) throws IllegalArgumentException
outerProduct
in interface RealVector
v
- vector with which outer product should be computed
IllegalArgumentException
- if v is not the same size as thispublic RealMatrix outerProduct(ArrayRealVector v) throws IllegalArgumentException
v
- vector with which outer product should be computed
IllegalArgumentException
- if v is not the same size as thispublic RealMatrix outerProduct(double[] v) throws IllegalArgumentException
outerProduct
in interface RealVector
v
- vector with which outer product should be computed
IllegalArgumentException
- if v is not the same size as thispublic double getEntry(int index) throws MatrixIndexException
The index start at 0 and must be lesser than the size,
otherwise a MatrixIndexException
is thrown.
getEntry
in interface RealVector
index
- index location of entry to be fetched
MatrixIndexException
- if the index is not validRealVector.setEntry(int, double)
public int getDimension()
getDimension
in interface RealVector
public RealVector append(RealVector v)
append
in interface RealVector
v
- vector to append to this one.
public ArrayRealVector append(ArrayRealVector v)
v
- vector to append to this one.
public RealVector append(double in)
append
in interface RealVector
in
- double to append.
public RealVector append(double[] in)
append
in interface RealVector
in
- double array to append.
public RealVector getSubVector(int index, int n)
getSubVector
in interface RealVector
index
- index of first element.n
- number of elements to be retrieved.
public void setEntry(int index, double value)
setEntry
in interface RealVector
index
- element index.value
- new value for the element.RealVector.getEntry(int)
public void setSubVector(int index, RealVector v)
setSubVector
in interface RealVector
index
- index of first element to be set.v
- vector containing the values to set.RealVector.setSubVector(int, double[])
public void setSubVector(int index, double[] v)
setSubVector
in interface RealVector
index
- index of first element to be set.v
- vector containing the values to set.RealVector.setSubVector(int, RealVector)
public void set(int index, ArrayRealVector v) throws MatrixIndexException
index
- index of first element to be set.v
- vector containing the values to set.
MatrixIndexException
- if the index is
inconsistent with vector sizepublic void set(double value)
set
in interface RealVector
value
- single value to set for all elementspublic double[] toArray()
The array is independent from vector data, it's elements are copied.
toArray
in interface RealVector
public String toString()
toString
in class Object
protected void checkVectorDimensions(RealVector v) throws IllegalArgumentException
v
- vector to compare instance with
IllegalArgumentException
- if the vectors do not
have the same dimensionprotected void checkVectorDimensions(int n) throws IllegalArgumentException
n
- expected dimension.
IllegalArgumentException
- if the dimension is
inconsistent with vector sizepublic boolean isNaN()
isNaN
in interface RealVector
public boolean isInfinite()
isInfinite
in interface RealVector
public boolean equals(Object other)
If all coordinates of two real vectors are exactly the same, and none are
Double.NaN
, the two real vectors are considered to be equal.
NaN
coordinates are considered to affect globally the vector
and be equals to each other - i.e, if either (or all) coordinates of the
real vector are equal to Double.NaN
, the real vector is equal to
a vector with all Double.NaN
coordinates.
equals
in class Object
other
- Object to test for equality to this
public int hashCode()
All NaN values have the same hash code.
hashCode
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |