[GAP Forum] GL( m, p ) x GL( n, p ) as a subgroup of GL( m+n, p )

Stefan Kohl stefan at mcs.st-and.ac.uk
Wed Oct 28 11:41:23 GMT 2015


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/
-----------------------------------------------------------------------------





More information about the Forum mailing list