67.13 SmashGModule

SmashGModule( module, S [,flag] )

SmashGModule seeks to find a decomposition of a G-module with respect to a normal subgroup of G.

module is a module for a finite group G of matrices over a finite field and S is a set of matrices, generating a subgroup of G.

SmashGModule attempts to find some way of decomposing the module with respect to the normal subgroup < S > ^G. It returns true if some decomposition is found, false otherwise.

It first ensures that G acts absolutely irreducibly and that S contain at least one non-scalar matrix. If either of these conditions fails, then it returns false. The function returns true if it succeeds in verifying that either G acts imprimitively, or semilinearly, or preserves a tensor product, or preserves a symmetric tensor product (that is, permutes the tensor factors) or G normalises a group which is extraspecial or a 2-group of symplectic type. Each of these decompositions, if found, involves < S > ^G in a natural way. Components are added to the record module which indicate the nature of a decomposition. Details of these components can be found in Components of a $G$-module record. If no decomposition is found, the function returns false. In general, the answer false indicates that there is no such decomposition with respect to < S > ^G. However, SmashGModule may fail to find a symmetric tensor product decomposition, since the detection of such a decomposition relies on the choice of random elements.

SmashGModule adds conjugates to S until a decomposition of the underlying vector space as a sum of irreducible < S> -modules is found. The functions SemiLinearDecomposition, TensorProductDecomposition, SymTensorProductDecomposition, and ExtraSpecialDe-composition now search for decompositions.

At the end of the call to SmashGModule, S may be larger than at the start (but its normal closure has not changed).

The only permitted value for the optional parameter flag is the string "PartialSmash". If "PartialSmash" is supplied, SmashGModule returns false as soon as it is clear that G is not the normaliser of a p-group nor does it preserve a symmetric tensor product decomposition with respect to < S > ^G.

The algorithm is described in [6].

Previous Up Top Next
Index

GAP 3.4.4
April 1997