On Wed, October 28, 2015 10:22 am, Markus Szymik wrote: > > I would like to construct an isomorphic copy of the product GL( m, p ) x GL( > n, p ) > as the subgroup of block matrices in GL( m+n, p ). What would you say is the > best way to do it?
Ideally, there would already be a `DirectProduct' method which returns a group in the desired representation. But since there is no such method so far, you can use e.g. the following function: DirectProductOfGLs := function ( m, n, p ) local G, gens_m, gens_n, gens_mn, g, h; gens_m := GeneratorsOfGroup(GL(m,p)); gens_n := GeneratorsOfGroup(GL(n,p)); gens_mn := []; for g in gens_m do h := IdentityMat(m+n,GF(p)); h{[1..m]}{[1..m]} := g; Add(gens_mn,h); od; for g in gens_n do h := IdentityMat(m+n,GF(p)); h{[m+1..m+n]}{[m+1..m+n]} := g; Add(gens_mn,h); od; G := Group(gens_mn); return G; end; Hope this helps, Stefan ----------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ ----------------------------------------------------------------------------- _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum