-
-
Notifications
You must be signed in to change notification settings - Fork 517
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
Polyhedron_normaliz.save #26363
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
One could define in
This constructs an object just as
(but saving computed results) However, one would need a method to recover |
comment:4
I think I know what to do about it.
|
Dependencies: #28639 |
comment:5
In #28639 I will implement a method that generates the cone from both Vrep and Hrep (recomputing the lines, but thats ok I guess). I have tested this with a few polyhedra, but I have no idea, which examples can be tricky. |
This comment has been minimized.
This comment has been minimized.
New commits:
|
Commit: |
Author: Jonathan Kliem |
Branch: public/26363 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
I plan to extend Normaliz as suggested. The essential point is that Normaliz can skip a convex hull computation, but nevertheless can produce the facet/ectreme ray incidence vectors and keep them for further operations, like the modification of the original cone. I am not sure whether one can give up the requirement to input the precomputed data in homogenized form with an added dehomogenization if they come from an inhomogeneous computation. |
comment:12
Ticket retargeted after milestone closed |
Changed branch from public/26363 to public/26363-reb |
Reviewer: Travis Scrimshaw |
comment:14
If there are any extensions to Normaliz that can be utilized in the future (as per comment:11), we can do further changes then. This is a nice improvement. LGTM. |
Changed branch from public/26363-reb to |
Changed commit from |
comment:16
Meanwhile I have implemented the use of precomputed data. Version 3.8.4 will very soon be published. Normaliz accepts
and
as precomputed data. Howevber, these do not always define the cone (or polyhedron) in which we want to compute since nontrivial coordinate transformations may come into play. These are restored via
(also in the algebraic case) and
It is also important that these precomputed data are considered homogeneous input types so that the polyhedron must be defined via Type::dehomogenization or Type::grading. See Sections 6.21 and D.8.16 in Normaliz.pdf (as of today). |
We fix this by removing the cone with
__getstate__
on pickling.On unpickling we use
__setstate__
and_cone_from_Vrepresentation_and_Hrepresentation
from #28639 to restore the cone.Special care has to be taken in the following cases:
None
in this case).As the lines are recomputed, there is no guarantee that they appear in the same order in the normaliz cone. However, normaliz sorts the given lines anyway:
Also, even if
_normaliz_cone
has the lines somewhat shuffled, this shouldn't be noticable as computations are invariant on which line we choose.Depends on #28639
CC: @jplab @w-bruns @tscrim @kliem
Component: geometry
Author: Jonathan Kliem
Branch:
57beae3
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/26363
The text was updated successfully, but these errors were encountered: