> < ^ Date: Thu, 02 Dec 1999 16:00:16 -0500 (EST)
> < ^ From: Alexander Hulpke <hulpke@math.colostate.edu >
^ Subject: Re: The function Group()

Dear Gap-Forum,

Some time ago, Jan De Beule asked:

that this code (with the recursion) works perfectly well in gap4b5. So I
only have this question unanswered namely why the function Group() needs
the method for PrintObj and why the function GroupWithGenerators don't.

`Group' (in contrast to `GroupWithGenerators' which is more internal)
performs a test, that the generators are group elements, calling
`IsGeneratorsOfMagmaWithInverses' for the generators. (This is to avoid
problems, if you call for example Group("a","b"), which might be a
``natural'' choice if you don't know the system and work with free groups
but would produce very strange error messages.)

The default method for `IsGeneratorsOfMagmaWithInverses' then calls `Print'
implicitly, as I wrote already in my last mail:
> > The default method for `IsGeneratorsOfMagmaWithInverses' now checks, whether
> > `Inverse' is computable. This alone does not prove for example that the
> > multiplication is associative, and therefore this method prints a warning:
> > #I default `IsGeneratorsOfMagmaWithInverses' method returns `true' for
> > followed by the respective generators. (You can turn this and other warnings
> > off by setting SetInfoLevel(InfoWarning,0); )

Best regards,

Alexander Hulpke

> < [top]