|
|||||||||
| 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; 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 copied.vector - the source vector
public final void setColumn(int col,
double[] array)
col - the column of this matrix into which the array values
will be copied.array - the source array
public final void setColumn(int col,
GVector vector)
col - the column of this matrix into which the array values
will be copied.vector - 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()
public int hashCode()
public boolean equals(GMatrix m1)
m1 - The matrix with which the comparison is made.public boolean equals(java.lang.Object o1)
o1 - 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 | ||||||||