repthy
Class ProductGroupElt

Object
  extended byProductGroupElt
All Implemented Interfaces:
GroupElt

public class ProductGroupElt
extends Object
implements GroupElt

An element of a ProductGroup.

Author:
Mark McConnell

Constructor Summary
ProductGroupElt(GroupElt g1, GroupElt g2)
           
 
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 getFactor1()
           
 GroupElt getFactor2()
           
 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.
 String toString()
           
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProductGroupElt

public ProductGroupElt(GroupElt g1,
                       GroupElt g2)
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)
Description copied from interface: GroupElt
Tests for equality in the mathematical sense, not by ==.

Specified by:
equals in interface GroupElt

hashCode

public int hashCode()
Description copied from interface: GroupElt
Must be consistent with GroupElt.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

getFactor1

public GroupElt getFactor1()

getFactor2

public GroupElt getFactor2()

toString

public String toString()