-
Notifications
You must be signed in to change notification settings - Fork 162
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
Computation of Comm() of two free group automorphisms invokes coset enumeration #3898
Comments
Here is what happen: Let If one asks for Looking closer, part of the issue is that while asking InstallMethod( IsInjective,
"for GHBI",
true,
[ IsGroupGeneralMappingByImages ], 0,
hom -> IsSingleValued( RestrictedInverseGeneralMapping( hom ) ) ); And then we have specialized But when we ask for whether InstallMethod( IsInjective,
"method for a gen. mapping that respects mult. and one",
[ IsGeneralMapping and RespectsMultiplication and RespectsInverses ],
map -> IsTrivial( KernelOfMultiplicativeGeneralMapping( map ) ) ); And asking a composite map for its kernel triggers this: InstallMethod( KernelOfMultiplicativeGeneralMapping,
"for a composition mapping that resp. mult. and inv.",
true,
[ IsGeneralMapping and IsCompositionMappingRep
and RespectsMultiplication and RespectsInverses ], 0,
function( com )
if IsInjective( com!.map2 ) then
return KernelOfMultiplicativeGeneralMapping( com!.map1 );
else
return PreImagesSet( com!.map1,
KernelOfMultiplicativeGeneralMapping( com!.map2 ) );
fi;
end ); Unfortunately, asking
And then to check There are several ways to tackle this issue, not mutually exclusive. It's not clear to me right now which one(s) we should pursue..
|
I suspect the right thing will be to have their own method for Comm for homomorphisms, in particular is they are from one group to itself. |
I am not so sure about that explanation for why |
Observed behaviour
EDITED to make it easier to copy&paste input for testing
On the other hand, if we denote these automorphisms with variables and compute explicitly the images of the free group generators under the first argument of Comm(), then the Comm() computes correctly. Note that this doesn't work if we just compute the images under the second argument of Comm() only:
further:
Expected behaviour
or
Copy and paste GAP banner (to tell us about your setup)
The text was updated successfully, but these errors were encountered: