Install a duplicate method for ConjugatorObj to cover built-in objects

This commit is contained in:
Glen Whitney 2017-10-21 20:32:54 +02:00
parent bc20a37410
commit cc95b62e6f
1 changed files with 13 additions and 1 deletions

View File

@ -16,11 +16,23 @@ ConjugatorType@ := obj -> ConjugatorFamily(FamilyObj(obj))!.ConjType;
InstallMethod(ConjugatorObj,
"for a mult element that allows left quotients (and should be assoc)",
"for a mult element that allows quotients (and should be assoc)",
[IsMultiplicativeElement and IsLeftQuotientElement and IsRightQuotientElement],
obj -> Objectify(ConjugatorType@(obj), Immutable(obj))
);
# Even though IsMultiplicativeElementWithInverse implies both
# IsLeftQuotientElement and IsRightQuotientElement, GAP doesn't seem to
# calculate these implications on built-in elements. So we need to repeat the
# method for IsMultiplicativeElementWithInverse, which is true of built-ins,
# particularly permutations, which serve as a common representation of group
# elements.
InstallMethod(ConjugatorObj,
"for a mult element with inverse (and should be assoc)",
[IsMultiplicativeElementWithInverse],
obj -> Objectify(ConjugatorType@(obj), Immutable(obj))
);
## Printing and viewing
InstallMethod(String, "for conjugator objects",
[IsDefaultConjugatorObject],