Bundles on a ChowScheme¶
A bundle on a ChowScheme \(X\) is represented by its rank \(r\) and Chern classes \(c_0, \dots, c_r\). Typically, for example in order to define a rank 2 bundles with Chern classes \(0\) and \(4\) on the projective plane:
sage: P2.<h> = ChowScheme(2, 'h', 1, 'h^3', name='P2')
sage: E = Bundle(P2, 2, [1, 0, 4*h^2]); E
Bundle(P2, 2, [1, 0, 4*h^2])
sage: E.chern_character()
-4*h^2 + 2
sage: Sheaf(P2, ch=E.chern_character())
Sheaf(P2, 2, [1, 0, 4*h^2])
AUTHORS:
- Manfred Lehn (2013)
- Christoph Sorger (2013)
-
class
sage.schemes.chow.bundle.
Bundle
(X, r=None, cc=None, ch=None, name=None, latex_name=None)¶ Bases:
sage.schemes.chow.sheaf.Sheaf
Class for Bundles on ChowSchemes.
-
sage.schemes.chow.bundle.
BundleDiffRelations
(B, A)¶ Return the relations given by the difference of two bundles \(B\) and \(A\) on a ChowScheme \(X\).
INPUT:
B
– a bundle on a ChowScheme \(X\)A
– a bundle on a ChowScheme \(X\)
OUTPUT:
A list of elements of the Chow ring of \(X\).
EXAMPLE (get the relations for Grass(6, 4)):
sage: from sage.schemes.chow.bundle import BundleDiffRelations sage: G64 = ChowScheme(8, ['w1', 'w2'], [1, 2]) sage: O = TrivialBundle(G64, 6) sage: S = Bundle(G64, 2, [1, '-w1', 'w1^2-w2']) # Universal Sub sage: rels = BundleDiffRelations(O, S); rels [-2*w1^3*w2 + 3*w1*w2^2, w1^6 - 2*w1^4*w2 + w2^3] sage: A = ChowRing(['w1', 'w2'], [1, 2], [str(x) for x in rels]) sage: A.rels() # Returns the relations in a standard basis. [w2^5, w1*w2^4, w1^2*w2^3 - 4/3*w2^4, w1^6 - 3*w1^2*w2^2 + w2^3, w1^3*w2 - 3/2*w1*w2^2] sage: Grass(6, 4, 'w').rels() [w2^5, w1*w2^4, w1^2*w2^3 - 4/3*w2^4, w1^6 - 3*w1^2*w2^2 + w2^3, w1^3*w2 - 3/2*w1*w2^2]
-
sage.schemes.chow.bundle.
TrivialBundle
(X, r)¶ Return the trivial bundle of rank \(r\) on the ChowScheme \(X\).
INPUT:
X
– a ChowScheme, the baser
– an integer, the rank.
OUTPUT:
The trivial bundle of rank
r
onX
.
-
sage.schemes.chow.bundle.
is_bundle
(x)¶ Test whether
x
is a bundle.INPUT:
x
– anything.
OUTPUT:
Boolean. Return
True
ifx
is a bundle.EXAMPLES:
sage: P2.<h> = ChowScheme(2, 'h', 1, 'h^3', name='P2') sage: B = Bundle(P2, 2, [1, 0, 3*h^2]) sage: is_bundle(B) True sage: is_bundle(P2) False