48 Tables of Marks

The concept of a table of marks was introduced by W. Burnside in his book Theory of Groups of Finite Order Bur55. Therefore a table of marks is sometimes called a Burnside matrix.

The table of marks of a finite group G is a matrix whose rows and columns are labelled by the conjugacy classes of subgroups of G and where for two subgroups A and B the (A, B)--entry is the number of fixed points of B in the transitive action of G on the cosets of A in G. So the table of marks characterizes all permutation representations of G.

Moreover, the table of marks gives a compact description of the subgroup lattice of G, since from the numbers of fixed points the numbers of conjugates of a subgroup B contained in a subgroup A can be derived.

This chapter describes a function (see TableOfMarks) which restores a table of marks from the GAP3 library of tables of marks (see The Library of Tables of Marks) or which computes the table of marks for a given group from the subgroup lattice of that group. Moreover this package contains a function to display a table of marks (see DisplayTom), a function to check the consistency of a table of marks (see TestTom), functions which switch between several forms of representation (see Marks, NrSubs, MatTom, and TomMat), functions which derive information about the group from the table of marks (see DecomposedFixedPointVector, NormalizerTom, IntersectionsTom, IsCyclicTom, FusionCharTableTom, PermCharsTom, MoebiusTom, CyclicExtensionsTom, IdempotentsTom, ClassTypesTom, and ClassNamesTom), and some functions for the generic construction of a table of marks (see TomCyclic, TomDihedral, and TomFrobenius).

The functions described in this chapter are implemented in the file LIBNAME/"tom.g".

Subsections

  1. More about Tables of Marks
  2. Table of Marks Records
  3. The Library of Tables of Marks
  4. TableOfMarks
  5. Marks
  6. NrSubs
  7. WeightsTom
  8. MatTom
  9. TomMat
  10. DecomposedFixedPointVector
  11. TestTom
  12. DisplayTom
  13. NormalizerTom
  14. IntersectionsTom
  15. IsCyclicTom
  16. FusionCharTableTom
  17. PermCharsTom
  18. MoebiusTom
  19. CyclicExtensionsTom
  20. IdempotentsTom
  21. ClassTypesTom
  22. ClassNamesTom
  23. TomCyclic
  24. TomDihedral
  25. TomFrobenius

48.1 More about Tables of Marks

Let G be a finite group with n conjugacy classes of subgroups C1, ..., Cn and representatives Hi ∈ Ci, i = 1, ..., n. The table of marks of G is defined to be the n × n matrix M = (mij) where mij is the number of fixed points of the subgroup Hj in the action of G on the cosets of Hi in G.

Since Hj can only have fixed points if it is contained in a one point stablizer the matrix M is lower triangular if the classes Ci are sorted according to the following condition; if Hi is contained in a conjugate of Hj then i ≤ j.

Moreover, the diagonal entries mii are nonzero since mii equals the index of Hi in its normalizer in G. Hence M is invertible. Since any transitive action of G is equivalent to an action on the cosets of a subgroup of G, one sees that the table of marks completely characterizes permutation representations of G.

The entries mij have further meanings. If H1 is the trivial subgroup of G then each mark mi1 in the first column of M is equal to the index of Hi in G since the trivial subgroup fixes all cosets of Hi. If Hn = G then each mnj in the last row of M is equal to 1 since there is only one coset of G in G. In general, mij equals the number of conjugates of Hi which contain Hj, multiplied by the index of Hi in its normalizer in G. Moreover, the number cij of conjugates of Hj which are contained in Hi can be derived from the marks mij via the formula

cij = (mij mj1)/(mi1 mjj).

Both the marks mij and the numbers of subgroups cij are needed for the functions described in this chapter.

48.2 Table of Marks Records

A table of marks is represented by a record. This record has at least a component subs which is a list where for each conjugacy class of subgroups the class numbers of its subgroups are stored. These are exactly the positions in the corresponding row of the table of marks which have nonzero entries.

The marks themselves can be stored in the component marks which is a list that contains for each entry in the component subs the corresponding nonzero value of the table of marks.

The same information is, however, given by the three components nrSubs, length, and order, where nrSubs is a list which contains for each entry in the component subs the corresponding number of conjugates which are contained in a subgroup, length is a list which contains for each class of subgroups its length, and order is a list which contains for each class of subgroups their order.

So a table of marks consists either of the components subs and marks or of the components subs, nrSubs, length, and order. The functions Marks (see Marks) and NrSubs (see NrSubs) will derive one representation from the other when needed.

Additional information about a table of marks is needed by some functions. The class numbers of normalizers are stored in the component normalizer. The number of the derived subgroup of the whole group is stored in the component derivedSubgroup.

48.3 The Library of Tables of Marks

This package of functions comes together with a library of tables of marks. The library files are stored in a directory TOMNAME. The file TOMNAME/"tmprimar.tom" is the primary file of the library of tables of marks. It contains the information where to find a table and the function TomLibrary which restores a table from the library.

The secondary files are

    tmaltern.tom  tmmath24.tom  tmsuzuki.tom  tmunitar.tom
    tmlinear.tom  tmmisc.tom    tmsporad.tom  tmsymple.tom 

The list TOMLIST contains for each table an entry with its name and the name of the file where it is stored.

A table of marks which is restored from the library will be stored as a component of the record TOM.

48.4 TableOfMarks

TableOfMarks( str )

If the argument str given to TableOfMarks is a string then TableOfMarks will search the library of tables of marks (see The Library of Tables of Marks) for a table with name str. If such a table is found then TableOfMarks will return a copy of that table. Otherwise TableOfMarks will return false.

    gap> a5 := TableOfMarks( "A5" );
    rec(
      derivedSubgroup := 9,
      normalizer := [ 9, 4, 6, 8, 7, 6, 7, 8, 9 ],
      nrSubs := [ [ 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 3, 1 ], [ 1, 1 ],
          [ 1, 3, 1, 1 ], [ 1, 5, 1, 1 ], [ 1, 3, 4, 1, 1 ],
          [ 1, 15, 10, 5, 6, 10, 6, 5, 1 ] ],
      order := [ 1, 2, 3, 4, 5, 6, 10, 12, 60 ],
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 2, 4 ], [ 1, 5 ],
          [ 1, 2, 3, 6 ], [ 1, 2, 5, 7 ], [ 1, 2, 3, 4, 8 ],
          [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] ],
      length := [ 1, 15, 10, 5, 6, 10, 6, 5, 1 ] )
    gap> TableOfMarks( "A10" );
    #W  TableOfMarks: no table of marks A10 found.
    false 

TableOfMarks( grp )

If TableOfMarks is called with a group grp as its argument then the table of marks of that group will be computed and returned in the compressed format. The computation of the table of marks requires the knowledge of the complete subgroup lattice of the group grp. If the lattice is not yet known then it will be constructed (see Lattice). This may take a while if the group grp is large.

Moreover, as the Lattice command is involved the applicability of TableOfMarks underlies the same restrictions with respect to the soluble residuum of grp as described in section Lattice. The result of TableOfMarks is assigned to the component tableOfMarks of the group record grp, so that the next call to TableOfMarks with the same argument can just return this component tableOfMarks.

Warning: Note that TableOfMarks has changed with the release GAP3 3.2. It now returns the table of marks in compressed form. However, you can apply the MatTom command (see MatTom) to convert it into the square matrix which was returned by TableOfMarks in GAP3 version 3.1.

    gap> alt5 := AlternatingPermGroup( 5 );;
    gap> TableOfMarks( alt5 );
    rec(
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 2, 4 ], [ 1, 5 ],
          [ 1, 2, 3, 6 ], [ 1, 2, 5, 7 ], [ 1, 2, 3, 4, 8 ],
          [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] ],
      marks := [ [ 60 ], [ 30, 2 ], [ 20, 2 ], [ 15, 3, 3 ], [ 12, 2 ],
          [ 10, 2, 1, 1 ], [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ],
          [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] )
    gap> last = alt5.tableOfMarks;
    true 

For a pretty print display of a table of marks see DisplayTom.

48.5 Marks

Marks( tom )

Marks returns the list of lists of marks of the table of marks tom. If these are not yet stored in the component marks of tom then they will be computed and assigned to the component marks.

    gap> Marks( a5 );
    [ [ 60 ], [ 30, 2 ], [ 20, 2 ], [ 15, 3, 3 ], [ 12, 2 ], 
      [ 10, 2, 1, 1 ], [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ], 
      [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] 

48.6 NrSubs

NrSubs( tom )

NrSubs returns the list of lists of numbers of subgroups of the table of marks tom. If these are not yet stored in the component nrSubs of tom then they will be computed and assigned to the component nrSubs.

NrSubs also has to compute the orders and lengths from the marks.

    gap> NrSubs( a5 );
    [ [ 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 3, 1 ], [ 1, 1 ], [ 1, 3, 1, 1 ], 
      [ 1, 5, 1, 1 ], [ 1, 3, 4, 1, 1 ], [ 1, 15, 10, 5, 6, 10, 6, 5, 1 ] 
     ]

48.7 WeightsTom

WeightsTom( tom )

WeightsTom extracts the weights from a table of marks tom, i.e., the diagonal entries, indicating the index of a subgroup in its normalizer.

    gap> wt := WeightsTom( a5 ); 
    [ 60, 2, 2, 3, 2, 1, 1, 1, 1 ] 

This information may be used to obtain the numbers of conjugate supergroups from the marks.

    gap> marks := Marks( a5 );; 
    gap> List( [ 1 .. 9 ], x -> marks[x] / wt[x] );
    [ [ 1 ], [ 15, 1 ], [ 10, 1 ], [ 5, 1, 1 ], [ 6, 1 ], [ 10, 2, 1, 1 ],
      [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ]

48.8 MatTom

MatTom( tom )

MatTom produces a square matrix corresponding to the table of marks tom in compressed form. For large tables this may need a lot of space.

    gap> MatTom( a5 );
    [ [ 60, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 30, 2, 0, 0, 0, 0, 0, 0, 0 ], 
      [ 20, 0, 2, 0, 0, 0, 0, 0, 0 ], [ 15, 3, 0, 3, 0, 0, 0, 0, 0 ], 
      [ 12, 0, 0, 0, 2, 0, 0, 0, 0 ], [ 10, 2, 1, 0, 0, 1, 0, 0, 0 ], 
      [ 6, 2, 0, 0, 1, 0, 1, 0, 0 ], [ 5, 1, 2, 1, 0, 0, 0, 1, 0 ], 
      [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] 

48.9 TomMat

TomMat( mat )

Given a matrix mat which contains the marks of a group as its entries, TomMat will produce the corresponding table of marks record.

    gap> mat:= 
    > [ [ 60, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 30, 2, 0, 0, 0, 0, 0, 0, 0 ], 
    >   [ 20, 0, 2, 0, 0, 0, 0, 0, 0 ], [ 15, 3, 0, 3, 0, 0, 0, 0, 0 ], 
    >   [ 12, 0, 0, 0, 2, 0, 0, 0, 0 ], [ 10, 2, 1, 0, 0, 1, 0, 0, 0 ], 
    >   [ 6, 2, 0, 0, 1, 0, 1, 0, 0 ], [ 5, 1, 2, 1, 0, 0, 0, 1, 0 ], 
    >   [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ];;
    gap> TomMat( mat );
    rec(
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 2, 4 ], [ 1, 5 ], 
          [ 1, 2, 3, 6 ], [ 1, 2, 5, 7 ], [ 1, 2, 3, 4, 8 ], 
          [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] ],
      marks := [ [ 60 ], [ 30, 2 ], [ 20, 2 ], [ 15, 3, 3 ], [ 12, 2 ], 
          [ 10, 2, 1, 1 ], [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ], 
          [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] )
    gap> TomMat( IdentityMat( 7 ) );
    rec(
      subs := [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ] ],
      marks := [ [ 1 ], [ 1 ], [ 1 ], [ 1 ], [ 1 ], [ 1 ], [ 1 ] ] ) 

48.10 DecomposedFixedPointVector

DecomposedFixedPointVector( tom, fix )

Let the group with table of marks tom act as a permutation group on its conjugacy classes of subgroups, then fix is assumed to be a vector of fixed point numbers, i.e., a vector which contains for each class of subgroups the number of fixed points under that action. DecomposedFixedPointVector returns the decomposition of fix into rows of the table of marks. This decomposition corresponds to a decomposition of the action into transitive constituents. Trailing zeros in fix may be omitted.

    gap> DecomposedFixedPointVector( a5, [ 16, 4, 1, 0, 1, 1, 1 ] );
    [ ,,,,, 1, 1 ] 

The vector fix may be any vector of integers. The resulting decomposition, however, will not be integral, in general.

    gap> DecomposedFixedPointVector( a5, [ 0, 0, 0, 0, 1, 1 ] );
    [ 2/5, -1, -1/2,, 1/2, 1 ] 

48.11 TestTom

TestTom( tom )

TestTom decomposes all tensor products of rows of the table of marks tom. It returns true if all decomposition numbers are nonnegative integers and false otherwise. This provides a strong consistency check for a table of marks.

    gap> TestTom( a5 );
    true 

48.12 DisplayTom

DisplayTom( tom )

DisplayTom produces a formatted output for the table of marks tom. Each line of output begins with the number of the corresponding class of subgroups. This number is repeated if the output spreads over several pages.

    gap> DisplayTom( a5 );
    1:  60
    2:  30 2
    3:  20 . 2
    4:  15 3 . 3
    5:  12 . . . 2
    6:  10 2 1 . . 1
    7:   6 2 . . 1 . 1
    8:   5 1 2 1 . . . 1
    9:   1 1 1 1 1 1 1 1 1 

DisplayTom( tom, arec )

In this form DisplayTom takes a record arec as an additional parameter. If this record has a component classes which contains a list of class numbers then only the rows and columns of the matrix corresponding to this list are printed.

    gap> DisplayTom( a5, rec( classes := [ 1, 2, 3, 4, 8 ] ) );
    1:  60
    2:  30 2
    3:  20 . 2
    4:  15 3 . 3
    8:   5 1 2 1 1 

The record arec may also have a component form which enables the printing of tables of numbers of subgroups. If arec.form has the value "subgroups" then at position (i,j) the number of conjugates of Hj contained in Hi will be printed. If it has the value "supergroups" then at position (i,j) the number of conjugates of Hi which contain Hj will be printed.

    gap> DisplayTom( a5, rec( form := "subgroups" ) );
    1:  1
    2:  1  1
    3:  1  .  1
    4:  1  3  . 1
    5:  1  .  . . 1
    6:  1  3  1 . .  1
    7:  1  5  . . 1  . 1
    8:  1  3  4 1 .  . . 1
    9:  1 15 10 5 6 10 6 5 1
    
    gap> DisplayTom( a5, rec( form := "supergroups" ) );
    1:   1
    2:  15 1
    3:  10 . 1
    4:   5 1 . 1
    5:   6 . . . 1
    6:  10 2 1 . . 1
    7:   6 2 . . 1 . 1
    8:   5 1 2 1 . . . 1
    9:   1 1 1 1 1 1 1 1 1 

48.13 NormalizerTom

NormalizerTom( tom, u )

NormalizerTom tries to find conjugacy class of the normalizer of a subgroup with class number u. It will return the list of class numbers of those subgroups which have the right size and contain the subgroup and all subgroups which clearly contain it as a normal subgroup. If the normalizer is uniquely determined by these conditions then only its class number will be returned. NormalizerTom should never return an empty list.

    gap> NormalizerTom( a5, 4 );
    8 

The example shows that a subgroup with class number 4 in A5 (which is a Kleinan four group) is normalized by a subgroup in class 8. This class contains the subgroups of A5 which are isomorphic to A4.

48.14 IntersectionsTom

IntersectionsTom( tom, a, b )

The intersections of the two conjugacy classes of subgroups with class numbers a and b, respectively, are determined by the decomposition of the tensor product of their rows of marks. IntersectionsTom returns this decomposition.

    gap> IntersectionsTom( a5, 8, 8 );
    [ ,, 1,,,,, 1 ] 

Any two subgroups of class number 8 (A4) of A5 are either equal and their intersection has again class number 8, or their intersection has class number 3, and is a cyclic subgroup of order 3.

48.15 IsCyclicTom

IsCyclicTom( tom, n )

A subgroup is cyclic if and only if the sum over the corresponding row of the inverse table of marks is nonzero (see Ker91, page 125). Thus we only have to decompose the corresponding idempotent.

    gap> for i in [ 1 .. 6 ] do                       
    > Print( i, ": ", IsCyclicTom(a5, i), "  " );
    > od;  Print( "\n" );
    1: true  2: true  3: true  4: false  5: true  6: false   

48.16 FusionCharTableTom

FusionCharTableTom( tbl, tom )

FusionCharTableTom determines the fusion of the classes of elements from the character table tbl into classes of cyclic subgroups on the table of marks tom.

    gap> a5c := CharTable( "A5" );;
    gap> fus := FusionCharTableTom( a5c, a5 );
    [ 1, 2, 3, 5, 5 ] 

48.17 PermCharsTom

PermCharsTom( tom, fus )

PermCharsTom reads the list of permutation characters from the table of marks tom. It therefore has to know the fusion map fus which sends each conjugacy class of elements of the group to the conjugacy class of subgroups they generate.

    gap> PermCharsTom( a5, fus );
    [ [ 60, 0, 0, 0, 0 ], [ 30, 2, 0, 0, 0 ], [ 20, 0, 2, 0, 0 ], 
      [ 15, 3, 0, 0, 0 ], [ 12, 0, 0, 2, 2 ], [ 10, 2, 1, 0, 0 ], 
      [ 6, 2, 0, 1, 1 ], [ 5, 1, 2, 0, 0 ], [ 1, 1, 1, 1, 1 ] ] 

48.18 MoebiusTom

MoebiusTom( tom )

MoebiusTom computes the Möbius values both of the subgroup lattice of the group with table of marks tom and of the poset of conjugacy classes of subgroups. It returns a record where the component mu contains the Möbius values of the subgroup lattice, and the component nu contains the Möbius values of the poset. Moreover, according to a conjecture of Isaacs et al. (see HIO89, Pah93), the values on the poset of conjugacy classes are derived from those of the subgroup lattice. These theoretical values are returned in the component ex. For that computation, the derived subgroup must be known in the component derivedSubgroup of tom. The numbers of those subgroups where the theoretical value does not coincide with the actual value are returned in the component hyp.

    gap> MoebiusTom( a5 );
    rec(
      mu := [ -60, 4, 2,,, -1, -1, -1, 1 ],
      nu := [ -1, 2, 1,,, -1, -1, -1, 1 ],
      ex := [ -60, 4, 2,,, -1, -1, -1, 1 ],
      hyp := [  ] ) 

48.19 CyclicExtensionsTom

CyclicExtensionsTom( tom, p )

According to A. Dress Dre69, two columns of the table of marks tom are equal modulo the prime p if and only if the corresponding subgroups are connected by a chain of normal extensions of order p. CyclicExtensionsTom returns the classes of this equivalence relation.

This information is not used by NormalizerTom although it might give additional restrictions in the search of normalizers.

    gap> CyclicExtensionsTom( a5, 2 );
    [ [ 1, 2, 4 ], [ 3, 6 ], [ 5, 7 ], [ 8 ], [ 9 ] ] 

48.20 IdempotentsTom

IdempotentsTom( tom )

IdempotentsTom returns the list of idempotents of the integral Burnside ring described by the table of marks tom. According to A. Dress Dre69, these idempotents correspond to the classes of perfect subgroups, and each such idempotent is the characteristic function of all those subgroups which arise by cyclic extension from the corresponding perfect subgroup.

    gap> IdempotentsTom( a5 );
    [ 1, 1, 1, 1, 1, 1, 1, 1, 9 ] 

48.21 ClassTypesTom

ClassTypesTom( tom )

ClassTypesTom distinguishes isomorphism types of the classes of subgroups of the table of marks tom as far as this is possible. Two subgroups are clearly not isomorphic if they have different orders. Moreover, isomorphic subgroups must contain the same number of subgroups of each type.

The types are represented by numbers. ClassTypesTom returns a list which contains for each class of subgroups its corresponding number.

    gap> a6 := TableOfMarks( "A6" );;
    gap> ClassTypesTom( a6 );
    [ 1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 10, 11, 11, 12, 13, 13, 14, 15,
      15, 16 ] 

48.22 ClassNamesTom

ClassNamesTom( tom )

ClassNamesTom constructs generic names for the conjugacy classes of subgroups of the table of marks tom.

In general, the generic name of a class of non--cyclic subgroups consists of three parts, "(order)", "_{type}", and "letter", and hence has the form "(order)_{type}letter", where order indicates the order of the subgroups, type is a number that distinguishes different types of subgroups of the same order, and letter is a letter which distinguishes classes of subgroups of the same type and order. The type of a subgroup is determined by the numbers of its subgroups of other types (see ClassTypesTom). This is slightly weaker than isomorphism.

The letter is omitted if there is only one class of subgroups of that order and type, and the type is omitted if there is only one class of that order. Moreover, the braces round the type are omitted if the type number has only one digit.

For classes of cyclic subgoups, the parentheses round the order and the type are omitted. Hence the most general form of their generic names is "order\,letter". Again, the letter is omitted if there is only one class of cyclic subgroups of that order.

    gap> ClassNamesTom( a6 );
    [ "1", "2", "3a", "3b", "5", "4", "(4)_2a", "(4)_2b", "(6)a", "(6)b",
      "(9)", "(10)", "(8)", "(12)a", "(12)b", "(18)", "(24)a", "(24)b", 
      "(36)", "(60)a", "(60)b", "(360)" ] 

48.23 TomCyclic

TomCyclic( n )

TomCyclic constructs the table of marks of the cyclic group of order n. A cyclic group of order n has as its subgroups for each divisor d of n a cyclic subgroup of order d. The record which is returned has an additional component name where for each subgroup its order is given as a string.

    gap> c6 := TomCyclic( 6 );
    rec(
      name := [ "1", "2", "3", "6" ],
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 2, 3, 4 ] ],
      marks := [ [ 6 ], [ 3, 3 ], [ 2, 2 ], [ 1, 1, 1, 1 ] ] )
    gap> DisplayTom( c6 );
    1:  6
    2:  3 3
    3:  2 . 2
    4:  1 1 1 1 

48.24 TomDihedral

TomDihedral( m )

TomDihedral constructs the table of marks of the dihedral group of order m. For each divisor d of m, a dihedral group of order m = 2n contains subgroups of order d according to the following rule. If d is odd and divides n then there is only one cyclic subgroup of order d. If d is even and divides n then there are a cyclic subgroup of order d and two classes of dihedral subgroups of order d which are cyclic, too, in the case d = 2, see example below). Otherwise, (i.e. if d does not divide n, there is just one class of dihedral subgroups of order d.

    gap> d12 := TomDihedral( 12 );
    rec(
      name := [ "1", "2", "D_{2}a", "D_{2}b", "3", "D_{4}", "6", 
          "D_{6}a", "D_{6}b", "D_{12}" ],
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], 
          [ 1, 2, 3, 4, 6 ], [ 1, 2, 5, 7 ], [ 1, 3, 5, 8 ], 
          [ 1, 4, 5, 9 ], [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ],
      marks := [ [ 12 ], [ 6, 6 ], [ 6, 2 ], [ 6, 2 ], [ 4, 4 ], 
          [ 3, 3, 1, 1, 1 ], [ 2, 2, 2, 2 ], [ 2, 2, 2, 2 ], 
          [ 2, 2, 2, 2 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] )
    gap> DisplayTom( d12 );
     1:  12
     2:   6 6
     3:   6 . 2
     4:   6 . . 2
     5:   4 . . . 4
     6:   3 3 1 1 . 1
     7:   2 2 . . 2 . 2
     8:   2 . 2 . 2 . . 2
     9:   2 . . 2 2 . . . 2
    10:   1 1 1 1 1 1 1 1 1 1 

48.25 TomFrobenius

TomFrobenius( p, q )

TomFrobenius computes the table of marks of a Frobenius group of order p q, where p is a prime and q divides p-1.

    gap> f20 := TomFrobenius( 5, 4 );
    rec(
      name := [ "1", "2", "4", "5:1", "5:2", "5:4" ],
      subs := [ [ 1 ], [ 1, 2 ], [ 1, 2, 3 ], [ 1, 4 ], [ 1, 2, 4, 5 ], 
          [ 1, 2, 3, 4, 5, 6 ] ],
      marks :=
       [ [ 20 ], [ 10, 2 ], [ 5, 1, 1 ], [ 4, 4 ], [ 2, 2, 2, 2 ],
          [ 1, 1, 1, 1, 1, 1 ] ] )
    gap> DisplayTom( f20 );
    1:  20
    2:  10 2
    3:   5 1 1
    4:   4 . . 4
    5:   2 2 . 2 2
    6:   1 1 1 1 1 1 

Previous Up Next
Index

gap3-jm
27 Nov 2023