|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmaspack.matrix.MatrixBase
maspack.matrix.DenseMatrixBase
maspack.matrix.Matrix6dBase
maspack.matrix.Matrix6d
public class Matrix6d
A general 4 x 4 matrix with the elements stored as explicit fields.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface maspack.matrix.Matrix |
---|
Matrix.Partition, Matrix.WriteFormat |
Field Summary | |
---|---|
static Matrix6d |
ZERO
Global zero matrix. |
Fields inherited from class maspack.matrix.Matrix6dBase |
---|
m00, m01, m02, m03, m04, m05, m10, m11, m12, m13, m14, m15, m20, m21, m22, m23, m24, m25, m30, m31, m32, m33, m34, m35, m40, m41, m42, m43, m44, m45, m50, m51, m52, m53, m54, m55 |
Fields inherited from interface maspack.matrix.Matrix |
---|
INDEFINITE, POSITIVE_DEFINITE, SPD, SYMMETRIC |
Constructor Summary | |
---|---|
Matrix6d()
Creates a matrix and initializes it to zero. |
|
Matrix6d(double[] vals)
Creates a matrix and initializes its elements from an array of values. |
|
Matrix6d(Matrix M)
Creates a matrix and initializes its elements to those of the matrix M. |
Method Summary | |
---|---|
void |
add(Matrix6dBase M1)
Adds this matrix to M1 and places the result in this matrix. |
void |
add(Matrix6dBase M1,
Matrix6dBase M2)
Adds matrix M1 to M2 and places the result in this matrix. |
void |
addSubMatrix00(Matrix3dBase M)
Adds to 3x3 sub-matrix of this matrix starting at (0, 0). |
void |
addSubMatrix03(Matrix3dBase M)
Adds to the 3x3 sub-matrix of this matrix starting at (0, 3). |
void |
addSubMatrix30(Matrix3dBase M)
Adds to the 3x3 sub-matrix of this matrix starting at (3, 0). |
void |
addSubMatrix33(Matrix3dBase M)
Adds to the 3x3 sub-matrix of this matrix starting at (3, 3). |
void |
getSubMatrix00(Matrix3dBase M)
Gets the 3x3 sub-matrix of this matrix starting at (0, 0). |
void |
getSubMatrix03(Matrix3dBase M)
Gets the 3x3 sub-matrix of this matrix starting at (0, 3). |
void |
getSubMatrix30(Matrix3dBase M)
Gets the 3x3 sub-matrix of this matrix starting at (3, 0). |
void |
getSubMatrix33(Matrix3dBase M)
Gets the 3x3 sub-matrix of this matrix starting at (3, 3). |
void |
inverseTransform(RotationMatrix3d R)
Applies an inverse rotational transformation R to this matrix, in place. |
void |
inverseTransform(RotationMatrix3d R,
Matrix6d M1)
Applies an inverse rotational transformation R to a matrix M1 and place the result in this matrix. |
boolean |
invert(Matrix6dBase M)
Inverts the matrix M and places the result in this matrix, return false if M is detected to be singular. |
void |
mul(Matrix6dBase M1)
Multiplies this matrix by M1 and places the result in this matrix. |
void |
mul(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies matrix M1 by M2 and places the result in this matrix. |
boolean |
mulInverse(Matrix6dBase M1)
Multiplies this matrix by the inverse of M1 and places the result in this matrix. |
boolean |
mulInverseBoth(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies the inverse of matrix M1 by the inverse of M2 and places the result in this matrix. |
boolean |
mulInverseLeft(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies the inverse of matrix M1 by M2 and places the result in this matrix. |
boolean |
mulInverseRight(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies matrix M1 by the inverse of M2 and places the result in this matrix. |
void |
mulTranspose(Matrix6dBase M1)
Multiplies this matrix by the transpose of M1 and places the result in this matrix. |
void |
mulTransposeBoth(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies the transpose of matrix M1 by the transpose of M2 and places the result in this matrix. |
void |
mulTransposeLeft(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies the transpose of matrix M1 by M2 and places the result in this matrix. |
void |
mulTransposeRight(Matrix6dBase M1,
Matrix6dBase M2)
Multiplies matrix M1 by the transpose of M2 and places the result in this matrix. |
void |
negate(Matrix6dBase M1)
Sets this matrix to the negative of M1. |
void |
scale(double s)
Scales the elements of this matrix by s . |
void |
scale(double s,
Matrix6dBase M1)
Scales the elements of matrix M1 by s and places the
results in this matrix. |
void |
setDiagonal(double[] vals)
Sets this matrix to a diagonal matrix whose values are specified by the array vals. |
void |
setDiagonal(VectorNd diag)
|
void |
setLowerToUpper()
Makes this matrix symmetric by setting its lower triangular elements equal to the corresponding upper triangular elements. |
void |
setRandom()
Sets the elements of this matrix to uniformly distributed random values in the range -0.5 (inclusive) to 0.5 (exclusive). |
void |
setRandom(double lower,
double upper)
Sets the elements of this matrix to uniformly distributed random values in a specified range. |
void |
setRandom(double lower,
double upper,
java.util.Random generator)
Sets the elements of this matrix to uniformly distributed random values in a specified range, using a supplied random number generator. |
void |
setSubMatrix00(Matrix3dBase M)
Sets the 3x3 sub-matrix of this matrix starting at (0, 0). |
void |
setSubMatrix03(Matrix3dBase M)
Sets the 3x3 sub-matrix of this matrix starting at (0, 3). |
void |
setSubMatrix30(Matrix3dBase M)
Sets the 3x3 sub-matrix of this matrix starting at (3, 0). |
void |
setSubMatrix33(Matrix3dBase M)
Sets the 3x3 sub-matrix of this matrix starting at (3, 3). |
void |
setZero()
Sets the elements of this matrix to zero. |
void |
sub(Matrix6dBase M1)
Subtracts this matrix from M1 and places the result in this matrix. |
void |
sub(Matrix6dBase M1,
Matrix6dBase M2)
Subtracts matrix M1 from M2 and places the result in this matrix. |
void |
transform(RotationMatrix3d R)
Applies a rotational transformation R to this matrix, in place. |
void |
transform(RotationMatrix3d R,
Matrix6d M1)
Applies a rotational transformation R to M1 and place the result in this matrix. |
void |
transpose(Matrix6dBase M1)
Takes the transpose of matrix M1 and places the result in this matrix. |
Methods inherited from class maspack.matrix.Matrix6dBase |
---|
clone, colSize, determinant, epsilonEquals, equals, frobeniusNorm, get, get, get, getColumn, getColumn, getRow, getRow, infinityNorm, invert, mul, mul, mulInverse, mulInverse, mulInverseTranspose, mulInverseTranspose, mulTranspose, mulTranspose, negate, oneNorm, rowSize, scaledAdd, set, set, set, set, setColumn, setIdentity, setRow, transpose |
Methods inherited from class maspack.matrix.DenseMatrixBase |
---|
add, checkConsistency, set, set, set, setCCSValues, setColumn, setCRSValues, setRow, setSubMatrix |
Methods inherited from class maspack.matrix.MatrixBase |
---|
containsNaN, epsilonEquals, equals, get, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getColumn, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getDefaultFormat, getRow, getSize, getSubMatrix, hasNaN, idString, isFixedSize, isSymmetric, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, scan, setCRSValues, setDefaultFormat, setSize, toString, toString, toString, trace, write, write, write, write, write, writeToFile |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface maspack.matrix.Matrix |
---|
epsilonEquals, equals, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getColumn, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getRow, getSize, getSubMatrix, isFixedSize, isSymmetric, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, scan, setSize, toString, trace, write, write, write |
Field Detail |
---|
public static final Matrix6d ZERO
Constructor Detail |
---|
public Matrix6d()
public Matrix6d(double[] vals)
vals
- element values for the matrix, with element (i,j) stored at location
i*4+j
public Matrix6d(Matrix M)
M
- matrix object to be copied.Method Detail |
---|
public void getSubMatrix00(Matrix3dBase M)
M
- returns the sub matrixpublic void getSubMatrix30(Matrix3dBase M)
M
- returns the sub matrixpublic void getSubMatrix03(Matrix3dBase M)
M
- returns the sub matrixpublic void getSubMatrix33(Matrix3dBase M)
M
- returns the sub matrixpublic void setSubMatrix00(Matrix3dBase M)
M
- new sub matrix valuepublic void setSubMatrix30(Matrix3dBase M)
M
- new sub matrix valuepublic void setSubMatrix03(Matrix3dBase M)
M
- new sub matrix valuepublic void setSubMatrix33(Matrix3dBase M)
M
- new sub matrix valuepublic void addSubMatrix00(Matrix3dBase M)
M
- sub matrix to addpublic void addSubMatrix30(Matrix3dBase M)
M
- sub matrix to addpublic void addSubMatrix03(Matrix3dBase M)
M
- sub matrix to addpublic void addSubMatrix33(Matrix3dBase M)
M
- sub matrix to addpublic void mul(Matrix6dBase M1)
M1
- right-hand matrixpublic void mul(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic void mulTranspose(Matrix6dBase M1)
M1
- right-hand matrixpublic void mulTransposeLeft(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic void mulTransposeRight(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic void mulTransposeBoth(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic boolean mulInverse(Matrix6dBase M1)
M1
- right-hand matrix
public boolean mulInverseRight(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrix
public boolean mulInverseLeft(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrix
public boolean mulInverseBoth(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrix
public void add(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic void add(Matrix6dBase M1)
M1
- right-hand matrixpublic void sub(Matrix6dBase M1, Matrix6dBase M2)
M1
- left-hand matrixM2
- right-hand matrixpublic void sub(Matrix6dBase M1)
M1
- right-hand matrixpublic void scale(double s)
s
.
s
- scaling factorpublic void scale(double s, Matrix6dBase M1)
s
and places the
results in this matrix.
s
- scaling factorM1
- matrix to be scaledpublic void negate(Matrix6dBase M1)
M1
- matrix to negatepublic void transpose(Matrix6dBase M1)
M1
- matrix to take the transpose ofpublic void setZero()
public void setRandom()
public void setRandom(double lower, double upper)
lower
- lower random value (inclusive)upper
- upper random value (exclusive)public void setRandom(double lower, double upper, java.util.Random generator)
lower
- lower random value (inclusive)upper
- upper random value (exclusive)generator
- random number generatorpublic boolean invert(Matrix6dBase M)
M
- matrix to invert
public void setDiagonal(VectorNd diag)
public void setDiagonal(double[] vals)
vals
- diagonal valuespublic void transform(RotationMatrix3d R)
transform(R,M)
with M
equal to this matrix.
R
- rotational transformation matrixpublic void transform(RotationMatrix3d R, Matrix6d M1)
[ R 0 ] [ R^T 0 ] [ ] M1 [ ] [ 0 R ] [ 0 R^T ]
R
- rotational transformation matrixM1
- matrix to transformpublic void inverseTransform(RotationMatrix3d R)
inverseTransform(R,M)
with M
equal to this matrix.
R
- rotational transformation matrixpublic void inverseTransform(RotationMatrix3d R, Matrix6d M1)
[ R^T 0 ] [ R 0 ] [ ] M1 [ ] [ 0 R^T ] [ 0 R ]
R
- rotational transformation matrixM1
- matrix to transformpublic void setLowerToUpper()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |