|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
A GroupElt is an Object supporting the group
operations mult(repthy.GroupElt) and inverse(), with an appropriate
notion of equals(java.lang.Object). Different applications will implement
the abstract methods differently (via composition of functions,
matrix multiplication, etc.) The class provides other
commonly-used methods, such as conjugate(repthy.GroupElt) and commutesWith(repthy.GroupElt).
If A implements GroupElt, its
methods will probably cast their GroupElt arguments
to class A. Hence the arguments must be of the
appropriate class. Expect ClassCastExceptions if this
rule is violated.
If an implementing class also implements Comparable,
the standard conjugacy-class methods in HashGroup
will sort each conjugacy class. However, the implementation
MUST be consistent with equals, as described in the
documentation on Comparable.
GroupElts should be immutable.
| 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. |
boolean |
equals(Object o)
Tests for equality in the mathematical sense, not by ==. |
GroupElt |
getIdentity()
Returns the identity element of the same class as this. |
int |
getOrder(Group G)
Returns the order of this element. |
int |
hashCode()
Must be consistent with equals(java.lang.Object). |
GroupElt |
inverse()
Returns the inverse element for this. |
boolean |
isIdentity()
Tests whether this is the identity element among GroupElts of its class. |
GroupElt |
mult(GroupElt y)
Returns the product this * y. |
GroupElt |
power(int i)
Returns the i-th power of this element. |
| Method Detail |
public GroupElt mult(GroupElt y)
this * y. The operation must
be associative.
public GroupElt inverse()
this.
public boolean equals(Object o)
==.
public int hashCode()
equals(java.lang.Object).
public boolean isIdentity()
GroupElts of its class.
public GroupElt getIdentity()
this.
public GroupElt conjugate(GroupElt y)
y * this * y^(-1). Compare conjugateYinvXY(repthy.GroupElt).
public GroupElt conjugateYinvXY(GroupElt y)
y^(-1) * this * y. Compare conjugate(repthy.GroupElt).
public boolean commutesWith(GroupElt y)
this and y commute.
public int getOrder(Group G)
Group.getEltOrder(GroupElt, Group). However,
if code needs to compute the order for many elements of a fixed
group, Group.getEltOrder(GroupElt, int, int[][]) may be
more efficient.
G - A group containing this element. It can be null, but
if it's not, we can use a more efficient algorithm.public GroupElt power(int i)
Group.power(repthy.GroupElt, int), which uses an efficient
squaring algorithm.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||