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: