| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--javax.vecmath.GMatrix
A double precision, general, dynamically-resizable, two-dimensional matrix class. Row and column numbering begins with zero. The representation is row major.
| Constructor Summary | |
GMatrix(GMatrix matrix)
Constructs a new GMatrix and copies the initial values from the parameter matrix.  | 
|
GMatrix(int nRow,
        int nCol)
Constructs an nRow by NCol identity matrix.  | 
|
GMatrix(int nRow,
        int nCol,
        double[] matrix)
Constructs an nRow by nCol matrix initialized to the values in the matrix array.  | 
|
| Method Summary | |
 void | 
add(GMatrix m1)
Sets the value of this matrix to sum of itself and matrix m1.  | 
 void | 
add(GMatrix m1,
    GMatrix m2)
Sets the value of this matrix to the matrix sum of matrices m1 and m2.  | 
 void | 
copySubMatrix(int rowSource,
              int colSource,
              int numRow,
              int numCol,
              int rowDest,
              int colDest,
              GMatrix target)
Copies a sub-matrix derived from this matrix into the target matrix.  | 
 boolean | 
epsilonEquals(GMatrix m1,
              double epsilon)
Returns true if the L-infinite distance between this matrix and matrix m1 is less than or equal to the epsilon parameter, otherwise returns false.  | 
 boolean | 
epsilonEquals(GMatrix m1,
              float epsilon)
Deprecated. Use epsilonEquals(GMatrix, double) instead  | 
 boolean | 
equals(GMatrix m1)
Returns true if all of the data members of GMatrix m1 are equal to the corresponding data members in this GMatrix.  | 
 boolean | 
equals(java.lang.Object o1)
Returns 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.  | 
 void | 
get(GMatrix m1)
Places the values in the this GMatrix into the matrix m1; m1 should be at least as large as this GMatrix.  | 
 void | 
get(Matrix3d m1)
Places the values in the upper 3x3 of this GMatrix into the matrix m1.  | 
 void | 
get(Matrix3f m1)
Places the values in the upper 3x3 of this GMatrix into the matrix m1.  | 
 void | 
get(Matrix4d m1)
Places the values in the upper 4x4 of this GMatrix into the matrix m1.  | 
 void | 
get(Matrix4f m1)
Places the values in the upper 4x4 of this GMatrix into the matrix m1.  | 
 void | 
getColumn(int col,
          double[] array)
Places the values of the specified column into the array parameter.  | 
 void | 
getColumn(int col,
          GVector vector)
Places the values of the specified column into the vector parameter.  | 
 double | 
getElement(int row,
           int column)
Retrieves the value at the specified row and column of this matrix.  | 
 int | 
getNumCol()
Returns the number of colmuns in this matrix.  | 
 int | 
getNumRow()
Returns the number of rows in this matrix.  | 
 void | 
getRow(int row,
       double[] array)
Places the values of the specified row into the array parameter.  | 
 void | 
getRow(int row,
       GVector vector)
Places the values of the specified row into the vector parameter.  | 
 int | 
hashCode()
Returns a hash code value based on the data values in this object.  | 
 void | 
identityMinus()
Subtracts this matrix from the identity matrix and puts the values back into this (this = I - this).  | 
 void | 
invert()
Inverts this matrix in place.  | 
 void | 
invert(GMatrix m1)
Inverts matrix m1 and places the new values into this matrix.  | 
 int | 
LUD(GMatrix LU,
    GVector permutation)
LU Decomposition: this matrix must be a square matrix and the LU GMatrix parameter must be the same size as this matrix.  | 
 void | 
mul(GMatrix m1)
Sets the value of this matrix to the result of multiplying itself with matrix m1 (this = this * m1).  | 
 void | 
mul(GMatrix m1,
    GMatrix m2)
Sets the value of this matrix to the result of multiplying the two argument matrices together (this = m1 * m2).  | 
 void | 
mul(GVector v1,
    GVector v2)
Computes the outer product of the two vectors; multiplies the the first vector by the transpose of the second vector and places the matrix result into this matrix.  | 
 void | 
mulTransposeBoth(GMatrix m1,
                 GMatrix m2)
Multiplies the transpose of matrix m1 times the transpose of matrix m2, and places the result into this.  | 
 void | 
mulTransposeLeft(GMatrix m1,
                 GMatrix m2)
Multiplies the transpose of matrix m1 times matrix m2, and places the result into this.  | 
 void | 
mulTransposeRight(GMatrix m1,
                  GMatrix m2)
Multiplies matrix m1 times the transpose of matrix m2, and places the result into this.  | 
 void | 
negate()
Negates the value of this matrix: this = -this.  | 
 void | 
negate(GMatrix m1)
Sets the value of this matrix equal to the negation of of the GMatrix parameter.  | 
 void | 
set(double[] matrix)
Sets the value of this matrix to the values found in the array parameter.  | 
 void | 
set(GMatrix m1)
Sets the value of this matrix to the values found in matrix m1.  | 
 void | 
set(Matrix3d m1)
Sets the value of this matrix to that of the Matrix3d provided.  | 
 void | 
set(Matrix3f m1)
Sets the value of this matrix to that of the Matrix3f provided.  | 
 void | 
set(Matrix4d m1)
Sets the value of this matrix to that of the Matrix4d provided.  | 
 void | 
set(Matrix4f m1)
Sets the value of this matrix to that of the Matrix4f provided.  | 
 void | 
setColumn(int col,
          double[] array)
Copy the values from the array into the specified column of this matrix.  | 
 void | 
setColumn(int col,
          GVector vector)
Copy the values from the vector into the specified column of this matrix.  | 
 void | 
setElement(int row,
           int column,
           double value)
Modifies the value at the specified row and column of this matrix.  | 
 void | 
setIdentity()
Sets this GMatrix to the identity matrix.  | 
 void | 
setRow(int row,
       double[] array)
Copy the values from the array into the specified row of this matrix.  | 
 void | 
setRow(int row,
       GVector vector)
Copy the values from the vector into the specified row of this matrix.  | 
 void | 
setScale(double scale)
Sets this matrix to a uniform scale matrix; all of the values are reset.  | 
 void | 
setSize(int nRow,
        int nCol)
Changes the size of this matrix dynamically.  | 
 void | 
setZero()
Sets all the values in this matrix to zero.  | 
 void | 
sub(GMatrix m1)
Sets the value of this matrix to the matrix difference of itself and matrix m1 (this = this - m1).  | 
 void | 
sub(GMatrix m1,
    GMatrix m2)
Sets the value of this matrix to the matrix difference of matrices m1 and m2 (this = m1 - m2).  | 
 int | 
SVD(GMatrix U,
    GMatrix W,
    GMatrix V)
Finds the singular value decomposition (SVD) of this matrix such that this = U*W*transpose(V); and returns the rank of this matrix; the values of U,W,V are all overwritten.  | 
 java.lang.String | 
toString()
Returns a string that contains the values of this GMatrix.  | 
 double | 
trace()
Returns the trace of this matrix.  | 
 void | 
transpose()
Transposes this matrix in place.  | 
 void | 
transpose(GMatrix m1)
Places the matrix values of the transpose of matrix m1 into this matrix.  | 
| Methods inherited from class java.lang.Object | 
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
public GMatrix(int nRow,
               int nCol)
nRow - number of rows in this matrix.nCol - number of columns in this matrix.
public GMatrix(int nRow,
               int nCol,
               double[] matrix)
nRow - number of rows in this matrix.nCol - number of columns in this matrix.matrix - a 1D array that specifies a matrix in row major fashionpublic GMatrix(GMatrix matrix)
matrix - the source of the initial values of the new GMatrix| Method Detail | 
public final void mul(GMatrix m1)
m1 - the other matrix
public final void mul(GMatrix m1,
                      GMatrix m2)
m1 - the first matrixm2 - the second matrix
public final void mul(GVector v1,
                      GVector v2)
v1 - the first vector, treated as a row vectorv2 - the second vector, treated as a column vectorpublic final void add(GMatrix m1)
m1 - the other matrix
public final void add(GMatrix m1,
                      GMatrix m2)
m1 - the first matrixm2 - the second matrixpublic final void sub(GMatrix m1)
m1 - the other matrix
public final void sub(GMatrix m1,
                      GMatrix m2)
m1 - the first matrixm2 - the second matrixpublic final void negate()
public final void negate(GMatrix m1)
m1 - The source matrixpublic final void setIdentity()
public final void setZero()
public final void identityMinus()
public final void invert()
public final void invert(GMatrix m1)
m1 - the matrix to be inverted
public final void copySubMatrix(int rowSource,
                                int colSource,
                                int numRow,
                                int numCol,
                                int rowDest,
                                int colDest,
                                GMatrix target)
rowSource - the top-most row of the sub-matrixcolSource - the left-most column of the sub-matrixnumRow - the number of rows in the sub-matrixnumCol - the number of columns in the sub-matrixrowDest - the top-most row of the position of the copied
                 sub-matrix within the target matrixcolDest - the left-most column of the position of the copied
                 sub-matrix within the target matrixtarget - the matrix into which the sub-matrix will be copied
public final void setSize(int nRow,
                          int nCol)
nRow - number of desired rows in this matrixnCol - number of desired columns in this matrixpublic final void set(double[] matrix)
matrix - the row major source arraypublic final void set(Matrix3f m1)
m1 - the matrixpublic final void set(Matrix3d m1)
m1 - the matrixpublic final void set(Matrix4f m1)
m1 - the matrixpublic final void set(Matrix4d m1)
m1 - the matrixpublic final void set(GMatrix m1)
m1 - the source matrixpublic final int getNumRow()
public final int getNumCol()
public final double getElement(int row,
                               int column)
row - the row number to be retrieved (zero indexed)column - the column number to be retrieved (zero indexed)
public final void setElement(int row,
                             int column,
                             double value)
row - the row number to be modified (zero indexed)column - the column number to be modified (zero indexed)value - the new matrix element value
public final void getRow(int row,
                         double[] array)
row - the target row numberarray - the array into which the row values will be placed
public final void getRow(int row,
                         GVector vector)
row - the target row numbervector - the vector into which the row values will be placed
public final void getColumn(int col,
                            double[] array)
col - the target column numberarray - the array into which the column values will be placed
public final void getColumn(int col,
                            GVector vector)
col - the target column numbervector - the vector into which the column values will be placedpublic final void get(Matrix3d m1)
m1 - The matrix that will hold the new valuespublic final void get(Matrix3f m1)
m1 - The matrix that will hold the new valuespublic final void get(Matrix4d m1)
m1 - The matrix that will hold the new valuespublic final void get(Matrix4f m1)
m1 - The matrix that will hold the new valuespublic final void get(GMatrix m1)
m1 - The matrix that will hold the new values
public final void setRow(int row,
                         double[] array)
row - the row of this matrix into which the array values 
             will be copied.array - the source array
public final void setRow(int row,
                         GVector vector)
row - the row of this matrix into which the array values
             will be copiedvector - the source vector
public final void setColumn(int col,
                            double[] array)
col - the column of this matrix into which the array values 
             will be copiedarray - the source array
public final void setColumn(int col,
                            GVector vector)
col - the column of this matrix into which the array values
             will be copiedvector - the source vector
public final void mulTransposeBoth(GMatrix m1,
                                   GMatrix m2)
m1 - The matrix on the left hand side of the multiplicationm2 - The matrix on the right hand side of the multiplication
public final void mulTransposeRight(GMatrix m1,
                                    GMatrix m2)
m1 - The matrix on the left hand side of the multiplicationm2 - The matrix on the right hand side of the multiplication
public final void mulTransposeLeft(GMatrix m1,
                                   GMatrix m2)
m1 - The matrix on the left hand side of the multiplicationm2 - The matrix on the right hand side of the multiplicationpublic final void transpose()
public final void transpose(GMatrix m1)
m1 - the matrix to be transposed (but not modified)public java.lang.String toString()
toString in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(GMatrix m1)
m1 - The matrix with which the comparison is made.public boolean equals(java.lang.Object o1)
equals in class java.lang.Objecto1 - The object with which the comparison is made.
public boolean epsilonEquals(GMatrix m1,
                             float epsilon)
public boolean epsilonEquals(GMatrix m1,
                             double epsilon)
m1 - The matrix to be compared to this matrixepsilon - the threshold valuepublic final double trace()
public final int SVD(GMatrix U,
                     GMatrix W,
                     GMatrix V)
U - The computed U matrix in the equation this = U*W*transpose(V)W - The computed W matrix in the equation this = U*W*transpose(V)V - The computed V matrix in the equation this = U*W*transpose(V)
public final int LUD(GMatrix LU,
                     GVector permutation)
LU - The matrix into which the lower and upper decompositions
 will be placed.permutation - The row permutation effected by the partial
 pivotingpublic final void setScale(double scale)
scale - The new scale value
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||