Group Characters
All the functions in this package assume characters to be character records as described in chapter Class Functions.
Property Tests
When we ask whether a group character chi has a certain property, like quasiprimitivity, we usually want more information than yes or no. Often we are interested in the reason why a group character chi could be proved to have a certain property, e.g., whether monomiality of chi was proved by the observation that the underlying group is nilpotent, or if it was necessary to construct a linear character of a subgroup from that chi can be induced. In the latter case we also may be interested in this linear character.
Because of this the usual property checks of GAP that return either true
or false
are not sufficient for us.
Instead there are test functions that return a record with the possibly
useful information.
For example, the record returned by the function TestQuasiPrimitive
(see TestQuasiPrimitive) contains the component isQuasiPrimitive
which is
the known boolean property flag, a component comment
which is a string
telling the reason for the value of the isQuasiPrimitive
component,
and in the case that the argument chi was a not quasiprimitive character
the component character
which is an irreducible constituent of a
nonhomogeneous restriction of chi to a normal subgroup.
The results of these test functions are stored in the respective records,
in our example chi will have a component testQuasiPrimitive
after
the call of TestQuasiPrimitive
.
Besides these test functions there are also the known property checks,
e.g., the function IsQuasiPrimitive
which will call TestQuasiPrimitive
and return the value of the isQuasiPrimitive
component of the result.
Where one should be careful
Monomiality questions usually involve computations in a lot of subgroups and factor groups of a given group, and for these groups often expensive calculations like that of the character table are necessary. If it is probable that the character table of a group will occur at a later stage again, one should try to store the group (with the character table stored in the group record) and use this record later rather than a new record that describes the same group.
An example: Suppose you want to restrict a character to a normal subgroup
N that was constructed as a normal closure of some group elements, and
suppose that you have already computed normal subgroups (by calls to
NormalSubgroups
or MaximalNormalSubgroups
) and their character tables.
Then you should look in the lists of known normal subgroups whether N is
contained, and if yes you can use the known character table.
A mechanism that supports this for normal subgroups is described in Storing Subgroup Information. The following hint may be useful in this context.
If you know that sooner or later you will compute the character table of a group G then it may be advisable to do this as soon as possible. For example if you need the normal subgroups of G then they can be computed more efficiently if the character table of G is known, and they can be stored compatibly to the contained G-conjugacy classes. This correspondence of classes list and normal subgroup can be used very often.
Package Information
Some of the functions print (perhaps useful) information if the
function InfoMonomial
is set to the value Print
.
GAP 3.4.4