#17920: Reimplement IntegerLists using Polyhedron.integral_points()
-------------------------------------+-------------------------------------
Reporter: jdemeyer | Owner:
Type: enhancement | Status: needs_review
Priority: blocker | Milestone: sage-6.6
Component: combinatorics | Resolution:
Keywords: | Merged in:
Authors: Jeroen Demeyer | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/jdemeyer/ticket/17920 | b0a04aa5a4454766ed9802d8e99abcd7fb3e105b
Dependencies: #17937 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by nthiery):
Dear Jeroen,
Thanks a lot for taking action! It's definitely a good thing to have a
good connection between ``IntegerListLex`` and ``Polyhedron``, as
there is some non trivial overlap. The main differences is that
``IntegerListLex`` was specifically designed for allowing for
(essentially) Constant Amortized Time lexicographic Iteration in
almost constant memory, which is an important feature.
So I can see a work path along the following lines:
- Get this ticket in to have a robust implementation of list
- Completely rewrite the current ``IntegerListLex`` iterator to be
robust (it's definitely possible); keep the Polyhedron
implementation for testing purposes as well as for counting, ...
- Optimize the iterator (Cythonization, using ClonableIntArray, ...).
Please do not change the enumeration order, at least as default: quite
some code depends on it (I agree, this should be made explicit in the
documentation). The proposed generalizations (n in a range, negative
entries) are fine since the iterator could be made to handle them.
Cheers,
Nicolas
--
Ticket URL: <http://trac.sagemath.org/ticket/17920#comment:39>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.