From 5c7e5620e9f8d66f0d131a6bda9da3b923f8330d Mon Sep 17 00:00:00 2001 From: Jonathan Kliem Date: Fri, 19 Jun 2020 22:37:29 +0200 Subject: [PATCH 1/2] fix double description of hypercube --- src/sage/geometry/polyhedron/library.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/sage/geometry/polyhedron/library.py b/src/sage/geometry/polyhedron/library.py index 7d2a1b8de20..b8a91815d28 100644 --- a/src/sage/geometry/polyhedron/library.py +++ b/src/sage/geometry/polyhedron/library.py @@ -3101,6 +3101,12 @@ def hypercube(self, dim, intervals=None, backend=None): sage: fc = polytopes.hypercube(4,backend='normaliz') # optional - pynormaliz sage: TestSuite(fc).run() # optional - pynormaliz + Check that :trac:`29904` is fixed:: + + sage: intervals = [[-2,2]] + sage: P = polytopes.hypercube(1, intervals, 'field') + sage: TestSuite(P).run() + If the dimension ``dim`` is not equal to the length of intervals, an error is raised:: @@ -3126,8 +3132,7 @@ def hypercube(self, dim, intervals=None, backend=None): Check that we set up the hypercube correctly:: - sage: ls = [randint(-100,100) for _ in range(4)] - sage: intervals = [[x, x+randint(1,50)] for x in ls] + sage: set_random_seed() sage: ls = [randint(-100,100) for _ in range(4)] sage: intervals = [[x, x+randint(1,50)] for x in ls] sage: P = polytopes.hypercube(4, intervals, backend='field') @@ -3184,7 +3189,7 @@ def hypercube(self, dim, intervals=None, backend=None): # An inequality -x_i + b_i >= 0 for i < dim # resp. x_{dim-i} - a_i >= 0 for i >= dim ieq_b = lambda i: intervals[i][1] if i < dim \ - else intervals[i-dim][0] + else -intervals[i-dim][0] else: raise ValueError("the dimension of the hypercube must match the number of intervals") From e1bf211177ee3b734a314493c9474d9cd7eec661 Mon Sep 17 00:00:00 2001 From: Jonathan Kliem Date: Mon, 22 Jun 2020 18:35:03 +0200 Subject: [PATCH 2/2] remove set_random_seed --- src/sage/geometry/polyhedron/library.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sage/geometry/polyhedron/library.py b/src/sage/geometry/polyhedron/library.py index b8a91815d28..6fc5d4d4fa9 100644 --- a/src/sage/geometry/polyhedron/library.py +++ b/src/sage/geometry/polyhedron/library.py @@ -3132,7 +3132,6 @@ def hypercube(self, dim, intervals=None, backend=None): Check that we set up the hypercube correctly:: - sage: set_random_seed() sage: ls = [randint(-100,100) for _ in range(4)] sage: intervals = [[x, x+randint(1,50)] for x in ls] sage: P = polytopes.hypercube(4, intervals, backend='field')