Skip to content

Normaliz cone from precomputed data has lattice messed up #30891

@kliem

Description

@kliem
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 torsion-free.

CC: @jplab @LaisRast @mkoeppe

Component: geometry

Keywords: normaliz, polytope

Author: David Roe, Jonathan Kliem

Branch/Commit: bcc7ea6

Reviewer: Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/30891

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions