repthy
Class Subgroup

Object
  extended bySubgroup

public class Subgroup
extends Object

Represents a pair of Groups GH where H is a subgroup of G. Left coset representatives are returned by leftCosetReps(), and right coset representatives by rightCosetReps().

The current implementation assumes G is small enough that all its elements can be put into a HashSet. This will be true if G is a HashGroup, and maybe in other cases.

Author:
Mark McConnell

Field Summary
static int TRIVIAL
          Used with the (G, int) constructor.
 
Constructor Summary
Subgroup(Group G, Group H)
           
Subgroup(Group G, int type)
          Constructor for special cases.
 
Method Summary
 Iterator cosetReps()
          An alias for leftCosetReps().
 boolean equals(Object o)
          Tests whether the G's are the same and the H's are the same.
 Subgroup getCentralizer()
          Returns a pair (G, C) where C is the centralizer of H in G.
 Group getGroup()
          Returns the ambient group G.
 Homomorphism getInclusion()
          Returns the homomorphism from H into G that maps h to h.
 int getIndex()
           
 Subgroup getNormalizer()
          Returns a pair (G, N) where N is the normalizer of H in G.
 Group getSubgroup()
          Returns the subgroup H itself.
 int hashCode()
          Consistent with equals.
 GpCharacter Ind(GpCharacter chiH)
          Returns the character of the induced representation IndHG(chiH), where chiH is a character on H.
 boolean isNormal()
          Whether H is a normal subgroup of G.
 Iterator leftCosetReps()
          Enumerates representatives g in G for the left cosets gH.
 GpCharacter Res(GpCharacter chiG)
          Returns the restriction to H of the given character on G.
 Iterator rightCosetReps()
          Enumerates representatives g in G for the right cosets Hg.
 Group sg()
          An alias for getSubgroup().
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRIVIAL

public static final int TRIVIAL
Used with the (G, int) constructor.

See Also:
Constant Field Values
Constructor Detail

Subgroup

public Subgroup(Group G,
                Group H)
Throws:
IllegalArgumentException - if H is not really a subgroup.

Subgroup

public Subgroup(Group G,
                int type)
Constructor for special cases.

Parameters:
type - One of the constants in this class, like TRIVIAL.
Method Detail

getGroup

public final Group getGroup()
Returns the ambient group G.


getSubgroup

public final Group getSubgroup()
Returns the subgroup H itself.


sg

public final Group sg()
An alias for getSubgroup().


getIndex

public int getIndex()

equals

public boolean equals(Object o)
Tests whether the G's are the same and the H's are the same.


hashCode

public int hashCode()
Consistent with equals.


getInclusion

public Homomorphism getInclusion()
Returns the homomorphism from H into G that maps h to h.


isNormal

public boolean isNormal()
Whether H is a normal subgroup of G.


cosetReps

public final Iterator cosetReps()
An alias for leftCosetReps().


leftCosetReps

public Iterator leftCosetReps()
Enumerates representatives g in G for the left cosets gH.

Throws:
UnsupportedOperationException - if you call remove() on this iterator.

rightCosetReps

public Iterator rightCosetReps()
Enumerates representatives g in G for the right cosets Hg.

Throws:
UnsupportedOperationException - if you call remove() on this iterator.

getCentralizer

public Subgroup getCentralizer()
Returns a pair (G, C) where C is the centralizer of H in G.


getNormalizer

public Subgroup getNormalizer()
Returns a pair (G, N) where N is the normalizer of H in G.


Res

public GpCharacter Res(GpCharacter chiG)
Returns the restriction to H of the given character on G.


Ind

public GpCharacter Ind(GpCharacter chiH)
Returns the character of the induced representation IndHG(chiH), where chiH is a character on H.