50.31 PermChars

PermChars( tbl )
PermChars( tbl, degree )
PermChars( tbl, arec )

GAP provides several algorithms to determine permutation character candidates from a given character table. The algorithm is selected from the choice of the record fields of the optional argument record arec. The user is encouraged to try different approaches especially if one choice fails to come to an end.

Regardless of the algorithm used in a special case, PermChars returns a list of all permutation character candidates with the properties given in arec. There is no guarantee that a character of this list is in fact a permutation character. But an empty list always means there is no permutation character with these properties (e.g. of a certain degree).

In the first form PermChars( tbl ) returns the list of all permutation characters of the group with character table tbl. This list might be rather long for big groups, and it might take much time. The algorithm depends on a preprocessing step, where the inequalities arising from the condition pi(g) leq 0 are transformed into a system of inequalities that guides the search (see Inequalities).

    gap> m11:= CharTable("M11");;
    gap> PermChars(m11);;     # will return the list of 39 permutation
                              # character candidates of $M11$. 

There are two different search strategies for this algorithm. One simply constructs all characters with nonnegative values and then tests for each such character whether its degree is a divisor of the order of the group. This is the default. The other strategy uses the inequalities to predict if it is possible to find a character of a certain degree in the currently searched part of the search tree. To choose this strategy set the field mode of arec to "preview" and the field degree to the degree (or a list of degrees which might be all divisors of the order of the group) you want to look for. The record field ineq can take the inequalities from Inequalities if they are needed more than once.

In the second form PermChars( tbl, degree ) returns the list of all permutation characters of degree degree. For that purpose a preprocessing step is performed where essentially the rationalized character table is inverted in order to determine boundary points for the simplex in which the permutation character candidates of a given degree must lie (see PermBounds). Note that inverting big integer matrices needs a lot of time and space. So this preprocessing is restricted to groups with less than 100 classes, say.

    gap> PermChars(m11, 220);
    [ [ 220, 4, 4, 0, 0, 4, 0, 0, 0, 0 ],
      [ 220, 12, 4, 4, 0, 0, 0, 0, 0, 0 ],
      [ 220, 20, 4, 0, 0, 2, 0, 0, 0, 0 ] ] 

In the third form PermChars( tbl, arec ) returns the list of all permutation characters which have the properties given in the argument record arec. If arec contains a degree in the record field degree then PermChars will behave exactly as in the second form.

    gap> PermChars(m11, rec(degree:= 220));
    [ [ 220, 4, 4, 0, 0, 4, 0, 0, 0, 0 ],
      [ 220, 12, 4, 4, 0, 0, 0, 0, 0, 0 ],
      [ 220, 20, 4, 0, 0, 2, 0, 0, 0, 0 ] ] 

Alternatively arec may have the record fields chars and torso. arec.chars is a list of (in most cases all) rational irreducible characters of tbl which might be constituents of the required characters, and arec.torso is a list that contains some known values of the required characters at the right positions.

Note: At least the degree arec.torso[1] must be an integer. If arec.chars does not contain all rational irreducible characters of G, it may happen that any scalar product of pi with an omitted character is negative; there should be nontrivial reasons for excluding a character that is known to be not a constituent of pi.

    gap> rat:= RationalizedMat(m11.irreducibles);;
    gap> PermChars(m11, rec(torso:= [220], chars:= rat));
    [ [ 220, 4, 4, 0, 0, 4, 0, 0, 0, 0 ],
      [ 220, 20, 4, 0, 0, 2, 0, 0, 0, 0 ],
      [ 220, 12, 4, 4, 0, 0, 0, 0, 0, 0 ] ]
    gap> PermChars(m11, rec(torso:= [220,,,,,2], chars:= rat));
    [ [ 220, 20, 4, 0, 0, 2, 0, 0, 0, 0 ] ] 

Previous Up Top Next
Index

GAP 3.4.4
April 1997