Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

7 Utility Functions Provided by the CTblLib Package
 7.1 Write Character Values in Terms of Atomic Atlas Irrationalities
 7.2 Create a String that Describes the Group Structure

7 Utility Functions Provided by the CTblLib Package

This chapter describes GAP functions that are provided by the CTblLib package but that might be of general interest.

For the moment, there are just two features to describe, the generation of Atlas irrationalities from cyclotomic integers (see Section 7.1), and the generation of information about the group structure from identifiers of character tables (see Section 7.2).

7.1 Write Character Values in Terms of Atomic Atlas Irrationalities

7.1-1 CTblLib.StringOfAtlasIrrationality
‣ CTblLib.StringOfAtlasIrrationality( cyc )( function )

Returns: a string that describes the cyclotomic integer cyc.

This function is intended for expressing the cyclotomic integer cyc as a linear combination of so-called "atomic Atlas irrationalities" (see [CCN+85, p. xxvii]), with integer coefficients.

Often there is no "optimal" expression of that kind for cyc, and this function uses certain heuristics for finding a not too bad expression. Concerning the character tables in the Atlas of Finite Groups [CCN+85], an explicit mapping between the values which are computed by this function and the descriptions that are shown in the book is available, see CTblLib.IrrationalityMapping. Such a mapping is not yet available for the character tables from the Atlas of Brauer Characters [JLPW95], this function is only experimental for these tables, it is likely to be changed in the future.

CTblLib.StringOfAtlasIrrationality is used by BrowseAtlasTable (3.5-9).

gap> values:= List( [ "e31", "y'24+3", "r2+i", "r2+i2" ],
>                   AtlasIrrationality );;
gap> List( values, CTblLib.StringOfAtlasIrrationality );
[ "e31", "y'24+3", "z8-&3+i", "2z8" ]

The implementation uses the following heuristics for computing a description of the cyclotomic integer cyc with conductor N, say.

There is of course a lot of space for improvements. For example, one could use the Bosma basis representation (see BosmaBase (6.5-1)) of cyc for splitting the value into a sum of values from strictly smaller cyclotomic fields, which would be useful at least if their conductors are coprime. Note that the Bosma basis of the N-th cyclotomic field has the property that it is a union of bases for the cyclotomic fields with conductor dividing N. Thus one can easily find out that sqrt{5} + sqrt{7} can be written as a sum of two values in terms of 5-th and 7-th roots of unity. In non-coprime situations, this argument fails. For example, one can still detect that sqrt{15} + sqrt{21} involves only 15-th and 21-th roots of unity, but it is not obvious how to split the value into the two parts.

7.2 Create a String that Describes the Group Structure

7.2-1 StructureDescriptionCharacterTableName
‣ StructureDescriptionCharacterTableName( name )( function )

For a string name that is an admissible name of a character table, StructureDescriptionCharacterTableName returns a string that is intended as a description of the structure of the underlying group.

Note that many identifiers of character tables (see Identifier (Reference: Identifier for character tables)) do not describe the group structure in an appropriate way. One reason for choosing such identifiers on purpose is that several character tables for isomorphic groups can be contained in the library, because the groups have different class fusions into another group. For example, the Mathieu group M_12 contains two classes of subgroups isomorphic with M_11, and the identifiers of the character tables corresponding to these subgroups are "M11" and "M12M2", respectively.

gap> StructureDescriptionCharacterTableName( "M12M2" );
"M11"
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML