#12339: Free Groups
--------------------------------+-------------------------------------------
       Reporter:  mmarco        |         Owner:  joyner      
           Type:  enhancement   |        Status:  needs_review
       Priority:  minor         |     Milestone:              
      Component:  group theory  |    Resolution:              
       Keywords:  free groups   |   Work issues:              
Report Upstream:  N/A           |     Reviewers:              
        Authors:  Miguel Marco  |     Merged in:              
   Dependencies:                |      Stopgaps:              
--------------------------------+-------------------------------------------

Comment (by jlopez):

 First of all, thanks for writing in this code, this is something that we
 totally need to get into Sage!

 I have been playing around with some finitely presented groups and found a
 few oddities

 {{{
 sage: G = FreeGroup("x,y")
 sage: G.inject_variables()
 Defining x, y
 sage: H = G.quotient([x^5, y^4, y*x*y^3*x^3])
 sage: xx = H(x)
 sage: xx^5
 x^5
 }}}
 I expected that to show 1 or `Identity`. GAP also behaves strangely on
 this front.
 At least equality seems to behave properly:
 {{{
 sage: xx^5 == H(1)
 True
 }}}
 However, it gets completely broken when going to the group ring, which is
 bad:
 {{{
 sage: R = GroupAlgebra(H)
 sage: R(xx)^5
 x^5
 sage: R(xx)^5 == R(1)
 False
 sage: R(xx^5) == R(1)
 False
 }}}
 Finally there are some constructions that I'd expect to work but don't,
 for instance `H` is an almost dihedral group of order 20, which can be
 computed in GAP but not in Sage:
 {{{
 sage: H.order()
 ---------------------------------------------------------------------------
 NotImplementedError                       Traceback (most recent call
 last)
 ...
 }}}
 I haven't really read the code, but if you are wrapping the GAP code this
 can be sorted out by calling the `gap.Order()`method on the underlying gap
 object. Which, incidentally, also doesn't work:
 {{{
 sage: gap(H)
 ---------------------------------------------------------------------------
 TypeError                                 Traceback (most recent call
 last)
 ...

 sage: H._gap_()
 ---------------------------------------------------------------------------
 TypeError
 ...
 }}}
 This last part should be very easy to fix and would probably ease wrapping
 up other GAP functions.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12339#comment:22>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to