#19620: fast (lazy) infinite words
-------------------------------------+-------------------------------------
Reporter: vdelecroix | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-7.0
Component: combinatorics | Resolution:
Keywords: | Merged in:
Authors: Vincent Delecroix | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/vdelecroix/19620 | 1e506ee2885dc086f24973db538dc4682ace1e01
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by vdelecroix):
You can do that with lazy list (that are faster and avoids
precomputations)
{{{
sage: SymmetricFunctions(QQ).inject_shorthands()
sage: from itertools import count
sage: from sage.misc.lazy_list import lazy_list
sage: hn = lazy_list(h[n] for n in count())
sage: phn = lazy_list(p(x) for x in hn)
sage: hn.info() # 0 computation at this stage
cache length 0
start 0
stop 9223372036854775807
step 1
sage: phn.info() # 0 computation at this stage
cache length 0
start 0
stop 9223372036854775807
step 1
sage: phn[2]
1/2*p[1, 1] + 1/2*p[2]
sage: hn.info() # now we have 3 elts in cache
cache length 3
start 0
stop 9223372036854775807
step 1
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/19620#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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.