Given one or more existing modules, various standard constructions are available to construct new modules.
In this collection of functions will be found utilities for changing the base ring of the module. Note that several of the functions for rewriting over a minimal field are restricted to rings K[G] where K is a finite field.
Given an A-module M with base ring R, together with a ring S, such that there is a natural homomorphism from R to S, construct the module N with base ring S where N is obtained from M by coercing the components of the vectors of M into N. The corresponding homomorphism from M to N is returned as a second value.
Given a module M with base ring R, together with a ring S, and a homomorphism f: R -> S, construct the module N with base ring S, where N is obtained from M by applying f to the components of the vectors of M. The corresponding homomorphism from M to N is returned as a second value.
The functions in this section currently only apply to K[G]-modules defined over a finite field K.
Given a K[G]-module M, where K is a finite field, return true if M can be realised over a proper subfield F of K. The equivalent F[G]-module is also returned. The Glasby-Howlett algorithm is used to determine the smallest field over which M can be realised.
Let M be a K[G]-module, where K is a finite field of characteristic p, and let F be a finite field also of characteristic p. If it is possible to realise M over the subfield F of K, return true and the equivalent F[G]-module.
Given a module M of dimension d over a finite field E having degree e and a subfield F of E having degree f, write the action of M as d * e/f by d * e/f matrices over F and return the module and the isomorphism.
Let M be a K[G]-module, where K is a finite field of characteristic p, and let F be a finite field also of characteristic p. This function returns the module obtained by writing M over the smallest possible field containing F subject to the condition that the dimension of M does not increase. The Glasby-Howlett algorithm is used to determine the smallest field over which M can be realised.
SetVerbose("Reduce", n): Maximum: 2
SetVerbose("Cohomology", n): Maximum: 2
SetVerbose("GrunwaldWang", n): Maximum: 2
Let M be a K[G]-module, where K is a finite field of characteristic p or a number field. This function returns the module obtained by writing M over a field of smallest possible degree subject to the condition that the dimension of M does not increase. For modules over finite fields, a field of smallest degree is always a subfield of K, in this case, the Glasby-Howlet algorithm is used. For number fields, a different field might be necessary and a combination of Plesken's method and a constructive version of the Grunwald-Wang theorem is used.
All: BoolElt Default: false
Char: AlgChtrElt Default: false
FindSmallest: BoolElt Default: false
SetVerbose("Reduce", n): Maximum: 2
SetVerbose("Cohomology", n): Maximum: 2
SetVerbose("GrunwaldWang", n): Maximum: 2
Let R:G to Gl(n, K) be an absolutely irreducible representation over some number field K. This function tries to find minimal subfields k of K that afford R, ie. it tries to write the representation over a smaller field. In general however, there might be number field k not contained in K of smaller degree that afford R. If All is given, then instead of a single representation over a minimal degree subfield of K, a list of representations over all minimal subfields of K is returned instead. If Char is given, it should be set to the character of the representation. If FindSmallest is given, the field K will be extended by some auxiliary field A such that KA will contain a minimal degree field affording R. This involves a constructive version of the Grunwald-Wang theorem and can be computationally expensive if the degree of KA is too large.
Let Q be a sequence of K[G]-modules, where K is a finite field of characteristic p, and let F be a finite field also of characteristic p. This function returns the sequence of modules obtained by writing each module M of Q over the smallest possible field containing F subject to the condition that the dimension of M does not increase. Thus, the effect of the function is to apply the function AbsoluteModuleOverMinimalField to each module of Q. The Glasby-Howlett algorithm is used to determine the smallest field over which the modules M of Q can be realised.
Let M be a K[G]-module of dimension d, where K is a finite field of characteristic p, and let F be a subfield of K of index n. This function returns the F[G]-module N obtained by writing the action of M as dn x dn matrices over F.
Let Q be a sequence of K[G]-modules, where K is a finite field of characteristic p, and let F be a subfield of K of index n. This function returns the sequence R of F[G]-modules obtained by applying the function ModuleOverSmallerField to each term of Q. That is, each term N of R is formed by writing the action of the corresponding term of Q as dn x dn matrices over F.
Given K[G]-modules M and N, change their base fields to K, where K is the smallest field containing the base fields of M and N.
Char: AlgChtrElt Default: false
Subfield: BoolElt Default: false
SetVerbose("Reduce", n): Maximum: 2
SetVerbose("Cohomology", n): Maximum: 2
SetVerbose("GrunwaldWang", n): Maximum: 2
Given a L[G] module M and some number field K, try to write M over K. If Char is specified, it should be set to the character of this module. If Subfield is given, the module will be rewritten over a minimal degree subfield of K.
Char: AlgChtrElt Default: false
Subfield: BoolElt Default: false
SetVerbose("Reduce", n): Maximum: 2
SetVerbose("Cohomology", n): Maximum: 2
SetVerbose("GrunwaldWang", n): Maximum: 2
Given an absolutely irreducible representation R:G to Gl(n, L) and some normal number field K, try to write R over K. If Char is specified, it should be set to the character of this representation. If Subfield is given, the representation will be rewritten over a minimal degree subfield of K.
> G := TransitiveGroup(8, 5); > TransitiveGroupDescription(G); Q_8(8); > R := AbsolutelyIrreducibleModules(G, Rationals()); > R; [ GModule of dimension 1 over Rational Field, GModule of dimension 1 over Rational Field, GModule of dimension 1 over Rational Field, GModule of dimension 1 over Rational Field, GModule of dimension 2 over Cyclotomic Field of order 4 and degree 2 ] > R := R[5]; > WriteGModuleOver(R, CyclotomicField(5)); GModule of dimension 2 over Cyclotomic Field of order 5 and degree 4So Q(ζ5) is an example of a field affording the module but having no minimal degree subfield (of degree 2 here) affording R!.
> AbsoluteModuleOverMinimalField($1); GModule of dimension 2 over Number Field with defining polynomial Qx.1^2 - Qx.1 + 1 over the Rational FieldNote that the base field returned here is Q(ζ3) which is of degree 2 but different from Q(ζ4) that was found initially. In general there are infinetely many minimal degree splitting fields.
If we try to realize R over a field where -1 cannot be written as a sums of two squares we get an error:
We can try to find a minimal field containing Q(sqrt 3) by computing the local Schur-indices and then obtain a splitting field:
> WriteGModuleOver(R, QuadraticField(3)); >> WriteGModuleOver(R, QuadraticField(3)); ^ Runtime error in 'WriteGModuleOver': The G-module cannot be realised over K
> k := QuadraticField(3); > SchurIndices(Character(R), k); [ <1st place at infinity, 2>, <2nd place at infinity, 2> ] > A := SplittingField($1); > A; FldAb, defined by (<3>, [1 2]) of structure: Z/2So the splitting field is returned as an abelian extension. We can see that A is of degree 2 over k and will be ramified at most at 3 and both infinite places. In order to use it to rewrite the module, we need to convert to a number field over Q first:
> A := NumberField(A); > A; Number Field with defining polynomial $.1^2 + 1 over k > A := AbsoluteField(A); > A; Number Field with defining polynomial Qx.1^4 - 4*Qx.1^2 + 16 over the Rational Field > WriteGModuleOver(R, A); GModule of dimension 2 over A > WriteGModuleOver(R, A:Subfield); GModule of dimension 2 over Number Field with defining polynomial Qx.1^2 - Qx.1 + 1 over the Rational Field
Given K[G]-modules M and N, construct the direct sum D of M and N as an K[G]-module. The embedding maps from M into D and from N into D respectively and the projection maps from D onto M and from D onto N respectively are also returned.
Given a sequence Q of K[G]-modules, construct the direct sum D of these modules. The embedding maps from each of the elements of Q into D and the projection maps from D onto each of the elements of Q are also returned.
Let M and N be two K[G] modules. This function constructs the tensor product, M tensor A N, with diagonal action.
Given a K[G]-module M and an integer n ≥1, construct the n-th tensor power of M.
Given a K[G]-module M, construct the A-submodule of M tensor A M consisting of the skew tensors.
Given a K[G]-module M, construct the A-submodule of M tensor A M consisting of the symmetric tensors.
Given an K[G]-module M, construct the K[G]-module which is the K-dual, HomK(M, K), of M.
Given a K[H]-module M and a supergroup G of H, construct the K[G]-module obtained by inducing M up to G.
Given a representation R of a subgroup of G, construct the representation of G obtained by inducing R up to G.
Given a K[G]-module M and a subgroup H of G, form the K[H]-module corresponding to the restriction of M to the subgroup H.
> SetSeed(1); > G := PermutationGroup< 22 | > (1,2,4,8,16,9,18,13,3,6,12)(5,10,20,17,11,22,21,19,15,7,14), > (1,18,4,2,6)(5,21,20,10,7)(8,16,13,9,12)(11,19,22,14,17), > (1,18,2,4)(3,15)(5,9)(7,16,21,8)(10,12,20,13)(11,17,22,14) >; > M := PermutationModule(G, GaloisField(2)); > M; GModule M of dimension 22 with base ring GF(2) > CM := Constituents(M); > CM; [ GModule of dimension 1 over GF(2), GModule of dimension 10 over GF(2), GModule of dimension 10 over GF(2) ]
We restrict the module M to the stabilizer of a point in M22 and then induce back up, a constituent of the restriction.
> L34 := Stabilizer(G, 1); > N := Restriction(M, L34); > N; GModule N of dimension 22 with base ring GF(2) > CN := Constituents(N); > CN; [ GModule of dimension 1 over GF(2), GModule of dimension 9 over GF(2), GModule of dimension 9 over GF(2) ] > Ind1 := Induction(CN[1], G); > Ind1; GModule Ind1 of dimension 22 over GF(2) > Constituents(Ind1); [ GModule of dimension 1 over GF(2), GModule of dimension 10 over GF(2), GModule of dimension 10 over GF(2) ] > Ind2 := Induction(CN[2], G); > Ind2; GModule Ind2 of dimension 198 over GF(2) > Constituents(Ind2); [ GModule of dimension 1 over GF(2), GModule of dimension 10 over GF(2), GModule of dimension 10 over GF(2), GModule of dimension 34 over GF(2), GModule of dimension 98 over GF(2) ]
Thus, inducing up the 1-dimensional constituent of N gives us irreducible modules for G having the same dimensions as those appearing as constituents of M. However, inducing up the 9-dimensional module gives us irreducible modules of new dimensions: 34 and 98. Hence starting out with only the permutation module for M22 over GF(2), we have found 5 irreducible modules for the group.
Given an K[G]-module M, construct the largest submodule of M on which G acts trivially, i.e. the fixed-point space of M.
Given a K[G]-module M of dimension n over the field K, and a nonsingular n x n matrix T over K, construct the K[G]-module N which corresponds to taking the rows of T as a basis for M.[Next][Prev] [Right] [Left] [Up] [Index] [Root]