7.102 SubdirectProduct

SubdirectProduct( G1, G2, h1, h2 )

SubdirectProduct returns the subdirect product of the groups G1 and G2. h1 and h2 must be homomorphisms from G1 and G2 into a common group H.

The subdirect product of G_1 and G_2 is the subgroup of the direct product of G_1 and G_2 of those elements (g_1,g_2) with g_1^{h_1} = g_2^{h_2}. This subgroup is generated by the elements (g_1,x_{g_1}), where g_1 loops over the generators of G_1 and x_{g_1} in G_2 is an arbitrary element such that g_1^{h_1} = x_{g_1}^{h_2} together with the element (1_G,k_2) where k_2 loops over the generators of the kernel of h_2.

Projection( S, G1, 1 )

Projection returns the projection of S onto G1, where (g1,g2) is mapped to g1.

Projection( S, G2, 2 )

Projection returns the projection of S onto G2, where (g1,g2) is mapped to g2.

It is not specified how the elements of the subdirect product are represented. Therefor Projection is the only general possibility to relate G1 and G2 with the subdirect product.

    gap> s3 := Group( (1,2,3), (1,2) );;
    gap> c3 := Subgroup( s3, [ (1,2,3) ] );;
    gap> x1 := Operation( s3, Cosets( s3, c3 ), OnRight );;
    gap> h1 := OperationHomomorphism( s3, x1 );;
    gap> d8 := Group( (1,2,3,4), (2,4) );;
    gap> c4 := Subgroup( d8, [ (1,2,3,4) ] );;
    gap> x2 := Operation( d8, Cosets( d8, c4 ), OnRight );;
    gap> h2 := OperationHomomorphism( d8, x2 );;
    gap> s := SubdirectProduct( s3, d8, h1, h2 );
    Group( (1,2,3), (1,2)(5,7), (4,5,6,7) )
    gap> Size( s );
    24 

SubdirectProduct calls the function G1.operations.SubdirectProduct with the arguments G1, G2, h1, and h2.

The default function called this way is GroupOps.SubdirectProduct. This function constructs the subdirect product as a subgroup of the direct product. The generators for this subgroup are computed as described above.

Previous Up Top Next
Index

GAP 3.4.4
April 1997