This section describes some functions for creating R[G]-modules for a polycyclic group G, which are unique for this category or have special properties when called for polycyclic groups. For a complete description of the functions available for creating and working with R[G]-modules we refer to Chapter MODULES OVER AN ALGEBRA AND GROUP REPRESENTATIONS.
Note that the function GModuleAction can be used to extract the matrix representation associated to an R[G]-module.
Every polycyclic group G has a normal series G = N_1 > N_2 > ... > N_{r+1} = 1, such that every quotient Mi := Ni / Ni + 1 is either free abelian or p-elementary abelian for some prime p. The action of G by conjugation induces a Z[G]-module structure on Mi if Mi is free abelian and an GF(p)[G]-module structure if Mi is p-elementary abelian.This function returns a sequence [f1, ..., fr], where fi : Ni -> Mi is the natural epimorphism onto the additive group of an Ri[G]-module Mi (Ri∈{GF(p), Z}), constructed as above.
The functions EFAModuleMaps and EFAModules use the normal series returned by the function EFASeries.
Note that the kernels of the epimorphisms fi can be computed and hence it is possible to form preimages of submodules of Mi, which are normal subgroups of G contained in Ni and containing Ni + 1.
Every polycyclic group G has a normal series G = N_1 > N_2 > ... > N_{r+1} = 1, such that every quotient Mi := Ni / Ni + 1 is either free abelian or p-elementary abelian for some prime p. The action of G by conjugation induces a Z[G]-module structure on Mi if Mi is free abelian and an GF(p)[G]-module structure if Mi is p-elementary abelian.This function returns a sequence [M1, ..., Mr] of Ri[G]-modules (where Ri∈{GF(p), Z}), constructed as above.
The functions EFAModuleMaps and EFAModules use the normal series returned by the function EFASeries.
Let A be a normal subgroup of the polycyclic group G. If p = 0, the function returns the Z[G]-module corresponding to the conjugation action of G on the maximal free abelian quotient of A. If p is a prime, it returns the GF(p)[G]-module corresponding to the conjugation action of G on the maximal p-elementary abelian quotient of A. The epimorphism π: A -> M onto the additive group of the constructed module M is returned as second return value. Note that the kernel of π can be computed and hence it is possible to form preimages of submodules of M, which are normal subgroups of G contained in A.If the maximal abelian quotient A/Aprime of A is either free abelian or p-elementary abelian for some prime p, p can be omitted in the function call.
Note that it is the user's responsibility to ensure that A is in fact normal in G.
Let A and B < A be normal subgroups of the polycyclic group G. If p = 0, the function returns the Z[G]-module corresponding to the conjugation action of G on the maximal free abelian quotient of A/B. If p is a prime, it returns the GF(p)[G]-module corresponding to the conjugation action of G on the maximal p-elementary abelian quotient of A/B. The epimorphism π: A -> M onto the additive group of the constructed module M is returned as second return value. Note that the kernel of π can be computed and hence it is possible to form preimages of submodules of M, which are normal subgroups of G contained in A and containing B.If the maximal abelian quotient of A/B is either free abelian or p-elementary abelian for some prime p, p can be omitted in the function call.
Note that it is the user's responsibility to ensure that A and B are in fact normal in G.
Let G be a polycyclic group and A a normal subgroup of G. Given any prime p, the maximal p-elementary abelian quotient of A can be viewed as an GF(p)[G]-module Mp. The maximal free abelian quotient of A can be viewed as a (Z)[G]-module M0. This function determines those primes p for which the module Mp is non-trivial (i.e. not zero-dimensional) and the dimensions of the corresponding modules Mp. The return value is a multiset S. If 0∉S, the maximal abelian quotient of A is finite and the multiplicity of p is the dimension of Mp. If S contains 0 with multiplicity m, the maximal abelian quotient of A contains m copies of Z. In this case, the rank of M0 is m and Mp is non-trivial for every prime p and its rank is the sum of m and the multiplicity of p in S.
Let G be a polycyclic group, A a normal subgroup of G and B a normal subgroup of G contained in A. Given any prime p, the maximal p-elementary abelian quotient of A/B can be viewed as an GF(p)[G]-module Mp. The maximal free abelian quotient of A/B can be viewed as a (Z)[G]-module M0. This function determines those primes p for which the module Mp is non-trivial (i.e. not zero-dimensional) and the dimensions of the corresponding modules Mp. The return value is a multiset S. If 0∉S, the maximal abelian quotient of A/B is finite and the multiplicity of p is the dimension of Mp. If S contains 0 with multiplicity m, the maximal abelian quotient of A/B contains m copies of Z. In this case, the rank of M0 is m and Mp is non-trivial for every prime p and its rank is the sum of m and the multiplicity of p in S.
Every polycyclic group G has a normal series G = N_1 > N_2 > ... > N_{r+1} = 1, such that every quotient Mi := Ni / Ni + 1 is either free abelian and semisimple as a Q[G]-module or p-elementary abelian and semisimple as an GF(p)[G]-module for some prime p.This function returns a sequence [f1, ..., fr], where fi : Ni -> Mi is the natural epimorphism onto the additive group of an Ri[G]-module Mi (Ri∈{GF(p), Z}), constructed as above.
The functions SemisimpleEFAModules and SemisimpleEFAModuleMaps use the normal series returned by the function SemisimpleEFASeries. Moreover, this normal series is a refinement of the normal series returned by the function EFASeries.
Note that the kernels of the epimorphisms fi can be computed and hence it is possible to form preimages of submodules of Mi, which are normal subgroups of G contained in Ni and containing Ni + 1.
Every polycyclic group G has a normal series G = N_1 > N_2 > ... > N_{r+1} = 1, such that every quotient Mi := Ni / Ni + 1 is either free abelian and semisimple as a Q[G]-module or p-elementary abelian and semisimple as an GF(p)[G]-module for some prime p.This function returns a sequence [M1, ..., Mr] of Ri[G]-modules (where Ri∈{GF(p), Z}), constructed as above.
The functions SemisimpleEFAModules and SemisimpleEFAModuleMaps use the normal series returned by the function SemisimpleEFASeries. Moreover, this normal series is a refinement of the normal series returned by the function EFASeries.
< a,b,c,d,e | c^6, e^3, d^c=de, e^c=e^2, b^a=b^-1, b^(a^-1)=b^-1, c^b=ce, c^(b^-1)=ce, d^b=d^-1, d^(b^-1)=d^-1, e^b=e^2, e^(b^-1)=e^2 >.(Trivial commutator relations have been omitted.)
> F<a,b,c,d,e> := FreeGroup(5); > G<a,b,c,d,e> := quo< GrpGPC : F | c^6 = F!1, e^3 = F!1, > d^c=d*e, e^c=e^2, > b^a=b^-1, > b^(a^-1)=b^-1, > c^b=c*e, > c^(b^-1)=c*e, > d^b=d^-1, > d^(b^-1)=d^-1, > e^b=e^2, > e^(b^-1)=e^2 >;The subgroup H of G generated by c, d, e is normal in G.
> H := sub< G | c,d,e >; > IsNormal(G, H); trueWe determine the primes such that the action of G on H yields non-trivial modules.
> GModulePrimes(G, H); {* 0, 2, 3 *}We construct the (F)3[G]-module M given by the action of G on the maximal 3-elementary abelian quotient of H and the natural epimorphism π from H onto the additive group of M.
> M, pi := GModule(G, H, 3); > M; GModule M of dimension 2 over GF(3)Using the function Submodules, we obtain the submodules of M. Their preimages under π are precisely the normal subgroups of G which are contained in H and contain (ker)(π).
> submod := Submodules(M); > nsgs := [ m @@ pi : m in submod ]; > [ PCGenerators(s, G) : s in nsgs ]; [ {@ c^3, d^3, e @}, {@ c, d^3, e @}, {@ c^3, d, e @}, {@ c, d, e @} ]
> F<a,b,c,d,e> := FreeGroup(5); > G<a,b,c,d,e> := quo< GrpGPC : F | > a^5, b^5, c^6, d^5, e^3, b^a = b*d >;Obviously the subgroup of G generated by b, c, d, e is normal in G.
> H := sub< G | b,c,d,e >; > IsNormal(G, H); trueWe use the function GModulePrimes to determine the set of primes p for which the action of G on the maximal p-elementary abelian quotient of H induces a nontrivial GF(p)[G]-module.
> P := GModulePrimes(G, H); > 0 in P; false0 is not contained in P, i.e. the maximal free abelian quotient of H is trivial. Hence, there are only finitely many primes, satisfying the condition above.
We loop over the distinct elements of P and for each element p we construct the induced GF(p)[G]-module, print its dimension and check whether it is decomposable. Note that the dimension of the module for p must be equal to the multiplicity of p in P.
> for p in MultisetToSet(P) do > M := GModule(G, H, p); > dim := Dimension(M); > decomp := IsDecomposable(M); > > assert dim eq Multiplicity(P, p); > > print "prime", p, ": module of dimension", dim; > if decomp then > print " has a nontrivial decomposition"; > else > print " is indecomposable"; > end if; > end for; prime 2 : module of dimension 1 is indecomposable prime 3 : module of dimension 2 has a nontrivial decomposition prime 5 : module of dimension 2 is indecomposable
We illustrate this with the group G defined in the example above.
> F<a,b,c,d,e> := FreeGroup(5); > G<a,b,c,d,e> := quo< GrpGPC : F | c^6 = F!1, e^3 = F!1, > b^a = b * d, > b^(a^-1) = b * d^-1 >;We first construct the G-modules defined by the action of G on the factors of a semisimple EFA-series of G.
> modules := SemisimpleEFAModules(G); > modules; [ GModule of dimension 2 over Integer Ring, GModule of dimension 1 over Integer Ring, GModule of dimension 1 over GF(2), GModule of dimension 2 over GF(3) ]Now, we compute the intersection of the kernels of the module action maps, which can be obtained using the function GModuleAction.
> S := G; > for m in modules do > S meet:= Kernel(GModuleAction(m)); > end for;Finally, we compare the result with the Fitting subgroup of G, returned by the Magma function FittingSubgroup.
> S eq FittingSubgroup(G); true
> F<a,b,c,d,e> := FreeGroup(5); > G<a,b,c,d,e> := quo< GrpGPC : F | c^6 = F!1, e^3 = F!1, > b^a = b * d, > b^(a^-1) = b * d^-1 >;We extract the map f from G (the first group in any EFA-series of G) onto the module given by the first factor of an EFA-series of G.
> f := EFAModuleMaps(G)[1]; > f; Mapping from: GrpGPC: G to GModule of dimension 2 over Integer RingThe module itself can be accessed as the codomain of f.
> M := Codomain(f); > M; GModule M of dimension 2 over Integer RingSpinning up random elements, we try to construct a submodule S of M.
> repeat > S := sub<M|[Random(-1, 1): i in [1 .. Dimension(M)]]>; > until Dimension(S) gt 0 and S ne M; > S; GModule S of dimension 1 over Integer RingThe preimage N of S under f is a normal subgroup of G, which lies between the first and the second subgroup of the original EFA-series for G.
> N := S @@ f; > PCGenerators(N, G); {@ a^2 * b^4, c, d, e @}