-
-
Notifications
You must be signed in to change notification settings - Fork 567
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
Setting up a Polyhedron from both Vrep and Hrep - for backend='field' #22701
Comments
This comment has been minimized.
This comment has been minimized.
comment:4
in another software you can instantiate a polyhedron with "just" the h-rep (or v-rep), and compute the complementary representation on-demand. this is useful especially when you work in high dimensions, and makes sense because there are questions which only rely on having just one representation. so i wonder if this can be considered in this ticket, something like a keyword argument |
comment:5
I think we could have a separate "lazy" backend that can only hold a given Hrep or Vrep. Whenever anything needs to be computed that requires the other representation, one could change to an actual backend. |
Commit: |
Author: Matthias Koeppe |
New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:8
One little thing: -raise ValueError("If both Vrep and Hrep are provided, they must be minimal and Vrep_minimal and Hrep_minimal must be set True to indicate this.")
+raise ValueError("if both Vrep and Hrep are provided, they must be minimal"
" and Vrep_minimal and Hrep_minimal must both be True") Otherwise LGTM. One good way to do things lazily is use the
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
(Thanks for the info on lazy_attribute. I've opened ticket #26366 for possible discussion of a lazy backend; but I do not plan to work on it.) |
Reviewer: Travis Scrimshaw |
comment:11
Thanks. |
comment:12
Thank you for the review. |
This comment has been minimized.
This comment has been minimized.
Changed branch from u/mkoeppe/setting_up_a_polyhedron_from_both_vrep_and_hrep to |
Currently, only one of the two is allowed.
For at least some backends (certainly, the generic (
"field"
) backend and polymake (#22683)), it makes sense to initialize with both if they are known, to avoid expensive recomputation. (This could also be the basis of code that delegates to a particular backend for particular features.)Users should also be allowed to indicate whether the given presentations are already minimal.
In this ticket, we implement this for
Polyhedron_field
, enabling fastbase_extend
.When both V-rep and H-rep are given, they must be minimal; the interface is designed to allow for future extensions.
The top-level constructor
Polyhedron
is unchanged in this ticket. It is still an error ifPolyhedron(vertices=..., inequalities=...)
is attempted.Without this ticket:
With this ticket:
Related:
Polyhedron
class mistreats empty inputsFollow-up:
Polyhedron
from both Vrep and Hrep - forbackend='polymake'
Polyhedron
- lazy backend; minimal vs. non-minimal presentations;Polyhedron
constructor with both Vrep, HrepCC: @jplab @mforets @mo271 @novoselt @tscrim
Component: geometry
Keywords: polytope, days84
Author: Matthias Koeppe
Branch/Commit:
e34d845
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/22701
The text was updated successfully, but these errors were encountered: