#16137: lazy_list from various input data
-------------------------------------+-------------------------------------
Reporter: MatthieuDien | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-7.0
Component: misc | Resolution:
Keywords: LazyPowerSeries, | Merged in:
lazy_list, days57 | Reviewers:
Authors: Matthieu Dien, | Work issues:
Vincent Delecroix | Commit:
Report Upstream: N/A | 80aad4d9dbc02333435477173ad98871d40625b8
Branch: u/dkrenn/16137 | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Description changed by vdelecroix:
Old description:
> The `lazy_list` in `sage.misc.lazy_list` only deals with infinite list
> built from iterator.
> In many situations we want to create infinite list from more various
> data:
> - '''an iterator''' (current implementation),
> - '''an update function''': a function that given a buffer of already
> computed values compute some extra terms. This includes closed forms
> (i.e. a function n -> n-th term) and algorithms that compute many terms
> at a time (e.g. in the context of words: fixed point of substitutions and
> in the context of power series: Newton iteration and relaxed
> multiplication),
> - '''a pair of finite lists (pre-period, period)''' that defines an
> ultimately periodic infinite sequence.
> Those new lazy lists aim to be very basic Python objects. Their purpose
> is to be used as fast and reliable data structures in:
> - words (`sage.combinat.words`, see also #19620)
> - continued fraction expansions/binary expansions of real numbers
> - lazy power series (see #15673)
> - ...
>
> See also: rational o.g.f. #15714, hypergeometric e.g.f. part of #2516
New description:
The `lazy_list` in `sage.misc.lazy_list` only deals with infinite list
built from iterator.
In many situations we want to create infinite list from more various data:
- '''an iterator''' (current implementation),
- '''an explicit form''' a function n -> n-th term
- '''an update function''': a function that given a buffer of already
computed values compute some extra terms (e.g. in the context of words:
fixed point of substitutions and in the context of power series: Newton
iteration and relaxed multiplication).
Those new lazy lists aim to be very basic Python objects. Their purpose is
to be used as fast and reliable data structures in:
- words (`sage.combinat.words`, see also #19620)
- continued fraction expansions/binary expansions of real numbers
- lazy power series (see #15673)
- ...
See also: rational o.g.f. #15714, hypergeometric e.g.f. part of #2516
In the original proposal there was also ultimately periodic lazy lists
(that would simply store two attributes for the pre-period and period). In
this ticket we focus on the ones that need a cache mechanism.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/16137#comment:89>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.