dwww Home | Show directory contents | Find package

  
  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[14 X7.1), and the
  generation  of  information  about  the  group structure from identifiers of
  character tables (see Section[14 X7.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).
  
    Example  
    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.
  
      If  N is not squarefree the let N_0 be the squarefree part of N, split
        cyc  into  the  sum  of its odd squarefree part and its non-squarefree
        part,  and  consider  the  two  values  separately;  note that the odd
        squarefree part is well-defined by the fact that the basis of the N-th
        cyclotomic  field  given  by  ZumbroichBase (Reference: ZumbroichBase)
        contains  all  primitive  N_0-th roots of unity. Also note that except
        for  quadratic  irrationalities  (where N is squarefree), all roots of
        unity   that   are   involved   in   the   representation   of  atomic
        irrationalities  w. r. t. this  basis  have  the  same  multiplicative
        order.
  
      If  cyc is a multiple of a root of unity then write it as such, i. e.,
        as a string involving z_N.
  
      Otherwise,  if cyc lies in a quadratic number field then write it as a
        linear  combination  of  an  integer. Usually the string involves r_N,
        i_N,  or  b_N,  but also multiples of b_M may occur, where M is a –not
        squarefree– multiple of N.
  
      Otherwise,  find  a  large  cyclic  subgroup  of the stabilizer of cyc
        inside  the  Galois group over the Rationals –this subgroup defines an
        atomic  irrationality–  and express cyc as a linear combination of the
        orbit  sums. In the worst case, there is no nontrivial stabilizer, and
        we find only a description as a sum of roots of unity.
  
  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.
  
    Example  
    gap> StructureDescriptionCharacterTableName( "M12M2" );
    "M11"
  
  

Generated by dwww version 1.15 on Sun Jun 23 04:05:29 CEST 2024.