[1X3 [33X[0;0YThe User Interface to the [5XGAP[105X[101X[1X Character Table Library[133X[101X [1X3.1 [33X[0;0YAccessing Data of the [5XCTblLib[105X[101X[1X Package[133X[101X [1X3.1-1 [33X[0;0YAdmissible Names for Character Tables in [5XCTblLib[105X[101X[1X[133X[101X [33X[0;0YWhen you access a character table from the [5XGAP[105X Character Table Library, this table is specified by an admissible name.[133X [33X[0;0YAdmissible names for the [13Xordinary character table[113X [22Xtbl[122X of the group [22XG[122X are[133X [30X [33X[0;6Yan [5XAtlas[105X like name if [22Xtbl[122X is an [5XAtlas[105X table (see Section[14 X4.3[114X), for example [10X"M22"[110X for the table of the Mathieu group [22XM_22[122X, [10X"L2(13).2"[110X for [22XL_2(13):2[122X, and [10X"12_1.U4(3).2_1"[110X for [22X12_1.U_4(3).2_1[122X.[133X [33X[0;6Y(The difference to the name printed in the [5XAtlas[105X is that subscripts and superscripts are omitted except if they are used to qualify integer values, and double dots are replaced by a single dot.)[133X [30X [33X[0;6Ythe names that were admissible for tables of [22XG[122X in the [5XCAS[105X system if the [5XCAS[105X table library contained a table of [22XG[122X, for example [10Xsl42[110X for the table of the alternating group [22XA_8[122X.[133X [33X[0;6Y(But note that the ordering of rows and columns of the [5XGAP[105X table may be different from that in [5XCAS[105X, see Section[14 X4.4[114X.)[133X [30X [33X[0;6Ysome [21Xrelative[121X names, as follows.[133X [30X [33X[0;12YIf [22XG[122X is the [22Xn[122X-th maximal subgroup (in decreasing group order) of a group whose library table [22Xsubtbl[122X is available in [5XGAP[105X and stores the [2XMaxes[102X ([14X3.7-1[114X) value, and if [10Xname[110X is an admissible name for [22Xsubtbl[122X then [10Xname[110XM[22Xn[122X is admissible for [22Xtbl[122X. For example, the name [10X"J3M2"[110X can be used to access the second maximal subgroup of the sporadic simple Janko group [22XJ_3[122X which has the admissible name [10X"J3"[110X.[133X [30X [33X[0;12YIf [22XG[122X is a nontrivial Sylow [22Xp[122X normalizer in a sporadic simple group with admissible name [10Xname[110X –where nontrivial means that [22XG[122X is not isomorphic to a subgroup of [22Xp:(p-1)[122X– then [10Xname[110XN[22Xp[122X is an admissible name of [22Xtbl[122X. For example, the name [10X"J4N11"[110X can be used to access the table of the Sylow [22X11[122X normalizer in the sporadic simple Janko group [22XJ_4[122X.[133X [30X [33X[0;12YIn a few cases, the table of the Sylow [22Xp[122X-subgroup of [22XG[122X is accessible via the name [10Xname[110XSyl[22Xp[122X where [10Xname[110X is an admissible name of the table of [22XG[122X. For example, [10X"A11Syl2"[110X is an admissible name for the table of the Sylow [22X2[122X-subgroup of the alternating group [22XA_11[122X.[133X [30X [33X[0;12YIn a few cases, the table of an element centralizer in [22XG[122X is accessible via the name [10Xname[110XC[22Xcl[122X where [10Xname[110X is an admissible name of the table of [22XG[122X. For example, [10X"M11C2"[110X is an admissible name for the table of an involution centralizer in the Mathieu group [22XM_11[122X.[133X [33X[0;0YThe recommended way to access a [13XBrauer table[113X is via applying the [9Xmod[109X operator to the ordinary table and the desired characteristic (see [2XBrauerTable[102X ([14XReference: BrauerTable[114X) and Section[14 X'Reference: Operators for Character Tables'[114X), so it is not necessary to define admissible names of Brauer tables.[133X [33X[0;0YA [13Xgeneric character table[113X (see Section[14 X4.2[114X) is accessible only by the name given by its [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value.[133X [1X3.1-2 CharacterTable[101X [33X[1;0Y[29X[2XCharacterTable[102X( [3Xtblname[103X[, [3Xpara1[103X[, [3Xpara2[103X]] ) [32X method[133X [33X[0;0YIf the only argument is a string [3Xtblname[103X and if this is an admissible name (see [14X3.1-1[114X) of a library character table then [2XCharacterTable[102X returns this library table, otherwise [9Xfail[109X.[133X [33X[0;0YIf [2XCharacterTable[102X is called with more than one argument then the first must be a string [3Xtblname[103X specifying a series of groups which is implemented via a generic character table, for example [10X"Symmetric"[110X for symmetric groups; the remaining arguments specialize the desired member of the series (see Section[14 X4.2[114X for a list of available generic tables). If no generic table with name [3Xtblname[103X is available or if the parameters are not admissible then [2XCharacterTable[102X returns [9Xfail[109X.[133X [33X[0;0YA call of [2XCharacterTable[102X may cause that some library files are read and that some table objects are constructed from the data stored in these files, so fetching a library table may take more time than one expects.[133X [33X[0;0YCase is not significant for [3Xtblname[103X. For example, both [10X"suzm3"[110X and [10X"SuzM3"[110X can be entered in order to access the character table of the third class of maximal subgroups of the sporadic simple Suzuki group.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xs5:= CharacterTable( "A5.2" );[127X[104X [4X[28XCharacterTable( "A5.2" )[128X[104X [4X[25Xgap>[125X [27Xsym5:= CharacterTable( "Symmetric", 5 );[127X[104X [4X[28XCharacterTable( "Sym(5)" )[128X[104X [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( s5, sym5 );[127X[104X [4X[28Xrec( columns := (2,3,4,7,5), group := Group(()), [128X[104X [4X[28X rows := (1,7,3,4,6,5,2) )[128X[104X [4X[32X[104X [33X[0;0YThe above two tables are tables of the symmetric group on five letters; the first is in [5XAtlas[105X format (see Section[14 X4.3[114X), the second is constructed from the generic table for symmetric groups (see[14 X4.2[114X).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XCharacterTable( "J5" );[127X[104X [4X[28Xfail[128X[104X [4X[25Xgap>[125X [27XCharacterTable( "A5" ) mod 2;[127X[104X [4X[28XBrauerTable( "A5", 2 )[128X[104X [4X[32X[104X [1X3.1-3 BrauerTable[101X [33X[1;0Y[29X[2XBrauerTable[102X( [3Xtblname[103X, [3Xp[103X ) [32X operation[133X [33X[0;0YCalled with a string [3Xtblname[103X and a prime integer [3Xp[103X, [2XBrauerTable[102X returns the [3Xp[103X-modular character table of the ordinary character table with admissible name [3Xtblname[103X, if such an ordinary character table exists and if [5XGAP[105X can compute its [3Xp[103X-modular table. Otherwise [9Xfail[109X is returned.[133X [33X[0;0YThe default method delegates to [2XBrauerTable[102X ([14XReference: BrauerTable for a character table, and a prime integer[114X) with arguments the [2XCharacterTable[102X ([14X3.1-2[114X) value of [3Xtblname[103X and [3Xp[103X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XBrauerTable( "A5", 2 );[127X[104X [4X[28XBrauerTable( "A5", 2 )[128X[104X [4X[25Xgap>[125X [27XBrauerTable( "J5", 2 ); # no ordinary table with name J5[127X[104X [4X[28Xfail[128X[104X [4X[25Xgap>[125X [27XBrauerTable( "M", 2 ); # Brauer table not known[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X [1X3.1-4 AllCharacterTableNames[101X [33X[1;0Y[29X[2XAllCharacterTableNames[102X( [[3Xfunc[103X, [3Xval[103X, [3X...[103X[, [3XOfThose[103X, [3Xfunc[103X]][3X:[103X [3XOrderedBy[103X [3X:=[103X [3Xfunc[103X ) [32X function[133X [33X[0;0YSimilar to group libraries (see Chapter[14 X'Reference: Group Libraries'[114X), the [5XGAP[105X Character Table Library can be used to search for ordinary character tables with prescribed properties.[133X [33X[0;0YA specific library table can be selected by an admissible name, see [14X3.1-1[114X.[133X [33X[0;0YThe [13Xselection function[113X (see [14X'Reference: Selection Functions'[114X) for character tables from the [5XGAP[105X Character Table Library that have certain abstract properties is [2XAllCharacterTableNames[102X. Contrary to the situation in the case of group libraries, the selection function returns a list not of library character tables but of their names; using [2XCharacterTable[102X ([14X3.1-2[114X) one can then access the tables themselves.[133X [33X[0;0Y[2XAllCharacterTableNames[102X takes an arbitrary even number of arguments. The argument at each odd position must be a function, and the argument at the subsequent even position must be either a value that this function must return when called for the character table in question, in order to have the name of the table included in the selection, or a list of such values, or a function that returns [9Xtrue[109X for such a value, and [9Xfalse[109X otherwise. For example,[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xnames:= AllCharacterTableNames();;[127X[104X [4X[32X[104X [33X[0;0Yreturns a list containing one admissible name of each ordinary character table in the [5XGAP[105X library,[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xsimpnames:= AllCharacterTableNames( IsSimple, true,[127X[104X [4X[25X>[125X [27X IsAbelian, false );;[127X[104X [4X[32X[104X [33X[0;0Yreturns a list containing an admissible name of each ordinary character table in the [5XGAP[105X library whose groups are nonabelian and simple, and[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( IsSimple, true, IsAbelian, false,[127X[104X [4X[25X>[125X [27X Size, [ 1 .. 100 ] );[127X[104X [4X[28X[ "A5", "A6M2", "Alt(5)" ][128X[104X [4X[32X[104X [33X[0;0Yreturns a list containing an admissible name of each ordinary character table in the [5XGAP[105X library whose groups are nonabelian and simple and have order at most [22X100[122X, respectively. (Note that [10X"A5"[110X, [10X"A6M2"[110X, and [10X"Alt(5)"[110X are identifiers of permutation equivalent character tables. It would be possible to exclude duplicates, see Section[14 X3.6[114X).[133X [33X[0;0YSimilarly,[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( Size, IsPrimeInt );[127X[104X [4X[28X[ "2.Alt(2)", "Alt(3)", "C2", "C3", "Sym(2)" ][128X[104X [4X[32X[104X [33X[0;0Yreturns the list of all identifiers of library tables whose [2XSize[102X ([14XReference: Size[114X) value is a prime integer, and[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( Identifier,[127X[104X [4X[25X>[125X [27X x -> PositionSublist( x, "L8" ) <> fail );[127X[104X [4X[28X[ "L8(2)", "P1L82", "P2L82" ][128X[104X [4X[32X[104X [33X[0;0Yreturns the identifiers that contain the string [10X"L8"[110X as a substring.[133X [33X[0;0YFor the sake of efficiency, the attributes whose names are listed in [10XCTblLib.SupportedAttributes[110X are handled in a special way, [5XGAP[105X need not read all files of the table library in these cases in order to find the desired names.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XCTblLib.SupportedAttributes;[127X[104X [4X[28X[ "AbelianInvariants", "Identifier", "IdentifiersOfDuplicateTables", [128X[104X [4X[28X "InfoText", "IsAbelian", "IsAlmostSimple", "IsDuplicateTable", [128X[104X [4X[28X "IsNontrivialDirectProduct", "IsPerfect", "IsQuasisimple", [128X[104X [4X[28X "IsSimple", "IsSporadicSimple", "KnowsDeligneLusztigNames", [128X[104X [4X[28X "KnowsSomeGroupInfo", "Maxes", "NamesOfFusionSources", [128X[104X [4X[28X "NrConjugacyClasses", "Size" ][128X[104X [4X[32X[104X [33X[0;0YIf the [5XBrowse[105X package (see [BL18]) is not loaded then [10XCTblLib.SupportedAttributes[110X contains only [10X"Identifier"[110X, and [2XAllCharacterTableNames[102X will be very slow when one selects character tables according to other attributes from the list shown above.[133X [33X[0;0YThe global option [10XOrderedBy[110X can be used to prescribe the ordering of the result. The value of this option, if given, must be a function that takes a character table as its unique argument; the result list is then sorted according to the results of this function (w. r. t. the comparison by [5XGAP[105X's [10X\<[110X operation).[133X [33X[0;0YFor example, we may be interested in the tables of small sporadic simple groups, ordered alphabetically or by size ([2XSize[102X ([14XReference: Size for a character table[114X)) or by the number of conjugacy classes ([2XNrConjugacyClasses[102X ([14XReference: NrConjugacyClasses for a character table[114X)).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( IsSporadicSimple, true,[127X[104X [4X[25X>[125X [27X Size, [ 1 .. 10^6 ],[127X[104X [4X[25X>[125X [27X IsDuplicateTable, false );[127X[104X [4X[28X[ "J1", "J2", "M11", "M12", "M22" ][128X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( IsSporadicSimple, true,[127X[104X [4X[25X>[125X [27X Size, [ 1 .. 10^6 ],[127X[104X [4X[25X>[125X [27X IsDuplicateTable, false : OrderedBy:= Size );[127X[104X [4X[28X[ "M11", "M12", "J1", "M22", "J2" ][128X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( IsSporadicSimple, true,[127X[104X [4X[25X>[125X [27X Size, [ 1 .. 10^6 ],[127X[104X [4X[25X>[125X [27X IsDuplicateTable, false : OrderedBy:= NrConjugacyClasses );[127X[104X [4X[28X[ "M11", "M22", "J1", "M12", "J2" ][128X[104X [4X[32X[104X [33X[0;0Y(Note that the alphabtical ordering could also be achieved by entering [10XOrderedBy:= Identifier[110X.)[133X [33X[0;0YIf the dummy function [10XOfThose[110X is an argument at an odd position then the following argument [3Xfunc[103X must be a function that takes a character table and returns a name of a character table or a list of names; this is interpreted as replacement of the names computed up to this position by the union of names returned by [3Xfunc[103X. For example, [3Xfunc[103X may be [2XMaxes[102X ([14X3.7-1[114X) or [2XNamesOfFusionSources[102X ([14XReference: NamesOfFusionSources[114X)).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xmaxesnames:= AllCharacterTableNames( IsSporadicSimple, true,[127X[104X [4X[25X>[125X [27X HasMaxes, true,[127X[104X [4X[25X>[125X [27X OfThose, Maxes );;[127X[104X [4X[32X[104X [33X[0;0Yreturns the union of names of ordinary tables of those maximal subgroups of sporadic simple groups that are contained in the table library in the sense that the attribute [2XMaxes[102X ([14X3.7-1[114X) is set.[133X [33X[0;0YFor the sake of efficiency, [10XOfThose[110X followed by one of the arguments [2XAutomorphismGroup[102X ([14XReference: AutomorphismGroup[114X), [2XSchurCover[102X ([14XReference: SchurCover[114X), [10XCompleteGroup[110X is handled in a special way.[133X [1X3.1-5 OneCharacterTableName[101X [33X[1;0Y[29X[2XOneCharacterTableName[102X( [[3Xfunc[103X, [3Xval[103X, [3X...[103X[, [3XOfThose[103X, [3Xfunc[103X]][3X:[103X [3XOrderedBy[103X [3X:=[103X [3Xfunc[103X ) [32X function[133X [33X[0;0YThe example function for character tables from the [5XGAP[105X Character Table Library that have certain abstract properties is [2XOneCharacterTableName[102X. It is analogous to the selection function [2XAllCharacterTableNames[102X ([14X3.1-4[114X), the difference is that it returns one [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of a character table with the properties in question instead of the list of all such values. If no table with the required properties is contained in the [5XGAP[105X Character Table Library then [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XOneCharacterTableName( IsSimple, true, Size, 60 );[127X[104X [4X[28X"A5"[128X[104X [4X[25Xgap>[125X [27XOneCharacterTableName( IsSimple, true, Size, 20 );[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X [33X[0;0YThe global option [10XOrderedBy[110X can be used to search for a [21Xsmallest[121X example, according to the value of the option. If this function is one of the attributes whose names are listed in [10XCTblLib.SupportedAttributes[110X then the tables are processed according to increasing values of the option, which may speed up the search.[133X [1X3.1-6 NameOfEquivalentLibraryCharacterTable[101X [33X[1;0Y[29X[2XNameOfEquivalentLibraryCharacterTable[102X( [3Xordtbl[103X ) [32X function[133X [33X[1;0Y[29X[2XNamesOfEquivalentLibraryCharacterTables[102X( [3Xordtbl[103X ) [32X function[133X [33X[0;0YLet [3Xordtbl[103X be an ordinary character table. [2XNameOfEquivalentLibraryCharacterTable[102X returns the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of a character table in the [5XGAP[105X Character Table Library that is permutation equivalent to [3Xordtbl[103X (see [2XTransformingPermutationsCharacterTables[102X ([14XReference: TransformingPermutationsCharacterTables[114X)) if such a character table exists, and [9Xfail[109X otherwise. [2XNamesOfEquivalentLibraryCharacterTables[102X returns the list of all [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) values of character tables in the [5XGAP[105X Character Table Library that are permutation equivalent to [3Xordtbl[103X; thus an empty list is returned in this case if no equivalent library table exists.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "Alternating", 5 );;[127X[104X [4X[25Xgap>[125X [27XNameOfEquivalentLibraryCharacterTable( tbl );[127X[104X [4X[28X"A5"[128X[104X [4X[25Xgap>[125X [27XNamesOfEquivalentLibraryCharacterTables( tbl );[127X[104X [4X[28X[ "A5", "A6M2", "Alt(5)" ][128X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "Cyclic", 17 );;[127X[104X [4X[25Xgap>[125X [27XNameOfEquivalentLibraryCharacterTable( tbl );[127X[104X [4X[28Xfail[128X[104X [4X[25Xgap>[125X [27XNamesOfEquivalentLibraryCharacterTables( tbl );[127X[104X [4X[28X[ ][128X[104X [4X[32X[104X [1X3.2 [33X[0;0YThe Interface to the [5XTomLib[105X[101X[1X Package[133X[101X [33X[0;0YThe [5XGAP[105X Character Table Library contains ordinary character tables of all groups for which the [5XTomLib[105X package [NMP18] contains the table of marks. This section describes the mapping between these character tables and their tables of marks.[133X [33X[0;0YIf the [5XTomLib[105X package is not loaded then [2XFusionToTom[102X ([14X3.2-4[114X) is the only available function from this section, but of course it is of little interest in this situation.[133X [1X3.2-1 TableOfMarks[101X [33X[1;0Y[29X[2XTableOfMarks[102X( [3Xtbl[103X ) [32X method[133X [33X[0;0YLet [3Xtbl[103X be an ordinary character table from the [5XGAP[105X Character Table Library, for the group [22XG[122X, say. If the [5XTomLib[105X package is loaded and contains the table of marks of [22XG[122X then there is a method based on [2XTableOfMarks[102X ([14XReference: TableOfMarks for a string[114X) that returns this table of marks. If there is no such table of marks but [3Xtbl[103X knows its underlying group then this method delegates to the group. Otherwise [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XTableOfMarks( CharacterTable( "A5" ) );[127X[104X [4X[28XTableOfMarks( "A5" )[128X[104X [4X[25Xgap>[125X [27XTableOfMarks( CharacterTable( "M" ) );[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X [1X3.2-2 CharacterTable[101X [33X[1;0Y[29X[2XCharacterTable[102X( [3Xtom[103X ) [32X method[133X [33X[0;0YFor a table of marks [3Xtom[103X, this method for [2XCharacterTable[102X ([14XReference: CharacterTable for a group[114X) returns the character table corresponding to [3Xtom[103X.[133X [33X[0;0YIf [3Xtom[103X comes from the [5XTomLib[105X package, the character table comes from the [5XGAP[105X Character Table Library. Otherwise, if [3Xtom[103X stores an [2XUnderlyingGroup[102X ([14XReference: UnderlyingGroup for tables of marks[114X) value then the task is delegated to a [2XCharacterTable[102X ([14XReference: CharacterTable for a group[114X) method for this group, and if no underlying group is available then [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XCharacterTable( TableOfMarks( "A5" ) );[127X[104X [4X[28XCharacterTable( "A5" )[128X[104X [4X[32X[104X [1X3.2-3 FusionCharTableTom[101X [33X[1;0Y[29X[2XFusionCharTableTom[102X( [3Xtbl[103X, [3Xtom[103X ) [32X method[133X [33X[0;0YLet [3Xtbl[103X be an ordinary character table from the [5XGAP[105X Character Table Library with the attribute [2XFusionToTom[102X ([14X3.2-4[114X), and let [3Xtom[103X be the table of marks from the [5XGAP[105X package [5XTomLib[105X that corresponds to [3Xtbl[103X. In this case, a method for [2XFusionCharTableTom[102X ([14XReference: FusionCharTableTom[114X) is available that returns the fusion from [3Xtbl[103X to [3Xtom[103X that is given by the [2XFusionToTom[102X ([14X3.2-4[114X) value of [3Xtbl[103X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "A5" );[127X[104X [4X[28XCharacterTable( "A5" )[128X[104X [4X[25Xgap>[125X [27Xtom:= TableOfMarks( "A5" );[127X[104X [4X[28XTableOfMarks( "A5" )[128X[104X [4X[25Xgap>[125X [27XFusionCharTableTom( tbl, tom );[127X[104X [4X[28X[ 1, 2, 3, 5, 5 ][128X[104X [4X[32X[104X [1X3.2-4 FusionToTom[101X [33X[1;0Y[29X[2XFusionToTom[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YIf this attribute is set for an ordinary character table [3Xtbl[103X then the [5XGAP[105X Library of Tables of Marks contains the table of marks of the group of [3Xtbl[103X, and the attribute value is a record with the following components.[133X [8X[10Xname[110X[8X[108X [33X[0;6Ythe [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X) component of the table of marks of [3Xtbl[103X,[133X [8X[10Xmap[110X[8X[108X [33X[0;6Ythe fusion map,[133X [8X[10Xtext[110X[8X (optional)[108X [33X[0;6Ya string describing the status of the fusion, and[133X [8X[10Xperm[110X[8X (optional)[108X [33X[0;6Ya permutation that establishes the bijection between the classes of maximal subgroups in the table of marks (see [2XMaximalSubgroupsTom[102X ([14XReference: MaximalSubgroupsTom[114X)) and the [2XMaxes[102X ([14X3.7-1[114X) list of [3Xtbl[103X. Applying the permutation to the sublist of permutation characters (see [2XPermCharsTom[102X ([14XReference: PermCharsTom via fusion map[114X)) at the positions of the maximal subgroups of the table of marks yields the list of primitive permutation characters computed from the character tables described by the [2XMaxes[102X ([14X3.7-1[114X) list. Usually, there is no [10Xperm[110X component, which means that the two lists of primitive permutation characters are equal. See Section [14X2.3-5[114X for an example.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XFusionToTom( CharacterTable( "2.A6" ) );[127X[104X [4X[28Xrec( map := [ 1, 2, 5, 4, 8, 3, 7, 11, 11, 6, 13, 6, 13 ], [128X[104X [4X[28X name := "2.A6", perm := (4,5), [128X[104X [4X[28X text := "fusion map is unique up to table autom." )[128X[104X [4X[32X[104X [1X3.2-5 NameOfLibraryCharacterTable[101X [33X[1;0Y[29X[2XNameOfLibraryCharacterTable[102X( [3Xtomname[103X ) [32X function[133X [33X[0;0YThis function returns the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of the character table corresponding to the table of marks with [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X) value [3Xtomname[103X. If no such character table exists in the [5XGAP[105X Character Table Library or if the [5XTomLib[105X package is not loaded then [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XNameOfLibraryCharacterTable( "A5" );[127X[104X [4X[28X"A5"[128X[104X [4X[25Xgap>[125X [27XNameOfLibraryCharacterTable( "S5" );[127X[104X [4X[28X"A5.2"[128X[104X [4X[32X[104X [1X3.3 [33X[0;0YThe Interface to [5XGAP[105X[101X[1X's Group Libraries[133X[101X [33X[0;0YSometimes it is useful to extend a character-theoretic computation with computations involving a group that has the character table in question. For many character tables in the [5XGAP[105X Character Table Library, corresponding groups can be found in the various group libraries that are distributed with [5XGAP[105X. This section describes how one can access the library groups that belong to a given character table.[133X [1X3.3-1 GroupInfoForCharacterTable[101X [33X[1;0Y[29X[2XGroupInfoForCharacterTable[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YLet [3Xtbl[103X be an ordinary character table from the [5XGAP[105X Character Table Library. [2XGroupInfoForCharacterTable[102X returns a sorted list of pairs such that calling [2XGroupForGroupInfo[102X ([14X3.3-4[114X) with any of these pairs yields a group whose ordinary character table is [3Xtbl[103X, up to permutations of rows and columns.[133X [33X[0;0YNote that this group is in general [13Xnot[113X determined up to isomorphism, since nonisomorphic groups may have the same character table (including power maps).[133X [33X[0;0YContrary to the attribute [2XUnderlyingGroup[102X ([14XReference: UnderlyingGroup for tables of marks[114X), the entries of the [2XGroupInfoForCharacterTable[102X list for [3Xtbl[103X are not related to the ordering of the conjugacy classes in [3Xtbl[103X.[133X [33X[0;0YSources for this attribute are the [5XGAP[105X databases of groups described in Chapter [14X'Reference: Group Libraries'[114X, and the packages [5XAtlasRep[105X and [5XTomLib[105X, see also [2XGroupForTom[102X ([14X3.3-5[114X) and [2XAtlasStabilizer[102X ([14X3.3-6[114X). If these packages are not loaded then part of the information may be missing. If the [5XBrowse[105X package (see [BL18]) is not loaded then [2XGroupInfoForCharacterTable[102X returns always an empty list.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XGroupInfoForCharacterTable( CharacterTable( "A5" ) );[127X[104X [4X[28X[ [ "AlternatingGroup", [ 5 ] ], [ "AtlasGroup", [ "A5" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "A6", "A6G1-p6aB0" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "A6", "A6G1-p6bB0" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "L2(11)", "L211G1-p11aB0" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "L2(11)", "L211G1-p11bB0" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "L2(19)", "L219G1-p57aB0" ] ], [128X[104X [4X[28X [ "AtlasStabilizer", [ "L2(19)", "L219G1-p57bB0" ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "A5.2", 1 ] ], [ "AtlasSubgroup", [ "A6", 1 ] ][128X[104X [4X[28X , [ "AtlasSubgroup", [ "A6", 2 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "J2", 9 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "L2(109)", 4 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "L2(109)", 5 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "L2(11)", 1 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "L2(11)", 2 ] ], [128X[104X [4X[28X [ "AtlasSubgroup", [ "S6(3)", 11 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "2^4:A5", 68 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "2^4:A5`", 56 ] ], [ "GroupForTom", [ "A5" ] ], [128X[104X [4X[28X [ "GroupForTom", [ "A5xA5", 85 ] ], [ "GroupForTom", [ "A6", 21 ] ],[128X[104X [4X[28X [ "GroupForTom", [ "J2", 99 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(109)", 25 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(11)", 15 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(125)", 18 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(16)", 18 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(19)", 17 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(29)", 19 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "L2(31)", 25 ] ], [128X[104X [4X[28X [ "GroupForTom", [ "S5", 18 ] ], [ "PSL", [ 2, 4 ] ], [128X[104X [4X[28X [ "PSL", [ 2, 5 ] ], [ "PerfectGroup", [ 60, 1 ] ], [128X[104X [4X[28X [ "PrimitiveGroup", [ 5, 4 ] ], [ "PrimitiveGroup", [ 6, 1 ] ], [128X[104X [4X[28X [ "PrimitiveGroup", [ 10, 1 ] ], [ "SmallGroup", [ 60, 5 ] ], [128X[104X [4X[28X [ "TransitiveGroup", [ 5, 4 ] ], [ "TransitiveGroup", [ 6, 12 ] ], [128X[104X [4X[28X [ "TransitiveGroup", [ 10, 7 ] ], [ "TransitiveGroup", [ 12, 33 ] ],[128X[104X [4X[28X [ "TransitiveGroup", [ 15, 5 ] ], [ "TransitiveGroup", [ 20, 15 ] ],[128X[104X [4X[28X [ "TransitiveGroup", [ 30, 9 ] ] ][128X[104X [4X[32X[104X [1X3.3-2 KnowsSomeGroupInfo[101X [33X[1;0Y[29X[2XKnowsSomeGroupInfo[102X( [3Xtbl[103X ) [32X property[133X [33X[0;0YFor an ordinary character table [3Xtbl[103X, this function returns [9Xtrue[109X if the list returned by [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X) is nonempty, and [9Xfalse[109X otherwise.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XKnowsSomeGroupInfo( CharacterTable( "A5" ) );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XKnowsSomeGroupInfo( CharacterTable( "M" ) );[127X[104X [4X[28Xfalse[128X[104X [4X[32X[104X [1X3.3-3 CharacterTableForGroupInfo[101X [33X[1;0Y[29X[2XCharacterTableForGroupInfo[102X( [3Xinfo[103X ) [32X attribute[133X [33X[0;0YThis function is a partial inverse of [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X). If [3Xinfo[103X has the form [10X[ [110X[22Xfuncname[122X[10X, [110X[22Xargs[122X[10X ][110X and occurs in the list returned by [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X) when called with a character table [22Xt[122X, say, then [2XCharacterTableForGroupInfo[102X returns a character table from the [5XGAP[105X Character Table that is equivalent to [22Xt[122X. Otherwise [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XCharacterTableForGroupInfo( [ "AlternatingGroup", [ 5 ] ] );[127X[104X [4X[28XCharacterTable( "A5" )[128X[104X [4X[32X[104X [1X3.3-4 GroupForGroupInfo[101X [33X[1;0Y[29X[2XGroupForGroupInfo[102X( [3Xinfo[103X ) [32X attribute[133X [33X[0;0YIf [3Xinfo[103X has the form [10X[ [110X[22Xfuncname[122X[10X, [110X[22Xargs[122X[10X ][110X and occurs in the list returned by [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X) when called with a character table [22Xtbl[122X, say, then [2XGroupForGroupInfo[102X returns a group that is described by [3Xinfo[103X and whose character table is equal to [22Xtbl[122X, up to permutations of rows and columns. Otherwise [9Xfail[109X is returned.[133X [33X[0;0YTypically, [22Xfuncname[122X is a string that is the name of a global [5XGAP[105X function [22Xfun[122X, say, and [22Xargs[122X is a list of arguments for this function such that [10XCallFuncList( [110X[22Xfun[122X[10X, [110X[22Xargs[122X[10X )[110X yields the desired group.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XGroupForGroupInfo( [ "AlternatingGroup", [ 5 ] ] );[127X[104X [4X[28XAlt( [ 1 .. 5 ] )[128X[104X [4X[25Xgap>[125X [27XGroupForGroupInfo( [ "PrimitiveGroup", [ 5, 4 ] ] );[127X[104X [4X[28XA(5)[128X[104X [4X[32X[104X [1X3.3-5 GroupForTom[101X [33X[1;0Y[29X[2XGroupForTom[102X( [3Xtomidentifier[103X[, [3Xrepnr[103X] ) [32X attribute[133X [33X[0;0YLet [3Xtomidentifier[103X be a string that is an admissible name for a table of marks from the [5XGAP[105X Library of Tables of Marks (the [5XTomLib[105X package [NMP18]). Called with one argument, [2XGroupForTom[102X returns the [2XUnderlyingGroup[102X ([14XReference: UnderlyingGroup for tables of marks[114X) value of this table of marks. If a positive integer [3Xrepnr[103X is given as the second argument then a representative of the [3Xrepnr[103X-th class of subgroups of this group is returned, see [2XRepresentativeTom[102X ([14XReference: RepresentativeTom[114X).[133X [33X[0;0YThe string[10X"GroupForTom"[110X may occur in the entries of the list returned by [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X), and therefore may be called by [2XGroupForGroupInfo[102X ([14X3.3-4[114X).[133X [33X[0;0YIf the [5XTomLib[105X package is not loaded or if it does not contain a table of marks with identifier [3Xtomidentifier[103X then [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xg:= GroupForTom( "A5" ); u:= GroupForTom( "A5", 2 );[127X[104X [4X[28XGroup([ (2,4)(3,5), (1,2,5) ])[128X[104X [4X[28XGroup([ (2,3)(4,5) ])[128X[104X [4X[25Xgap>[125X [27XIsSubset( g, u );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XGroupForTom( "J4" );[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X [1X3.3-6 AtlasStabilizer[101X [33X[1;0Y[29X[2XAtlasStabilizer[102X( [3Xgapname[103X, [3Xrepname[103X ) [32X function[133X [33X[0;0YLet [3Xgapname[103X be an admissible name of a group [22XG[122X, say, in the sense of the [5XAtlasRep[105X package (see Section[14 X'AtlasRep: Group Names Used in the AtlasRep Package'[114X), and [3Xrepname[103X be a string that occurs as the [10Xrepname[110X component of a record returned by [2XAllAtlasGeneratingSetInfos[102X ([14XAtlasRep: AllAtlasGeneratingSetInfos[114X) when this function is called with first argument [3Xgapname[103X and further arguments [2XIsTransitive[102X ([14XReference: IsTransitive[114X) and [9Xtrue[109X. In this case, [3Xrepname[103X describes a transitive permutation representation of [22XG[122X.[133X [33X[0;0YIf the [5XAtlasRep[105X package is available and if the permutation group in question can be fetched then [2XAtlasStabilizer[102X returns a point stabilizer. Otherwise [9Xfail[109X is returned.[133X [33X[0;0YThe string[10X"AtlasStabilizer"[110X may occur in the entries of the list returned by [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X), and therefore may be called by [2XGroupForGroupInfo[102X ([14X3.3-4[114X).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAtlasStabilizer( "A5","A5G1-p5B0");[127X[104X [4X[28XGroup([ (1,2)(3,4), (2,3,4) ])[128X[104X [4X[32X[104X [1X3.3-7 IsNontrivialDirectProduct[101X [33X[1;0Y[29X[2XIsNontrivialDirectProduct[102X( [3Xtbl[103X ) [32X property[133X [33X[0;0YFor an ordinary character table [3Xtbl[103X of the group [22XG[122X, say, this function returns [9Xtrue[109X if [22XG[122X is the direct product of smaller groups, and [9Xfalse[109X otherwise.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xmx:= Maxes( CharacterTable( "J1" ) );[127X[104X [4X[28X[ "L2(11)", "2^3.7.3", "2xA5", "19:6", "11:10", "D6xD10", "7:6" ][128X[104X [4X[25Xgap>[125X [27XList( mx, name -> IsNontrivialDirectProduct([127X[104X [4X[25X>[125X [27X CharacterTable( name ) ) );[127X[104X [4X[28X[ false, false, true, false, false, true, false ][128X[104X [4X[32X[104X [1X3.4 [33X[0;0YUnipotent Characters of Finite Groups of Lie Type[133X[101X [33X[0;0YUnipotent characters are defined for finite groups of Lie type. For most of these groups whose character table is in the [5XGAP[105X Character Table Library, the unipotent characters are known and parametrised by labels. This labeling is due to the work of P. Deligne and G. Lusztig, thus the label of a unipotent character is called its Deligne-Lusztig name (see [CH05]).[133X [1X3.4-1 UnipotentCharacter[101X [33X[1;0Y[29X[2XUnipotentCharacter[102X( [3Xtbl[103X, [3Xlabel[103X ) [32X function[133X [33X[0;0YLet [3Xtbl[103X be the ordinary character table of a finite group of Lie type in the [5XGAP[105X Character Table Library. [2XUnipotentCharacter[102X returns the unipotent character with Deligne-Lusztig name [3Xlabel[103X.[133X [33X[0;0YThe object [3Xlabel[103X must be either a list of integers which describes a partition (if the finite group of Lie type is of the type [22XA_l[122X or [22X^2A_l[122X), a list of two lists of integers which describes a symbol (if the group is of classical type other than [22XA_l[122X and [22X^2A_l[122X) or a string (if the group is of exceptional type).[133X [33X[0;0YA call of [2XUnipotentCharacter[102X sets the attribute [2XDeligneLusztigNames[102X ([14X3.4-2[114X) for [3Xtbl[103X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "U4(2).2" );;[127X[104X [4X[25Xgap>[125X [27XUnipotentCharacter( tbl, [ [ 0, 1 ], [ 2 ] ] );[127X[104X [4X[28XCharacter( CharacterTable( "U4(2).2" ),[128X[104X [4X[28X [ 15, 7, 3, -3, 0, 3, -1, 1, 0, 1, -2, 1, 0, 0, -1, 5, 1, 3, -1, 2, [128X[104X [4X[28X -1, 1, -1, 0, 0 ] )[128X[104X [4X[32X[104X [1X3.4-2 DeligneLusztigNames[101X [33X[1;0Y[29X[2XDeligneLusztigNames[102X( [3Xobj[103X ) [32X attribute[133X [33X[0;0YFor a character table [3Xobj[103X, [2XDeligneLusztigNames[102X returns a list of Deligne-Lusztig names of the the unipotent characters of [3Xobj[103X. If the [22Xi[122X-th entry is bound then it is the name of the [22Xi[122X-th irreducible character of [3Xobj[103X, and this character is irreducible. If an irreducible character is not unipotent the accordant position is unbound.[133X [33X[0;0Y[2XDeligneLusztigNames[102X called with a string [3Xobj[103X, calls itself with the argument [10XCharacterTable( [3Xobj[103X[10X )[110X.[133X [33X[0;0YWhen [2XDeligneLusztigNames[102X is called with a record [3Xobj[103X then this should have the components [10Xisoc[110X, [10Xisot[110X, [10Xl[110X, and [10Xq[110X, where [10Xisoc[110X and [10Xisot[110X are strings defining the isogeny class and isogeny type, and [10Xl[110X and [10Xq[110X are integers. These components define a finite group of Lie type uniquely. Moreover this way one can choose Deligne-Lusztig names for a prescribed type in those cases where a group has more than one interpretation as a finite group of Lie type, see the example below. (The first call of [2XDeligneLusztigNames[102X sets the attribute value in the character table.)[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XDeligneLusztigNames( "L2(7)" );[127X[104X [4X[28X[ [ 2 ],,,, [ 1, 1 ] ][128X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "L2(7)" );[127X[104X [4X[28XCharacterTable( "L3(2)" )[128X[104X [4X[25Xgap>[125X [27XHasDeligneLusztigNames( tbl );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XDeligneLusztigNames( rec( isoc:= "A", isot:= "simple",[127X[104X [4X[25X>[125X [27X l:= 2, q:= 2 ) );[127X[104X [4X[28X[ [ 3 ],,, [ 2, 1 ],, [ 1, 1, 1 ] ][128X[104X [4X[32X[104X [1X3.4-3 DeligneLusztigName[101X [33X[1;0Y[29X[2XDeligneLusztigName[102X( [3Xchi[103X ) [32X function[133X [33X[0;0YFor a unipotent character [3Xchi[103X, [2XDeligneLusztigName[102X returns the Deligne-Lusztig name of [3Xchi[103X. For that, [2XDeligneLusztigNames[102X ([14X3.4-2[114X) is called with the argument [10XUnderlyingCharacterTable( [3Xchi[103X[10X )[110X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "F4(2)" );;[127X[104X [4X[25Xgap>[125X [27XDeligneLusztigName( Irr( tbl )[9] );[127X[104X [4X[28Xfail[128X[104X [4X[25Xgap>[125X [27XHasDeligneLusztigNames( tbl );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XList( [ 1 .. 8 ], i -> DeligneLusztigName( Irr( tbl )[i] ) );[127X[104X [4X[28X[ "phi{1,0}", "[ [ 2 ], [ ] ]", "phi{2,4}''", "phi{2,4}'", [128X[104X [4X[28X "F4^II[1]", "phi{4,1}", "F4^I[1]", "phi{9,2}" ][128X[104X [4X[32X[104X [1X3.4-4 KnowsDeligneLusztigNames[101X [33X[1;0Y[29X[2XKnowsDeligneLusztigNames[102X( [3Xtbl[103X ) [32X property[133X [33X[0;0YFor an ordinary character table [3Xtbl[103X, this function returns [9Xtrue[109X if [2XDeligneLusztigNames[102X ([14X3.4-2[114X) returns the list of Deligne-Lusztig names of the unipotent characters of [3Xtbl[103X, and [9Xfalse[109X otherwise.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XKnowsDeligneLusztigNames( CharacterTable( "A5" ) );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XKnowsDeligneLusztigNames( CharacterTable( "M" ) );[127X[104X [4X[28Xfalse[128X[104X [4X[32X[104X [1X3.5 [33X[0;0Y[5XBrowse[105X[101X[1X Applications Provided by [5XCTblLib[105X[101X[1X[133X[101X [33X[0;0YThe following functions are available only if the [5XGAP[105X package [5XBrowse[105X (see [BL18]) is loaded. The function [2XDisplayCTblLibInfo[102X ([14X3.5-1[114X) shows details about an ordinary or modular character table in a pager, the other functions can be used to show the following information via browse tables.[133X [30X [33X[0;6YAn overview of the [5XGAP[105X Character Table Library, and details pages about ordinary and modular character tables (see [2XBrowseCTblLibInfo[102X ([14X3.5-2[114X)), which allow one to navigate to related pages and to pages showing for example decomposition matrices (cf. [2XBrowseDecompositionMatrix[102X ([14XBrowseDecompositionMatrix???[114X)),[133X [30X [33X[0;6Yan alternative display function that shows character tables from the [5XAtlas[105X of Finite Groups [CCN+85] and the [5XAtlas[105X of Brauer Characters [JLPW95] in a format similar to the one used in these books (see [2XBrowseAtlasTable[102X ([14X3.5-9[114X), cf. [2XBrowse (for character tables)[102X ([14XBrowse (for character tables)???[114X) for the default display format for character tables),[133X [30X [33X[0;6Yan overview of the names of simple groups for which the [5XAtlas[105X of Finite Groups [CCN+85] and the [5XAtlas[105X of Brauer Characters [JLPW95] show the character tables and other information (see [2XBrowseAtlasContents[102X ([14X3.5-5[114X), a variant that doe not rely on [5XBrowse[105X is [2XDisplayAtlasContents[102X ([14X3.5-6[114X)),[133X [30X [33X[0;6Ya function that shows the [5XAtlas[105X map of the bicyclic extensions of a simple [5XAtlas[105X group (see [2XBrowseAtlasMap[102X ([14X3.5-7[114X), a variant that does not rely on [5XBrowse[105X is [2XDisplayAtlasMap[102X ([14X3.5-8[114X)),[133X [30X [33X[0;6Yan overview of the [21Xatomic irrationalities[121X that occur in [5XAtlas[105X character tables (see [2XBrowseCommonIrrationalities[102X ([14X3.5-3[114X)),[133X [30X [33X[0;6Yan overview of the lists of improvements to the [5XAtlas[105X of Finite Groups (see [2XBrowseAtlasImprovements[102X ([14X3.5-10[114X)).[133X [30X [33X[0;6Yan overview of the differences between the character table data since version 1.1.3 of the [5XCTblLib[105X package (see [2XBrowseCTblLibDifferences[102X ([14X3.5-4[114X)),[133X [33X[0;0YThe functions [2XBrowseCTblLibInfo[102X ([14X3.5-2[114X), [2XBrowseCommonIrrationalities[102X ([14X3.5-3[114X), [2XBrowseCTblLibDifferences[102X ([14X3.5-4[114X), [2XBrowseAtlasContents[102X ([14X3.5-5[114X), and [2XBrowseAtlasImprovements[102X ([14X3.5-10[114X) occur also in the list of choices shown by [2XBrowseGapData[102X ([14XBrowseGapData???[114X).[133X [1X3.5-1 DisplayCTblLibInfo[101X [33X[1;0Y[29X[2XDisplayCTblLibInfo[102X( [3Xtbl[103X ) [32X function[133X [33X[1;0Y[29X[2XDisplayCTblLibInfo[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [33X[1;0Y[29X[2XStringCTblLibInfo[102X( [3Xtbl[103X ) [32X function[133X [33X[1;0Y[29X[2XStringCTblLibInfo[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [33X[0;0YWhen [2XDisplayCTblLibInfo[102X is called with an ordinary or modular character table [3Xtbl[103X then an overview of the information available for this character table is shown via the function that is given by the user preference [14X4.5-3[114X. When [2XDisplayCTblLibInfo[102X is called with a string [3Xname[103X that is an admissible name for an ordinary character table then the overview for this character table is shown. If a prime integer [3Xp[103X is entered in addition to [3Xname[103X then information about the [3Xp[103X-modular character table is shown instead.[133X [33X[0;0YAn interactive variant of [2XDisplayCTblLibInfo[102X is [2XBrowseCTblLibInfo[102X ([14X3.5-2[114X).[133X [33X[0;0YThe string that is shown by [2XDisplayCTblLibInfo[102X can be computed using [2XStringCTblLibInfo[102X, with the same arguments.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XStringCTblLibInfo( CharacterTable( "A5" ) );;[127X[104X [4X[25Xgap>[125X [27XStringCTblLibInfo( CharacterTable( "A5" ) mod 2 );;[127X[104X [4X[25Xgap>[125X [27XStringCTblLibInfo( "A5" );;[127X[104X [4X[25Xgap>[125X [27XStringCTblLibInfo( "A5", 2 );;[127X[104X [4X[32X[104X [1X3.5-2 BrowseCTblLibInfo[101X [33X[1;0Y[29X[2XBrowseCTblLibInfo[102X( [[3Xfunc[103X, [3Xval[103X, [3X...[103X] ) [32X function[133X [33X[1;0Y[29X[2XBrowseCTblLibInfo[102X( [3Xtbl[103X ) [32X function[133X [33X[1;0Y[29X[2XBrowseCTblLibInfo[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0YCalled without arguments, [2XBrowseCTblLibInfo[102X shows the contents of the [5XGAP[105X Character Table Library in an [13Xoverview table[113X, see below.[133X [33X[0;0YWhen arguments [3Xfunc[103X, [3Xval[103X, [3X...[103X are given that are admissible arguments for [2XAllCharacterTableNames[102X ([14X3.1-4[114X) –in particular, the first argument must be a function– then the overview is restricted to those character tables that match the conditions. The global option [10X"OrderedBy"[110X is supported as in [2XAllCharacterTableNames[102X ([14X3.1-4[114X).[133X [33X[0;0YWhen [2XBrowseCTblLibInfo[102X is called with a character table [3Xtbl[103X then a [13Xdetails table[113X is opened that gives an overview of the information available for this character table. When [2XBrowseCTblLibInfo[102X is called with a string [3Xname[103X that is an admissible name for an ordinary character table then the details table for this character table is opened. If a prime integer [3Xp[103X is entered in addition to [3Xname[103X then information about the [3Xp[103X-modular character table is shown instead.[133X [33X[0;0YThe overview table has the following columns.[133X [8X[10Xname[110X[8X[108X [33X[0;6Ythe [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of the table,[133X [8X[10Xsize[110X[8X[108X [33X[0;6Ythe group order,[133X [8X[10Xnccl[110X[8X[108X [33X[0;6Ythe number of conjugacy classes,[133X [8X[10Xfusions -> G[110X[8X[108X [33X[0;6Ythe list of identifiers of tables on which a fusion to the given table is stored, and[133X [8X[10Xfusions G ->[110X[8X[108X [33X[0;6Ythe list of identifiers of tables to which a fusion is stored on the given table.[133X [33X[0;0YThe details table for a given character table has exactly one column. Only part of the functionality of the function [2XNCurses.BrowseGeneric[102X ([14XNCurses.BrowseGeneric???[114X) is available in such a table. On the other hand, the details tables contain [21Xlinks[121X to other Browse applications, for example other details tables.[133X [33X[0;0YWhen one [21Xclicks[121X on a row or an entry in the overview table then the details table for the character table in question is opened. One can navigate from this details table to a related one, by first [13Xactivating[113X a link (via repeatedly hitting the [12XTab[112X key) and then [13Xfollowing[113X the active link (via hitting the [12XReturn[112X key). If mouse actions are enabled (by hitting the [12XM[112X key, see [2XNCurses.UseMouse[102X ([14XNCurses.UseMouse???[114X)) then one can alternatively activate a link and click on it via mouse actions.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtab:= [ 9 ];; # hit the TAB key[127X[104X [4X[25Xgap>[125X [27Xn:= [ 14, 14, 14 ];; # ``do nothing'' input (means timeout)[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X # select the first column, search for the name A5[127X[104X [4X[25X>[125X [27X "sc/A5", [ NCurses.keys.DOWN, NCurses.keys.DOWN,[127X[104X [4X[25X>[125X [27X NCurses.keys.RIGHT, NCurses.keys.ENTER ],[127X[104X [4X[25X>[125X [27X # open the details table for A5[127X[104X [4X[25X>[125X [27X [ NCurses.keys.ENTER ], n, n,[127X[104X [4X[25X>[125X [27X # activate the link to the character table of A5[127X[104X [4X[25X>[125X [27X tab, n, n,[127X[104X [4X[25X>[125X [27X # show the character table of A5[127X[104X [4X[25X>[125X [27X [ NCurses.keys.ENTER ], n, n, "seddrr", n, n,[127X[104X [4X[25X>[125X [27X # close this character table[127X[104X [4X[25X>[125X [27X "Q",[127X[104X [4X[25X>[125X [27X # activate the link to the maximal subgroup D10[127X[104X [4X[25X>[125X [27X tab, tab, n, n,[127X[104X [4X[25X>[125X [27X # jump to the details table for D10[127X[104X [4X[25X>[125X [27X [ NCurses.keys.ENTER ], n, n,[127X[104X [4X[25X>[125X [27X # close this details table[127X[104X [4X[25X>[125X [27X "Q",[127X[104X [4X[25X>[125X [27X # activate the link to a decomposition matrix[127X[104X [4X[25X>[125X [27X tab, tab, tab, tab, tab, n, n,[127X[104X [4X[25X>[125X [27X # show the decomposition matrix[127X[104X [4X[25X>[125X [27X [ NCurses.keys.ENTER ], n, n,[127X[104X [4X[25X>[125X [27X # close this table[127X[104X [4X[25X>[125X [27X "Q",[127X[104X [4X[25X>[125X [27X # activate the link to the AtlasRep overview[127X[104X [4X[25X>[125X [27X tab, tab, tab, tab, tab, tab, tab, n, n,[127X[104X [4X[25X>[125X [27X # show the overview[127X[104X [4X[25X>[125X [27X [ NCurses.keys.ENTER ], n, n,[127X[104X [4X[25X>[125X [27X # close this table[127X[104X [4X[25X>[125X [27X "Q",[127X[104X [4X[25X>[125X [27X # and quit the applications[127X[104X [4X[25X>[125X [27X "QQ" ) );[127X[104X [4X[25Xgap>[125X [27XBrowseCTblLibInfo();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.5-3 BrowseCommonIrrationalities[101X [33X[1;0Y[29X[2XBrowseCommonIrrationalities[102X( ) [32X function[133X [6XReturns:[106X [33X[0;10Ya list of info records for the irrationalities that have been [21Xclicked[121X in visual mode.[133X [33X[0;0YThis function shows the atomic irrationalities that occur in character tables in the [5XAtlas[105X of Finite Groups [CCN+85] or the [5XAtlas[105X of Brauer Characters [JLPW95], together with descriptions of their reductions to the relevant finite fields in a browse table with the following columns. The format is the same as in [JLPW95, Appendix 1].[133X [8X[10Xname[110X[8X[108X [33X[0;6Ythe name of the irrationality, see [2XAtlasIrrationality[102X ([14XReference: AtlasIrrationality[114X),[133X [8X[10Xp[110X[8X[108X [33X[0;6Ythe characteristic,[133X [8X[10Xvalue mod C_n[110X[8X[108X [33X[0;6Ythe corresponding reduction to a finite field of characteristic [10Xp[110X, given by the residue modulo the [10Xn[110X-th Conway polynomial (see [2XConwayPolynomial[102X ([14XReference: ConwayPolynomial[114X)),[133X [8X[10Xn[110X[8X[108X [33X[0;6Ythe degree of the smallest extension of the prime field of characteristic [10Xp[110X that contains the reduction.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xn:= [ 14, 14, 14 ];; # ``do nothing'' input (means timeout)[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X # categorize the table by the characteristics[127X[104X [4X[25X>[125X [27X "scrsc", n, n,[127X[104X [4X[25X>[125X [27X # expand characteristic 2[127X[104X [4X[25X>[125X [27X "srxq", n, n,[127X[104X [4X[25X>[125X [27X # scroll down[127X[104X [4X[25X>[125X [27X "DDD", n, n,[127X[104X [4X[25X>[125X [27X # and quit the application[127X[104X [4X[25X>[125X [27X "Q" ) );[127X[104X [4X[25Xgap>[125X [27XBrowseCommonIrrationalities();;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.5-4 BrowseCTblLibDifferences[101X [33X[1;0Y[29X[2XBrowseCTblLibDifferences[102X( ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0Y[2XBrowseCTblLibDifferences[102X lists the differences between the versions of the character table data in the [5XCTblLib[105X package, since version 1.1.3.[133X [33X[0;0YThe overview table contains one row for each change, where [21Xchange[121X means the addition, modification, or removal of information, and has the following columns.[133X [8X[10XIdentifier[110X[8X[108X [33X[0;6Ythe [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of the character table,[133X [8X[10XType[110X[8X[108X [33X[0;6Yone of [10XNEW[110X (for the addition of previously not available information), [10X***[110X (for a bugfix), or [10XC[110X (for a change that does not really fix a bug, typically a change motivated by a new consistency criterion),[133X [8X[10XWhat[110X[8X[108X [33X[0;6Yone of [10Xclass fusions[110X (some class fusions from or to the table in question were changed), [10Xmaxes[110X (the value of the attribute [2XMaxes[102X ([14X3.7-1[114X) was changed), [10Xnames[110X (incorrect admissible names were removed), [10Xtable[110X or [10Xtable mod [110X[22Xp[122X (the ordinary or [22Xp[122X-modular character table was changed), [10Xmaxes[110X (the value of the attribute [2XMaxes[102X ([14X3.7-1[114X) was changed), [10Xtom fusion[110X (the value of the attribute [2XFusionToTom[102X ([14X3.2-4[114X) was changed),[133X [8X[10XDescription[110X[8X[108X [33X[0;6Ya description what has been changed,[133X [8X[10XFlag[110X[8X[108X [33X[0;6Yone of [10XDup[110X (the table is a duplicate, in the sense of [2XIsDuplicateTable[102X ([14X3.6-1[114X)), [10XDer[110X (the row belongs to a character table that is derived from other tables), [10XFus[110X (the row belongs to the addition of class fusions), [10XMax[110X (the row belongs to a character table that was added because its group is maximal in another group), or [10XNone[110X (in all other cases –these rows are to some extent the interesting ones). The information in this column can be used to restrict the overview to interesting subsets.[133X [8X[10XVers.[110X[8X[108X [33X[0;6Ythe package version in which the change described by the row appeared first.[133X [33X[0;0YThe full functionality of the function [2XNCurses.BrowseGeneric[102X ([14XNCurses.BrowseGeneric???[114X) is available.[133X [33X[0;0YThe following examples show the input for[133X [30X [33X[0;6Yrestricting the overview to error rows,[133X [30X [33X[0;6Yrestricting the overview to [21XNone[121X rows, and[133X [30X [33X[0;6Yrestricting the overview to rows about a particular table.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xn:= [ 14, 14, 14, 14, 14, 14 ];; # ``do nothing''[127X[104X [4X[25Xgap>[125X [27Xenter:= [ NCurses.keys.ENTER ];;[127X[104X [4X[25Xgap>[125X [27Xdown:= [ NCurses.keys.DOWN ];;[127X[104X [4X[25Xgap>[125X [27Xright:= [ NCurses.keys.RIGHT ];;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "scr", # select the 'Type' column,[127X[104X [4X[25X>[125X [27X "f***", enter, # filter rows containing '***',[127X[104X [4X[25X>[125X [27X n, "Q" ) ); # and quit[127X[104X [4X[25Xgap>[125X [27XBrowseCTblLibDifferences();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "scrrrr", # select the 'Flag' column,[127X[104X [4X[25X>[125X [27X "fNone", enter, # filter rows containing 'None',[127X[104X [4X[25X>[125X [27X n, "Q" ) ); # and quit[127X[104X [4X[25Xgap>[125X [27XBrowseCTblLibDifferences();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "fM", # filter rows containing 'M',[127X[104X [4X[25X>[125X [27X down, down, down, right, # but 'M' as a whole word,[127X[104X [4X[25X>[125X [27X enter, #[127X[104X [4X[25X>[125X [27X n, "Q" ) ); # and quit[127X[104X [4X[25Xgap>[125X [27XBrowseCTblLibDifferences();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.5-5 BrowseAtlasContents[101X [33X[1;0Y[29X[2XBrowseAtlasContents[102X( ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0Y[2XBrowseAtlasContents[102X shows the list of names of simple groups and the corresponding page numbers in the [5XAtlas[105X of Finite Groups [CCN+85], as given on page v of this book, plus a few groups for which [JLPW95, Appendix 2] states that their character tables in [5XAtlas[105X format have been obtained; if applicable then also the corresponding page numbers in the [5XAtlas[105X of Brauer Characters [JLPW95] are shown.[133X [33X[0;0YClicking on a page number opens the [5XAtlas[105X map for the group in question, see [2XBrowseAtlasMap[102X ([14X3.5-7[114X). (From the map, one can open the [5XAtlas[105X style display using the input [10X"T"[110X.)[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xd:= [ NCurses.keys.DOWN ];; r:= [ NCurses.keys.RIGHT ];;[127X[104X [4X[25Xgap>[125X [27Xc:= [ NCurses.keys.ENTER ];;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "/J2", # Find the string J2,[127X[104X [4X[25X>[125X [27X c, # start the search,[127X[104X [4X[25X>[125X [27X r, # select the page for the ordinary table,[127X[104X [4X[25X>[125X [27X c, # click the entry,[127X[104X [4X[25X>[125X [27X "se", # select the box of the simple group,[127X[104X [4X[25X>[125X [27X c, # click the box,[127X[104X [4X[25X>[125X [27X "Q", # quit the info overview for J2,[127X[104X [4X[25X>[125X [27X d, # move down to 2.J2,[127X[104X [4X[25X>[125X [27X c, # click the box,[127X[104X [4X[25X>[125X [27X "Q", # quit the info overview for 2.J2,[127X[104X [4X[25X>[125X [27X "T", # show the ATLAS table for (extensions of) J2[127X[104X [4X[25X>[125X [27X "Q", # quit the ATLAS table,[127X[104X [4X[25X>[125X [27X "Q", # quit the map,[127X[104X [4X[25X>[125X [27X r, # select the page for the 2-modular table,[127X[104X [4X[25X>[125X [27X c, # click the entry,[127X[104X [4X[25X>[125X [27X "T", # show the 2-modular ATLAS table[127X[104X [4X[25X>[125X [27X "Q", # quit the ATLAS table,[127X[104X [4X[25X>[125X [27X "Q", # quit the map,[127X[104X [4X[25X>[125X [27X "Q" ) ); # and quit the application.[127X[104X [4X[25Xgap>[125X [27XBrowseAtlasContents();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.5-6 DisplayAtlasContents[101X [33X[1;0Y[29X[2XDisplayAtlasContents[102X( ) [32X function[133X [33X[1;0Y[29X[2XStringAtlasContents[102X( ) [32X function[133X [33X[0;0Y[2XDisplayAtlasContents[102X calls the function that is given by the user preference [14X4.5-3[114X, in order to show the list of names of simple groups and the corresponding page numbers in the [5XAtlas[105X of Finite Groups [CCN+85], as given on page v of this book, plus a few groups for which [JLPW95, Appendix 2] states that their character tables in [5XAtlas[105X format have been obtained; if applicable then also the corresponding page numbers in the [5XAtlas[105X of Brauer Characters [JLPW95] are shown.[133X [33X[0;0YAn interactive variant of [2XDisplayAtlasContents[102X is [2XBrowseAtlasContents[102X ([14X3.5-5[114X).[133X [33X[0;0YThe string that is shown by [2XDisplayAtlasContents[102X can be computed using [2XStringAtlasContents[102X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xstr:= StringAtlasContents();;[127X[104X [4X[25Xgap>[125X [27Xpos:= PositionNthOccurrence( str, '\n', 10 );;[127X[104X [4X[25Xgap>[125X [27XPrint( str{ [ 1 .. pos ] } );[127X[104X [4X[28XA5 = L2(4) = L2(5) 2 2:2, 3:2, 5:2[128X[104X [4X[28XL3(2) = L2(7) 3 2:3, 3:3, 7:3[128X[104X [4X[28XA6 = L2(9) = S4(2)' 4 2:4, 3:4, 5:5[128X[104X [4X[28XL2(8) = R(3)' 6 2:6, 3:6, 7:6[128X[104X [4X[28XL2(11) 7 2:7, 3:7, 5:8, 11:8[128X[104X [4X[28XL2(13) 8 2:9, 3:9, 7:10, 13:10[128X[104X [4X[28XL2(17) 9 2:11, 3:11, 17:12[128X[104X [4X[28XA7 10 2:13, 3:13, 5:14, 7:15[128X[104X [4X[28XL2(19) 11 2:16, 3:16, 5:17, 19:18[128X[104X [4X[28XL2(16) 12 2:19, 3:20, 5:20, 17:21[128X[104X [4X[32X[104X [1X3.5-7 BrowseAtlasMap[101X [33X[1;0Y[29X[2XBrowseAtlasMap[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0YFor a string [3Xname[103X that is the identifier of the character table of a simple group from the [5XAtlas[105X of Finite Groups [CCN+85], [2XBrowseAtlasMap[102X shows the map that describes the bicyclic extensions of this group, see [CCN+85, Chapter 6]. If the optional argument [3Xp[103X is not given or if [3Xp[103X is zero then the map for the ordinary character tables is shown, if [3Xp[103X is a prime integer then the map for the [3Xp[103X-modular Brauer character tables is shown, as in [JLPW95].[133X [33X[0;0YClicking on a square of the map opens the character table information for the extension in question, by calling [2XBrowseCTblLibInfo[102X ([14X3.5-2[114X).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xd:= [ NCurses.keys.DOWN ];; r:= [ NCurses.keys.RIGHT ];;[127X[104X [4X[25Xgap>[125X [27Xc:= [ NCurses.keys.ENTER ];;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "T", # show the ATLAS table for (extensions of) M12[127X[104X [4X[25X>[125X [27X "Q", # quit the ATLAS table,[127X[104X [4X[25X>[125X [27X "se", # select the box of the simple group,[127X[104X [4X[25X>[125X [27X c, # click the box,[127X[104X [4X[25X>[125X [27X "Q", # quit the info overview for M12,[127X[104X [4X[25X>[125X [27X r, d, # select the box for the bicyclic extension,[127X[104X [4X[25X>[125X [27X c, # click the box,[127X[104X [4X[25X>[125X [27X "Q", # quit the info overview,[127X[104X [4X[25X>[125X [27X "Q" ) ); # and quit the application.[127X[104X [4X[25Xgap>[125X [27XBrowseAtlasMap( "M12" );[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.5-8 DisplayAtlasMap[101X [33X[1;0Y[29X[2XDisplayAtlasMap[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [33X[1;0Y[29X[2XDisplayAtlasMap[102X( [3Xarec[103X ) [32X function[133X [33X[1;0Y[29X[2XStringsAtlasMap[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [33X[1;0Y[29X[2XStringsAtlasMap[102X( [3Xarec[103X ) [32X function[133X [6XReturns:[106X [33X[0;10Y[2XDisplayAtlasMap[102X returns nothing, [2XStringsAtlasMap[102X returns either [9Xfail[109X or the list of strings that form the rows of the [5XAtlas[105X map of the group in question.[133X [33X[0;0YLet [3Xname[103X be an admissible name for the character table of a simple [5XAtlas[105X group, and [3Xp[103X be a prime integer or [22X0[122X (which is the default). [2XDisplayAtlasMap[102X shows the map for the group and its extensions, similar to the map shown in the [5XAtlas[105X. [2XStringsAtlasMap[102X returns the list of strings that form the rows of this map.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( "M12" );[127X[104X [4X[28X--------- --------- [128X[104X [4X[28X| | | | [128X[104X [4X[28X| G | | G.2 | 15[128X[104X [4X[28X| | | | [128X[104X [4X[28X--------- --------- [128X[104X [4X[28X--------- --------- [128X[104X [4X[28X| | | | [128X[104X [4X[28X| 2.G | | 2.G.2 | 11[128X[104X [4X[28X| | | | [128X[104X [4X[28X--------- --------- [128X[104X [4X[28X 15 9 [128X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( "M12", 2 );[127X[104X [4X[28X--------- --------- [128X[104X [4X[28X| | | | [128X[104X [4X[28X| G | | G.2 | 6[128X[104X [4X[28X| | | | [128X[104X [4X[28X--------- --------- [128X[104X [4X[28X 6 0 [128X[104X [4X[25Xgap>[125X [27XStringsAtlasMap( "M11" );[127X[104X [4X[28X[ "--------- ", "| | ", "| G | 10", "| | ", [128X[104X [4X[28X "--------- ", " 10 " ][128X[104X [4X[32X[104X [33X[0;0YMore generally, [3Xname[103X can be an admissible name for a character with known [2XExtensionInfoCharacterTable[102X ([14X3.7-3[114X) value and such that the strings describing multiplier and outer automorphism group in this value occur in the lists [10XCTblLib.AtlasMapMultNames[110X and [10XCTblLib.AtlasMapOutNames[110X, respectively. If not all character tables of bicyclic extensions of the simple group in question are available then [2XStringsAtlasMap[102X returns [9Xfail[109X, and [2XDisplayAtlasMap[102X shows nothing.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( "S10(2)" );[127X[104X [4X[28X--------- [128X[104X [4X[28X| | [128X[104X [4X[28X| G | 198[128X[104X [4X[28X| | [128X[104X [4X[28X--------- [128X[104X [4X[28X 198 [128X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( "L12(27)" );[127X[104X [4X[25Xgap>[125X [27XStringsAtlasMap( "L12(27)" );[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X [33X[0;0YIf the abovementioned requirements are not satisfied for the character tables in question then one can provide the necessary information via a record [3Xarec[103X.[133X [33X[0;0YThe following example shows the [21X[5XAtlas[105X map[121X for the alternating group on four points, viewed as an extension of the trivial group by a Klein four group and a group of order three.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( rec([127X[104X [4X[25X>[125X [27Xlabels:= [ [ "G", "G.3" ],[127X[104X [4X[25X>[125X [27X [ "2.G", "" ],[127X[104X [4X[25X>[125X [27X [ "2'.G", "" ],[127X[104X [4X[25X>[125X [27X [ "2''.G", "" ] ],[127X[104X [4X[25X>[125X [27Xshapes:= [ [ "closed", "closed" ],[127X[104X [4X[25X>[125X [27X [ "closed", "empty" ],[127X[104X [4X[25X>[125X [27X [ "closed", "empty" ],[127X[104X [4X[25X>[125X [27X [ "closed", "empty" ] ],[127X[104X [4X[25X>[125X [27Xlabelscol:= [ "1", "1" ],[127X[104X [4X[25X>[125X [27Xlabelsrow:= [ "1", "1", "1", "1" ],[127X[104X [4X[25X>[125X [27Xdashedhorz:= [ false, false, true, true ],[127X[104X [4X[25X>[125X [27Xdashedvert:= [ false, false ],[127X[104X [4X[25X>[125X [27Xshowdashedrows:= true ) );[127X[104X [4X[28X --------- --------- [128X[104X [4X[28X | | | | [128X[104X [4X[28X | G | | G.3 | 1[128X[104X [4X[28X | | | | [128X[104X [4X[28X --------- --------- [128X[104X [4X[28X --------- [128X[104X [4X[28X | | [128X[104X [4X[28X | 2.G | 1[128X[104X [4X[28X | | [128X[104X [4X[28X --------- [128X[104X [4X[28X 2'.G --------- [128X[104X [4X[28X --------- [128X[104X [4X[28X2''.G --------- [128X[104X [4X[28X --------- [128X[104X [4X[28X 1 1 [128X[104X [4X[32X[104X [33X[0;0YThe next example shows the [21X[5XAtlas[105X map[121X for the symmetric group on three points, viewed as a bicyclic extension of the trivial group by groups of the orders three and two, respectively.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XDisplayAtlasMap( rec([127X[104X [4X[25X>[125X [27Xlabels:= [ [ "G", "G.2" ],[127X[104X [4X[25X>[125X [27X [ "3.G", "3.G.2" ] ],[127X[104X [4X[25X>[125X [27Xshapes:= [ [ "closed", "closed" ],[127X[104X [4X[25X>[125X [27X [ "closed", "open" ] ],[127X[104X [4X[25X>[125X [27Xlabelscol:= [ "1", "1" ],[127X[104X [4X[25X>[125X [27Xlabelsrow:= [ "1", "1" ],[127X[104X [4X[25X>[125X [27Xdashedhorz:= [ false, false ],[127X[104X [4X[25X>[125X [27Xdashedvert:= [ false, false ],[127X[104X [4X[25X>[125X [27Xshowdashedrows:= true ) );[127X[104X [4X[28X--------- --------- [128X[104X [4X[28X| | | | [128X[104X [4X[28X| G | | G.2 | 1[128X[104X [4X[28X| | | | [128X[104X [4X[28X--------- --------- [128X[104X [4X[28X--------- -------- [128X[104X [4X[28X| | | [128X[104X [4X[28X| 3.G | | 3.G.2 1[128X[104X [4X[28X| | | [128X[104X [4X[28X--------- [128X[104X [4X[28X 1 1 [128X[104X [4X[32X[104X [33X[0;0Y(Depending on the terminal capabilities, the results may look nicer than the [21XASCII only[121X graphics shown above.)[133X [33X[0;0YThe following components of [3Xarec[103X are supported.[133X [8X[10Xname[110X[8X[108X [33X[0;6Ya string, the name of the (simple) group;[133X [8X[10Xchar[110X[8X[108X [33X[0;6Ythe characteristic, the default is [22X0[122X;[133X [8X[10Xidentifiers[110X[8X[108X [33X[0;6Yan [22Xm[122X by [22Xn[122X matrix whose entries are [9Xfail[109X or the [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X) values of the character tables of the extensions in question;[133X [8X[10Xlabels[110X[8X[108X [33X[0;6Yan [22Xm[122X by [22Xn[122X matrix whose entries are [9Xfail[109X or the strings that shall be used as the labels of the boxes;[133X [8X[10Xshapes[110X[8X[108X [33X[0;6Yan [22Xm[122X by [22Xn[122X matrix whose entries are the strings [10X"closed"[110X, [10X"open"[110X, [10X"broken"[110X, and [10X"empty"[110X, describing the boxes that occur;[133X [8X[10Xlabelscol[110X[8X[108X [33X[0;6Ya list of length [22Xn[122X that contains the labels to be shown below the last row of boxes, intended to show the numbers of classes in this column of boxes;[133X [8X[10Xlabelsrow[110X[8X[108X [33X[0;6Ya list of length [22Xm[122X that contains the labels to be shown on the right of the last column of boxes, intended to show the numbers of characters in this row of boxes;[133X [8X[10Xdashedhorz[110X[8X[108X [33X[0;6Ya list of length [22Xm[122X with entries [9Xtrue[109X (the boxes in this row shall have small height) or [9Xfalse[109X (the boxes in this row shall have normal height);[133X [8X[10Xdashedvert[110X[8X[108X [33X[0;6Ya list of length [22Xn[122X with entries [9Xtrue[109X (the boxes in this column shall have small width) or [9Xfalse[109X (the boxes in this column shall have normal width);[133X [8X[10Xshowdashedrows[110X[8X[108X [33X[0;6Y[9Xtrue[109X or [9Xfalse[109X, the default is to show rows of [21Xdashed[121X boxes in the case of ordinary tables, and to omit them in the case of Brauer tables, as happens in the printed Atlases;[133X [8X[10Xonlyasciiboxes[110X[8X[108X [33X[0;6Y[9Xtrue[109X (show only ASCII characters when drawing the boxes) or [9Xfalse[109X (use line drawing characters), the default is the value returned by [10XCTblLib.ShowOnlyASCII[110X;[133X [8X[10Xonlyasciilabels[110X[8X[108X [33X[0;6Y[9Xtrue[109X (show only ASCII characters in the labels inside the boxes) or [9Xfalse[109X (default, use subscripts if applicable); the default is the value returned by [10XCTblLib.ShowOnlyASCII[110X;[133X [8X[10Xspecialshapes[110X[8X[108X [33X[0;6Ya list of length three that describes exceptional cases (intended for the treatment of [21Xdashed names[121X and [21Xbroken boxes[121X, look at the values in [10XCTblLib.AtlasMapBoxesSpecial[110X where this component is actually used).[133X [1X3.5-9 BrowseAtlasTable[101X [33X[1;0Y[29X[2XBrowseAtlasTable[102X( [3Xname[103X[, [3Xp[103X] ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0Y[2XBrowseAtlasTable[102X displays the character tables of bicyclic extensions of the simple group with the name [3Xname[103X in a window, in the same format as the [5XAtlas[105X of Finite Groups [CCN+85] and the [5XAtlas[105X of Brauer Characters [JLPW95] do. For that, it is necessary that these tables are known, as well as the class fusions between them and perhaps additional information (e. g., about the existence of certain extensions). These requirements are fulfilled if the tables are contained in the [5XAtlas[105X, but they may hold also in other cases.[133X [33X[0;0YIf a prime [3Xp[103X is given as the second argument then the [3Xp[103X-modular Brauer tables are shown, otherwise (or if [3Xp[103X is zero) the ordinary tables are shown.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xd:= [ NCurses.keys.DOWN ];; r:= [ NCurses.keys.RIGHT ];;[127X[104X [4X[25Xgap>[125X [27Xc:= [ NCurses.keys.ENTER ];;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "/y", # Find the string y,[127X[104X [4X[25X>[125X [27X c, # start the search,[127X[104X [4X[25X>[125X [27X "nnnn", # Find more occurrences,[127X[104X [4X[25X>[125X [27X "Q" ) ); # and quit the application.[127X[104X [4X[25Xgap>[125X [27XBrowseAtlasTable( "A6" );[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [33X[0;0YThe function uses [2XNCurses.BrowseGeneric[102X ([14XNCurses.BrowseGeneric???[114X). The identifier of the table is used as the static header. The strings [10XX_1[110X, [10XX_2[110X, [22X...[122X are used as row labels for those table rows that contain character values, and column labels are given by centralizer orders, power map information, and class names.[133X [1X3.5-10 BrowseAtlasImprovements[101X [33X[1;0Y[29X[2XBrowseAtlasImprovements[102X( [[3Xchoice[103X] ) [32X function[133X [6XReturns:[106X [33X[0;10Ynothing.[133X [33X[0;0YCalled without argument or with the string [10X"ordinary"[110X, [2XBrowseAtlasImprovements[102X shows the lists of improvements to the [5XAtlas[105X of Finite Groups [CCN+85] that are contained in [BN95] and [Nor].[133X [33X[0;0YCalled with the string [10X"modular"[110X, [2XBrowseAtlasImprovements[102X shows the list of improvements to the [5XAtlas[105X of Brauer Characters [JLPW95] that are contained in [ABC].[133X [33X[0;0YCalled with [9Xtrue[109X, the concatenation of the above lists are shown.[133X [33X[0;0YThe overview table contains one row for each improvement, and has the following columns.[133X [8X[10XSection[110X[8X[108X [33X[0;6Ythe part in the [5XAtlas[105X to which the entry belongs (Introduction, The Groups, Additional information, Bibliography, Appendix 1, Appendix 2),[133X [8X[10XSrc[110X[8X[108X [33X[0;6Y[10X1[110X for entries from [BN95], [10X2[110X for entries from [Nor], and [10X3[110X for entries from [ABC],[133X [8X[10XTyp[110X[8X[108X [33X[0;6Ythe type of the improvement, one of [10X***[110X (for mathematical errors), [10XNEW[110X (for new information), [10XC[110X (for improvements concerning grammar or notational consistency), or [10XM[110X (for misprints or cases of illegibility),[133X [8X[10XPage[110X[8X[108X [33X[0;6Ythe page and perhaps the line in the (ordinary or modular) [5XAtlas[105X,[133X [8X[10XGroup[110X[8X[108X [33X[0;6Ythe name of the simple group to which the entry belongs (empty for entries not from the section [21XThe Groups[121X),[133X [8X[10XText[110X[8X[108X [33X[0;6Ythe description of the entry,[133X [8X[10X**[110X[8X[108X [33X[0;6Yfor each entry of the type [10X***[110X, the subtype of the error to which some statements in [BMO17] refer, one of [10XCH[110X (character values), [10XP[110X (power maps, element orders, and class names), [10XFI[110X (fusions and indicators), [10XI[110X (Introduction, Bibliography, the list showing the orders of multipliers and outer automorphism group, and the list of Conway polynomials), [10XMP[110X (maps), [10XMX[110X (descriptions of maximal subgroups), and [10XG[110X (other information about the group).[133X [33X[0;0YThe full functionality of the function [2XNCurses.BrowseGeneric[102X ([14XNCurses.BrowseGeneric???[114X) is available.[133X [33X[0;0YThe following example shows the input for first restricting the list to errors (type [10X***[110X), then categorizing the filtered list by the subtype of the error, and then expanding the category for the subtype [10XCH[110X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xn:= [ 14, 14, 14, 14, 14, 14 ];; # ``do nothing''[127X[104X [4X[25Xgap>[125X [27Xenter:= [ NCurses.keys.ENTER ];;[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( Concatenation([127X[104X [4X[25X>[125X [27X "scrr", # select the 'Typ' column,[127X[104X [4X[25X>[125X [27X "f***", enter, # filter rows containing '***',[127X[104X [4X[25X>[125X [27X "scrrrrrrsc", enter, # categorize by the error kind[127X[104X [4X[25X>[125X [27X "sr", enter, # expand the 'CH' category[127X[104X [4X[25X>[125X [27X n, "Q" ) ); # and quit[127X[104X [4X[25Xgap>[125X [27XBrowseAtlasImprovements();[127X[104X [4X[25Xgap>[125X [27XBrowseData.SetReplay( false );[127X[104X [4X[32X[104X [1X3.6 [33X[0;0YDuplicates of Library Character Tables[133X[101X [33X[0;0YIt can be useful to deal with different instances of [21Xthe same[121X character table. An example is the situation that a group [22XG[122X, say, contains several classes of isomorphic maximal subgroups that have different class fusions; the attribute [2XMaxes[102X ([14X3.7-1[114X) of the character table of [22XG[122X then contains several entries that belong to the same group, but the identifiers of the character tables are different.[133X [33X[0;0YOn the other hand, it can be useful to consider only one of the different instances when one searches for character tables with certain properties, for example using [2XOneCharacterTableName[102X ([14X3.1-5[114X).[133X [33X[0;0YFor that, we introduce the following concept. A character table [22Xt_1[122X is said to be a [13Xduplicate[113X of another character table [22Xt_2[122X if the attribute [2XIdentifierOfMainTable[102X ([14X3.6-2[114X) returns the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of [22Xt_2[122X when it is called with [22Xt_1[122X, and we call [22Xt_2[122X the [13Xmain table[113X of [22Xt_1[122X. In this case, [2XIsDuplicateTable[102X ([14X3.6-1[114X) returns [9Xtrue[109X for [22Xt_1[122X.[133X [33X[0;0YIf the character table [22Xt_1[122X is not a duplicate of any other library table then [2XIdentifierOfMainTable[102X ([14X3.6-2[114X) returns [9Xfail[109X for [22Xt_1[122X and [2XIsDuplicateTable[102X ([14X3.6-1[114X) returns [9Xfalse[109X.[133X [33X[0;0YSee [2XAllCharacterTableNames[102X ([14X3.1-4[114X) for examples how to apply [2XIsDuplicateTable[102X ([14X3.6-1[114X) in practice.[133X [33X[0;0YWe do [13Xnot[113X promise that two library tables for which [2XIsDuplicateTable[102X ([14X3.6-1[114X) returns [9Xfalse[109X are necessarily different. (And since nonisomorphic groups may have the same character table, it would not make sense to think about restricting a search to a subset of library tables that belong to pairwise nonisomorphic groups.)[133X [33X[0;0YCurrently [2XIdentifierOfMainTable[102X ([14X3.6-2[114X) does not return [9Xfail[109X for [22Xt_1[122X if [2XConstructionInfoCharacterTable[102X ([14X3.7-4[114X) is set in [22Xt_1[122X, the first entry of the attribute value is [10X"ConstructPermuted"[110X, and one of the following holds.[133X [30X [33X[0;6YThe second entry of the [2XConstructionInfoCharacterTable[102X ([14X3.7-4[114X) value is a list of length [22X1[122X that contains the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of [22Xt_2[122X.[133X [30X [33X[0;6YThe [5XSpinSym[105X package is loaded and [22Xt_1[122X is one of the character tables provided by this package. These tables are not declared as permuted tables of library tables, but we [13Xwant[113X to regard them as duplicates.[133X [1X3.6-1 IsDuplicateTable[101X [33X[1;0Y[29X[2XIsDuplicateTable[102X( [3Xtbl[103X ) [32X property[133X [33X[0;0YFor an ordinary character table [3Xtbl[103X from the [5XGAP[105X Character Table Library, this function returns [9Xtrue[109X if [3Xtbl[103X was constructed from another library character table by permuting rows and columns, via the attribute [2XConstructionInfoCharacterTable[102X ([14X3.7-4[114X). Otherwise [9Xfalse[109X is returned, in particular if [3Xtbl[103X is not a character table from the [5XGAP[105X Character Table Library.[133X [33X[0;0YOne application of this function is to restrict the search with [2XAllCharacterTableNames[102X ([14X3.1-4[114X) to only one library character table for each class of permutation equivalent tables. Note that this does property of the search result cannot be guaranteed if private character tables have been added to the library, see [2XNotifyCharacterTable[102X ([14X4.7-5[114X).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XMaxes( CharacterTable( "A6" ) );[127X[104X [4X[28X[ "A5", "A6M2", "3^2:4", "s4", "A6M5" ][128X[104X [4X[25Xgap>[125X [27XIsDuplicateTable( CharacterTable( "A5" ) );[127X[104X [4X[28Xfalse[128X[104X [4X[25Xgap>[125X [27XIsDuplicateTable( CharacterTable( "A6M2" ) );[127X[104X [4X[28Xtrue[128X[104X [4X[32X[104X [1X3.6-2 IdentifierOfMainTable[101X [33X[1;0Y[29X[2XIdentifierOfMainTable[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YIf [3Xtbl[103X is an ordinary character table that is a duplicate in the sense of the introduction to Section[14 X3.6[114X then this function returns the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of the main table of [3Xtbl[103X. Otherwise [9Xfail[109X is returned.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XMaxes( CharacterTable( "A6" ) );[127X[104X [4X[28X[ "A5", "A6M2", "3^2:4", "s4", "A6M5" ][128X[104X [4X[25Xgap>[125X [27XIdentifierOfMainTable( CharacterTable( "A5" ) );[127X[104X [4X[28Xfail[128X[104X [4X[25Xgap>[125X [27XIdentifierOfMainTable( CharacterTable( "A6M2" ) );[127X[104X [4X[28X"A5"[128X[104X [4X[32X[104X [1X3.6-3 IdentifiersOfDuplicateTables[101X [33X[1;0Y[29X[2XIdentifiersOfDuplicateTables[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YFor an ordinary character table [3Xtbl[103X, this function returns the list of [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) values of those character tables from the [5XGAP[105X Character Table Library that are duplicates of [3Xtbl[103X, in the sense of the introduction to Section[14 X3.6[114X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XMaxes( CharacterTable( "A6" ) );[127X[104X [4X[28X[ "A5", "A6M2", "3^2:4", "s4", "A6M5" ][128X[104X [4X[25Xgap>[125X [27XIdentifiersOfDuplicateTables( CharacterTable( "A5" ) );[127X[104X [4X[28X[ "A6M2", "Alt(5)" ][128X[104X [4X[25Xgap>[125X [27XIdentifiersOfDuplicateTables( CharacterTable( "A6M2" ) );[127X[104X [4X[28X[ ][128X[104X [4X[32X[104X [1X3.7 [33X[0;0YAttributes for Library Character Tables[133X[101X [33X[0;0YThis section describes certain attributes which are set only for certain (not necessarily all) character tables from the [5XGAP[105X Character Table Library. The attribute values are part of the database, there are no methods for [13Xcomputing[113X them, except for [2XInfoText[102X ([14X3.7-5[114X).[133X [33X[0;0YOther such attributes and properties are described in manual sections because the context fits better. These attributes are [2XFusionToTom[102X ([14X3.2-4[114X), [2XGroupInfoForCharacterTable[102X ([14X3.3-1[114X), [2XKnowsSomeGroupInfo[102X ([14X3.3-2[114X), [2XIsNontrivialDirectProduct[102X ([14X3.3-7[114X), [2XDeligneLusztigNames[102X ([14X3.4-2[114X), [2XDeligneLusztigName[102X ([14X3.4-3[114X), [2XKnowsDeligneLusztigNames[102X ([14X3.4-4[114X), [2XIsDuplicateTable[102X ([14X3.6-1[114X), and [2XCASInfo[102X ([14X4.4-1[114X).[133X [1X3.7-1 Maxes[101X [33X[1;0Y[29X[2XMaxes[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YIf this attribute is set for an ordinary character table [3Xtbl[103X then the value is a list of identifiers of the ordinary character tables of all maximal subgroups of [3Xtbl[103X. There is no default method to [13Xcompute[113X this value from [3Xtbl[103X.[133X [33X[0;0YIf the [2XMaxes[102X value of [3Xtbl[103X is stored then it lists exactly one representative for each conjugacy class of maximal subgroups of the group of [3Xtbl[103X, and the character tables of these maximal subgroups are available in the [5XGAP[105X Character Table Library, and compatible class fusions to [3Xtbl[103X are stored on these tables (see the example in Section [14X2.3-5[114X).[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27Xtbl:= CharacterTable( "M11" );;[127X[104X [4X[25Xgap>[125X [27XHasMaxes( tbl );[127X[104X [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27Xmaxes:= Maxes( tbl );[127X[104X [4X[28X[ "A6.2_3", "L2(11)", "3^2:Q8.2", "A5.2", "2.S4" ][128X[104X [4X[25Xgap>[125X [27XCharacterTable( maxes[1] );[127X[104X [4X[28XCharacterTable( "A6.2_3" )[128X[104X [4X[32X[104X [1X3.7-2 ProjectivesInfo[101X [33X[1;0Y[29X[2XProjectivesInfo[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YIf this attribute is set for an ordinary character table [3Xtbl[103X then the value is a list of records, each with the following components.[133X [8X[10Xname[110X[8X[108X [33X[0;6Ythe [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of the character table of the covering whose faithful irreducible characters are described by the record,[133X [8X[10Xchars[110X[8X[108X [33X[0;6Ya list of values lists of faithful projective irreducibles; only one representative of each family of Galois conjugates is contained in this list. and[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XProjectivesInfo( CharacterTable( "A5" ) );[127X[104X [4X[28X[ rec( [128X[104X [4X[28X chars := [ [ 2, 0, -1, E(5)+E(5)^4, E(5)^2+E(5)^3 ], [128X[104X [4X[28X [ 2, 0, -1, E(5)^2+E(5)^3, E(5)+E(5)^4 ], [128X[104X [4X[28X [ 4, 0, 1, -1, -1 ], [ 6, 0, 0, 1, 1 ] ], name := "2.A5" ) ][128X[104X [4X[32X[104X [1X3.7-3 ExtensionInfoCharacterTable[101X [33X[1;0Y[29X[2XExtensionInfoCharacterTable[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YLet [3Xtbl[103X be the ordinary character table of a group [22XG[122X, say. If this attribute is set for [3Xtbl[103X then the value is a list of length two, the first entry being a string [10XM[110X that describes the Schur multiplier of [22XG[122X and the second entry being a string [10XA[110X that describes the outer automorphism group of [22XG[122X. Trivial multiplier or outer automorphism group are denoted by an empty string.[133X [33X[0;0YIf [3Xtbl[103X is a table from the [5XGAP[105X Character Table Library and [22XG[122X is (nonabelian and) simple then the value is set. In this case, an admissible name for the character table of a universal covering group of [22XG[122X (if this table is available and different from [3Xtbl[103X) is given by the concatenation of [10XM[110X, [10X"."[110X, and the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of [3Xtbl[103X. Analogously, an admissible name for the character table of the automorphism group of [22XG[122X (if this table is available and different from [3Xtbl[103X) is given by the concatenation of the [2XIdentifier[102X ([14XReference: Identifier for character tables[114X) value of [3Xtbl[103X, [10X"."[110X, and [10XA[110X.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XExtensionInfoCharacterTable( CharacterTable( "A5" ) );[127X[104X [4X[28X[ "2", "2" ][128X[104X [4X[32X[104X [1X3.7-4 ConstructionInfoCharacterTable[101X [33X[1;0Y[29X[2XConstructionInfoCharacterTable[102X( [3Xtbl[103X ) [32X attribute[133X [33X[0;0YIf this attribute is set for an ordinary character table [3Xtbl[103X then the value is a list that describes how this table was constructed. The first entry is a string that is the identifier of the function that was applied to the pre-table record; the remaining entries are the arguments for that function, except that the pre-table record must be prepended to these arguments.[133X [1X3.7-5 InfoText[101X [33X[1;0Y[29X[2XInfoText[102X( [3Xtbl[103X ) [32X method[133X [33X[0;0YThis method for library character tables returns an empty string if no [2XInfoText[102X value is stored on the table [3Xtbl[103X.[133X [33X[0;0YWithout this method, it would be impossible to use [2XInfoText[102X in calls to [2XAllCharacterTableNames[102X ([14X3.1-4[114X), as in the following example.[133X [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XAllCharacterTableNames( InfoText,[127X[104X [4X[25X>[125X [27X s -> PositionSublist( s, "tests:" ) <> fail );;[127X[104X [4X[32X[104X
Generated by dwww version 1.15 on Sun Jun 23 04:25:25 CEST 2024.