Macaulay2 » Documentation
Packages » PlaneCurveLinearSeries :: linearSeries
next | previous | forward | backward | up | index | toc

linearSeries -- compute a linear series



Given C, a (possibly singular) irreducible plane curve, this routine computes the complete linear series of a given divisor on the normalization C' of C by computations using data from the plane curve together with the conductor ideal $cond =ann_C(C/C)$, which can be computed by Macaulay or supplied by the user using the optional argument Conductor => cond.

If D0' and Dinf' are effective divisors on C' whose ideals, as schemes, are pulled back from ideals D0 and Dinf of C, then

ell = linearSeries(D0,Dinf)

returns a one-row matrix ell whose entries span a linear series with fixed point locus B on C' (including the conductor scheme) and form a basis of |D0'-Dinf'|+B.

As an example, consider a quintic plane curve with an ordinary triple point and two more marked points:

i1 : S = ZZ/32003[a,b,c]

o1 = S

o1 : PolynomialRing
i2 : p = ideal(a,b)

o2 = ideal (a, b)

o2 : Ideal of S
i3 : p1' = ideal(b,c)

o3 = ideal (b, c)

o3 : Ideal of S
i4 : p2' = ideal(a,c)

o4 = ideal (a, c)

o4 : Ideal of S
i5 : marked = intersect (p^3, p1', p2')

               2   2    3    3
o5 = ideal (a*b , a b, b c, a c)

o5 : Ideal of S
i6 : C = S/(random(5, marked))

o6 = C

o6 : QuotientRing
i7 : red = map(C,S)

o7 = map (C, S, {a, b, c})

o7 : RingMap C <-- S
i8 : p1 = red p1'

o8 = ideal (b, c)

o8 : Ideal of C
i9 : p2 = red p2'

o9 = ideal (a, c)

o9 : Ideal of C

Since the delta invariant of a triple point is 3, the geometric genus of C is 3 less than the arithmetic genus computed natively, and the conductor is the square of the maximal ideal:

i10 : genus C

o10 = 6
i11 : g = geometricGenus C

o11 = 3
i12 : conductor C

              2        2
o12 = ideal (b , a*b, a )

o12 : Ideal of C

As another example, we compute the complete linear series m*p_2-e*p1 for values of m from 3 to 12. In the following chart, each column represents one value of the degree, m-2. The first row gives the degree, the second row gives the value of the Euler characteristic

$\chi {\mathcal O}_C(m*p2 - 2*p1)$

as computed by the Riemann-Roch Theorem, and the last row gives the dimension of the complete linear series as computed by this program. Since the linear series is general The last two rows agree starting in degree since the series is nonspecial from there on.

i13 : e=2

o13 = 2
i14 : netList{
       {"degree m*p2 - 2*p1: "} | for m from 3 to 12 list m-e,
       {"chi, from Riemann-Roch: "} | for m from 3 to 12 list m-e-g+1,
       {"computed dimension: "} | for m from 3 to 12 list numgens trim ideal linearSeries(p2^m, p1^e)

o14 = |degree m*p2 - 2*p1:     |1 |2|3|4|5|6|7|8|9|10|
      |chi, from Riemann-Roch: |-1|0|1|2|3|4|5|6|7|8 |
      |computed dimension:     |0 |0|1|2|3|4|5|6|7|8 |


"The Practic of Algebraic Curves" by David Eisenbud and Joe Harris


A bit slower in characteristic 0

See also

Ways to use linearSeries :

For the programmer

The object linearSeries is a method function with options.