Class GVector
java.lang.Object
javax.vecmath.GVector
- All Implemented Interfaces:
Serializable, Cloneable
A double precision, general, dynamically-resizable,
one-dimensional vector class. Index numbering begins with zero.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionGVector(double[] vector) Constructs a new GVector from the specified array elements.GVector(double[] vector, int length) Constructs a new GVector of the specified length and initializes it by copying the specified number of elements from the specified array.GVector(int length) Constructs a new GVector of the specified length with all vector elements initialized to 0.Constructs a new GVector from the specified vector.Constructs a new GVector and copies the initial values from the specified tuple.Constructs a new GVector and copies the initial values from the specified tuple.Constructs a new GVector and copies the initial values from the specified tuple.Constructs a new GVector and copies the initial values from the specified tuple.Constructs a new GVector and copies the initial values from the specified tuple. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidSets the value of this vector to sum of itself and the specified vectorfinal voidSets the value of this vector to the vector sum of vectors vector1 and vector2.final doubleReturns the (n-space) angle in radians between this vector and the vector parameter; the return value is constrained to the range [0,PI].clone()Creates a new object of the same class as this object.final doubleReturns the dot product of this vector and vector v1.booleanepsilonEquals(GVector v1, double epsilon) Returns true if the L-infinite distance between this vector and vector v1 is less than or equal to the epsilon parameter, otherwise returns false.booleanReturns true if the Object o1 is of type GMatrix and all of the data members of o1 are equal to the corresponding data members in this GMatrix.booleanReturns true if all of the data members of GVector vector1 are equal to the corresponding data members in this GVector.final doublegetElement(int index) Retrieves the value at the specified index value of this vector.final intgetSize()Returns the number of elements in this vector.inthashCode()Returns a hash code value based on the data values in this object.final voidinterpolate(GVector v1, double alpha) Linearly interpolates between this vector and vector v1 and places the result into this tuple: this = (1-alpha)*this + alpha*v1.final voidinterpolate(GVector v1, float alpha) Deprecated.Use interpolate(GVector, double) insteadfinal voidinterpolate(GVector v1, GVector v2, double alpha) Linearly interpolates between vectors v1 and v2 and places the result into this tuple: this = (1-alpha)*v1 + alpha*v2.final voidinterpolate(GVector v1, GVector v2, float alpha) Deprecated.Use interpolate(GVector, GVector, double) insteadfinal voidLUDBackSolve(GMatrix LU, GVector b, GVector permutation) LU Decomposition Back Solve; this method takes the LU matrix and the permutation vector produced by the GMatrix method LUD and solves the equation (LU)*x = b by placing the solution vector x into this vector.final voidMultiplies matrix m1 times Vector v1 and places the result into this vector (this = m1*v1).final voidMultiplies the transpose of vector v1 (ie, v1 becomes a row vector with respect to the multiplication) times matrix m1 and places the result into this vector (this = transpose(v1)*m1).final voidnegate()Negates the value of this vector: this = -this.final doublenorm()Returns the square root of the sum of the squares of this vector (its length in n-dimensional space).final voidNormalizes this vector in place.final voidSets the value of this vector to the normalization of vector v1.final doubleReturns the sum of the squares of this vector (its length squared in n-dimensional space).final voidscale(double s) Scales this vector by the scale factor s.final voidSets the value of this vector to the scalar multiplication of the scale factor with the vector v1.final voidSets the value of this vector to the scalar multiplication by s of vector v1 plus vector v2 (this = s*v1 + v2).final voidset(double[] vector) Sets the value of this vector to the values found in the array parameter.final voidSets the value of this vector to the values found in vector vector.final voidSets the value of this vector to the values in tuplefinal voidSets the value of this vector to the values in tuplefinal voidSets the value of this vector to the values in tuplefinal voidSets the value of this vector to the values in tuplefinal voidSets the value of this vector to the values in tuplefinal voidsetElement(int index, double value) Modifies the value at the specified index of this vector.final voidsetSize(int length) Changes the size of this vector dynamically.final voidSets the value of this vector to the vector difference of itself and vector (this = this - vector).final voidSets the value of this vector to the vector difference of vectors vector1 and vector2 (this = vector1 - vector2).final voidSVDBackSolve(GMatrix U, GMatrix W, GMatrix V, GVector b) Solves for x in Ax = b, where x is this vector (nx1), A is mxn, b is mx1, and A = U*W*transpose(V); U,W,V must be precomputed and can be found by taking the singular value decomposition (SVD) of A using the method SVD found in the GMatrix class.toString()Returns a string that contains the values of this GVector.final voidzero()Sets all the values in this vector to zero.
-
Constructor Details
-
GVector
public GVector(int length) Constructs a new GVector of the specified length with all vector elements initialized to 0.- Parameters:
length- the number of elements in this GVector.
-
GVector
public GVector(double[] vector) Constructs a new GVector from the specified array elements. The length of this GVector is set to the length of the specified array. The array elements are copied into this new GVector.- Parameters:
vector- the values for the new GVector.
-
GVector
Constructs a new GVector from the specified vector. The vector elements are copied into this new GVector.- Parameters:
vector- the source GVector for this new GVector.
-
GVector
Constructs a new GVector and copies the initial values from the specified tuple.- Parameters:
tuple- the source for the new GVector's initial values
-
GVector
Constructs a new GVector and copies the initial values from the specified tuple.- Parameters:
tuple- the source for the new GVector's initial values
-
GVector
Constructs a new GVector and copies the initial values from the specified tuple.- Parameters:
tuple- the source for the new GVector's initial values
-
GVector
Constructs a new GVector and copies the initial values from the specified tuple.- Parameters:
tuple- the source for the new GVector's initial values
-
GVector
Constructs a new GVector and copies the initial values from the specified tuple.- Parameters:
tuple- the source for the new GVector's initial values
-
GVector
public GVector(double[] vector, int length) Constructs a new GVector of the specified length and initializes it by copying the specified number of elements from the specified array. The array must contain at leastlengthelements (i.e.,vector.length≥length. The length of this new GVector is set to the specified length.- Parameters:
vector- The array from which the values will be copied.length- The number of values copied from the array.
-
-
Method Details
-
norm
public final double norm()Returns the square root of the sum of the squares of this vector (its length in n-dimensional space).- Returns:
- length of this vector
-
normSquared
public final double normSquared()Returns the sum of the squares of this vector (its length squared in n-dimensional space).- Returns:
- length squared of this vector
-
normalize
Sets the value of this vector to the normalization of vector v1.- Parameters:
v1- the un-normalized vector
-
normalize
public final void normalize()Normalizes this vector in place. -
scale
Sets the value of this vector to the scalar multiplication of the scale factor with the vector v1.- Parameters:
s- the scalar valuev1- the source vector
-
scale
public final void scale(double s) Scales this vector by the scale factor s.- Parameters:
s- the scalar value
-
scaleAdd
-
add
Sets the value of this vector to sum of itself and the specified vector- Parameters:
vector- the second vector
-
add
-
sub
Sets the value of this vector to the vector difference of itself and vector (this = this - vector).- Parameters:
vector- the other vector
-
sub
-
mul
-
mul
Multiplies the transpose of vector v1 (ie, v1 becomes a row vector with respect to the multiplication) times matrix m1 and places the result into this vector (this = transpose(v1)*m1). The result is technically a row vector, but the GVector class only knows about column vectors, and so the result is stored as a column vector.- Parameters:
v1- The vector that is temporarily transposedm1- The matrix in the multiplication
-
negate
public final void negate()Negates the value of this vector: this = -this. -
zero
public final void zero()Sets all the values in this vector to zero. -
setSize
public final void setSize(int length) Changes the size of this vector dynamically. If the size is increased no data values will be lost. If the size is decreased, only those data values whose vector positions were eliminated will be lost.- Parameters:
length- number of desired elements in this vector
-
set
public final void set(double[] vector) Sets the value of this vector to the values found in the array parameter. The array should be at least equal in length to the number of elements in the vector.- Parameters:
vector- the source array
-
set
Sets the value of this vector to the values found in vector vector.- Parameters:
vector- the source vector
-
set
Sets the value of this vector to the values in tuple- Parameters:
tuple- the source for the new GVector's new values
-
set
Sets the value of this vector to the values in tuple- Parameters:
tuple- the source for the new GVector's new values
-
set
Sets the value of this vector to the values in tuple- Parameters:
tuple- the source for the new GVector's new values
-
set
Sets the value of this vector to the values in tuple- Parameters:
tuple- the source for the new GVector's new values
-
set
Sets the value of this vector to the values in tuple- Parameters:
tuple- the source for the new GVector's new values
-
getSize
public final int getSize()Returns the number of elements in this vector.- Returns:
- number of elements in this vector
-
getElement
public final double getElement(int index) Retrieves the value at the specified index value of this vector.- Parameters:
index- the index of the element to retrieve (zero indexed)- Returns:
- the value at the indexed element
-
setElement
public final void setElement(int index, double value) Modifies the value at the specified index of this vector.- Parameters:
index- the index if the element to modify (zero indexed)value- the new vector element value
-
toString
-
hashCode
public int hashCode()Returns a hash code value based on the data values in this object. Two different GVector objects with identical data values (i.e., GVector.equals returns true) will return the same hash number. Two GVector objects with different data members may return the same hash value, although this is not likely. -
equals
Returns true if all of the data members of GVector vector1 are equal to the corresponding data members in this GVector.- Parameters:
vector1- The vector with which the comparison is made.- Returns:
- true or false
-
equals
-
epsilonEquals
Returns true if the L-infinite distance between this vector and vector v1 is less than or equal to the epsilon parameter, otherwise returns false. The L-infinite distance is equal to MAX[abs(x1-x2), abs(y1-y2), . . . ].- Parameters:
v1- The vector to be compared to this vectorepsilon- the threshold value
-
dot
Returns the dot product of this vector and vector v1.- Parameters:
v1- the other vector- Returns:
- the dot product of this and v1
-
SVDBackSolve
Solves for x in Ax = b, where x is this vector (nx1), A is mxn, b is mx1, and A = U*W*transpose(V); U,W,V must be precomputed and can be found by taking the singular value decomposition (SVD) of A using the method SVD found in the GMatrix class.- Parameters:
U- The U matrix produced by the GMatrix method SVDW- The W matrix produced by the GMatrix method SVDV- The V matrix produced by the GMatrix method SVDb- The b vector in the linear equation Ax = b
-
LUDBackSolve
LU Decomposition Back Solve; this method takes the LU matrix and the permutation vector produced by the GMatrix method LUD and solves the equation (LU)*x = b by placing the solution vector x into this vector. This vector should be the same length or longer than b.- Parameters:
LU- The matrix into which the lower and upper decompostions have been placedb- The b vector in the equation (LU)*x = bpermutation- The row permuations that were necessary to produce the LU matrix parameter
-
angle
Returns the (n-space) angle in radians between this vector and the vector parameter; the return value is constrained to the range [0,PI].- Parameters:
v1- The other vector- Returns:
- The angle in radians in the range [0,PI]
-
interpolate
-
interpolate
Deprecated.Use interpolate(GVector, double) instead -
interpolate
-
interpolate
Linearly interpolates between this vector and vector v1 and places the result into this tuple: this = (1-alpha)*this + alpha*v1.- Parameters:
v1- the first vectoralpha- the alpha interpolation parameter
-
clone
Creates a new object of the same class as this object.- Overrides:
clonein classObject- Returns:
- a clone of this instance.
- Throws:
OutOfMemoryError- if there is not enough memory.- Since:
- vecmath 1.3
- See Also:
-