Dear all, On Thu, Feb 02, 2017 at 01:18:12PM +0100, Frank Lübeck wrote: > > I don't see how one could define some "standard" or "canonical" ordering > on conjugacy classes or irreducible characters of any finite group.
Assuming one agrees on a standard ordering of the cyclotomic numbers involved (e.g. the one used by GAP), one can then order the tables so that the result is lexicographiically maximal (or minimal), row-wise (or column-wise). Pick your preferred flavour of the latter alternatives. Best, Dima > > > On Thu, Feb 02, 2017 at 11:35:47AM +0100, Bill Allombert wrote: > > Dear GAP Forum, > > > > If I do: > > gap> S4:=SymmetricGroup(4); > > Sym( [ 1 .. 4 ] ) > > gap> Display(CharacterTable(S4)); > > CT1 > > > > 2 3 2 3 . 2 > > 3 1 . . 1 . > > > > 1a 2a 2b 3a 4a > > 2P 1a 1a 1a 3a 2b > > 3P 1a 2a 2b 1a 4a > > > > X.1 1 -1 1 1 -1 > > X.2 3 -1 -1 . 1 > > X.3 2 . 2 -1 . > > X.4 3 1 -1 . -1 > > X.5 1 1 1 1 1 > > In this case GAP "knows" that S4 is a symmetric group on 4 letters and > returns the library table for this group. It contains the standard > labelling of classes and characters by partitions of 4: > > t1 := CharacterTable(S4); > ClassParameters(t1); > CharacterParameters(t1); > InfoText(t1); > > The ordering for rows and colums is that of Partitions(4). > > > but if I do: > > gap> IdGroup(S4); > > [ 24, 12 ] > > gap> G:=SmallGroup(24,12); > > <pc group of size 24 with 4 generators> > > gap> Display(CharacterTable(G)); > > CT2 > > > > 2 3 2 . 3 2 > > 3 1 . 1 . . > > > > 1a 2a 3a 2b 4a > > 2P 1a 1a 3a 1a 2b > > 3P 1a 2a 1a 2b 4a > > > > X.1 1 1 1 1 1 > > X.2 1 -1 1 1 -1 > > X.3 2 . -1 2 . > > X.4 3 -1 . -1 1 > > X.5 3 1 . -1 -1 > > > > so I get two different ordering for the row and columns of the table, > > which is not entirely surprising since different algorithms are used > > here. > > If GAP does not know about an appropriate library table and computes the > table with some (here Dixon's) algorithm then the tables can even be > different > on different occasions. Also the labelling of conjugacy classes may be > different. > > t2 := CharacterTable(G); > InfoText(t2); > > > My question is whether there are some standard order for printing > > character table. This would be useful for interoperability between > > software (or two version of the same software) by using a common > > numbering for characters which could avoid mistakes. > > To check if two tables are the same modulo permutation of rows and columns > you can use > > TransformingPermutationsCharacterTables(t1,t2); > > For the display of character tables you can use some optional hints > collected in a record, see > > ?Reference: Display (for a character table) > ?Browse: Browse (for character tables) > > For example, to display characters with respect to '<' of rows: > > ord := [1..Length(Irr(t1))];; > SortParallel(ShallowCopy(Irr(t1)),ord); > Display(t1, rec(chars := ord)); > Browse(t1, rec(chars := ord)); > > With best regards, > Frank > -- > /// Dr. Frank Lübeck, Lehrstuhl D für Mathematik, Pontdriesch 14/16, > \\\ 52062 Aachen, Germany > /// E-mail: frank.lueb...@math.rwth-aachen.de > \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum