-
-
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
Lattice Polytopes: Obtain facets directly from facet_normals #28735
Comments
Commit: |
New commits:
|
Branch: public/28735 |
comment:2
While it certainly makes sense, some things should be addressed:
As a possible easy solution - facets may take some argument like |
comment:4
Thanks for the comments. Replying to @novoselt:
Sure.
It seems to still work:
Nevertheless, I adopted I also changed my could to only be applied, when
My facets should be in exactly the same order, as they used to be, as I just took the code from
Eventually, it makes sense to cache the hasse diagram instead of the New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:7
Actually, I think I'm going to change the design a bit.
This way one can obtain facets directly from any lattice polytope. This will also allow to obtain faces directly from an interator instead of from the face lattice. |
comment:8
By face lattice methods I actually meant methods of facets which are related to the lattice:
Will this adjacent method work with your design? What would be nice (and perhaps your last comment was about it as well) is to have an ability to construct standalone faces, but whenever they are requested again for whatever reason (e.g. because the full face lattice is computed) - exactly the same objects are returned. |
comment:9
Also a general remark on these improvements and optimizations - they are very welcome, especially since I have no time anymore to work on them myself! But please keep in mind the use case these classes were introduced - working with a lot of quite small polytopes (reflexive, their faces and subpolytopes) where faces and numbers of lattice points are requested repeatedly. So whatever optimizations are added to initial constructions should not affect caching of stuff for later reuse. Thank you! |
comment:10
Ok, I keep that in mind. A few sentences about my motivation: I mainly just wanted to compute the face lattice by One intermediate step, is to create the incidence matrix (#28743). This is implicitly done for the face lattice anyway. (Actually one can obtain the combinatorial polyhedron instead from the incidence matrix.) Maybe I just replace face lattice (in the To avoid memory leak, it makes also sense to cache the hasse diagram/digraph instead of |
comment:11
Ticket retargeted after milestone closed |
Changed commit from |
Changed branch from public/28735 to none |
This comment has been minimized.
This comment has been minimized.
Reviewer: Andrey Novoseltsev |
comment:14
While this ticket is not closed, I updated the description to help people understand what was going on and why we this ticket is a "won't fix". |
Currently, the facets of lattice polytopes are obtained from the face lattice. This is somewhat slow, but most importantly this is a problem for
CombinatorialPolyhedron
, which uses the methodfacets
to obtain the combinatorial structure. SoCombinatorialPolyhedron
cannot be be used for computing the face lattice of lattice polytopes.Solution: We won't fix this. Instead #28960 initializes
CombinatorialPolyhedron
from (a new method)incidence_matrix
. This implicitely usesfacet_normals
instead of facets. This whyCombinatorialPolyhedron
is independent of the face lattice computation.CC: @jplab @LaisRast
Component: geometry
Keywords: lattice polytopes, facets
Author: Jonathan Kliem
Reviewer: Andrey Novoseltsev
Issue created by migration from https://trac.sagemath.org/ticket/28735
The text was updated successfully, but these errors were encountered: