#17221: New method transducers.Recursion
-------------------------------------+-------------------------------------
Reporter: cheuberg | Owner:
Type: enhancement | Status: needs_work
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 | 25e02eb04cb3ab1b8ac820528f586f637fe1aeca
/generator-recursion | Stopgaps:
Dependencies: #17752 |
-------------------------------------+-------------------------------------
Comment (by cheuberg):
Replying to [comment:7 dkrenn]:
> Review of 1ab837dc5f069e044af903439caa8807b9739102. Here are a couple of
things that could be improved:
>
> - coercions mentioned w.r.t. output rings are conversions
done:
[http://git.sagemath.org/sage.git/commit/?id=aeaebf188c09556603c9ba96894b9188aa4ab340
aeaebf1]
> - maybe: range(base.abs()) --> srange(base.abs()) (in code and
docstring)
done:
[http://git.sagemath.org/sage.git/commit/?id=969160c46769b11fa93c5681f39f53226fb486f7
969160c]
> - 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))
done:
[http://git.sagemath.org/sage.git/commit/?id=f8916435d312a1ea0180c756b9e332358d20da15
f891643]
In fact, as a by-product of
[http://git.sagemath.org/sage.git/commit/?id=85efb10d3e0afc4546093e81de99107848f2b221
85efb10], Python int cannot occur any more.
> - 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.
This lead to a new concept for the whole method: it is more general to
interpret `+` as addition of words than to interpret it in a ring. So this
has been changed in
[http://git.sagemath.org/sage.git/commit/?id=85efb10d3e0afc4546093e81de99107848f2b221
85efb10]. I somehow reworded this sentence you mention here, please check
whether it is clearer now.
> - 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.
I replaced the example by the weight of the ternary expansion; here it
should be clearer. Concrete example and more explanations added
([http://git.sagemath.org/sage.git/commit/?id=83f1c033f3a404a5e22a6bd9704a2f25430fea0a
83f1c03]).
> - 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.
Done:
[http://git.sagemath.org/sage.git/commit/?id=aa37aaf70d9a282198962302901cbc4f436636cf
aa37aaf]
> - 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.
Done:
[http://git.sagemath.org/sage.git/commit/?id=9594dcab636c522f90622dd48b4413fabb9bff38
9594dca]
--
Ticket URL: <http://trac.sagemath.org/ticket/17221#comment:13>
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.