next | previous | forward | backward | up | top | index | toc | Macaulay2 web site

AbstractVariety -- The Schubert2 data type of an abstract variety

Description

An Abstract Variety in Schubert 2 is defined by its dimension and a QQ-algebra, interpreted as the rational Chow ring. For example, the following code defines the abstract variety corresponding to P2, with its Chow ring A. Once the variety X is created, we can access its structure sheaf OOX, represented by its Chern class

i1 : A=QQ[t]/ideal(t^3)

o1 = A

o1 : QuotientRing
i2 : X=abstractVariety(2,A)

o2 = X

o2 : an abstract variety of dimension 2
i3 : OO_X

o3 = a sheaf

o3 : an abstract sheaf of rank 1 on X
i4 : chern OO_X

o4 = 1

o4 : A
A variable of type AbstractVariety is actually of type MutableHashTable, and can contain other information, such as its TangentBundle (missing documentation). Once this is defined, we can compute the Todd class.
i5 : X.TangentBundle  = abstractSheaf(X,Rank=>2, ChernClass=>(1+t)^3)

o5 = a sheaf

o5 : an abstract sheaf of rank 2 on X
i6 : todd X

         3     2
o6 = 1 + -t + t
         2

o6 : A
If we want things like the Euler characteristic of a sheaf, we must also specify a method to take the integral (missing documentation) for the Chow ring A; in the case where A is Gorenstein, as is the Chow ring of a complete nonsingular variety, this is a functional that takes the highest degree component. In the following example, The sheaf OOX is the structure sheaf of X, and OOX(2t) is the line bundle with first Chern class 2t. The computation of the Euler Characteristic is made using the Todd class and the Riemann-Roch formula.
i7 : integral A := f -> coefficient(t^2,f)

o7 = {*Function[stdio:7:16-7:35]*}

o7 : FunctionClosure
i8 : chi(OO_X(2*t))

o8 = 6

o8 : QQ
There are several other methods for constructing abstract varieties: the following functions construct basic useful varieties (often returning the corresponding structure map). projectiveSpace, projectiveBundle (missing documentation), flagBundle (missing documentation), base. Text This package and its documentation are still rather incomplete, but see the examples Lines on hypersurfaces and Conics on a quintic threefold, which should be enough to figure out some of what’s possible.

See also

  • AbstractSheaf -- the class of sheaves given by their Chern classes
  • chern (missing documentation)
  • chi (missing documentation)
  • TangentBundle (missing documentation)
  • todd (missing documentation)

Types of abstract variety :

  • FlagBundle (missing documentation)

Methods that use an abstract variety :

  • abstractSheaf(AbstractVariety) (missing documentation)
  • abstractSheaf(AbstractVariety,RingElement) (missing documentation)
  • dim(AbstractVariety) (missing documentation)
  • flagBundle(List,AbstractVariety) (missing documentation)
  • intersectionRing(AbstractVariety) (missing documentation)
  • net(AbstractVariety) (missing documentation)
  • OO _ AbstractVariety (missing documentation)
  • projectiveBundle(ZZ,AbstractVariety) (missing documentation)
  • projectiveSpace(ZZ,AbstractVariety) (missing documentation)
  • tangentBundle(AbstractVariety) (missing documentation)
  • todd(AbstractVariety) (missing documentation)
  • use(AbstractVariety) (missing documentation)

Fixed objects of class AbstractVariety :

  • point (missing documentation)

For the programmer

The object AbstractVariety is a type, with ancestor classes MutableHashTable < HashTable < Thing.