William, David, and Jack,

Many thanks for all the excellent suggestions.   Initially, I'll use
Jack's local variable trick, though as David says a more complete
implementation would probably want to keep track of the parent free
group.   There's also a clean multistep way that doesn't introduce any
variables in GAP:

sage: F = gap.new("FreeGroup(2)")
sage: G = F.FactorGroupFpGroupByRels([F.1*F.2*F.1**-1*F.2**-1])

Properly wrapping finitely presented groups would be a slightly tricky
task, and, unfortunately, this is not my current goal.   There's a lot
more to a fp-group besides just the generators and relations, e.g.
information about when a group is a subgroup of another group which is
need for comparing subgroups, computing homorphisms between groups,
etc.  One could, of course, just delegate most of these issue to GAP,
and that's certainly a reasonable approach to add finitely presented
groups to Sage.   Unfortunately, for what I typically do (e.g. find
low-index subgroups), Magma is *much* faster than GAP, so I'm only
aiming for a finitely presented group class which allows me to create/
keep track of fp-groups at the Python level, and will just have to
drop into the Magma interpreter for most of actual computational
work.

        Best,

        Nathan



--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to