Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Trac #30248: Normaliz backend is broken with double description input
This bug was found while manipulating hyperplane arrangements. A minimal example to reproduce the bug is: {{{ sage: p1 = Polyhedron(backend='normaliz', base_ring=AA, rays=[(AA(0), AA(0), AA(1)), (AA(0), AA(1), AA(-1)), (AA(1), AA(0), AA(-1))], vertices=[(AA(0), AA(0), AA(0))]) sage: p1 A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 rays sage: -p1 A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 lines sage: p2 = Polyhedron(backend='normaliz', base_ring=AA, rays=[(AA(-1), AA(0), AA(1)), (AA(-1), AA(1), AA(0)), (AA(0), AA(0), AA(-1))], vertices=[(AA(0), AA(0), AA(0))]) sage: p2 A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 rays sage: -p2 A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 lines }}} Looking at `dilation` it seems that dilation is not the problem, it does the right thing, but the `parent.element_class` call messes things up. Notice that changing the base ring to `QQ` or `ZZ` or removing the `'normaliz'` backend, one does not get the error... This is nasty. In the hyperplane arrangement, there are some rational regions, and some irrational regions... URL: https://trac.sagemath.org/30248 Reported by: jipilab Ticket author(s): Jean-Philippe Labbé Reviewer(s): Travis Scrimshaw
- Loading branch information