passagemath-polyhedra 10.6.31rc3__cp314-cp314-macosx_13_0_arm64.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.

Files changed (205) hide show
  1. passagemath_polyhedra-10.6.31rc3.dist-info/METADATA +368 -0
  2. passagemath_polyhedra-10.6.31rc3.dist-info/METADATA.bak +371 -0
  3. passagemath_polyhedra-10.6.31rc3.dist-info/RECORD +205 -0
  4. passagemath_polyhedra-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_polyhedra-10.6.31rc3.dist-info/top_level.txt +2 -0
  6. passagemath_polyhedra.dylibs/libgmp.10.dylib +0 -0
  7. sage/all__sagemath_polyhedra.py +50 -0
  8. sage/game_theory/all.py +8 -0
  9. sage/game_theory/catalog.py +6 -0
  10. sage/game_theory/catalog_normal_form_games.py +923 -0
  11. sage/game_theory/cooperative_game.py +844 -0
  12. sage/game_theory/matching_game.py +1181 -0
  13. sage/game_theory/normal_form_game.py +2697 -0
  14. sage/game_theory/parser.py +275 -0
  15. sage/geometry/all__sagemath_polyhedra.py +22 -0
  16. sage/geometry/cone.py +6940 -0
  17. sage/geometry/cone_catalog.py +847 -0
  18. sage/geometry/cone_critical_angles.py +1027 -0
  19. sage/geometry/convex_set.py +1119 -0
  20. sage/geometry/fan.py +3743 -0
  21. sage/geometry/fan_isomorphism.py +389 -0
  22. sage/geometry/fan_morphism.py +1884 -0
  23. sage/geometry/hasse_diagram.py +202 -0
  24. sage/geometry/hyperplane_arrangement/affine_subspace.py +390 -0
  25. sage/geometry/hyperplane_arrangement/all.py +1 -0
  26. sage/geometry/hyperplane_arrangement/arrangement.py +3895 -0
  27. sage/geometry/hyperplane_arrangement/check_freeness.py +145 -0
  28. sage/geometry/hyperplane_arrangement/hyperplane.py +773 -0
  29. sage/geometry/hyperplane_arrangement/library.py +825 -0
  30. sage/geometry/hyperplane_arrangement/ordered_arrangement.py +642 -0
  31. sage/geometry/hyperplane_arrangement/plot.py +520 -0
  32. sage/geometry/integral_points.py +35 -0
  33. sage/geometry/integral_points_generic_dense.cpython-314-darwin.so +0 -0
  34. sage/geometry/integral_points_generic_dense.pyx +7 -0
  35. sage/geometry/lattice_polytope.py +5894 -0
  36. sage/geometry/linear_expression.py +773 -0
  37. sage/geometry/newton_polygon.py +767 -0
  38. sage/geometry/point_collection.cpython-314-darwin.so +0 -0
  39. sage/geometry/point_collection.pyx +1008 -0
  40. sage/geometry/polyhedral_complex.py +2616 -0
  41. sage/geometry/polyhedron/all.py +8 -0
  42. sage/geometry/polyhedron/backend_cdd.py +460 -0
  43. sage/geometry/polyhedron/backend_cdd_rdf.py +231 -0
  44. sage/geometry/polyhedron/backend_field.py +347 -0
  45. sage/geometry/polyhedron/backend_normaliz.py +2503 -0
  46. sage/geometry/polyhedron/backend_number_field.py +168 -0
  47. sage/geometry/polyhedron/backend_polymake.py +765 -0
  48. sage/geometry/polyhedron/backend_ppl.py +582 -0
  49. sage/geometry/polyhedron/base.py +1206 -0
  50. sage/geometry/polyhedron/base0.py +1444 -0
  51. sage/geometry/polyhedron/base1.py +886 -0
  52. sage/geometry/polyhedron/base2.py +812 -0
  53. sage/geometry/polyhedron/base3.py +1845 -0
  54. sage/geometry/polyhedron/base4.py +1262 -0
  55. sage/geometry/polyhedron/base5.py +2700 -0
  56. sage/geometry/polyhedron/base6.py +1741 -0
  57. sage/geometry/polyhedron/base7.py +997 -0
  58. sage/geometry/polyhedron/base_QQ.py +1258 -0
  59. sage/geometry/polyhedron/base_RDF.py +98 -0
  60. sage/geometry/polyhedron/base_ZZ.py +934 -0
  61. sage/geometry/polyhedron/base_mutable.py +215 -0
  62. sage/geometry/polyhedron/base_number_field.py +122 -0
  63. sage/geometry/polyhedron/cdd_file_format.py +155 -0
  64. sage/geometry/polyhedron/combinatorial_polyhedron/all.py +1 -0
  65. sage/geometry/polyhedron/combinatorial_polyhedron/base.cpython-314-darwin.so +0 -0
  66. sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd +76 -0
  67. sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx +3859 -0
  68. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.cpython-314-darwin.so +0 -0
  69. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd +39 -0
  70. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx +1038 -0
  71. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.cpython-314-darwin.so +0 -0
  72. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd +9 -0
  73. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx +501 -0
  74. sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd +207 -0
  75. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.cpython-314-darwin.so +0 -0
  76. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd +102 -0
  77. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx +2274 -0
  78. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.cpython-314-darwin.so +0 -0
  79. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd +370 -0
  80. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx +84 -0
  81. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.cpython-314-darwin.so +0 -0
  82. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd +31 -0
  83. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx +587 -0
  84. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.cpython-314-darwin.so +0 -0
  85. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd +52 -0
  86. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx +560 -0
  87. sage/geometry/polyhedron/constructor.py +773 -0
  88. sage/geometry/polyhedron/double_description.py +753 -0
  89. sage/geometry/polyhedron/double_description_inhomogeneous.py +564 -0
  90. sage/geometry/polyhedron/face.py +1060 -0
  91. sage/geometry/polyhedron/generating_function.py +1810 -0
  92. sage/geometry/polyhedron/lattice_euclidean_group_element.py +178 -0
  93. sage/geometry/polyhedron/library.py +3502 -0
  94. sage/geometry/polyhedron/misc.py +121 -0
  95. sage/geometry/polyhedron/modules/all.py +1 -0
  96. sage/geometry/polyhedron/modules/formal_polyhedra_module.py +155 -0
  97. sage/geometry/polyhedron/palp_database.py +447 -0
  98. sage/geometry/polyhedron/parent.py +1279 -0
  99. sage/geometry/polyhedron/plot.py +1986 -0
  100. sage/geometry/polyhedron/ppl_lattice_polygon.py +556 -0
  101. sage/geometry/polyhedron/ppl_lattice_polytope.py +1257 -0
  102. sage/geometry/polyhedron/representation.py +1723 -0
  103. sage/geometry/pseudolines.py +515 -0
  104. sage/geometry/relative_interior.py +445 -0
  105. sage/geometry/toric_plotter.py +1103 -0
  106. sage/geometry/triangulation/all.py +2 -0
  107. sage/geometry/triangulation/base.cpython-314-darwin.so +0 -0
  108. sage/geometry/triangulation/base.pyx +963 -0
  109. sage/geometry/triangulation/data.h +147 -0
  110. sage/geometry/triangulation/data.pxd +4 -0
  111. sage/geometry/triangulation/element.py +914 -0
  112. sage/geometry/triangulation/functions.h +10 -0
  113. sage/geometry/triangulation/functions.pxd +4 -0
  114. sage/geometry/triangulation/point_configuration.py +2256 -0
  115. sage/geometry/triangulation/triangulations.h +49 -0
  116. sage/geometry/triangulation/triangulations.pxd +7 -0
  117. sage/geometry/voronoi_diagram.py +319 -0
  118. sage/interfaces/all__sagemath_polyhedra.py +1 -0
  119. sage/interfaces/polymake.py +2028 -0
  120. sage/numerical/all.py +13 -0
  121. sage/numerical/all__sagemath_polyhedra.py +11 -0
  122. sage/numerical/backends/all.py +1 -0
  123. sage/numerical/backends/all__sagemath_polyhedra.py +1 -0
  124. sage/numerical/backends/cvxopt_backend.cpython-314-darwin.so +0 -0
  125. sage/numerical/backends/cvxopt_backend.pyx +1006 -0
  126. sage/numerical/backends/cvxopt_backend_test.py +19 -0
  127. sage/numerical/backends/cvxopt_sdp_backend.cpython-314-darwin.so +0 -0
  128. sage/numerical/backends/cvxopt_sdp_backend.pyx +382 -0
  129. sage/numerical/backends/cvxpy_backend.cpython-314-darwin.so +0 -0
  130. sage/numerical/backends/cvxpy_backend.pxd +41 -0
  131. sage/numerical/backends/cvxpy_backend.pyx +934 -0
  132. sage/numerical/backends/cvxpy_backend_test.py +13 -0
  133. sage/numerical/backends/generic_backend_test.py +24 -0
  134. sage/numerical/backends/interactivelp_backend.cpython-314-darwin.so +0 -0
  135. sage/numerical/backends/interactivelp_backend.pxd +36 -0
  136. sage/numerical/backends/interactivelp_backend.pyx +1231 -0
  137. sage/numerical/backends/interactivelp_backend_test.py +12 -0
  138. sage/numerical/backends/logging_backend.py +391 -0
  139. sage/numerical/backends/matrix_sdp_backend.cpython-314-darwin.so +0 -0
  140. sage/numerical/backends/matrix_sdp_backend.pxd +15 -0
  141. sage/numerical/backends/matrix_sdp_backend.pyx +478 -0
  142. sage/numerical/backends/ppl_backend.cpython-314-darwin.so +0 -0
  143. sage/numerical/backends/ppl_backend.pyx +1126 -0
  144. sage/numerical/backends/ppl_backend_test.py +13 -0
  145. sage/numerical/backends/scip_backend.cpython-314-darwin.so +0 -0
  146. sage/numerical/backends/scip_backend.pxd +22 -0
  147. sage/numerical/backends/scip_backend.pyx +1289 -0
  148. sage/numerical/backends/scip_backend_test.py +13 -0
  149. sage/numerical/interactive_simplex_method.py +5338 -0
  150. sage/numerical/knapsack.py +665 -0
  151. sage/numerical/linear_functions.cpython-314-darwin.so +0 -0
  152. sage/numerical/linear_functions.pxd +31 -0
  153. sage/numerical/linear_functions.pyx +1648 -0
  154. sage/numerical/linear_tensor.py +470 -0
  155. sage/numerical/linear_tensor_constraints.py +448 -0
  156. sage/numerical/linear_tensor_element.cpython-314-darwin.so +0 -0
  157. sage/numerical/linear_tensor_element.pxd +6 -0
  158. sage/numerical/linear_tensor_element.pyx +459 -0
  159. sage/numerical/mip.cpython-314-darwin.so +0 -0
  160. sage/numerical/mip.pxd +40 -0
  161. sage/numerical/mip.pyx +3667 -0
  162. sage/numerical/sdp.cpython-314-darwin.so +0 -0
  163. sage/numerical/sdp.pxd +39 -0
  164. sage/numerical/sdp.pyx +1433 -0
  165. sage/rings/all__sagemath_polyhedra.py +3 -0
  166. sage/rings/polynomial/all__sagemath_polyhedra.py +10 -0
  167. sage/rings/polynomial/omega.py +982 -0
  168. sage/schemes/all__sagemath_polyhedra.py +2 -0
  169. sage/schemes/toric/all.py +10 -0
  170. sage/schemes/toric/chow_group.py +1248 -0
  171. sage/schemes/toric/divisor.py +2082 -0
  172. sage/schemes/toric/divisor_class.cpython-314-darwin.so +0 -0
  173. sage/schemes/toric/divisor_class.pyx +322 -0
  174. sage/schemes/toric/fano_variety.py +1606 -0
  175. sage/schemes/toric/homset.py +650 -0
  176. sage/schemes/toric/ideal.py +451 -0
  177. sage/schemes/toric/library.py +1322 -0
  178. sage/schemes/toric/morphism.py +1958 -0
  179. sage/schemes/toric/points.py +1032 -0
  180. sage/schemes/toric/sheaf/all.py +1 -0
  181. sage/schemes/toric/sheaf/constructor.py +302 -0
  182. sage/schemes/toric/sheaf/klyachko.py +921 -0
  183. sage/schemes/toric/toric_subscheme.py +905 -0
  184. sage/schemes/toric/variety.py +3460 -0
  185. sage/schemes/toric/weierstrass.py +1078 -0
  186. sage/schemes/toric/weierstrass_covering.py +457 -0
  187. sage/schemes/toric/weierstrass_higher.py +288 -0
  188. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.info +10 -0
  189. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v03 +0 -0
  190. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v04 +0 -0
  191. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v05 +1 -0
  192. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v06 +1 -0
  193. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.info +22 -0
  194. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v04 +0 -0
  195. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v05 +0 -0
  196. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v06 +0 -0
  197. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v07 +0 -0
  198. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v08 +0 -0
  199. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v09 +0 -0
  200. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v10 +0 -0
  201. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v11 +1 -0
  202. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v12 +1 -0
  203. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v13 +1 -0
  204. sage_wheels/share/reflexive_polytopes/reflexive_polytopes_2d +80 -0
  205. 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)