passagemath-polyhedra 10.6.31rc3__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.
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 +208 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/WHEEL +5 -0
- passagemath_polyhedra-10.6.31rc3.dist-info/top_level.txt +2 -0
- passagemath_polyhedra.libs/libgcc_s-0cd532bd.so.1 +0 -0
- passagemath_polyhedra.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
- passagemath_polyhedra.libs/libgomp-8949ffbe.so.1.0.0 +0 -0
- passagemath_polyhedra.libs/libstdc++-5d72f927.so.6.0.33 +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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.so +0 -0
- sage/numerical/backends/cvxopt_sdp_backend.pyx +382 -0
- sage/numerical/backends/cvxpy_backend.cpython-314-x86_64-linux-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.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-musl.so +0 -0
- sage/numerical/mip.pxd +40 -0
- sage/numerical/mip.pyx +3667 -0
- sage/numerical/sdp.cpython-314-x86_64-linux-musl.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-musl.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 @@
|
|
|
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)
|