Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Construct the central product using HAP package. #73

Closed
hongyi-zhao opened this issue Jul 2, 2022 · 3 comments
Closed

Construct the central product using HAP package. #73

hongyi-zhao opened this issue Jul 2, 2022 · 3 comments

Comments

@hongyi-zhao
Copy link

I'm not sure if HAP can be used to construct the central product, as described here, say, for any examples given there.

Any hints will be appreciated.

Regards,
Zhao

@hongyi-zhao hongyi-zhao changed the title Construct the central product. Construct the central product with the help of HAP package. Jul 2, 2022
@hongyi-zhao hongyi-zhao changed the title Construct the central product with the help of HAP package. Build the central product using HAP package. Jul 2, 2022
@grahamknockillaree
Copy link
Collaborator

There are no ready made functions for this.

@hongyi-zhao
Copy link
Author

hongyi-zhao commented Jul 5, 2022

Here is the solution given by Thomas Breuer, the author of "The GAP Character Table Library", for your reference:

  1. My question:

from: | Hongyi Zhao hongyi.zhao@gmail.com
to: | sam@math.rwth-aachen.de
date: | Jul 4, 2022, 8:48 AM
subject: | Re: Construct the central product.

On Mon, Jul 4, 2022 at 12:18 AM Thomas Breuer <sam@math.rwth-aachen.de> wrote:

Dear Zhao,

thank you for your message.

The function ConstructCentralProduct does not construct
the central product of two groups but the character table
of a central product that is defined by two character tables
plus a description of a (diagonal) normal subgroup of the direct product.
Note that one does not need underlying groups for the character tables
in question for this construction.

Thank you for your explanation.

  1. Can I build a corresponding central product group from the
    generated character table results?
  2. In general, are there some available commands/functions in the
    current GAP implementation for me to construct the
    central product of two groups or decompose a given group into the form
    of central product.
  3. If there is no ready-made command/function available, how can I do
    these things manually?

All the best
Thomas

Yours,
Zhao

  1. The answer given by Thomas Breuer:

from: | Thomas Breuer sam@math.rwth-aachen.de
reply-to: | sam@math.rwth-aachen.de
to: | Hongyi Zhao hongyi.zhao@gmail.com
date: | Jul 4, 2022, 7:39 PM
subject: | Re: Construct the central product.
mailed-by: | math.rwth-aachen.de
Dear Zhao,

thank you for your reply.

  • In order to construct the central product of two groups G_1, G_2
    w.r.t. an isomorphism \Phi: Z_1 \rightarrow Z_2,
    for central subgroups Z_1 \leq Z(G_1) and Z_2 \leq Z(G_2),
    one forms the direct product of G_1 and G_2 and factors out its
    central subgroup { (x, \Phi(x)^{-1}); x \in Z_1 }.

    I am not aware of available GAP functions for that,
    but one can do this as follows:

    CentralProduct:= function( G1, G2, Z1, Phi )
      local dp, emb1, emb2, Ngens, N, proj;

      Assert( 1, IsCentral( G1, Z1 ) );
      Assert( 1, IsCentral( G2, Image( Phi, Z1 ) ) );

      dp:= DirectProduct( G1, G2 );
      emb1:= Embedding( dp, 1 );
      emb2:= Embedding( dp, 2 );
      Ngens:= List( GeneratorsOfGroup( Z1 ), x -> x^emb1 * Phi(x^-1)^emb2 );
      N:= SubgroupNC( dp, Ngens );
      proj:= NaturalHomomorphismByNormalSubgroup( dp, N );
      return [ emb1, emb2, proj ];
    end;

Then one gets for example the following.

    gap> g:= DihedralGroup( 8 );
    <pc group of size 8 with 3 generators>
    gap> c:= Centre( g );
    Group([ f3 ])
    gap> cp:= CentralProduct( g, g, c, IdentityMapping( c ) );
    [ Pcgs([ f1, f2, f3 ]) -> [ f1, f2, f3 ],
      Pcgs([ f1, f2, f3 ]) -> [ f4, f5, f6 ],
      [ f1, f2, f3, f4, f5, f6 ] -> [ f1, f2, f5, f3, f4, f5 ] ]
    gap> res:= Image( cp[3] );
    Group([ f1, f2, f5, f3, f4, f5 ])
    gap> IdGroup( res );
    [ 32, 49 ]
    gap> IdGroup( ExtraspecialGroup( 2^5, "+" ) );
    [ 32, 49 ]
    gap> g:= QuaternionGroup( 8 );
    <pc group of size 8 with 3 generators>
    gap> c:= Centre( g );
    Group([ y2 ])
    gap> cp:= CentralProduct( g, g, c, IdentityMapping( c ) );;
    gap> res:= Image( cp[3] );
    Group([ f1, f2, f5, f3, f4, f5 ])
    gap> IdGroup( res );
    [ 32, 49 ]

(The central product of two dihedral groups of order 8, w.r.t. the centre
of each factor, is isomorphic with the central product of two
quaternionic groups of order 8.)

  • In order to decompose a given group G as the central product of two
    subgroups, one has to find two normal subgroups G_1 and G_2 of G such that
    G_1 and G_2 generate G, and G_1 and G_2 centralize each other.

    In general, there can be several such decompositions.
    In easy cases, one can proceed as follows; but there may be better ideas
    depending on what one knows about the two normal subgroups G_1 and G_2.

    gap> g:= SL(2,5);
    SL(2,5)
    gap> c:= Centre( g );
    <group of 2x2 matrices over GF(5)>
    gap> cp:= CentralProduct( g, g, c, IdentityMapping( c ) );;
    gap> res:= Image( cp[3] );
    <permutation group with 4 generators>
    gap> nsg:= NormalSubgroups( res );
    [ Group(()), <permutation group of size 2 with 1 generators>,
      <permutation group of size 120 with 3 generators>,
      <permutation group of size 120 with 5 generators>,
      <permutation group of size 7200 with 4 generators> ]
    gap> cand:= Filtered( nsg, x -> Size( x ) = 120 );
    [ <permutation group of size 120 with 3 generators>,
      <permutation group of size 120 with 5 generators> ]
    gap> IsCentral( cand[1], cand[2] );
    true
  • The character-theoretic functionality (function 'ConstructCentralProduct')
    is not intended for these purposes.
    Just the contrary, the idea behind this function is to create the
    character table of a central product from the character tables of the
    two factors, without dealing with the underlying groups at all.

All the best
Thomas

@hongyi-zhao hongyi-zhao changed the title Build the central product using HAP package. Construct the central product using HAP package. Jul 5, 2022
@cdwensley
Copy link
Contributor

Thomas Breuer has added the function CentralProduct to the Utils package. Version 0.73 of Utils has been released today: see https://gap-packages.github.io/utils/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants