Opened 5 months ago
Closed 4 months ago
#30891 closed defect (fixed)
Normaliz cone from precomputed data has lattice messed up
Reported by:  ghkliem  Owned by:  

Priority:  critical  Milestone:  sage9.3 
Component:  geometry  Keywords:  normaliz, polytope 
Cc:  jipilab, ghLaisRast, mkoeppe  Merged in:  
Authors:  David Roe, Jonathan Kliem  Reviewers:  Matthias Koeppe 
Report Upstream:  N/A  Work issues:  
Branch:  bcc7ea6 (Commits, GitHub, GitLab)  Commit:  bcc7ea670128b6e8334b3be01f16c8f9fe05b866 
Dependencies:  Stopgaps: 
Description (last modified by )
sage: p = Polyhedron(vertices=[(3,3), (3,0), (3,3), (0,3)], backend='normaliz') sage: q = loads(p.dumps) sage: p sage: p.ehrhart_series() (13*t^2 + 22*t + 1)/(t^3 + 3*t^2  3*t + 1) sage: p.volume() 18 sage: q.ehrhart_series() (t^2 + 2*t + 1)/(t^3 + 3*t^2  3*t + 1) sage: q.volume() 2
The problem is that we should take the saturation instead of the basis of the row space. In the example above the quotient of the ambient lattice with the computed basis was not torsionfree.
Change History (10)
comment:1 Changed 5 months ago by
comment:2 Changed 5 months ago by
 Report Upstream changed from Not yet reported upstream; Will do shortly. to N/A
comment:3 Changed 5 months ago by
I guess the solution to the second part also solves the first part, because in case of the volume the generated lattice is always the entire lattice (otherwise the "ambient" volume is zero anyway).
comment:4 Changed 5 months ago by
 Branch set to public/30891
 Commit set to cddb6db5d7eff137df3ad95dd17ac5823e68abaa
 Status changed from new to needs_review
New commits:
cddb6db  use saturation to obtain the correct lattice

comment:5 Changed 5 months ago by
 Description modified (diff)
comment:6 Changed 5 months ago by
 Description modified (diff)
comment:7 Changed 4 months ago by
 Branch changed from public/30891 to public/30891reb
 Commit changed from cddb6db5d7eff137df3ad95dd17ac5823e68abaa to bcc7ea670128b6e8334b3be01f16c8f9fe05b866
comment:8 Changed 4 months ago by
 Reviewers set to Matthias Koeppe
 Status changed from needs_review to positive_review
comment:9 Changed 4 months ago by
Thank you.
comment:10 Changed 4 months ago by
 Branch changed from public/30891reb to bcc7ea670128b6e8334b3be01f16c8f9fe05b866
 Resolution set to fixed
 Status changed from positive_review to closed
Note: See
TracTickets for help on using
tickets.
Normaliz data for
p
:Normaliz data for
q
:The volume is probably a usage error, I did not consider the case where a "cube" in the generated lattice has volume not equal to
1
.Ok, the other issue probably as well.
This raises a simple question in sage: Given rational vectors. How do I calculate integer vectors that generate the induced lattice? Actually the given vectors or integer, but for the mathematical question, I consider them to be rational.