Dear Forum,
Willem de Graaf wrote:
# The we create the homomorphism by mapping each element `g' of `G'
# onto the autmorphism `h -> h^g' of `H'.
Here, as a default the method for viewing the
'ConjugatorAutomorphism(...)' 's is used, as expected :
gap> imgs:= List( eG, g -> ConjugatorAutomorphism( H, g ) ); [ ^(), ^(2,3), ^(1,2), ^(1,2,3), ^(1,3,2), ^(1,3) ]
But in this situation, the 'ViewObj' - method for the homomorphism
seems to call the 'PrintObj' - method for the
'ConjugatorAutomorphism' - objects, is this deliberate ?
gap> hom:= GroupHomomorphismByImages( G, AH, eG, imgs ); [ (), (2,3), (1,2), (1,2,3), (1,3,2), (1,3) ] -> [ ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), () ), ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), (2,3) ), ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), (1,2) ), ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), (1,2,3) ), ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), (1,3,2) ), ConjugatorAutomorphism( SymmetricGroup( [ 1 .. 4 ] ), (1,3) ) ]
This may cause unwanted large outputs, while just for preventing
these, the 'view'- methods were originally introduced, I think ...
In this example this may be unimportant, and perhaps the
additional information may be considered to be even more
important than a short output here, but when you replace,
for example, S_3 by S_6 and S_4 by S_8, or even larger groups,
the situation might be quite different.
In general, it might be also possible to try both methods, resp.,
several different combinations of them, if a 'nested' object
has to be displayed, and then compare the sizes of the generated
texts before selecting one of them for putting on the screen.
Certainly, also other selection criteria are conceivable here.
Best regards,
Stefan Kohl