repthy
Class C_n

Object
  extended byAbstractCollection
      extended byAbstractSet
          extended byImmutableSet
              extended byGroup
                  extended byC_n
All Implemented Interfaces:
Collection, Set

public class C_n
extends Group

The cyclic group C_n of order n with generator g. The character table is filled in automatically. The columns of the character table are in order by the powers of g; the rows are in order as the character's value on g goes around the unit circle, counter-clockwise from 1.

The user can either provide a generator g or use the default, the permutation (0 1 2 ... n-1). The method getGenerator() returns g.

Author:
Mark McConnell

Field Summary
 
Fields inherited from class Group
charTable
 
Constructor Summary
C_n(GroupElt g)
          Constructor.
C_n(int n)
          Constructor.
 
Method Summary
 boolean contains(Object o)
           
protected  void fillInCharTable()
          Handles the cyclic case directly.
protected  Comparator getCharComparator()
          This class orders the rows of the character table by hand.
 Set getConjClass(int i)
          Returns (a copy of) the i-th conjugacy class.
 int getConjClassIndex(GroupElt x)
          Returns i such that x is in the i-th conjugacy class.
 int getConjClassNum()
          Returns the number of conjugacy classes.
 GroupElt getGenerator()
           
 Subgroup getSylow(int p)
          Returns one of the Sylow p-subgroups of this group, as a Subgroup in which the underlying subgroup is a PGroup.
 boolean isSimple()
          Whether this group is simple.
 Iterator iterator()
           
static void main(String[] args)
          For testing.
 int size()
           
 String toString()
           
 
Methods inherited from class Group
cyclicSubgpsUpToConj, describeOrder8, elementarySubgps, getCenter, getCentralizer, getCharTable, getCommutatorSubgroup, getCompositionSeries, getConjClassRep, getEltOrder, getEltOrder, getIdentity, getOrder, getProperNormalSubgroup, isAbelian, isCentral, isSubgroupOf, order, power, printTest, tableTest
 
Methods inherited from class ImmutableSet
add, addAll, clear, remove, removeAll, retainAll
 
Methods inherited from class AbstractSet
equals, hashCode
 
Methods inherited from class AbstractCollection
containsAll, isEmpty, toArray, toArray
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Set
containsAll, isEmpty, toArray, toArray
 

Constructor Detail

C_n

public C_n(GroupElt g)
Constructor.


C_n

public C_n(int n)
Constructor.

Throws:
IllegalArgumentException - If n is less than 1.
Method Detail

contains

public boolean contains(Object o)

iterator

public Iterator iterator()

size

public final int size()

getConjClassNum

public final int getConjClassNum()
Description copied from class: Group
Returns the number of conjugacy classes.

Specified by:
getConjClassNum in class Group

getConjClass

public final Set getConjClass(int i)
Description copied from class: Group
Returns (a copy of) the i-th conjugacy class. The inverse operation is Group.getConjClassIndex(repthy.GroupElt).

Implementations may choose to return a SortedSet. If they do, code that needs to pick one element out of the conjugacy class will always pick the first. See Group.getConjClassRep(int).

It's recommended that the Set returned be unmodifiable.

Specified by:
getConjClass in class Group

getConjClassIndex

public int getConjClassIndex(GroupElt x)
Returns i such that x is in the i-th conjugacy class. The inverse operation is getConjClass(int).

Specified by:
getConjClassIndex in class Group
Throws:
NullPointerException - if x is not in the group.

getSylow

public Subgroup getSylow(int p)
Description copied from class: Group
Returns one of the Sylow p-subgroups of this group, as a Subgroup in which the underlying subgroup is a PGroup.

Overrides:
getSylow in class Group

fillInCharTable

protected void fillInCharTable()
                        throws OrthonormalityException
Handles the cyclic case directly.

Overrides:
fillInCharTable in class Group
Throws:
OrthonormalityException - If the table isn't full at the end, or if anything goes wrong in the middle.

getGenerator

public final GroupElt getGenerator()

isSimple

public boolean isSimple()
Description copied from class: Group
Whether this group is simple.

Overrides:
isSimple in class Group

toString

public String toString()

getCharComparator

protected Comparator getCharComparator()
This class orders the rows of the character table by hand.

Overrides:
getCharComparator in class Group

main

public static void main(String[] args)
                 throws OrthonormalityException
For testing. Takes one argument n.

Throws:
OrthonormalityException