#16137: lazy_list from various input data
-------------------------------------+-------------------------------------
       Reporter:  MatthieuDien       |        Owner:
           Type:  enhancement        |       Status:  new
       Priority:  major              |    Milestone:  sage-6.4
      Component:  misc               |   Resolution:
       Keywords:  LazyPowerSeries,   |    Merged in:
  lazy_list, days57                  |    Reviewers:
        Authors:  Vincent            |  Work issues:
  Delecroix, Matthieu Dien           |       Commit:
Report Upstream:  N/A                |  1ac24d5075f1b9060309c4ab02a2bd73a5217d6d
         Branch:                     |     Stopgaps:
  public/lazy_list_from_various_input_data|
   Dependencies:                     |
-------------------------------------+-------------------------------------

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`)
>  - 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 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

--

Comment (by vdelecroix):

 Other question: do we want a mutability / immutability flag (slice will
 share memory only if it is set as immutable)?

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

Reply via email to