Macaulay2 » Documentation
Packages » Schubert2 > Riemann-Roch on a surface
next | previous | forward | backward | up | index | toc

Riemann-Roch on a surface

We follow Example 15.2.2 of Fulton's book, Intersection Theory.

i1 : X = abstractVariety(2,QQ[r,D,d_1,K,c_2,d_2,Degrees=>{0,3:1,2:2}])

o1 = X

o1 : an abstract variety of dimension 2
i2 : X.TangentBundle = abstractSheaf(X,Rank=>2,ChernClass=>1-K+c_2)

o2 = a sheaf

o2 : an abstract sheaf of rank 2 on X
i3 : todd X

         1      1 2    1
o3 = 1 - -K + (--K  + --c )
         2     12     12 2

o3 : QQ[r, D, d , K, c , d ]
               1      2   2
i4 : chi OO_X

               1 2    1
o4 = integral(--K  + --c )
              12     12 2

o4 : Expression of class Adjacent
i5 : E = abstractSheaf(X,Rank => r, ChernClass => 1+d_1+d_2)

o5 = E

o5 : an abstract sheaf of rank r on X
i6 : chi ( E - rank E * OO_X )

              1 2   1
o6 = integral(-d  - -d K - d )
              2 1   2 1     2

o6 : Expression of class Adjacent
i7 : chi ( OO(D) - OO_X )

              1 2   1
o7 = integral(-D  - -D*K)
              2     2

o7 : Expression of class Adjacent
i8 : chi OO_D

                1 2   1
o8 = integral(- -D  - -D*K)
                2     2

o8 : Expression of class Adjacent

We define a function to compute the arithmetic genus and use it to compute the arithmetic genus of a curve on $X$ whose divisor class is $D$:

i9 : p_a = D -> 1 - chi OO_D;
i10 : p_a D

                     1 2   1
o10 = 1 - integral(- -D  - -D*K)
                     2     2

o10 : Expression of class Sum

We we compute the arithmetic genus of a curve of degree $n$ in $\PP^2$:

i11 : Y = abstractProjectiveSpace'_2 base n

o11 = Y

o11 : a flag bundle with subquotient ranks {2, 1}
i12 : factor p_a (n*h)

                     1
o12 = (n - 2)(n - 1)(-)
                     2

o12 : Expression of class Product

Here we compute the arithmetic genus of a curve on with $\PP^1 \times \PP^1$:

i13 : Z = abstractProjectiveSpace'_(1,VariableName => k) abstractProjectiveSpace'_1 base(m,n)

o13 = Z

o13 : a flag bundle with subquotient ranks {2:1}
i14 : factor p_a (m*h + n*k)

o14 = (n - 1)(m - 1)

o14 : Expression of class Product

In the code above we have used the notation f_(a,b) x as an abbreviation for f(a,b,x), see Function _ Thing.