-
-
Notifications
You must be signed in to change notification settings - Fork 512
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
Implement ambient volume of polyhedron with normaliz #28873
Comments
Commit: |
Branch: public/28873 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Changed branch from public/28873 to public/28873-reb |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:5
It should be noted that the conversion of the normaliz output does not work correctly when computing |
This comment has been minimized.
This comment has been minimized.
comment:7
Ticket retargeted after milestone closed |
comment:8
Rebased. New commits:
|
Changed branch from public/28873-reb to public/28873-reb2 |
comment:9
Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date. |
Reviewer: Jean-Philippe Labbé |
comment:10
You should add the reference to the manual in the documentation of the function. That would be a good improvement. |
Changed branch from public/28873-reb2 to public/28873-reb3 |
comment:12
It would be nice to have this in 9.1, if possible. |
comment:13
Is the following "unimodual" a typo? Is unimodular meant? + One other possibility is to compute the scaled volume where a unimodual There is also + volume of the unimodal simplex (or zero if not full-dimensional):: Unimodular? Could you check if this occurs in the rest of the file too? Otherwise, the ticket looks good and the bots are green on 9.1rc0, so you can put this on positive review on my behalf once you considered the above comments. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Changed branch from public/28873-reb3 to |
We implement the ambient volume using backend normaliz.
This is done by return 0 or infinity if the polyhedron is not full-dimensional and not compact respectively.
Otherwise, we take the
induced_lattice
volume and divide byfactorial(self.dim())
.See section 6.1.1 of the normaliz manual on how
induced_lattice
volume relates to euclidean volume: https://github.com/Normaliz/Normaliz/blob/master/doc/Normaliz.pdfThis is much faster than the current method, so we set this to default if backend is normaliz.
This also speeds up calculation in case the polyhedron is not full-dimensional:
However, note that calculation of the affine hull takes quite some time in this case. So we leave the inexact normaliz option for now:
Possible follow ups:
There is probably a good and fast way to convert the lattice volume to the euclidean volume exactly. Also, once we can set up a normaliz polyhedron with both Vrep and Hrep, affine hull should be really quick.
Depends on #28872
CC: @jplab @LaisRast
Component: geometry
Keywords: polyhedron, normaliz, ambient volume
Author: Jonathan Kliem
Branch/Commit:
cc808dd
Reviewer: Jean-Philippe Labbé
Issue created by migration from https://trac.sagemath.org/ticket/28873
The text was updated successfully, but these errors were encountered: