#17792: Word problem for FareySymbol
-------------------------------------+-------------------------------------
       Reporter:  mmasdeu            |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.7
      Component:  modular forms      |   Resolution:
       Keywords:  farey symbol,      |    Merged in:
  SL2Z, word problem                 |    Reviewers:
        Authors:  Marc Masdeu        |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  18e034409e8b62c81821e93132a11dd15d7fd432
  public/ticket/17792                |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by mmasdeu):

 * status:  needs_info => needs_review


Comment:

 What you say makes a lot of sense, but the representation used here is
 quite standard in other implementations of finitely presented groups
 (AFAIK), and also in Sage. It's called Tietze representation, see
 
[http://www.sagemath.org/doc/reference/groups/sage/groups/finitely_presented.html].
 Since unfortunately -0 = 0, the 1-based approach is essential here no
 matter how much you like 0-based languages :-).

 Also, you can always do something like:
 {{{
 sage: wd = F.word_problem(g)
 sage: prod(F.gen(i-1) if i > 0 else F.gen(-i-1)**-1 for i in wd) == g
 True
 }}}

 Replying to [comment:6 vdelecroix]:
 > Why would you use a 1-based answer while the Python is 0-based. Couldn't
 you return a list of pairs `(index, power)`. That would be much more
 convenient:
 > {{{
 > sage: wd = F.word_problem(g)
 > sage: prod(F.gen(i)**j for i,j in wd) == g
 > True
 > }}}
 >
 > Vincent

--
Ticket URL: <http://trac.sagemath.org/ticket/17792#comment:7>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to