passagemath-polyhedra 10.6.31rc3__cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-polyhedra might be problematic. Click here for more details.
- passagemath_polyhedra-10.6.31rc3.dist-info/METADATA +367 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/METADATA.bak +369 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/RECORD +206 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/WHEEL +6 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/top_level.txt +2 -0
- passagemath_polyhedra.libs/libgmp-6e109695.so.10.5.0 +0 -0
- passagemath_polyhedra.libs/libgomp-e985bcbb.so.1.0.0 +0 -0
- sage/all__sagemath_polyhedra.py +50 -0
- sage/game_theory/all.py +8 -0
- sage/game_theory/catalog.py +6 -0
- sage/game_theory/catalog_normal_form_games.py +923 -0
- sage/game_theory/cooperative_game.py +844 -0
- sage/game_theory/matching_game.py +1181 -0
- sage/game_theory/normal_form_game.py +2697 -0
- sage/game_theory/parser.py +275 -0
- sage/geometry/all__sagemath_polyhedra.py +22 -0
- sage/geometry/cone.py +6940 -0
- sage/geometry/cone_catalog.py +847 -0
- sage/geometry/cone_critical_angles.py +1027 -0
- sage/geometry/convex_set.py +1119 -0
- sage/geometry/fan.py +3743 -0
- sage/geometry/fan_isomorphism.py +389 -0
- sage/geometry/fan_morphism.py +1884 -0
- sage/geometry/hasse_diagram.py +202 -0
- sage/geometry/hyperplane_arrangement/affine_subspace.py +390 -0
- sage/geometry/hyperplane_arrangement/all.py +1 -0
- sage/geometry/hyperplane_arrangement/arrangement.py +3895 -0
- sage/geometry/hyperplane_arrangement/check_freeness.py +145 -0
- sage/geometry/hyperplane_arrangement/hyperplane.py +773 -0
- sage/geometry/hyperplane_arrangement/library.py +825 -0
- sage/geometry/hyperplane_arrangement/ordered_arrangement.py +642 -0
- sage/geometry/hyperplane_arrangement/plot.py +520 -0
- sage/geometry/integral_points.py +35 -0
- sage/geometry/integral_points_generic_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/integral_points_generic_dense.pyx +7 -0
- sage/geometry/lattice_polytope.py +5894 -0
- sage/geometry/linear_expression.py +773 -0
- sage/geometry/newton_polygon.py +767 -0
- sage/geometry/point_collection.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/point_collection.pyx +1008 -0
- sage/geometry/polyhedral_complex.py +2616 -0
- sage/geometry/polyhedron/all.py +8 -0
- sage/geometry/polyhedron/backend_cdd.py +460 -0
- sage/geometry/polyhedron/backend_cdd_rdf.py +231 -0
- sage/geometry/polyhedron/backend_field.py +347 -0
- sage/geometry/polyhedron/backend_normaliz.py +2503 -0
- sage/geometry/polyhedron/backend_number_field.py +168 -0
- sage/geometry/polyhedron/backend_polymake.py +765 -0
- sage/geometry/polyhedron/backend_ppl.py +582 -0
- sage/geometry/polyhedron/base.py +1206 -0
- sage/geometry/polyhedron/base0.py +1444 -0
- sage/geometry/polyhedron/base1.py +886 -0
- sage/geometry/polyhedron/base2.py +812 -0
- sage/geometry/polyhedron/base3.py +1845 -0
- sage/geometry/polyhedron/base4.py +1262 -0
- sage/geometry/polyhedron/base5.py +2700 -0
- sage/geometry/polyhedron/base6.py +1741 -0
- sage/geometry/polyhedron/base7.py +997 -0
- sage/geometry/polyhedron/base_QQ.py +1258 -0
- sage/geometry/polyhedron/base_RDF.py +98 -0
- sage/geometry/polyhedron/base_ZZ.py +934 -0
- sage/geometry/polyhedron/base_mutable.py +215 -0
- sage/geometry/polyhedron/base_number_field.py +122 -0
- sage/geometry/polyhedron/cdd_file_format.py +155 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/all.py +1 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/base.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd +76 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx +3859 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd +39 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx +1038 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/conversions.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd +9 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx +501 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd +207 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd +102 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx +2274 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd +370 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx +84 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd +31 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx +587 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd +52 -0
- sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx +560 -0
- sage/geometry/polyhedron/constructor.py +773 -0
- sage/geometry/polyhedron/double_description.py +753 -0
- sage/geometry/polyhedron/double_description_inhomogeneous.py +564 -0
- sage/geometry/polyhedron/face.py +1060 -0
- sage/geometry/polyhedron/generating_function.py +1810 -0
- sage/geometry/polyhedron/lattice_euclidean_group_element.py +178 -0
- sage/geometry/polyhedron/library.py +3502 -0
- sage/geometry/polyhedron/misc.py +121 -0
- sage/geometry/polyhedron/modules/all.py +1 -0
- sage/geometry/polyhedron/modules/formal_polyhedra_module.py +155 -0
- sage/geometry/polyhedron/palp_database.py +447 -0
- sage/geometry/polyhedron/parent.py +1279 -0
- sage/geometry/polyhedron/plot.py +1986 -0
- sage/geometry/polyhedron/ppl_lattice_polygon.py +556 -0
- sage/geometry/polyhedron/ppl_lattice_polytope.py +1257 -0
- sage/geometry/polyhedron/representation.py +1723 -0
- sage/geometry/pseudolines.py +515 -0
- sage/geometry/relative_interior.py +445 -0
- sage/geometry/toric_plotter.py +1103 -0
- sage/geometry/triangulation/all.py +2 -0
- sage/geometry/triangulation/base.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/geometry/triangulation/base.pyx +963 -0
- sage/geometry/triangulation/data.h +147 -0
- sage/geometry/triangulation/data.pxd +4 -0
- sage/geometry/triangulation/element.py +914 -0
- sage/geometry/triangulation/functions.h +10 -0
- sage/geometry/triangulation/functions.pxd +4 -0
- sage/geometry/triangulation/point_configuration.py +2256 -0
- sage/geometry/triangulation/triangulations.h +49 -0
- sage/geometry/triangulation/triangulations.pxd +7 -0
- sage/geometry/voronoi_diagram.py +319 -0
- sage/interfaces/all__sagemath_polyhedra.py +1 -0
- sage/interfaces/polymake.py +2028 -0
- sage/numerical/all.py +13 -0
- sage/numerical/all__sagemath_polyhedra.py +11 -0
- sage/numerical/backends/all.py +1 -0
- sage/numerical/backends/all__sagemath_polyhedra.py +1 -0
- sage/numerical/backends/cvxopt_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/cvxopt_backend.pyx +1006 -0
- sage/numerical/backends/cvxopt_backend_test.py +19 -0
- sage/numerical/backends/cvxopt_sdp_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/cvxopt_sdp_backend.pyx +382 -0
- sage/numerical/backends/cvxpy_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/cvxpy_backend.pxd +41 -0
- sage/numerical/backends/cvxpy_backend.pyx +934 -0
- sage/numerical/backends/cvxpy_backend_test.py +13 -0
- sage/numerical/backends/generic_backend_test.py +24 -0
- sage/numerical/backends/interactivelp_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/interactivelp_backend.pxd +36 -0
- sage/numerical/backends/interactivelp_backend.pyx +1231 -0
- sage/numerical/backends/interactivelp_backend_test.py +12 -0
- sage/numerical/backends/logging_backend.py +391 -0
- sage/numerical/backends/matrix_sdp_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/matrix_sdp_backend.pxd +15 -0
- sage/numerical/backends/matrix_sdp_backend.pyx +478 -0
- sage/numerical/backends/ppl_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/ppl_backend.pyx +1126 -0
- sage/numerical/backends/ppl_backend_test.py +13 -0
- sage/numerical/backends/scip_backend.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/backends/scip_backend.pxd +22 -0
- sage/numerical/backends/scip_backend.pyx +1289 -0
- sage/numerical/backends/scip_backend_test.py +13 -0
- sage/numerical/interactive_simplex_method.py +5338 -0
- sage/numerical/knapsack.py +665 -0
- sage/numerical/linear_functions.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/linear_functions.pxd +31 -0
- sage/numerical/linear_functions.pyx +1648 -0
- sage/numerical/linear_tensor.py +470 -0
- sage/numerical/linear_tensor_constraints.py +448 -0
- sage/numerical/linear_tensor_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/linear_tensor_element.pxd +6 -0
- sage/numerical/linear_tensor_element.pyx +459 -0
- sage/numerical/mip.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/mip.pxd +40 -0
- sage/numerical/mip.pyx +3667 -0
- sage/numerical/sdp.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/numerical/sdp.pxd +39 -0
- sage/numerical/sdp.pyx +1433 -0
- sage/rings/all__sagemath_polyhedra.py +3 -0
- sage/rings/polynomial/all__sagemath_polyhedra.py +10 -0
- sage/rings/polynomial/omega.py +982 -0
- sage/schemes/all__sagemath_polyhedra.py +2 -0
- sage/schemes/toric/all.py +10 -0
- sage/schemes/toric/chow_group.py +1248 -0
- sage/schemes/toric/divisor.py +2082 -0
- sage/schemes/toric/divisor_class.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/schemes/toric/divisor_class.pyx +322 -0
- sage/schemes/toric/fano_variety.py +1606 -0
- sage/schemes/toric/homset.py +650 -0
- sage/schemes/toric/ideal.py +451 -0
- sage/schemes/toric/library.py +1322 -0
- sage/schemes/toric/morphism.py +1958 -0
- sage/schemes/toric/points.py +1032 -0
- sage/schemes/toric/sheaf/all.py +1 -0
- sage/schemes/toric/sheaf/constructor.py +302 -0
- sage/schemes/toric/sheaf/klyachko.py +921 -0
- sage/schemes/toric/toric_subscheme.py +905 -0
- sage/schemes/toric/variety.py +3460 -0
- sage/schemes/toric/weierstrass.py +1078 -0
- sage/schemes/toric/weierstrass_covering.py +457 -0
- sage/schemes/toric/weierstrass_higher.py +288 -0
- sage_wheels/share/reflexive_polytopes/Full2d/zzdb.info +10 -0
- sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v03 +0 -0
- sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v04 +0 -0
- sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v05 +1 -0
- sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v06 +1 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.info +22 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v04 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v05 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v06 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v07 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v08 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v09 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v10 +0 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v11 +1 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v12 +1 -0
- sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v13 +1 -0
- sage_wheels/share/reflexive_polytopes/reflexive_polytopes_2d +80 -0
- sage_wheels/share/reflexive_polytopes/reflexive_polytopes_3d +37977 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-polyhedra
|
|
2
|
+
r"""
|
|
3
|
+
The Python backend, using number fields internally
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# ****************************************************************************
|
|
7
|
+
# Copyright (C) 2016-2022 Matthias Köppe <mkoeppe at math.ucdavis.edu>
|
|
8
|
+
# 2016-2018 Travis Scrimshaw
|
|
9
|
+
# 2017 Jeroen Demeyer
|
|
10
|
+
# 2018-2020 Jean-Philippe Labbé
|
|
11
|
+
# 2019 Vincent Delecroix
|
|
12
|
+
# 2019-2021 Jonathan Kliem
|
|
13
|
+
# 2019-2021 Sophia Elia
|
|
14
|
+
# 2020 Frédéric Chapoton
|
|
15
|
+
# 2022 Yuan Zhou
|
|
16
|
+
#
|
|
17
|
+
# This program is free software: you can redistribute it and/or modify
|
|
18
|
+
# it under the terms of the GNU General Public License as published by
|
|
19
|
+
# the Free Software Foundation, either version 2 of the License, or
|
|
20
|
+
# (at your option) any later version.
|
|
21
|
+
# https://www.gnu.org/licenses/
|
|
22
|
+
# ****************************************************************************
|
|
23
|
+
|
|
24
|
+
from .backend_field import Polyhedron_field
|
|
25
|
+
from .base_number_field import Polyhedron_base_number_field
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class Polyhedron_number_field(Polyhedron_field, Polyhedron_base_number_field):
|
|
29
|
+
r"""
|
|
30
|
+
Polyhedra whose data can be converted to number field elements.
|
|
31
|
+
|
|
32
|
+
All computations are done internally using a fixed real embedded number field,
|
|
33
|
+
which is determined automatically.
|
|
34
|
+
|
|
35
|
+
INPUT:
|
|
36
|
+
|
|
37
|
+
- ``Vrep`` -- list ``[vertices, rays, lines]`` or ``None``
|
|
38
|
+
|
|
39
|
+
- ``Hrep`` -- list ``[ieqs, eqns]`` or ``None``
|
|
40
|
+
|
|
41
|
+
EXAMPLES::
|
|
42
|
+
|
|
43
|
+
sage: P = Polyhedron(vertices=[[1], [sqrt(2)]], backend='number_field'); P # needs sage.rings.number_field sage.symbolic
|
|
44
|
+
A 1-dimensional polyhedron
|
|
45
|
+
in (Symbolic Ring)^1 defined as the convex hull of 2 vertices
|
|
46
|
+
sage: P.vertices() # needs sage.rings.number_field sage.symbolic
|
|
47
|
+
(A vertex at (1), A vertex at (sqrt(2)))
|
|
48
|
+
|
|
49
|
+
sage: P = polytopes.icosahedron(exact=True, backend='number_field'); P # needs sage.groups sage.rings.number_field
|
|
50
|
+
A 3-dimensional polyhedron
|
|
51
|
+
in (Number Field in sqrt5 with defining polynomial x^2 - 5
|
|
52
|
+
with sqrt5 = 2.236067977499790?)^3
|
|
53
|
+
defined as the convex hull of 12 vertices
|
|
54
|
+
|
|
55
|
+
sage: x = polygen(ZZ); P = Polyhedron( # needs sage.rings.number_field sage.symbolic
|
|
56
|
+
....: vertices=[[sqrt(2)], [AA.polynomial_root(x^3 - 2, RIF(0,3))]],
|
|
57
|
+
....: backend='number_field')
|
|
58
|
+
sage: P # needs sage.rings.number_field sage.symbolic
|
|
59
|
+
A 1-dimensional polyhedron
|
|
60
|
+
in (Symbolic Ring)^1 defined as the convex hull of 2 vertices
|
|
61
|
+
sage: P.vertices() # needs sage.rings.number_field sage.symbolic
|
|
62
|
+
(A vertex at (sqrt(2)), A vertex at (2^(1/3)))
|
|
63
|
+
|
|
64
|
+
TESTS:
|
|
65
|
+
|
|
66
|
+
Tests from :class:`~sage.geometry.polyhedron.backend_field.Polyhedron_field` --
|
|
67
|
+
here the data are already either in a number field or in ``AA``::
|
|
68
|
+
|
|
69
|
+
sage: p = Polyhedron(vertices=[(0,0),(AA(2).sqrt(),0),(0,AA(3).sqrt())], # needs sage.rings.number_field
|
|
70
|
+
....: rays=[(1,1)], lines=[], backend='number_field',
|
|
71
|
+
....: base_ring=AA)
|
|
72
|
+
sage: TestSuite(p).run() # needs sage.rings.number_field
|
|
73
|
+
|
|
74
|
+
sage: K.<sqrt3> = QuadraticField(3) # needs sage.rings.number_field
|
|
75
|
+
sage: p = Polyhedron([(0,0), (1,0), (1/2, sqrt3/2)], backend='number_field') # needs sage.rings.number_field
|
|
76
|
+
sage: TestSuite(p).run() # needs sage.rings.number_field
|
|
77
|
+
|
|
78
|
+
sage: # needs sage.rings.number_field
|
|
79
|
+
sage: x = polygen(ZZ, 'x')
|
|
80
|
+
sage: K.<phi> = NumberField(x^2 - x - 1, embedding=1.618)
|
|
81
|
+
sage: P1 = Polyhedron([[0,1], [1,1], [1,-phi+1]], backend='number_field')
|
|
82
|
+
sage: P2 = Polyhedron(ieqs=[[-1,-phi,0]], backend='number_field')
|
|
83
|
+
sage: P1.intersection(P2)
|
|
84
|
+
The empty polyhedron
|
|
85
|
+
in (Number Field in phi with defining polynomial x^2 - x - 1
|
|
86
|
+
with phi = 1.618033988749895?)^2
|
|
87
|
+
|
|
88
|
+
sage: Polyhedron(lines=[[1]], backend='number_field')
|
|
89
|
+
A 1-dimensional polyhedron in QQ^1 defined as the convex hull of 1 vertex and 1 line
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
def _init_from_Vrepresentation(self, vertices, rays, lines,
|
|
93
|
+
minimize=True, verbose=False):
|
|
94
|
+
"""
|
|
95
|
+
Construct polyhedron from V-representation data.
|
|
96
|
+
|
|
97
|
+
INPUT:
|
|
98
|
+
|
|
99
|
+
- ``vertices`` -- list of points. Each point can be specified
|
|
100
|
+
as any iterable container of
|
|
101
|
+
:meth:`~sage.geometry.polyhedron.base.base_ring` elements.
|
|
102
|
+
|
|
103
|
+
- ``rays`` -- list of rays. Each ray can be specified as any
|
|
104
|
+
iterable container of
|
|
105
|
+
:meth:`~sage.geometry.polyhedron.base.base_ring` elements.
|
|
106
|
+
|
|
107
|
+
- ``lines`` -- list of lines. Each line can be specified as
|
|
108
|
+
any iterable container of
|
|
109
|
+
:meth:`~sage.geometry.polyhedron.base.base_ring` elements.
|
|
110
|
+
|
|
111
|
+
- ``verbose`` -- boolean (default: ``False``); whether to print
|
|
112
|
+
verbose output for debugging purposes
|
|
113
|
+
|
|
114
|
+
EXAMPLES::
|
|
115
|
+
|
|
116
|
+
sage: p = Polyhedron(ambient_dim=2, backend='number_field')
|
|
117
|
+
sage: from sage.geometry.polyhedron.backend_number_field import Polyhedron_number_field
|
|
118
|
+
sage: Polyhedron_number_field._init_from_Vrepresentation(p, [(0,0)], [], [])
|
|
119
|
+
|
|
120
|
+
TESTS:
|
|
121
|
+
|
|
122
|
+
Check that the coordinates of a vertex get simplified in the Symbolic Ring::
|
|
123
|
+
|
|
124
|
+
sage: p = Polyhedron(ambient_dim=2, base_ring=SR, backend='number_field') # needs sage.symbolic
|
|
125
|
+
sage: from sage.geometry.polyhedron.backend_number_field import Polyhedron_number_field
|
|
126
|
+
sage: Polyhedron_number_field._init_from_Vrepresentation(p, [(0,1/2),(sqrt(2),0),(4,5/6)], [], []); p # needs sage.symbolic
|
|
127
|
+
A 2-dimensional polyhedron in (Symbolic Ring)^2 defined as the convex hull of 3 vertices
|
|
128
|
+
sage: p.vertices()[0][0]
|
|
129
|
+
0
|
|
130
|
+
"""
|
|
131
|
+
(vertices, rays, lines), internal_base_ring \
|
|
132
|
+
= self._compute_data_lists_and_internal_base_ring((vertices, rays, lines),
|
|
133
|
+
lambda *x: x, lambda *x: x)
|
|
134
|
+
self._internal_base_ring = internal_base_ring
|
|
135
|
+
super()._init_from_Vrepresentation(vertices, rays, lines,
|
|
136
|
+
minimize=minimize, verbose=verbose,
|
|
137
|
+
internal_base_ring=internal_base_ring)
|
|
138
|
+
|
|
139
|
+
def _init_from_Hrepresentation(self, ieqs, eqns, minimize=True, verbose=False):
|
|
140
|
+
"""
|
|
141
|
+
Construct polyhedron from H-representation data.
|
|
142
|
+
|
|
143
|
+
INPUT:
|
|
144
|
+
|
|
145
|
+
- ``ieqs`` -- list of inequalities. Each line can be specified
|
|
146
|
+
as any iterable container of
|
|
147
|
+
:meth:`~sage.geometry.polyhedron.base.base_ring` elements.
|
|
148
|
+
|
|
149
|
+
- ``eqns`` -- list of equalities. Each line can be specified
|
|
150
|
+
as any iterable container of
|
|
151
|
+
:meth:`~sage.geometry.polyhedron.base.base_ring` elements.
|
|
152
|
+
|
|
153
|
+
- ``verbose`` -- boolean (default: ``False``); whether to print
|
|
154
|
+
verbose output for debugging purposes
|
|
155
|
+
|
|
156
|
+
TESTS::
|
|
157
|
+
|
|
158
|
+
sage: p = Polyhedron(ambient_dim=2, backend='number_field')
|
|
159
|
+
sage: from sage.geometry.polyhedron.backend_number_field import Polyhedron_number_field
|
|
160
|
+
sage: Polyhedron_number_field._init_from_Hrepresentation(p, [(1, 2, 3)], [])
|
|
161
|
+
"""
|
|
162
|
+
(ieqs, eqns), internal_base_ring \
|
|
163
|
+
= self._compute_data_lists_and_internal_base_ring((ieqs, eqns),
|
|
164
|
+
lambda *x: x, lambda *x: x)
|
|
165
|
+
self._internal_base_ring = internal_base_ring
|
|
166
|
+
super()._init_from_Hrepresentation(ieqs, eqns,
|
|
167
|
+
minimize=minimize, verbose=verbose,
|
|
168
|
+
internal_base_ring=internal_base_ring)
|