Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 83453fb

Browse files
committed
Fix Hrepr of normaliz for iterators
Typos
1 parent ddaba54 commit 83453fb

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/sage/geometry/polyhedron/backend_normaliz.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,18 @@ def _init_from_Hrepresentation(self, ieqs, eqns, minimize=True, verbose=False):
595595
sage: p = Polyhedron(ieqs=[(1, a, 0)], backend='normaliz') # optional - pynormaliz
596596
sage: p & p == p # optional - pynormaliz
597597
True
598+
599+
Check that :trac:`30248` is fixed, that maps as input works::
600+
601+
sage: q = Polyhedron(backend='normaliz', base_ring=AA, # optional - pynormaliz
602+
....: rays=[(0, 0, 1), (0, 1, -1), (1, 0, -1)])
603+
sage: make_new_Hrep = lambda h: tuple(x if i == 0 else -1*x for i, x in enumerate(h._vector))
604+
sage: new_inequalities = map(make_new_Hrep, q.inequality_generator()) # optional - pynormaliz
605+
sage: new_equations = map(make_new_Hrep, q.equation_generator()) # optional - pynormaliz
606+
sage: parent = q.parent() # optional - pynormaliz
607+
sage: new_q = parent.element_class(parent,None,[new_inequalities,new_equations]) # optional - pynormaliz
608+
sage: new_q # optional - pynormaliz
609+
A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 rays
598610
"""
599611

600612
def nmz_ieqs_eqns_NF(ieqs, eqns):
@@ -829,7 +841,13 @@ def _compute_nmz_data_lists_and_field(self, data_lists, convert_QQ, convert_NF):
829841
...
830842
ValueError: invalid base ring: Number Field in a ... is not real embedded
831843
844+
Checks that :trac:`30248` is fixed::
832845
846+
sage: q = Polyhedron(backend='normaliz', base_ring=AA, # indirect doctest # optional - pynormaliz
847+
....: rays=[(0, 0, 1), (0, 1, -1), (1, 0, -1)]); q
848+
A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 rays
849+
sage: -q # optional - pynormaliz
850+
A 3-dimensional polyhedron in AA^3 defined as the convex hull of 1 vertex and 3 rays
833851
"""
834852
from sage.categories.number_fields import NumberFields
835853
from sage.rings.all import RDF
@@ -838,6 +856,9 @@ def _compute_nmz_data_lists_and_field(self, data_lists, convert_QQ, convert_NF):
838856
normaliz_field = QQ
839857
nmz_data_lists = convert_QQ(*data_lists)
840858
else:
859+
# Allows to re-iterate if K is QQ below when data_lists contain
860+
# iterators:
861+
data_lists = [tuple(_) for _ in data_lists]
841862
nmz_data_lists = convert_NF(*data_lists)
842863
if self.base_ring() in NumberFields:
843864
if not RDF.has_coerce_map_from(self.base_ring()):

0 commit comments

Comments
 (0)