passagemath-polyhedra 10.6.37__cp314-cp314-musllinux_1_2_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.
Files changed (209) hide show
  1. passagemath_polyhedra/__init__.py +3 -0
  2. passagemath_polyhedra-10.6.37.dist-info/METADATA +367 -0
  3. passagemath_polyhedra-10.6.37.dist-info/METADATA.bak +369 -0
  4. passagemath_polyhedra-10.6.37.dist-info/RECORD +209 -0
  5. passagemath_polyhedra-10.6.37.dist-info/WHEEL +5 -0
  6. passagemath_polyhedra-10.6.37.dist-info/top_level.txt +3 -0
  7. passagemath_polyhedra.libs/libgcc_s-0cd532bd.so.1 +0 -0
  8. passagemath_polyhedra.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  9. passagemath_polyhedra.libs/libgomp-8949ffbe.so.1.0.0 +0 -0
  10. passagemath_polyhedra.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  11. sage/all__sagemath_polyhedra.py +50 -0
  12. sage/game_theory/all.py +8 -0
  13. sage/game_theory/catalog.py +6 -0
  14. sage/game_theory/catalog_normal_form_games.py +923 -0
  15. sage/game_theory/cooperative_game.py +844 -0
  16. sage/game_theory/matching_game.py +1181 -0
  17. sage/game_theory/normal_form_game.py +2697 -0
  18. sage/game_theory/parser.py +275 -0
  19. sage/geometry/all__sagemath_polyhedra.py +22 -0
  20. sage/geometry/cone.py +6940 -0
  21. sage/geometry/cone_catalog.py +847 -0
  22. sage/geometry/cone_critical_angles.py +1027 -0
  23. sage/geometry/convex_set.py +1119 -0
  24. sage/geometry/fan.py +3743 -0
  25. sage/geometry/fan_isomorphism.py +389 -0
  26. sage/geometry/fan_morphism.py +1884 -0
  27. sage/geometry/hasse_diagram.py +202 -0
  28. sage/geometry/hyperplane_arrangement/affine_subspace.py +390 -0
  29. sage/geometry/hyperplane_arrangement/all.py +1 -0
  30. sage/geometry/hyperplane_arrangement/arrangement.py +3905 -0
  31. sage/geometry/hyperplane_arrangement/check_freeness.py +145 -0
  32. sage/geometry/hyperplane_arrangement/hyperplane.py +773 -0
  33. sage/geometry/hyperplane_arrangement/library.py +825 -0
  34. sage/geometry/hyperplane_arrangement/ordered_arrangement.py +642 -0
  35. sage/geometry/hyperplane_arrangement/plot.py +520 -0
  36. sage/geometry/integral_points.py +35 -0
  37. sage/geometry/integral_points_generic_dense.cpython-314-x86_64-linux-musl.so +0 -0
  38. sage/geometry/integral_points_generic_dense.pyx +7 -0
  39. sage/geometry/lattice_polytope.py +5894 -0
  40. sage/geometry/linear_expression.py +773 -0
  41. sage/geometry/newton_polygon.py +767 -0
  42. sage/geometry/point_collection.cpython-314-x86_64-linux-musl.so +0 -0
  43. sage/geometry/point_collection.pyx +1008 -0
  44. sage/geometry/polyhedral_complex.py +2616 -0
  45. sage/geometry/polyhedron/all.py +8 -0
  46. sage/geometry/polyhedron/backend_cdd.py +460 -0
  47. sage/geometry/polyhedron/backend_cdd_rdf.py +231 -0
  48. sage/geometry/polyhedron/backend_field.py +347 -0
  49. sage/geometry/polyhedron/backend_normaliz.py +2503 -0
  50. sage/geometry/polyhedron/backend_number_field.py +168 -0
  51. sage/geometry/polyhedron/backend_polymake.py +765 -0
  52. sage/geometry/polyhedron/backend_ppl.py +582 -0
  53. sage/geometry/polyhedron/base.py +1206 -0
  54. sage/geometry/polyhedron/base0.py +1444 -0
  55. sage/geometry/polyhedron/base1.py +886 -0
  56. sage/geometry/polyhedron/base2.py +812 -0
  57. sage/geometry/polyhedron/base3.py +1845 -0
  58. sage/geometry/polyhedron/base4.py +1262 -0
  59. sage/geometry/polyhedron/base5.py +2700 -0
  60. sage/geometry/polyhedron/base6.py +1741 -0
  61. sage/geometry/polyhedron/base7.py +997 -0
  62. sage/geometry/polyhedron/base_QQ.py +1258 -0
  63. sage/geometry/polyhedron/base_RDF.py +98 -0
  64. sage/geometry/polyhedron/base_ZZ.py +934 -0
  65. sage/geometry/polyhedron/base_mutable.py +215 -0
  66. sage/geometry/polyhedron/base_number_field.py +122 -0
  67. sage/geometry/polyhedron/cdd_file_format.py +155 -0
  68. sage/geometry/polyhedron/combinatorial_polyhedron/all.py +1 -0
  69. sage/geometry/polyhedron/combinatorial_polyhedron/base.cpython-314-x86_64-linux-musl.so +0 -0
  70. sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd +76 -0
  71. sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx +3859 -0
  72. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.cpython-314-x86_64-linux-musl.so +0 -0
  73. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd +39 -0
  74. sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx +1038 -0
  75. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.cpython-314-x86_64-linux-musl.so +0 -0
  76. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd +9 -0
  77. sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx +501 -0
  78. sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd +207 -0
  79. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.cpython-314-x86_64-linux-musl.so +0 -0
  80. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd +102 -0
  81. sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx +2274 -0
  82. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.cpython-314-x86_64-linux-musl.so +0 -0
  83. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd +370 -0
  84. sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx +84 -0
  85. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.cpython-314-x86_64-linux-musl.so +0 -0
  86. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd +31 -0
  87. sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx +587 -0
  88. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.cpython-314-x86_64-linux-musl.so +0 -0
  89. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd +52 -0
  90. sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx +560 -0
  91. sage/geometry/polyhedron/constructor.py +773 -0
  92. sage/geometry/polyhedron/double_description.py +753 -0
  93. sage/geometry/polyhedron/double_description_inhomogeneous.py +564 -0
  94. sage/geometry/polyhedron/face.py +1060 -0
  95. sage/geometry/polyhedron/generating_function.py +1810 -0
  96. sage/geometry/polyhedron/lattice_euclidean_group_element.py +178 -0
  97. sage/geometry/polyhedron/library.py +3502 -0
  98. sage/geometry/polyhedron/misc.py +121 -0
  99. sage/geometry/polyhedron/modules/all.py +1 -0
  100. sage/geometry/polyhedron/modules/formal_polyhedra_module.py +155 -0
  101. sage/geometry/polyhedron/palp_database.py +447 -0
  102. sage/geometry/polyhedron/parent.py +1279 -0
  103. sage/geometry/polyhedron/plot.py +1986 -0
  104. sage/geometry/polyhedron/ppl_lattice_polygon.py +556 -0
  105. sage/geometry/polyhedron/ppl_lattice_polytope.py +1257 -0
  106. sage/geometry/polyhedron/representation.py +1723 -0
  107. sage/geometry/pseudolines.py +515 -0
  108. sage/geometry/relative_interior.py +445 -0
  109. sage/geometry/toric_plotter.py +1103 -0
  110. sage/geometry/triangulation/all.py +2 -0
  111. sage/geometry/triangulation/base.cpython-314-x86_64-linux-musl.so +0 -0
  112. sage/geometry/triangulation/base.pyx +963 -0
  113. sage/geometry/triangulation/data.h +147 -0
  114. sage/geometry/triangulation/data.pxd +4 -0
  115. sage/geometry/triangulation/element.py +914 -0
  116. sage/geometry/triangulation/functions.h +10 -0
  117. sage/geometry/triangulation/functions.pxd +4 -0
  118. sage/geometry/triangulation/point_configuration.py +2256 -0
  119. sage/geometry/triangulation/triangulations.h +49 -0
  120. sage/geometry/triangulation/triangulations.pxd +7 -0
  121. sage/geometry/voronoi_diagram.py +319 -0
  122. sage/interfaces/all__sagemath_polyhedra.py +1 -0
  123. sage/interfaces/polymake.py +2028 -0
  124. sage/numerical/all.py +13 -0
  125. sage/numerical/all__sagemath_polyhedra.py +11 -0
  126. sage/numerical/backends/all.py +1 -0
  127. sage/numerical/backends/all__sagemath_polyhedra.py +1 -0
  128. sage/numerical/backends/cvxopt_backend.cpython-314-x86_64-linux-musl.so +0 -0
  129. sage/numerical/backends/cvxopt_backend.pyx +1006 -0
  130. sage/numerical/backends/cvxopt_backend_test.py +19 -0
  131. sage/numerical/backends/cvxopt_sdp_backend.cpython-314-x86_64-linux-musl.so +0 -0
  132. sage/numerical/backends/cvxopt_sdp_backend.pyx +382 -0
  133. sage/numerical/backends/cvxpy_backend.cpython-314-x86_64-linux-musl.so +0 -0
  134. sage/numerical/backends/cvxpy_backend.pxd +41 -0
  135. sage/numerical/backends/cvxpy_backend.pyx +934 -0
  136. sage/numerical/backends/cvxpy_backend_test.py +13 -0
  137. sage/numerical/backends/generic_backend_test.py +24 -0
  138. sage/numerical/backends/interactivelp_backend.cpython-314-x86_64-linux-musl.so +0 -0
  139. sage/numerical/backends/interactivelp_backend.pxd +36 -0
  140. sage/numerical/backends/interactivelp_backend.pyx +1231 -0
  141. sage/numerical/backends/interactivelp_backend_test.py +12 -0
  142. sage/numerical/backends/logging_backend.py +391 -0
  143. sage/numerical/backends/matrix_sdp_backend.cpython-314-x86_64-linux-musl.so +0 -0
  144. sage/numerical/backends/matrix_sdp_backend.pxd +15 -0
  145. sage/numerical/backends/matrix_sdp_backend.pyx +478 -0
  146. sage/numerical/backends/ppl_backend.cpython-314-x86_64-linux-musl.so +0 -0
  147. sage/numerical/backends/ppl_backend.pyx +1126 -0
  148. sage/numerical/backends/ppl_backend_test.py +13 -0
  149. sage/numerical/backends/scip_backend.cpython-314-x86_64-linux-musl.so +0 -0
  150. sage/numerical/backends/scip_backend.pxd +22 -0
  151. sage/numerical/backends/scip_backend.pyx +1289 -0
  152. sage/numerical/backends/scip_backend_test.py +13 -0
  153. sage/numerical/interactive_simplex_method.py +5338 -0
  154. sage/numerical/knapsack.py +665 -0
  155. sage/numerical/linear_functions.cpython-314-x86_64-linux-musl.so +0 -0
  156. sage/numerical/linear_functions.pxd +31 -0
  157. sage/numerical/linear_functions.pyx +1648 -0
  158. sage/numerical/linear_tensor.py +470 -0
  159. sage/numerical/linear_tensor_constraints.py +448 -0
  160. sage/numerical/linear_tensor_element.cpython-314-x86_64-linux-musl.so +0 -0
  161. sage/numerical/linear_tensor_element.pxd +6 -0
  162. sage/numerical/linear_tensor_element.pyx +459 -0
  163. sage/numerical/mip.cpython-314-x86_64-linux-musl.so +0 -0
  164. sage/numerical/mip.pxd +40 -0
  165. sage/numerical/mip.pyx +3667 -0
  166. sage/numerical/sdp.cpython-314-x86_64-linux-musl.so +0 -0
  167. sage/numerical/sdp.pxd +39 -0
  168. sage/numerical/sdp.pyx +1433 -0
  169. sage/rings/all__sagemath_polyhedra.py +3 -0
  170. sage/rings/polynomial/all__sagemath_polyhedra.py +10 -0
  171. sage/rings/polynomial/omega.py +982 -0
  172. sage/schemes/all__sagemath_polyhedra.py +2 -0
  173. sage/schemes/toric/all.py +10 -0
  174. sage/schemes/toric/chow_group.py +1248 -0
  175. sage/schemes/toric/divisor.py +2082 -0
  176. sage/schemes/toric/divisor_class.cpython-314-x86_64-linux-musl.so +0 -0
  177. sage/schemes/toric/divisor_class.pyx +322 -0
  178. sage/schemes/toric/fano_variety.py +1606 -0
  179. sage/schemes/toric/homset.py +650 -0
  180. sage/schemes/toric/ideal.py +451 -0
  181. sage/schemes/toric/library.py +1322 -0
  182. sage/schemes/toric/morphism.py +1958 -0
  183. sage/schemes/toric/points.py +1032 -0
  184. sage/schemes/toric/sheaf/all.py +1 -0
  185. sage/schemes/toric/sheaf/constructor.py +302 -0
  186. sage/schemes/toric/sheaf/klyachko.py +921 -0
  187. sage/schemes/toric/toric_subscheme.py +905 -0
  188. sage/schemes/toric/variety.py +3460 -0
  189. sage/schemes/toric/weierstrass.py +1078 -0
  190. sage/schemes/toric/weierstrass_covering.py +457 -0
  191. sage/schemes/toric/weierstrass_higher.py +288 -0
  192. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.info +10 -0
  193. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v03 +0 -0
  194. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v04 +0 -0
  195. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v05 +1 -0
  196. sage_wheels/share/reflexive_polytopes/Full2d/zzdb.v06 +1 -0
  197. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.info +22 -0
  198. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v04 +0 -0
  199. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v05 +0 -0
  200. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v06 +0 -0
  201. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v07 +0 -0
  202. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v08 +0 -0
  203. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v09 +0 -0
  204. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v10 +0 -0
  205. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v11 +1 -0
  206. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v12 +1 -0
  207. sage_wheels/share/reflexive_polytopes/Full3d/zzdb.v13 +1 -0
  208. sage_wheels/share/reflexive_polytopes/reflexive_polytopes_2d +80 -0
  209. sage_wheels/share/reflexive_polytopes/reflexive_polytopes_3d +37977 -0
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-polyhedra
@@ -0,0 +1,302 @@
1
+ # sage_setup: distribution = sagemath-polyhedra
2
+ # sage.doctest: needs sage.geometry.polyhedron sage.graphs
3
+ r"""
4
+ Construct sheaves on toric varieties
5
+
6
+ A toric vector bundle (on a toric variety) is a vector bundle that is
7
+ equivariant with respect to the algebraic torus action.
8
+ """
9
+ # ****************************************************************************
10
+ # Copyright (C) 2013 Volker Braun <vbraun.name@gmail.com>
11
+ #
12
+ # Distributed under the terms of the GNU General Public License (GPL)
13
+ # as published by the Free Software Foundation; either version 2 of
14
+ # the License, or (at your option) any later version.
15
+ # https://www.gnu.org/licenses/
16
+ # ****************************************************************************
17
+ from sage.schemes.toric.variety import ToricVariety_field
18
+ from sage.modules.filtered_vector_space import FilteredVectorSpace
19
+
20
+
21
+ def TangentBundle(X):
22
+ r"""
23
+ Construct the tangent bundle of a toric variety.
24
+
25
+ INPUT:
26
+
27
+ - ``X`` -- a toric variety; the base space of the bundle
28
+
29
+ OUTPUT: the tangent bundle as a Klyachko bundle
30
+
31
+ EXAMPLES::
32
+
33
+ sage: dP7 = toric_varieties.dP7()
34
+ sage: from sage.schemes.toric.sheaf.constructor import TangentBundle
35
+ sage: TangentBundle(dP7)
36
+ Rank 2 bundle on 2-d CPR-Fano toric variety covered by 5 affine patches.
37
+ """
38
+ if not isinstance(X, ToricVariety_field):
39
+ raise ValueError('not a toric variety')
40
+
41
+ fan = X.fan()
42
+ filtrations = {}
43
+ from sage.modules.filtered_vector_space import FilteredVectorSpace
44
+ for i, ray in enumerate(fan.rays()):
45
+ F = FilteredVectorSpace(fan.rays(), {0: range(fan.nrays()), 1: [i]})
46
+ filtrations[ray] = F
47
+ from . import klyachko
48
+ return klyachko.Bundle(X, filtrations, check=True)
49
+
50
+
51
+ def CotangentBundle(X):
52
+ r"""
53
+ Construct the cotangent bundle of a toric variety.
54
+
55
+ INPUT:
56
+
57
+ - ``X`` -- a toric variety; the base space of the bundle
58
+
59
+ OUTPUT: the cotangent bundle as a Klyachko bundle
60
+
61
+ EXAMPLES::
62
+
63
+ sage: dP7 = toric_varieties.dP7()
64
+ sage: from sage.schemes.toric.sheaf.constructor import CotangentBundle
65
+ sage: CotangentBundle(dP7)
66
+ Rank 2 bundle on 2-d CPR-Fano toric variety covered by 5 affine patches.
67
+ """
68
+ return TangentBundle(X).dual()
69
+
70
+
71
+ def TrivialBundle(X, rank=1):
72
+ r"""
73
+ Return the trivial bundle of rank ``r``.
74
+
75
+ INPUT:
76
+
77
+ - ``X`` -- a toric variety; the base space of the bundle
78
+
79
+ - ``rank`` -- the rank of the bundle
80
+
81
+ OUTPUT: the trivial bundle as a Klyachko bundle
82
+
83
+ EXAMPLES::
84
+
85
+ sage: P2 = toric_varieties.P2()
86
+ sage: from sage.schemes.toric.sheaf.constructor import TrivialBundle
87
+ sage: I3 = TrivialBundle(P2, 3); I3
88
+ Rank 3 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches.
89
+ sage: I3.cohomology(weight=(0,0), dim=True)
90
+ (3, 0, 0)
91
+ """
92
+ if not isinstance(X, ToricVariety_field):
93
+ raise ValueError('not a toric variety')
94
+
95
+ base_ring = X.base_ring()
96
+ filtrations = {ray: FilteredVectorSpace(rank, 0, base_ring=base_ring)
97
+ for ray in X.fan().rays()}
98
+ from . import klyachko
99
+ return klyachko.Bundle(X, filtrations, check=True)
100
+
101
+
102
+ def LineBundle(X, D):
103
+ """
104
+ Construct the rank-1 bundle `O(D)`.
105
+
106
+ INPUT:
107
+
108
+ - ``X`` -- a toric variety; the base space of the bundle
109
+
110
+ - ``D`` -- a toric divisor
111
+
112
+ OUTPUT:
113
+
114
+ The line bundle `O(D)` as a Klyachko bundle of rank 1.
115
+
116
+ EXAMPLES::
117
+
118
+ sage: X = toric_varieties.dP8()
119
+ sage: D = X.divisor(0)
120
+ sage: from sage.schemes.toric.sheaf.constructor import LineBundle
121
+ sage: O_D = LineBundle(X, D)
122
+ sage: O_D.cohomology(dim=True, weight=(0,0))
123
+ (1, 0, 0)
124
+ """
125
+ if not isinstance(X, ToricVariety_field):
126
+ raise ValueError('not a toric variety')
127
+
128
+ base_ring = X.base_ring()
129
+ filtrations = {X.fan().ray(i): FilteredVectorSpace(1, D.function_value(i),
130
+ base_ring=base_ring)
131
+ for i in range(X.fan().nrays())}
132
+ from . import klyachko
133
+ return klyachko.Bundle(X, filtrations, check=True)
134
+
135
+
136
+ class SheafLibrary:
137
+
138
+ def __init__(self, toric_variety):
139
+ """
140
+ Utility object to construct sheaves on toric varieties.
141
+
142
+ .. warning::
143
+
144
+ You should never construct instances manually. Can be
145
+ accessed from a toric variety via the
146
+ :attr:`sage.schemes.toric.variety.ToricVariety_field.sheaves`
147
+ attribute.
148
+
149
+ EXAMPLES::
150
+
151
+ sage: type(toric_varieties.P2().sheaves)
152
+ <class 'sage.schemes.toric.sheaf.constructor.SheafLibrary'>
153
+ """
154
+ self._variety = toric_variety
155
+
156
+ def __repr__(self):
157
+ """
158
+ Return a string representation.
159
+
160
+ OUTPUT: string
161
+
162
+ EXAMPLES::
163
+
164
+ sage: toric_varieties.P2().sheaves # indirect doctest
165
+ Sheaf constructor on 2-d CPR-Fano toric variety covered by 3 affine patches
166
+ """
167
+ return 'Sheaf constructor on ' + repr(self._variety)
168
+
169
+ def trivial_bundle(self, rank=1):
170
+ r"""
171
+ Return the trivial bundle of rank ``r``.
172
+
173
+ INPUT:
174
+
175
+ - ``rank`` -- integer (default: `1`); the rank of the bundle
176
+
177
+ OUTPUT: the trivial bundle as a Klyachko bundle
178
+
179
+ EXAMPLES::
180
+
181
+ sage: P2 = toric_varieties.P2()
182
+ sage: I3 = P2.sheaves.trivial_bundle(3); I3
183
+ Rank 3 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches.
184
+ sage: I3.cohomology(weight=(0,0), dim=True)
185
+ (3, 0, 0)
186
+ """
187
+ return TrivialBundle(self._variety, rank)
188
+
189
+ def line_bundle(self, divisor):
190
+ """
191
+ Construct the rank-1 bundle `O(D)`.
192
+
193
+ INPUT:
194
+
195
+ - ``divisor`` -- a toric divisor
196
+
197
+ OUTPUT:
198
+
199
+ The line bundle `O(D)` for the given divisor as a Klyachko
200
+ bundle of rank 1.
201
+
202
+ EXAMPLES::
203
+
204
+ sage: X = toric_varieties.dP8()
205
+ sage: D = X.divisor(0)
206
+ sage: O_D = X.sheaves.line_bundle(D)
207
+ sage: O_D.cohomology(dim=True, weight=(0,0))
208
+ (1, 0, 0)
209
+ """
210
+ return LineBundle(self._variety, divisor)
211
+
212
+ def tangent_bundle(self):
213
+ r"""
214
+ Return the tangent bundle of the toric variety.
215
+
216
+ OUTPUT: the tangent bundle as a Klyachko bundle
217
+
218
+ EXAMPLES::
219
+
220
+ sage: toric_varieties.dP6().sheaves.tangent_bundle()
221
+ Rank 2 bundle on 2-d CPR-Fano toric variety covered by 6 affine patches.
222
+ """
223
+ return TangentBundle(self._variety)
224
+
225
+ def cotangent_bundle(self):
226
+ r"""
227
+ Return the cotangent bundle of the toric variety.
228
+
229
+ OUTPUT: the cotangent bundle as a Klyachko bundle
230
+
231
+ EXAMPLES::
232
+
233
+ sage: dP6 = toric_varieties.dP6()
234
+ sage: TX = dP6.sheaves.tangent_bundle()
235
+ sage: TXdual = dP6.sheaves.cotangent_bundle()
236
+ sage: TXdual == TX.dual()
237
+ True
238
+ """
239
+ return CotangentBundle(self._variety)
240
+
241
+ def Klyachko(self, multi_filtration):
242
+ """
243
+ Construct a Klyachko bundle (sheaf) from filtration data.
244
+
245
+ INPUT:
246
+
247
+ - ``multi_filtration`` -- a multi-filtered vectors space with
248
+ multiple filtrations being indexed by the rays of the
249
+ fan. Either an instance of
250
+ :func:`~sage.modules.multi_filtered_vector_space.MultiFilteredVectorSpace`
251
+ or something (like a dictionary of ordinary filtered vector
252
+ spaces).
253
+
254
+ OUTPUT:
255
+
256
+ The Klyachko bundle defined by the filtrations, one for each
257
+ ray, of a vector space.
258
+
259
+ EXAMPLES::
260
+
261
+ sage: P1 = toric_varieties.P1()
262
+ sage: v1, v2, v3 = [(1,0,0), (0,1,0), (0,0,1)]
263
+ sage: F1 = FilteredVectorSpace({1: [v1, v2, v3], 3: [v1]})
264
+ sage: F2 = FilteredVectorSpace({0: [v1, v2, v3], 2: [v2, v3]})
265
+ sage: P1 = toric_varieties.P1()
266
+ sage: r1, r2 = P1.fan().rays()
267
+ sage: F = MultiFilteredVectorSpace({r1:F1, r2:F2}); F
268
+ Filtrations
269
+ N(-1): QQ^3 >= QQ^2 >= QQ^2 >= 0 >= 0
270
+ N(1): QQ^3 >= QQ^3 >= QQ^1 >= QQ^1 >= 0
271
+ sage: P1.sheaves.Klyachko(F)
272
+ Rank 3 bundle on 1-d CPR-Fano toric variety covered by 2 affine patches.
273
+ """
274
+ from .klyachko import Bundle
275
+ return Bundle(self._variety, multi_filtration, check=True)
276
+
277
+ def divisor(self, *args, **kwds):
278
+ """
279
+ Return a toric divisor.
280
+
281
+ INPUT:
282
+
283
+ This is just an alias for
284
+ :meth:`sage.schemes.toric.variety.ToricVariety_field.divisor`,
285
+ see there for details.
286
+
287
+ By abuse of notation, you can usually use the divisor `D`
288
+ interchangeably with the line bundle `O(D)`.
289
+
290
+ OUTPUT: a toric divisor
291
+
292
+ EXAMPLES::
293
+
294
+ sage: dP6 = toric_varieties.dP6()
295
+ sage: dP6.inject_variables()
296
+ Defining x, u, y, v, z, w
297
+ sage: D = dP6.sheaves.divisor(x*u^3); D
298
+ V(x) + 3*V(u)
299
+ sage: D == dP6.divisor(x*u^3)
300
+ True
301
+ """
302
+ return self._variety.divisor(*args, **kwds)