repthy
Class QuotientGroupElt

Object
  extended byQuotientGroupElt
All Implemented Interfaces:
GroupElt

public class QuotientGroupElt
extends Object
implements GroupElt

An element "g modulo H", where g is an element of the group G and H is a subgroup of G.

Author:
Mark McConnell

Constructor Summary
QuotientGroupElt(GroupElt g, Subgroup GcontainingH)
          Constructor.
 
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)
          Whether this and o belong to the same G/H and are equal modulo H.
 GroupElt getIdentity()
          Returns the identity element of the same class as this.
 int getOrder(Group G)
          Returns the order of this element.
 int hashCode()
          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.
 String toString()
           
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QuotientGroupElt

public QuotientGroupElt(GroupElt g,
                        Subgroup GcontainingH)
Constructor.

Throws:
IllegalArgumentException - If g is not in G, or the subgroup is not normal.
Method Detail

mult

public GroupElt mult(GroupElt y)
Description copied from interface: GroupElt
Returns the product this * y. The operation must be associative.

Specified by:
mult in interface GroupElt

inverse

public GroupElt inverse()
Description copied from interface: GroupElt
Returns the inverse element for this.

Specified by:
inverse in interface GroupElt

equals

public boolean equals(Object o)
Whether this and o belong to the same G/H and are equal modulo H.

Specified by:
equals in interface GroupElt

hashCode

public int hashCode()
Consistent with equals(java.lang.Object).

Specified by:
hashCode in interface GroupElt

isIdentity

public boolean isIdentity()
Description copied from interface: GroupElt
Tests whether this is the identity element among GroupElts of its class.

Specified by:
isIdentity in interface GroupElt

getIdentity

public GroupElt getIdentity()
Description copied from interface: GroupElt
Returns the identity element of the same class as this.

Specified by:
getIdentity in interface GroupElt

conjugate

public GroupElt conjugate(GroupElt y)
Description copied from interface: GroupElt
Returns y * this * y^(-1). Compare GroupElt.conjugateYinvXY(repthy.GroupElt).

Specified by:
conjugate in interface GroupElt

conjugateYinvXY

public GroupElt conjugateYinvXY(GroupElt y)
Description copied from interface: GroupElt
Returns y^(-1) * this * y. Compare GroupElt.conjugate(repthy.GroupElt).

Specified by:
conjugateYinvXY in interface GroupElt

commutesWith

public boolean commutesWith(GroupElt y)
Description copied from interface: GroupElt
Whether this and y commute.

Specified by:
commutesWith in interface GroupElt

getOrder

public int getOrder(Group G)
Description copied from interface: GroupElt
Returns the order of this element. Implementations may be based on 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.

Specified by:
getOrder in interface GroupElt
Parameters:
G - A group containing this element. It can be null, but if it's not, we can use a more efficient algorithm.

power

public GroupElt power(int i)
Description copied from interface: GroupElt
Returns the i-th power of this element. Implementations may be based on Group.power(repthy.GroupElt, int), which uses an efficient squaring algorithm.

Specified by:
power in interface GroupElt

toString

public String toString()