-
-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement IntegerLists using Polyhedron.integral_points() #17920
Comments
comment:2
The Sage MILP solvers cannot enumerate all solutions => closing as invalid. |
Branch: u/jdemeyer/ticket/17920 |
Commit: |
comment:5
I do not understand what this is... Did you copy/paste the original file? It seems that you copy/pasted the original files and made some modifications to it Nathann New commits:
|
comment:6
Yes, that's what I did. Anyway, this is still very much work in progress... |
comment:7
Oh, okay! Nathann |
Dependencies: #17937 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:12
This now seems to work reasonably well. Not yet ready, but good enough for example to compare with the existing implementation. That's how I found all the bugs at #17548. Due to the polyhedra overhead, it is generally (a lot) slower than the existing code. |
comment:13
Replying to @jdemeyer:
Is it worth changing this branch so that it changes the existing code instead of adding a new file ? As you said: let's be correct first, then fast. Nathann |
comment:14
My code does not yet support all (undocumented!) features of the old |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:17
This now implements |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:73
Whats your plan with the code here? It might be useful to check. Thoughts? |
comment:74
This code is useful as it works in more general context than the new |
comment:75
Indeed, we want this code in Sage! I promised Jeroen I would rebase his code, and work on the review. This could be a good sprint for Sage Days 67. But yes this certainly is not a blocker anymore for 6.6. |
comment:76
Needs to be rebased in any case. I might also try to make it work in all cases of infinite iterator (currently, I still require that there are only finitely many lists of every given length). |
comment:77
I would actually like to redesign |
comment:78
Replying to @jdemeyer:
+1 why not several iterators on the same class? (with a reasonable one by default in |
comment:79
Replying to @videlec:
Well, it will be something along those lines. But I haven't thought too much about the actual design. |
comment:80
Replying to @nthiery:
Thanks for the offer, but that will not be needed (in any case, it's just merging with |
comment:81
Replying to @jdemeyer:
+1 to sharing code between the classes; in fact I had put a mental Having a class that can handle any set of constraints, even if it does I am not sure whether we want a single class, or two classes:
With the second one having the additional specification that the Thoughts? Cheers, |
This fixes #17548.
It also adds new features to
IntegerLists
:Negative integers are allowed (but the default still is
min_part=0
).There does not need to be a fixed sum, one can do for example
IntegerLists(max_part=2)
for all lists of integers <= 2. One can also give a lower/upper bound for the sum.Note that the current implementation requires, for a given length, that there are only finitely many lists of that length. This limitation could be lifted in the future.
Depends on #17937
Depends on #18087
CC: @nathanncohen @anneschilling @tscrim @nthiery
Component: combinatorics
Author: Jeroen Demeyer
Branch/Commit: u/jdemeyer/ticket/17920 @
621d467
Issue created by migration from https://trac.sagemath.org/ticket/17920
The text was updated successfully, but these errors were encountered: