Construct sheaves on toric varieties¶

A toric vector bundle (on a toric variety) is a vector bundle that is equivariant with respect to the algebraic torus action.

sage.schemes.toric.sheaf.constructor.CotangentBundle(X)

Construct the cotangent bundle of a toric variety.

INPUT:

• X – a toric variety. The base space of the bundle.

OUTPUT:

The cotangent bundle as a Klyachko bundle.

EXAMPLES:

sage: dP7 = toric_varieties.dP7()
sage: from sage.schemes.toric.sheaf.constructor import CotangentBundle
sage: CotangentBundle(dP7)
Rank 2 bundle on 2-d CPR-Fano toric variety covered by 5 affine patches.

sage.schemes.toric.sheaf.constructor.LineBundle(X, D)

Construct the rank-1 bundle $$O(D)$$.

INPUT:

• X – a toric variety. The base space of the bundle.

• D – a toric divisor.

OUTPUT:

The line bundle $$O(D)$$ as a Klyachko bundle of rank 1.

EXAMPLES:

sage: X = toric_varieties.dP8()
sage: D = X.divisor(0)
sage: from sage.schemes.toric.sheaf.constructor import LineBundle
sage: O_D = LineBundle(X, D)
sage: O_D.cohomology(dim=True, weight=(0,0))
(1, 0, 0)

class sage.schemes.toric.sheaf.constructor.SheafLibrary(toric_variety)

Bases: object

Utility object to construct sheaves on toric varieties.

Warning

You should never construct instances manually. Can be accessed from a toric variety via the sage.schemes.toric.variety.ToricVariety_field.sheaves attribute.

EXAMPLES:

sage: type(toric_varieties.P2().sheaves)
<class 'sage.schemes.toric.sheaf.constructor.SheafLibrary'>

Klyachko(multi_filtration)

Construct a Klyachko bundle (sheaf) from filtration data.

INPUT:

• multi_filtration – a multi-filtered vectors space with multiple filtrations being indexed by the rays of the fan. Either an instance of MultiFilteredVectorSpace() or something (like a dictionary of ordinary filtered vector spaces).

OUTPUT:

The Klyachko bundle defined by the filtrations, one for each ray, of a vector space.

EXAMPLES:

sage: P1 = toric_varieties.P1()
sage: v1, v2, v3 = [(1,0,0),(0,1,0),(0,0,1)]
sage: F1 = FilteredVectorSpace({1:[v1, v2, v3], 3:[v1]})
sage: F2 = FilteredVectorSpace({0:[v1, v2, v3], 2:[v2, v3]})
sage: P1 = toric_varieties.P1()
sage: r1, r2 = P1.fan().rays()
sage: F = MultiFilteredVectorSpace({r1:F1, r2:F2});  F
Filtrations
N(-1): QQ^3 >= QQ^2 >= QQ^2 >=  0   >= 0
N(1): QQ^3 >= QQ^3 >= QQ^1 >= QQ^1 >= 0
sage: P1.sheaves.Klyachko(F)
Rank 3 bundle on 1-d CPR-Fano toric variety covered by 2 affine patches.

cotangent_bundle()

Return the cotangent bundle of the toric variety.

OUTPUT:

The cotangent bundle as a Klyachko bundle.

EXAMPLES:

sage: dP6 = toric_varieties.dP6()
sage: TX = dP6.sheaves.tangent_bundle()
sage: TXdual = dP6.sheaves.cotangent_bundle()
sage: TXdual == TX.dual()
True

divisor(*args, **kwds)

Return a toric divisor.

INPUT:

This is just an alias for sage.schemes.toric.variety.ToricVariety_field.divisor(), see there for details.

By abuse of notation, you can usually use the divisor $$D$$ interchangeably with the line bundle $$O(D)$$.

OUTPUT:

A toric divisor.

EXAMPLES:

sage: dP6 = toric_varieties.dP6()
sage: dP6.inject_variables()
Defining x, u, y, v, z, w
sage: D = dP6.sheaves.divisor(x*u^3);  D
V(x) + 3*V(u)
sage: D == dP6.divisor(x*u^3)
True

line_bundle(divisor)

Construct the rank-1 bundle $$O(D)$$.

INPUT:

• divisor – a toric divisor.

OUTPUT:

The line bundle $$O(D)$$ for the given divisor as a Klyachko bundle of rank 1.

EXAMPLES:

sage: X = toric_varieties.dP8()
sage: D = X.divisor(0)
sage: O_D = X.sheaves.line_bundle(D)
sage: O_D.cohomology(dim=True, weight=(0,0))
(1, 0, 0)

tangent_bundle()

Return the tangent bundle of the toric variety.

OUTPUT:

The tangent bundle as a Klyachko bundle.

EXAMPLES:

sage: toric_varieties.dP6().sheaves.tangent_bundle()
Rank 2 bundle on 2-d CPR-Fano toric variety covered by 6 affine patches.

trivial_bundle(rank=1)

Return the trivial bundle of rank r.

INPUT:

• rank – integer (optional; default: $$1$$). The rank of the bundle.

OUTPUT:

The trivial bundle as a Klyachko bundle.

EXAMPLES:

sage: P2 = toric_varieties.P2()
sage: I3 = P2.sheaves.trivial_bundle(3);  I3
Rank 3 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches.
sage: I3.cohomology(weight=(0,0), dim=True)
(3, 0, 0)

sage.schemes.toric.sheaf.constructor.TangentBundle(X)

Construct the tangent bundle of a toric variety.

INPUT:

• X – a toric variety. The base space of the bundle.

OUTPUT:

The tangent bundle as a Klyachko bundle.

EXAMPLES:

sage: dP7 = toric_varieties.dP7()
sage: from sage.schemes.toric.sheaf.constructor import TangentBundle
sage: TangentBundle(dP7)
Rank 2 bundle on 2-d CPR-Fano toric variety covered by 5 affine patches.

sage.schemes.toric.sheaf.constructor.TrivialBundle(X, rank=1)

Return the trivial bundle of rank r.

INPUT:

• X – a toric variety. The base space of the bundle.

• rank – the rank of the bundle.

OUTPUT:

The trivial bundle as a Klyachko bundle.

EXAMPLES:

sage: P2 = toric_varieties.P2()
sage: from sage.schemes.toric.sheaf.constructor import TrivialBundle
sage: I3 = TrivialBundle(P2, 3);  I3
Rank 3 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches.
sage: I3.cohomology(weight=(0,0), dim=True)
(3, 0, 0)