Skip to content

Commit

Permalink
Make generic SubdirectProductOp more robust
Browse files Browse the repository at this point in the history
The generic SubdirectProductOp performs "recursion". But SubdirectProductOp in
general expects the mappings given to it be group homomorphisms, and also that
they "know" about this. Since it sometimes happens that mappings are produced
that do not "know" this information, explicitly check for this (just as
`SubdirectProduct` does).

Fixes #3431 "even more"
  • Loading branch information
fingolfin committed Jun 4, 2019
1 parent 2fe76a6 commit 3dbbbe2
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/gprd.gi
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,11 @@ local gc,hc,S,info;
fi;
gh:=InverseGeneralMapping(gc)*gh;
hh:=InverseGeneralMapping(hc)*hh;
# the ...Op is installed for `IsGroupHomomorphism'. So we have to enforce
# the filter to be set.
if not IsGroupHomomorphism(gh) or not IsGroupHomomorphism(hh) then
Error("mappings are not homomorphisms");
fi;
S:=SubdirectProductOp(Image(gc,G),Image(hc,H),gh,hh);
info:=rec(groups:=[G,H],
homomorphisms:=[gh,hh],
Expand Down

0 comments on commit 3dbbbe2

Please sign in to comment.