#20008: Implement non-recursive iterator for compositions
-------------------------------------+-------------------------------------
Reporter: tscrim | Owner: sage-combinat
Type: enhancement | Status: positive_review
Priority: major | Milestone: sage-7.1
Component: combinatorics | Resolution:
Keywords: iterator | Merged in:
Authors: Travis Scrimshaw | Reviewers: Darij Grinberg
Report Upstream: N/A | Work issues:
Branch: | Commit:
public/combinat/composition_iterator-20008|
c6ba3e7f4d3414877fdce12128d36b40bd5e7834
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by tscrim):
* status: needs_review => positive_review
Comment:
I'm wondering how much we could get by going one step further and moving
`IntegerListsLex` to a small standalone C/C++ library, where we can really
get to low-level optimizations. Although I see some technical challenges
with this; in particular, taking functions as input and the lambda
functions involved with the current implementation. Perhaps Cython will be
sufficient.
I agree that this would further benefit from cythonization/C-ifying. Right
now we don't have a set place upon where we can put these functions. I
also do not see them as code bloat because to really optimize
`IntegerListsLex`, we will almost certainly have specialized
implementations for special cases to avoid overhead of the general case.
(This implementation can be easily tweaked to cover a number of other
cases, but would likely have bad performance in general.)
However, I think we should do all of these things on a separate ticket(s),
which is why I'm setting this to a positive review given [comment:9
Darij's comment] and the green patchbot. Feel free to set it back if you
disagree. Yet +1 to adding a common place/library for all of these
iterator functions (and their cython/C versions).
--
Ticket URL: <http://trac.sagemath.org/ticket/20008#comment:11>
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.