|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectMatrixModp
PMatrixModp
Square matrices modulo a byte p as in the
superclass MatrixModp, but modulo scalar multiples of the
identity. The underlying matrix is multiplied by a scalar so that
the first non-zero entry in row-major order is 1.
Operations on two PMatrixModps will throw
IllegalArgumentException if the degrees or the primes
don't match.
All operations returning mod p values (matrix entries, det, etc.) will return least positive residues. The constructors convert all matrix entries to their least positive residues. If p is negative, it's silently made positive.
| Constructor Summary | |
PMatrixModp(byte[][] x,
byte p)
Constructor extending MatrixModp.MatrixModp(byte[][],
byte). |
|
PMatrixModp(int n,
byte[] x,
byte p)
Extends the "ρ" constructor MatrixModp.MatrixModp(int, byte[], byte). |
|
PMatrixModp(MatrixModp x)
Projectivizes its argument. |
|
| Method Summary | |
boolean |
commutesWith(GroupElt y)
Whether this and y commute. |
GroupElt |
conjugate(GroupElt y)
Returns y * this * y^(-1). |
GroupElt |
conjugateYinvXY(GroupElt y)
Returns y^(-1) * this * y. |
byte |
det()
Return the determinant--but beware, the result is well-defined only up to n-th powers in the field. |
GroupElt |
getIdentity()
Returns the identity element of the same class as this. |
GroupElt |
inverse()
Returns the inverse element for this. |
boolean |
isOrthogonal(byte d)
Whether this preserves the quadratic form {1,1,d}
up to scalar multiples. |
GroupElt |
mult(GroupElt y)
Returns the product this * y. |
protected void |
projectivize(byte[][] a)
Overwrites its argument with a scalar multiple so that the first non-zero entry in row-major order is 1. |
| Methods inherited from class MatrixModp |
compareTo, det, equals, getEntry, getOrder, getP, getSize, hashCode, isDiagonal, isIdentity, isJordanCanonical, isPermShaped, isSignedPerm, isUnipotentUpperTriangular, isUpperTriangular, main, power, toString |
| Methods inherited from class Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public PMatrixModp(byte[][] x,
byte p)
MatrixModp.MatrixModp(byte[][],
byte).
public PMatrixModp(MatrixModp x)
public PMatrixModp(int n,
byte[] x,
byte p)
MatrixModp.MatrixModp(int, byte[], byte).
| Method Detail |
protected void projectivize(byte[][] a)
public boolean isOrthogonal(byte d)
{1,1,d}
up to scalar multiples. If d is not zero mod
p and p > 2, the group of all orthogonal
matrices depends up to isomorphism only on whether
d is a quadratic residue mod p.
public final byte det()
det in class MatrixModppublic GroupElt mult(GroupElt y)
GroupEltthis * y. The operation must
be associative.
mult in interface GroupEltmult in class MatrixModppublic GroupElt inverse()
GroupEltthis.
inverse in interface GroupEltinverse in class MatrixModppublic GroupElt getIdentity()
GroupEltthis.
getIdentity in interface GroupEltgetIdentity in class MatrixModppublic GroupElt conjugate(GroupElt y)
GroupElty * this * y^(-1). Compare GroupElt.conjugateYinvXY(repthy.GroupElt).
conjugate in interface GroupEltconjugate in class MatrixModppublic GroupElt conjugateYinvXY(GroupElt y)
GroupElty^(-1) * this * y. Compare GroupElt.conjugate(repthy.GroupElt).
conjugateYinvXY in interface GroupEltconjugateYinvXY in class MatrixModppublic boolean commutesWith(GroupElt y)
GroupEltthis and y commute.
commutesWith in interface GroupEltcommutesWith in class MatrixModp
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||