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/ -~----------~----~----~----~------~----~------~--~---