#17221: New method transducers.Recursion
-------------------------------------+-------------------------------------
       Reporter:  cheuberg           |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.5
      Component:  finite state       |   Resolution:
  machines                           |    Merged in:
       Keywords:  recursion          |    Reviewers:  Daniel Krenn
        Authors:  Clemens Heuberger  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/cheuberg/fsm     |  0ea253d1148774612a423e32f8a91842e47fd6bc
  /generator-recursion               |     Stopgaps:
   Dependencies:  #17752             |
-------------------------------------+-------------------------------------
Changes (by dkrenn):

 * reviewer:   => Daniel Krenn


Comment:

 Review of 1ab837dc5f069e044af903439caa8807b9739102. Here are a couple of
 things that could be improved:

 - coercions mentioned w.r.t. output rings are conversions

 - maybe: range(base.abs())  --> srange(base.abs())  (in code and
 docstring)

 - I'm not sure if it is good to mention "Python int" at all (in
 docstring), since usually they shouldn't appear (maybe adapt your code
 (where necessary) to avoid Python-int output (if any appears; not checked
 by me))

 - T(expansion) ==f(n) is confusing, e.g. in the first example (binary sum
 of digits) you would have here [1,1,1] = T([1,1,1]) = f(7) = 3.

 - example binary sum of digits: Maybe (for a deeper understanding) it
 helps, if one could see the output of the transducer on a concrete
 example. Maybe also write one sentence why binary sum of digits gives the
 Identity-transducer and how one can see the sum of digits somewhere.

 - still example binary sum of digits: there is a lot about
 output_rings...is this needed in the first example already? Maybe make
 that a second example or at least separate it from the first example, so
 that it is clear, this is not needed to understand in the introductory
 example.

 - example nonadjacent form: it would be good to include concrete examples
 here as well, so that one sees a NAF and its weight. Also: at the moment
 digits -1 are not considered, but in the wiki-article they are mentioned
 at the top; this could lead to some confusion.

 Apart from those things: code looks good, doc builds, tests pass. I did
 not check the math of the ticket, only the examples (these seem to be
 correct). I would be happy if someone else could help with this part.

 I've also made a couple of small changes (PEP8; docstrings) which I'll
 upload soon.

--
Ticket URL: <http://trac.sagemath.org/ticket/17221#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