Dear Forum, This is probably a frequently asked and/or dumb question. If so, I apologize in advance, but I couldn't find the answer in the forum archives.
I see how to use the Projection function to compute projections of a product group. Is it also possible to compute projections of a subgroup of a product group? Apparently this is not done by simply invoking the Projection function, as the following example shows: G := Group([(1,2,3,4),(1,2)]);; H := Subgroup(G, [(1,2)]); K := Subgroup(G, [(1,2,3,4)]); G1xG2 := DirectProduct(G, G); emb1 := Embedding(G1xG2, 1);; emb2 := Embedding(G1xG2, 2);; h := List(GeneratorsOfGroup(H), i->Image(emb1,i)); k := List(GeneratorsOfGroup(K), i->Image(emb2,i)); HxK := Group(Concatenation(h, k),());; Now Projection(G1xG2,1) and Projection(G1xG2,2) work as expected, but Projection(HxK,1) gives: Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Projection' on 2 arguments called from <function>( <arguments> ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue Of course, this is just a toy example -- we already know the projections of HxK! -- but I would like to somehow compute the projections of more general subgroups, as in intsub:=IntermediateSubgroups(G1xG2, HxK); S:=intsub.subgroups[1]; Projection(S, 1); # returns an error, as above. Thank you for any suggestions you can offer. -William P.S. An unrelated, less pressing question, which I've been unable to find in the manual or forum archives: Is there is command for changing the current working directory in GAP? _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum