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 base
  • r – an integer, the rank.

OUTPUT:

The trivial bundle of rank r on X.

sage.schemes.chow.bundle.is_bundle(x)

Test whether x is a bundle.

INPUT:

  • x – anything.

OUTPUT:

Boolean. Return True if x 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