Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.vecmath
Class GVector

    java.lang.Object
      javax.vecmath.GVector

All Implemented Interfaces:
  java.io.Serializable

    public class GVector

extends java.lang.Object
implements java.io.Serializable

A double precision, general, and dynamically resizeable one dimensional vector class. Index numbering begins with zero.

Author:
  Kenji hiranabe
See Also:
  Serialized Form

Constructor Summary
`GVector(double[] vector)` Constructs a new generalized mathematic Vector with zero elements; length reprents the number of elements in the vector. !!
`GVector(double[] vector, int length)` Constructs a new GVector by copying length elements from the array parameter.
`GVector(GVector vector)` Constructs a new GVector and copies the initial values from the parameter vector.
`GVector(int length)` Constructs a new generalized mathematic Vector with zero elements; length reprents the number of elements in the vector.
`GVector(Tuple2f tuple)` Constructs a new GVector and copies the initial values from the Tuple
`GVector(Tuple3d tuple)` Constructs a new GVector and copies the initial values from the Tuple
`GVector(Tuple3f tuple)` Constructs a new GVector and copies the initial values from the Tuple
`GVector(Tuple4d tuple)` Constructs a new GVector and copies the initial values from the Tuple
`GVector(Tuple4f tuple)` Constructs a new GVector and copies the initial values from the Tuple

Method Summary
`void` | `add(GVector vector)` Sets the value of this vector to sum of itself and the specified vector
`void` | `add(GVector vector1, GVector vector2)` Sets the value of this vector to the vector sum of vectors vector1 and vector2.
`double` | `angle(GVector v1)` Returns the (n-space) angle in radians between this vector and the vector parameter; the return value is constrained to the range [0,PI].
`double` | `dot(GVector v1)` Returns the dot product of this vector and vector v1.
`boolean` | `epsilonEquals(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.
`boolean` | `equals(GVector vector1)` Returns true if all of the data members of GVector vector1 are equal to the corresponding data members in this GVector.
`boolean` | `equals(java.lang.Object o1)` Returns true if the Object o1 is of type GVector and all of the data members of t1 are equal to the corresponding data members in this GVector.
`double` | `getElement(int index)` Retrieves the value at the specified index value of this vector.
`int` | `getSize()` Returns the number of elements in this vector.
`int` | `hashCode()` Returns a hash number based on the data values in this object.
`void` | `interpolate(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.
`void` | `interpolate(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.
`void` | `LUDBackSolve(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.
`void` | `mul(GMatrix m1, GVector v1)` Multiplies matrix m1 times Vector v1 and places the result into this vector (this = m1*v1).
`void` | `mul(GVector v1, GMatrix m1)` 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).
`void` | `negate()` Negates the value of this vector: this = -this.
`double` | `norm()` Returns the square root of the sum of the squares of this vector (its length in n-dimensional space).
`void` | `normalize()` Normalizes this vector in place.
`void` | `normalize(GVector v1)` Sets the value of this vector to the normalization of vector v1.
`double` | `normSquared()` Returns the sum of the squares of this vector (its length sqaured in n-dimensional space).
`void` | `scale(double s)` Scales this vector by the scale factor s.
`void` | `scale(double s, GVector v1)` Sets the value of this vector to the scalar multiplication of the scale factor with the vector v1.
`void` | `scaleAdd(double s, GVector v1, GVector v2)` Sets the value of this vector to the scalar multiplication by s of vector v1 plus vector v2 (this = s*v1 + v2).
`void` | `set(double[] vector)` Sets the value of this vector to the values found in the array parameter.
`void` | `set(GVector vector)` Sets the value of this vector to the values found in vector vector.
`void` | `set(Tuple2f tuple)` Sets the value of this vector to the values in tuple.
`void` | `set(Tuple3d tuple)` Sets the value of this vector to the values in tuple.
`void` | `set(Tuple3f tuple)` Sets the value of this vector to the values in tuple.
`void` | `set(Tuple4d tuple)` Sets the value of this vector to the values in tuple.
`void` | `set(Tuple4f tuple)` Sets the value of this vector to the values in tuple.
`void` | `setElement(int index, double value)` Modifies the value at the specified index of this vector.
`void` | `setSize(int newSize)` Changes the size of this vector dynamically.
`void` | `sub(GVector vector)` Sets the value of this vector to the vector difference of itself and vector (this = this - vector).
`void` | `sub(GVector vector1, GVector vector2)` Sets the value of this vector to the vector difference of vectors vector1 and vector2 (this = vector1 - vector2).
`void` | `SVDBackSolve(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.
`java.lang.String` | `toString()` Returns a string that contains the values of this GVector.
`void` | `zero()` Sets all the values in this vector to zero.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### GVector

    public GVector(double[] vector)

  Constructs a new generalized mathematic Vector with zero elements; length reprents the number of elements in the vector. !! this comment is a bug in Sun's API !!

  Parameters:
    `vector` - the values for the new vector.

### GVector

    public GVector(double[] vector,
                   int length)

  Constructs a new GVector by copying length elements from the array parameter. The parameter length must be less than or equal to vector.length.

  Parameters:
    `vector` - The array from which the values will be copied.
    `length` - The number of values copied from the array.

### GVector

    public GVector(GVector vector)

  Constructs a new GVector and copies the initial values from the parameter vector.

  Parameters:
    `vector` - the source for the new GVector's initial values

### GVector

    public GVector(int length)

  Constructs a new generalized mathematic Vector with zero elements; length reprents the number of elements in the vector.

  Parameters:
    `length` - number of elements in this vector.

### GVector

    public GVector(Tuple2f tuple)

  Constructs a new GVector and copies the initial values from the Tuple

  Parameters:
    `vector` - the source for the new GVector's initial values

### GVector

    public GVector(Tuple3d tuple)

  Constructs a new GVector and copies the initial values from the Tuple

  Parameters:
    `vector` - the source for the new GVector's initial values

### GVector

    public GVector(Tuple3f tuple)

  Constructs a new GVector and copies the initial values from the Tuple

  Parameters:
    `vector` - the source for the new GVector's initial values

### GVector

    public GVector(Tuple4d tuple)

  Constructs a new GVector and copies the initial values from the Tuple

  Parameters:
    `vector` - the source for the new GVector's initial values

### GVector

    public GVector(Tuple4f tuple)

  Constructs a new GVector and copies the initial values from the Tuple

  Parameters:
    `vector` - the source for the new GVector's initial values

Method Detail

### add

    public final void add(GVector vector)

  Sets the value of this vector to sum of itself and the specified vector

  Parameters:
    `vector` - the second vector

### add

    public final void add(GVector vector1,
                          GVector vector2)

  Sets the value of this vector to the vector sum of vectors vector1 and vector2.

  Parameters:
    `vector1` - the first vector
    `vector2` - the second vector

### angle

    public final double angle(GVector v1)

  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]

### dot

    public final double dot(GVector v1)

  Returns the dot product of this vector and vector v1.

  Parameters:
    `v1` - the other vector
  Returns:
    the dot product of this and v1

### epsilonEquals

    public boolean epsilonEquals(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. The L-infinite distance is equal to MAX[abs(x1-x2), abs(y1-y2), . . . ].

  Parameters:
    `v1` - The vector to be compared to this vector
    `epsilon` - the threshold value

### equals

    public boolean equals(GVector vector1)

  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

    public boolean equals(java.lang.Object o1)

  Returns true if the Object o1 is of type GVector and all of the data members of t1 are equal to the corresponding data members in this GVector.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `o1` - the object with which the comparison is made.

### 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

### getSize

    public final int getSize()

  Returns the number of elements in this vector.

  Returns:
    number of elements in this vector

### hashCode

    public int hashCode()

  Returns a hash number based on the data values in this object. Two different GMatrix objects with identical data values (ie, returns true for equals(GMatrix) ) will return the same hash number. Two objects with different data members may return the same hash value, although this is not likely.

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    the integer hash value

### interpolate

    public final void interpolate(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.

  Parameters:
    `v1` - the first vector
    `alpha` - the alpha interpolation parameter

### interpolate

    public final void interpolate(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.

  Parameters:
    `v1` - the first vector
    `v2` - the second vector
    `alpha` - the alpha interpolation parameter

### LUDBackSolve

    public final void LUDBackSolve(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. This vector should be the same length or longer than b.

  Parameters:
    `LU` - The matrix into which the lower and upper decompositions have been placed
    `b` - The b vector in the equation (LU)*x = b
    `permutation` - The row permuations that were necessary to produce the LU matrix parameter

### mul

    public final void mul(GMatrix m1,
                          GVector v1)

  Multiplies matrix m1 times Vector v1 and places the result into this vector (this = m1*v1).

  Parameters:
    `m1` - The matrix in the multiplication
    `v1` - The vector that is multiplied

### mul

    public final void mul(GVector v1,
                          GMatrix m1)

  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:
    `m1` - The matrix in the multiplication
    `v1` - The vector that is temporarily transposed

### negate

    public final void negate()

  Negates the value of this vector: this = -this.

### 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

### normalize

    public final void normalize()

  Normalizes this vector in place.

### normalize

    public final void normalize(GVector v1)

  Sets the value of this vector to the normalization of vector v1.

  Parameters:
    `v1` - the un-normalized vector

### normSquared

    public final double normSquared()

  Returns the sum of the squares of this vector (its length sqaured in n-dimensional space).

  Returns:
    length squared of this vector

### scale

    public final void scale(double s)

  Scales this vector by the scale factor s.

  Parameters:
    `s` - the scalar value

### scale

    public final void scale(double s,
                            GVector v1)

  Sets the value of this vector to the scalar multiplication of the scale factor with the vector v1.

  Parameters:
    `s` - the scalar value
    `v1` - the source vector

### scaleAdd

    public final void scaleAdd(double s,
                               GVector v1,
                               GVector v2)

  Sets the value of this vector to the scalar multiplication by s of vector v1 plus vector v2 (this = s*v1 + v2).

  Parameters:
    `s` - the scalar value
    `v1` - the vector to be multiplied
    `v2` - the vector to be added

### 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

    public final void set(GVector vector)

  Sets the value of this vector to the values found in vector vector.

  Parameters:
    `vector` - the source vector

### set

    public final void set(Tuple2f tuple)

  Sets the value of this vector to the values in tuple.

  Parameters:
    `tuple` - the source for the new GVector's new values

### set

    public final void set(Tuple3d tuple)

  Sets the value of this vector to the values in tuple.

  Parameters:
    `tuple` - the source for the new GVector's new values

### set

    public final void set(Tuple3f tuple)

  Sets the value of this vector to the values in tuple.

  Parameters:
    `tuple` - the source for the new GVector's new values

### set

    public final void set(Tuple4d tuple)

  Sets the value of this vector to the values in tuple.

  Parameters:
    `tuple` - the source for the new GVector's new values

### set

    public final void set(Tuple4f tuple)

  Sets the value of this vector to the values in tuple.

  Parameters:
    `tuple` - the source for the new GVector's new values

### 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

### setSize

    public final void setSize(int newSize)

  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

### sub

    public final void sub(GVector vector)

  Sets the value of this vector to the vector difference of itself and vector (this = this - vector).

  Parameters:
    `vector` - - the other vector

### sub

    public final void sub(GVector vector1,
                          GVector vector2)

  Sets the value of this vector to the vector difference of vectors vector1 and vector2 (this = vector1 - vector2).

  Parameters:
    `vector1` - the first vector
    `vector2` - the second vector

### SVDBackSolve

    public final void SVDBackSolve(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.

  Parameters:
    `U` - The U matrix produced by the GMatrix method SVD
    `W` - The W matrix produced by the GMatrix method SVD
    `V` - The V matrix produced by the GMatrix method SVD
    `b` - The b vector in the linear equation Ax = b

### toString

    public java.lang.String toString()

  Returns a string that contains the values of this GVector.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    the String representation

### zero

    public final void zero()

  Sets all the values in this vector to zero.

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD