#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.