Dear all,

similar to
    graphs.some_graph
or to
    codes.some_code
(and similar), I propose to introduce
    sequences.some_sequence
which should provide a unified access point to all possible sequences in
SageMath. For example, there is fibonacci_sequence in
sage.combinat.combinat, binary_recurring_sequence (somewhere in
combinat) and various other code.

One motivation for creating this, is to include here many sequences,
which can be calculated term-by-term (from the previously calculated
ones, i.e., recursively) or where the first N terms can be calculated at
once efficiently.
Nevertheless, it can also provide an interface to sequences, where each
term can be calculated explicitly (without dealing with the previous ones).

This posting is to discuss this new feature at this early stage (see
trac ticket #18565 [1] for a draft).

- In this draft, all sequences are iterator/generator expressions
(finite or maybe infinite). This is to keep it simple. [*]
What do you think about this?

- At the moment this module is in sage.combinat. Another option would be
to create sage.sequences and put it there. Any opinions on this?

- In the trac ticket, the function fibonacci_sequence will be
deprecated, since this is then sequence.fibonacci(...). I am also happy
not to deprecate it and keep it as it is (only changing the code to
avoid code duplication)

- I found a function fibonacci_xrange. It is completly unclear (to me)
from the name, what this function does (in particular, why "xrange" (and
not a simple "range"). For this reason, I propose to deprecate this
function (an alternative with the new sequences-interface is provided).

- Should the oeis-functionality be included in some way (at some point)?
At the moment
    iter(oeis(...).first_terms())
comes closest.

Best wishes

Daniel

[1] http://trac.sagemath.org/ticket/18565

[*] An alternative would be to create a class and do it in a similar way
as sage.combinat.words.Word (of course in this case much more has to be
done than now; (common base-class for words/sequences?!? ...not sure
what to think about this...)).

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to