repthy
Class CharTable

Object
  extended byAbstractTableModel
      extended byCharTable
All Implemented Interfaces:
Serializable, TableModel

public class CharTable
extends AbstractTableModel

The CharTable of G holds some or all of the character of the irreducible representations of G. Many groups fill in their own character tables, either in full or in part. See GpCharacter, Group.getCharTable().

Author:
Mark McConnell
See Also:
Serialized Form

Field Summary
 
Fields inherited from class AbstractTableModel
listenerList
 
Constructor Summary
CharTable(Group G)
          Constructs an empty character table for G.
 
Method Summary
 void add(GpCharacter chi)
          Adds chi to the character table.
 void addIfNew(GpCharacter chi)
          If the argument is not already in the table (up to equals), put it in using add(repthy.GpCharacter); if it is in the table, do nothing.
 String decompose(GpCharacter chi)
          Returns a String showing the decomposition of the class function chi with respect to the current character table.
 void decomposePullbacks(Homomorphism f)
          If f is a Homomorphism from this to a group H, iterates through each character currently in H's character table, pulls it back by f, and decomposes it with respect to the character table on this.
 GpCharacter getChar(int i)
          Returns the ith character currently in the table.
 Iterator getChars()
          An Iterator view of the characters currently in the table.
 int getColumnCount()
           
 String getColumnName(int j)
          Override this method to change the column headings.
 Group getGroup()
          Returns the underlying group.
 JFrame getJFrame(boolean exitOnClose)
          Returns a JFrame containing a JTable displaying this character table.
 int getRowCount()
           
 Object getValueAt(int i, int j)
          Override this method to change how the entries are printed.
 boolean isFull()
           
 void setShowRealType(boolean b)
          Whether the table should include a column for GpCharacter.getRealType().
 int size()
          Returns the number of characters currently in the table.
 
Methods inherited from class AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CharTable

public CharTable(Group G)
Constructs an empty character table for G.

Method Detail

getGroup

public final Group getGroup()
Returns the underlying group.


size

public int size()
Returns the number of characters currently in the table.


getChar

public GpCharacter getChar(int i)
Returns the ith character currently in the table.


getChars

public Iterator getChars()
An Iterator view of the characters currently in the table.


add

public void add(GpCharacter chi)
         throws OrthonormalityException
Adds chi to the character table. chi should be the character of an IRREDUCIBLE REPRESENTATION, because we assume this when we round the inner products off to integers in parts of the code. We throw an OrthonormalityException if adding the character would stop the set from being orthonormal. Use isFull() to test whether the table is full.

Throws:
IllegalArgumentException - if the underlying groups don't match.
OrthonormalityException - as noted.

isFull

public boolean isFull()

addIfNew

public void addIfNew(GpCharacter chi)
              throws OrthonormalityException
If the argument is not already in the table (up to equals), put it in using add(repthy.GpCharacter); if it is in the table, do nothing.

Throws:
OrthonormalityException - If add(repthy.GpCharacter) throws it.

decompose

public String decompose(GpCharacter chi)
Returns a String showing the decomposition of the class function chi with respect to the current character table.


decomposePullbacks

public void decomposePullbacks(Homomorphism f)
If f is a Homomorphism from this to a group H, iterates through each character currently in H's character table, pulls it back by f, and decomposes it with respect to the character table on this. Prints the result to standard output.


getRowCount

public int getRowCount()

getColumnCount

public int getColumnCount()

setShowRealType

public void setShowRealType(boolean b)
Whether the table should include a column for GpCharacter.getRealType().


getColumnName

public String getColumnName(int j)
Override this method to change the column headings. Column j == 0 is for the names of the characters. For j from 1 through the number of conjugacy classes, the (j-1)-st conjugacy class (as returned by getConjClass(j-1)) is in the j-th column. The last column is for GpCharacter.getRealType().


getValueAt

public Object getValueAt(int i,
                         int j)
Override this method to change how the entries are printed. The i-th row is for the i-th character (as returned by getChar(i)). Column j == 0 is for the names of the characters. For j greater than 0, the (j-1)-st conjugacy class (as returned by getConjClass(j-1)) is in the j-th column.


getJFrame

public JFrame getJFrame(boolean exitOnClose)
Returns a JFrame containing a JTable displaying this character table.

Parameters:
exitOnClose - If true, add code to exit the program whenever the X button of the JFrame is pressed.