From 6ba442d0586b9fdedec07a2e8f50bcd5d1a4a913 Mon Sep 17 00:00:00 2001 From: Travis Scrimshaw Date: Thu, 15 Mar 2018 17:09:46 +1000 Subject: [PATCH] Adding tests from comment:24,25 of #22984. --- .../geometry/polyhedron/backend_normaliz.py | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/src/sage/geometry/polyhedron/backend_normaliz.py b/src/sage/geometry/polyhedron/backend_normaliz.py index 5fcf48d804e..45a511c92c4 100644 --- a/src/sage/geometry/polyhedron/backend_normaliz.py +++ b/src/sage/geometry/polyhedron/backend_normaliz.py @@ -564,6 +564,72 @@ def integral_points(self, threshold=10000): (None, None) sage: P.integral_points() # optional - pynormaliz () + + Check the polytopes from :trac:`22984`:: + + sage: base = [[0, 2, 0, -1, 0, 0, 0, 0, 0], + ....: [0, 0, 2, 0, -1, 0, 0, 0, 0], + ....: [1, -1, 0, 2, -1, 0, 0, 0, 0], + ....: [0, 0, -1, -1, 2, -1, 0, 0, 0], + ....: [0, 0, 0, 0, -1, 2, -1, 0, 0], + ....: [0, 0, 0, 0, 0, -1, 2, -1, 0], + ....: [1, 0, 0, 0, 0, 0, -1, 2, -1], + ....: [0, 0, 0, 0, 0, 0, 0, -1, 2], + ....: [0, -1, 0, 0, 0, 0, 0, 0, 0], + ....: [0, 0, -1, 0, 0, 0, 0, 0, 0], + ....: [0, 0, 0, -1, 0, 0, 0, 0, 0], + ....: [0, 0, 0, 0, -1, 0, 0, 0, 0], + ....: [0, 0, 0, 0, 0, -1, 0, 0, 0], + ....: [0, 0, 0, 0, 0, 0, -1, 0, 0], + ....: [0, 0, 0, 0, 0, 0, 0, -1, 0], + ....: [0, 0, 0, 0, 0, 0, 0, 0, -1], + ....: [-1, -1, -1, -1, -1, -1, -1, -1, -1]] + + sage: ieqs = base + [ + ....: [2, 1, 0, 0, 0, 0, 0, 0, 0], + ....: [4, 0, 1, 0, 0, 0, 0, 0, 0], + ....: [4, 0, 0, 1, 0, 0, 0, 0, 0], + ....: [7, 0, 0, 0, 1, 0, 0, 0, 0], + ....: [6, 0, 0, 0, 0, 1, 0, 0, 0], + ....: [4, 0, 0, 0, 0, 0, 1, 0, 0], + ....: [2, 0, 0, 0, 0, 0, 0, 1, 0], + ....: [1, 0, 0, 0, 0, 0, 0, 0, 1]] + sage: P = Polyhedron(ieqs=ieqs, backend='normaliz') # optional - pynormaliz + sage: P.integral_points() # optional - pynormaliz + ((-2, -2, -4, -5, -4, -3, -2, -1), + (-2, -2, -4, -5, -4, -3, -2, 0), + (-1, -2, -3, -4, -3, -2, -2, -1), + (-1, -2, -3, -4, -3, -2, -1, 0), + (-1, -1, -2, -2, -2, -2, -2, -1), + (-1, -1, -2, -2, -1, -1, -1, 0), + (-1, -1, -2, -2, -1, 0, 0, 0), + (-1, 0, -2, -2, -2, -2, -2, -1), + (0, -1, -1, -2, -2, -2, -2, -1), + (0, 0, -1, -1, -1, -1, -1, 0)) + + sage: ieqs = base + [ + ....: [3, 1, 0, 0, 0, 0, 0, 0, 0], + ....: [4, 0, 1, 0, 0, 0, 0, 0, 0], + ....: [6, 0, 0, 1, 0, 0, 0, 0, 0], + ....: [8, 0, 0, 0, 1, 0, 0, 0, 0], + ....: [6, 0, 0, 0, 0, 1, 0, 0, 0], + ....: [4, 0, 0, 0, 0, 0, 1, 0, 0], + ....: [2, 0, 0, 0, 0, 0, 0, 1, 0], + ....: [1, 0, 0, 0, 0, 0, 0, 0, 1]] + sage: P = Polyhedron(ieqs=ieqs, backend='normaliz') # optional - pynormaliz + sage: P.integral_points() # optional - pynormaliz + ((-3, -4, -6, -8, -6, -4, -2, -1), + (-3, -4, -6, -8, -6, -4, -2, 0), + (-2, -2, -4, -5, -4, -3, -2, -1), + (-2, -2, -4, -5, -4, -3, -2, 0), + (-1, -2, -3, -4, -3, -2, -2, -1), + (-1, -2, -3, -4, -3, -2, -1, 0), + (-1, -1, -2, -2, -2, -2, -2, -1), + (-1, -1, -2, -2, -1, -1, -1, 0), + (-1, -1, -2, -2, -1, 0, 0, 0), + (-1, 0, -2, -2, -2, -2, -2, -1), + (0, -1, -1, -2, -2, -2, -2, -1), + (0, 0, -1, -1, -1, -1, -1, 0)) """ import PyNormaliz if not self.is_compact():