Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 3888

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>Tutorial: Canonical Embeddings of Plane Curves and Gonality</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="___Tutorial_co_sp__Fano_spvarieties.html">next</a> | <a href="___Tutorial_co_sp__Elementary_spuses_spof_sp__Groebner_spbases.html">previous</a> | <a href="___Tutorial_co_sp__Fano_spvarieties.html">forward</a> | <a href="___Tutorial_co_sp__Elementary_spuses_spof_sp__Groebner_spbases.html">backward</a> | <a href="_mathematical_spexamples.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<div><a href="index.html" title="">Macaulay2Doc</a> > <a href="_mathematical_spexamples.html" title="">mathematical examples</a> > <a href="___Tutorial_co_sp__Canonical_sp__Embeddings_spof_sp__Plane_sp__Curves_spand_sp__Gonality.html" title="">Tutorial: Canonical Embeddings of Plane Curves and Gonality</a></div>
<hr/>
<div><h1>Tutorial: Canonical Embeddings of Plane Curves and Gonality</h1>
<div><h4>MATHEMATICAL BACKGROUND</h4>
<p/>
The gonality of a curve is defined to be the smallest degree of a morphism from the curve to the projective line <i><b>P</b><sup>1</sup></i>.  It is known that a curve <i>C</i> of genus <i>g</i> admits a map to <i><b>P</b><sup>1</sup></i> of degree at most <i>[(g+3)/2]</i>.  Further, if <i>C</i> is <i>d</i>-gonal, then in its canonical embedding <i>C</i> lies on a rational normal scroll of dimension <i>d-1</i>, and the free resolution of the homogeneous coordinate ring of the scroll is a subcomplex of the free resolution of the homogeneous coordinate ring of  <i>C</i>.  Thus for example the <i>2</i>-linear part of that resolution has length at least <i>g-d</i>, and &ldquo;Green&rsquo;s Conjecture&rdquo; states that if one computes Clifford index instead of gonality, a slight refinement, then equality holds.  For example, Green&rsquo;s conjecture predicts that the resolution of the homogeneous coordinate ring of a general curve of genus 7 and gonality 4 is:<pre>     total: 1 10 25 25 10 1
         0: 1 .  .  .  .  .
         1: . 10 16 9  .  .
         2: . .  9  16 10 .
         3: . .  .  .  .  1</pre>
(Green&rsquo;s conjecture has actually been proven by Frank Schreyer in this case; in any case the result that the two-linear part is AT LEAST as long as predicted in Green&rsquo;s conjecture is easy.) If a curve can be represented as a plane curve of degree <i>e</i> with an ordinary multiple point (that is, the branches have distinct tangents) of multiplicity <i>m</i>, then projection from the point defines a map to <i><b>P</b><sup>1</sup></i> of degree <i>e-m</i>.  In this example we will illustrate the &ldquo;principle&rdquo; that this is often the gonality of the curve by computing the canonical embedding and its resolution.  To compute the canonical embedding, we will use &ldquo;adjunction&rdquo;: the canonical series of a plane curve <i>C</i> of degree <i>e</i> with only ordinary multiple points of degrees <i>m<sub>i</sub></i> as singularities is obtained as the linear series cut out by plane curves <i>D</i> of degree <i>e-3</i> passing through the nodes with multiplicities <i>m<sub>i</sub>-1</i>; at a tacnode of multiplicity 2 the condition is that <i>D</i> passes through the singular point and is tangent to the tangent line of <i>C</i> at that point.<p/>
We will make these computations for three types of plane sextic curves (of genus seven):<p/>
<tt>C1</tt> will have 3 ordinary nodes;<p/>
<tt>C2</tt> will have one ordinary triple point;<p/>
<tt>C3</tt> will have one tacnode and one ordinary node.<h4>Computation</h4>
We take <tt>C1</tt> to be a curve of degree <i>6</i> having <i>3</i> ordinary double points:<p/>
<table class="examples"><tr><td><pre>i1 : R = ZZ/31991[a,b,c] -- the coordinate ring of P^2

o1 = R

o1 : PolynomialRing</pre>
</td></tr>
</table>
We define the ideals of the points.  We could write<table class="examples"><tr><td><pre>i2 : ipoint1 = ideal matrix({{a,b}})

o2 = ideal (a, b)

o2 : Ideal of R</pre>
</td></tr>
</table>
but the following shortcut is faster!<table class="examples"><tr><td><pre>i3 : ipoint1 = ideal(a,b)

o3 = ideal (a, b)

o3 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i4 : ipoint2 = ideal(a,c)

o4 = ideal (a, c)

o4 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i5 : ipoint3 = ideal(b,c)

o5 = ideal (b, c)

o5 : Ideal of R</pre>
</td></tr>
</table>
For a curve to be double at the <i>3</i> points, its equation must lie in the ideal<table class="examples"><tr><td><pre>i6 : icurves1 = intersect(
                    ipoint1^2,
                    ipoint2^2,
                    ipoint3^2
                )

                    2 2   2 2   2 2
o6 = ideal (a*b*c, b c , a c , a b )

o6 : Ideal of R</pre>
</td></tr>
</table>
The matrix with the generators of <tt>icurves1</tt> as its entries is obtained by<table class="examples"><tr><td><pre>i7 : Icurves1 = gens icurves1

o7 = | abc b2c2 a2c2 a2b2 |

             1       4
o7 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
We find the equation <tt>F1</tt> of a general curve of degree <i>6</i> with these double points by composing a random matrix of forms having the correct degree with the  matrix of generators of  <tt>icurves1</tt>.<table class="examples"><tr><td><pre>i8 : F1 = Icurves1 * random(source Icurves1, R^{-6})

o8 = | -14408a4b2-4368a3b3+11739a2b4+7753a4bc-3903a3b2c-10843a2b3c-13639ab4c+
     ------------------------------------------------------------------------
     12102a4c2+2678a3bc2-3566a2b2c2+3963ab3c2-691b4c2-3006a3c3+12633a2bc3-
     ------------------------------------------------------------------------
     7645ab2c3-12006b3c3-6647a2c4-15210abc4-1315b2c4 |

             1       1
o8 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i9 : betti F1

            0 1
o9 = total: 1 1
         0: 1 .
         1: . .
         2: . .
         3: . .
         4: . .
         5: . 1

o9 : BettiTally</pre>
</td></tr>
</table>
We now look for the equation <tt>F2</tt> of <tt>C2</tt>, a curve with an ordinary triple point at <tt>point1</tt>.  It must lie in the cube of the ideal <tt>ipoint1</tt>.  <table class="examples"><tr><td><pre>i10 : Icurves2 = gens (ipoint1^3)

o10 = | a3 a2b ab2 b3 |

              1       4
o10 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i11 : F2 = Icurves2 * random(source Icurves2, R^{-6})

o11 = | 1645a6+2187a5b-2910a4b2+8938a3b3-9733a2b4+2213ab5-708b6-6215a5c-
      -----------------------------------------------------------------------
      14576a4bc-6183a3b2c-13531a2b3c-2542ab4c-8608b5c+3910a4c2-5312a3bc2-
      -----------------------------------------------------------------------
      11162a2b2c2-9878ab3c2-12636b4c2+10256a3c3+5857a2bc3-14066ab2c3-781b3c3
      -----------------------------------------------------------------------
      |

              1       1
o11 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i12 : betti F2

             0 1
o12 = total: 1 1
          0: 1 .
          1: . .
          2: . .
          3: . .
          4: . .
          5: . 1

o12 : BettiTally</pre>
</td></tr>
</table>
Finally, the equation of a curve with a tacnode at <i>a=b=0</i> having tangent line <i>a-b=0</i>  there must lie in the ideal<table class="examples"><tr><td><pre>i13 : i = ideal((a-b)^2) + (ipoint1^4)

              2           2   4   3    2 2     3   4
o13 = ideal (a  - 2a*b + b , a , a b, a b , a*b , b )

o13 : Ideal of R</pre>
</td></tr>
</table>
and adding a node at <tt>point3</tt> we get<table class="examples"><tr><td><pre>i14 : icurves3 = intersect(i, ipoint3^2)

              2 2         2    2 2   2          2     3    4     3   2 2
o14 = ideal (a c  - 2a*b*c  + b c , a b*c - 2a*b c + b c, b , a*b , a b )

o14 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i15 : Icurves3 = gens icurves3

o15 = | a2c2-2abc2+b2c2 a2bc-2ab2c+b3c b4 ab3 a2b2 |

              1       5
o15 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
so<table class="examples"><tr><td><pre>i16 : F3 = Icurves3 * random(source Icurves3, R^{-6})

o16 = | -11643a4b2+11517a3b3-13891a2b4+1400ab5+7429b6+11673a4bc-15413a3b2c-
      -----------------------------------------------------------------------
      15778a2b3c-8109ab4c-5828b5c-4238a4c2-4791a3bc2-146a2b2c2+1111ab3c2-
      -----------------------------------------------------------------------
      2606b4c2+3312a3c3+15340a2bc3-8625ab2c3-10027b3c3-2671a2c4+5342abc4-
      -----------------------------------------------------------------------
      2671b2c4 |

              1       1
o16 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i17 : betti F3

             0 1
o17 = total: 1 1
          0: 1 .
          1: . .
          2: . .
          3: . .
          4: . .
          5: . 1

o17 : BettiTally</pre>
</td></tr>
</table>
It is evident from the discussion above that <tt>C1</tt> and <tt>C3</tt> have gonality <i>&le;5</i> (indeed, every curve of genus <i>7</i> has gonality <i>&le;5</i>) and that <tt>C2</tt> has gonality <i>&le;4</i>.  We can establish lower bounds for the gonalities by looking at the canonical embeddings.  The canonical series of <tt>C1</tt> is cut out by<table class="examples"><tr><td><pre>i18 : can1 = basis(3, intersect(ipoint1,ipoint2,ipoint3))

o18 = {2} | b c 0 0 0 0 0 |
      {2} | 0 0 a c 0 0 0 |
      {2} | 0 0 0 0 a b c |

o18 : Matrix</pre>
</td></tr>
</table>
Some explanation regarding the <tt>basis</tt> command is needed here.  <tt>can1</tt> is a matrix whose target is the ideal of the intersection of these three points:<table class="examples"><tr><td><pre>i19 : target can1

o19 = image | bc ac ab |

                              1
o19 : R-module, submodule of R</pre>
</td></tr>
</table>
and whose source is a free module over the coefficient ring:<table class="examples"><tr><td><pre>i20 : source can1

       7
o20 = R

o20 : R-module, free, degrees {3, 3, 3, 3, 3, 3, 3}</pre>
</td></tr>
</table>
For our purposes, there are two problems with this.  The first is that we want a map where both the source and target have the base ring <i>R</i>.  This can be accomplished by tensoring with <i>R</i>:<table class="examples"><tr><td><pre>i21 : can1 = can1 ** R

o21 = {2} | b c 0 0 0 0 0 |
      {2} | 0 0 a c 0 0 0 |
      {2} | 0 0 0 0 a b c |

o21 : Matrix</pre>
</td></tr>
</table>
The second problem is that the image of a basis element is not obviously in the ideal: it is represented in terms of the generators of <i>I</i>.  This can be alleviated by applying <tt>super</tt>: this takes a homomorphism <i>f : M &rarr; N</i>, where <i>N</i> is a submodule of a quotient module <i>F/I</i>, and returns the homomorphism <i>f : M &rarr; F/I</i>.<table class="examples"><tr><td><pre>i22 : can1 = super can1

o22 = | b2c bc2 a2c ac2 a2b ab2 abc |

              1       7
o22 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
similarly, for <tt>C2</tt> and <tt>C3</tt>:<table class="examples"><tr><td><pre>i23 : can2 = basis(3, ipoint1^2)

o23 = {2} | a b c 0 0 0 0 |
      {2} | 0 0 0 b c 0 0 |
      {2} | 0 0 0 0 0 b c |

o23 : Matrix</pre>
</td></tr>
<tr><td><pre>i24 : can2 = super (can2 ** R)

o24 = | a3 a2b a2c ab2 abc b3 b2c |

              1       7
o24 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i25 : can3 = basis(3, intersect(ideal(a-b) + ipoint1^2, ipoint3))

o25 = {2} | a c 0 0 0 0 0 |
      {2} | 0 0 b c 0 0 0 |
      {2} | 0 0 0 0 a b c |

o25 : Matrix</pre>
</td></tr>
</table>
<p/>
<table class="examples"><tr><td><pre>i26 : can3 = super (can3 ** R)

o26 = | a2c-abc ac2-bc2 b3 b2c a2b ab2 abc |

              1       7
o26 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
These should all give embeddings of the curves in <i><b>P</b><sup>6</sup></i>, so we expect them to be linear series of vector space dimension <i>7</i>.  Here&rsquo;s how to check:<table class="examples"><tr><td><pre>i27 : betti  can1

             0 1
o27 = total: 1 7
          0: 1 .
          1: . .
          2: . 7

o27 : BettiTally</pre>
</td></tr>
<tr><td><pre>i28 : betti  can2

             0 1
o28 = total: 1 7
          0: 1 .
          1: . .
          2: . 7

o28 : BettiTally</pre>
</td></tr>
<tr><td><pre>i29 : betti  can3

             0 1
o29 = total: 1 7
          0: 1 .
          1: . .
          2: . 7

o29 : BettiTally</pre>
</td></tr>
</table>
To compute the homogeneous coordinate rings of the canonical curves, we must find the algebraic relations among the generators of <tt>cani</tt> modulo <tt>Fi</tt>.<p/>
The coordinate ring of <i><b>P</b><sup>6</sup></i><table class="examples"><tr><td><pre>i30 : S = (coefficientRing R)[x_0..x_6]

o30 = S

o30 : PolynomialRing</pre>
</td></tr>
</table>
Find the canonical ideal <tt>IC1</tt> of <tt>C1</tt>, that is, the kernel of the map <i>S &rarr; R/(F1)</i> defined by the canonical series.<table class="examples"><tr><td><pre>i31 : T1 = R/ideal F1

o31 = T1

o31 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i32 : f1 = map(T1,S,substitute(can1, T1))

                 2      2   2      2   2      2
o32 = map(T1,S,{b c, b*c , a c, a*c , a b, a*b , a*b*c})

o32 : RingMap T1 &lt;--- S</pre>
</td></tr>
<tr><td><pre>i33 : IC1 = mingens ker f1

o33 = | x_3x_5-x_6^2 x_2x_5-x_4x_6 x_1x_5-x_0x_6 x_3x_4-x_2x_6 x_1x_4-x_6^2
      -----------------------------------------------------------------------
      x_0x_4-x_5x_6 x_0x_3-x_1x_6 x_1x_2-x_3x_6 x_0x_2-x_6^2
      -----------------------------------------------------------------------
      x_0^2-14242x_0x_1+2826x_1^2+3964x_2^2-15117x_1x_3-2079x_2x_3+5843x_3^2-
      -----------------------------------------------------------------------
      289x_2x_4-9007x_4^2-13360x_0x_5-12216x_4x_5-15156x_5^2-14404x_0x_6-
      -----------------------------------------------------------------------
      3276x_1x_6-10791x_2x_6-10898x_3x_6+15978x_4x_6+15201x_5x_6-6106x_6^2 |

              1       10
o33 : Matrix S  &lt;--- S</pre>
</td></tr>
</table>
and similarly for <tt>C2, C3</tt><table class="examples"><tr><td><pre>i34 : T2 = R/ideal F2

o34 = T2

o34 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i35 : f2 = map(T2,S,substitute(can2, T2))

                 3   2    2      2          3   2
o35 = map(T2,S,{a , a b, a c, a*b , a*b*c, b , b c})

o35 : RingMap T2 &lt;--- S</pre>
</td></tr>
<tr><td><pre>i36 : IC2 = mingens ker f2

o36 = | x_4x_5-x_3x_6 x_2x_5-x_1x_6 x_4^2-x_2x_6 x_3x_4-x_1x_6 x_1x_4-x_0x_6
      -----------------------------------------------------------------------
      x_3^2-x_1x_5 x_2x_3-x_0x_6 x_1x_3-x_0x_5 x_1x_2-x_0x_4 x_1^2-x_0x_3
      -----------------------------------------------------------------------
      x_0^2x_5+5116x_0x_1x_5+13028x_0x_3x_5-5012x_0x_5^2+8901x_1x_5^2+9375x_
      -----------------------------------------------------------------------
      3x_5^2+14449x_5^3-15270x_0x_1x_6-3101x_0x_3x_6-14097x_0x_4x_6+11558x_2x
      -----------------------------------------------------------------------
      _4x_6-12489x_0x_5x_6-15255x_1x_5x_6-2977x_3x_5x_6-12296x_5^2x_6-13772x_
      -----------------------------------------------------------------------
      0x_6^2-12317x_1x_6^2-13843x_2x_6^2-8699x_3x_6^2-767x_4x_6^2+9541x_5x_6^
      -----------------------------------------------------------------------
      2+11104x_6^3 x_0^2x_3+8210x_0x_1x_5+12984x_0x_3x_5-6489x_0x_5^2-4948x_
      -----------------------------------------------------------------------
      1x_5^2+6458x_3x_5^2+10117x_5^3-15270x_0^2x_6-3803x_0x_1x_6-14097x_0x_2x
      -----------------------------------------------------------------------
      _6+11558x_2^2x_6-15309x_0x_3x_6-1234x_0x_4x_6+6788x_2x_4x_6-7558x_0x_5x
      -----------------------------------------------------------------------
      _6+15554x_1x_5x_6-9680x_3x_5x_6+12030x_5^2x_6+1053x_0x_6^2+14794x_1x_6^
      -----------------------------------------------------------------------
      2-8053x_2x_6^2+14144x_3x_6^2+183x_4x_6^2+6510x_5x_6^2+7952x_6^3
      -----------------------------------------------------------------------
      x_0^2x_1-15270x_0^2x_4-14097x_0x_2x_4+11558x_2^2x_4+14807x_0x_1x_5+
      -----------------------------------------------------------------------
      11535x_0x_3x_5+3146x_0x_5^2-3308x_1x_5^2+11713x_3x_5^2-3662x_5^3-3803x_
      -----------------------------------------------------------------------
      0^2x_6+10653x_0x_1x_6-1234x_0x_2x_6+6788x_2^2x_6-13184x_0x_3x_6-6015x_
      -----------------------------------------------------------------------
      0x_4x_6-13927x_2x_4x_6-12902x_0x_5x_6-10895x_1x_5x_6+12076x_3x_5x_6-
      -----------------------------------------------------------------------
      13436x_5^2x_6-5271x_0x_6^2+13163x_1x_6^2-12810x_2x_6^2-10603x_3x_6^2+
      -----------------------------------------------------------------------
      2795x_4x_6^2+14349x_5x_6^2+10510x_6^3
      -----------------------------------------------------------------------
      x_0^3-15270x_0^2x_2-14097x_0x_2^2+11558x_2^3-3803x_0^2x_4-1234x_0x_2x_4
      -----------------------------------------------------------------------
      +6788x_2^2x_4+13611x_0x_1x_5+3280x_0x_3x_5-9744x_0x_5^2-14465x_1x_5^2-
      -----------------------------------------------------------------------
      10338x_3x_5^2+9465x_5^3+10653x_0^2x_6+9309x_0x_1x_6-6015x_0x_2x_6-
      -----------------------------------------------------------------------
      13927x_2^2x_6-3480x_0x_3x_6-12267x_0x_4x_6-266x_2x_4x_6+5748x_0x_5x_6+
      -----------------------------------------------------------------------
      4410x_1x_5x_6+15396x_3x_5x_6+6091x_5^2x_6-7458x_0x_6^2-13475x_1x_6^2+
      -----------------------------------------------------------------------
      9759x_2x_6^2-7315x_3x_6^2+10674x_4x_6^2-1331x_5x_6^2-15179x_6^3 |

              1       14
o36 : Matrix S  &lt;--- S</pre>
</td></tr>
<tr><td><pre>i37 : T3 = R/ideal F3

o37 = T3

o37 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i38 : f3 = map(T3,S,substitute(can3, T3))

                 2              2      2   3   2    2      2
o38 = map(T3,S,{a c - a*b*c, a*c  - b*c , b , b c, a b, a*b , a*b*c})

o38 : RingMap T3 &lt;--- S</pre>
</td></tr>
<tr><td><pre>i39 : IC3 = mingens ker f3

o39 = | x_3x_5-x_2x_6 x_1x_5+x_3x_6-x_6^2 x_0x_5-x_4x_6+x_5x_6 x_3x_4-x_5x_6
      -----------------------------------------------------------------------
      x_2x_4-x_5^2 x_1x_4-x_0x_6 x_0x_3+x_3x_6-x_6^2 x_1x_2+x_3^2-x_3x_6
      -----------------------------------------------------------------------
      x_0x_2+x_2x_6-x_5x_6 x_0^2-8576x_0x_1-3902x_1^2+9200x_2^2+4791x_1x_3+
      -----------------------------------------------------------------------
      409x_2x_3+8757x_3^2+5938x_0x_4+9748x_4^2+6884x_2x_5-5249x_4x_5+15878x_5
      -----------------------------------------------------------------------
      ^2-3356x_0x_6-4791x_1x_6+8479x_2x_6-11995x_3x_6-14734x_4x_6+1755x_5x_6+
      -----------------------------------------------------------------------
      12012x_6^2 |

              1       10
o39 : Matrix S  &lt;--- S</pre>
</td></tr>
</table>
We now find the <i>2</i>-linear part of the free resolution of <tt>IC1</tt> and its betti numbers.<table class="examples"><tr><td><pre>i40 : IC1res = res(coker IC1)

       1      10      25      25      10      1
o40 = S  &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S  &lt;-- 0
                                                     
      0      1       2       3       4       5      6

o40 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i41 : betti  IC1res

             0  1  2  3  4 5
o41 = total: 1 10 25 25 10 1
          0: 1  .  .  .  . .
          1: . 10 16  9  . .
          2: .  .  9 16 10 .
          3: .  .  .  .  . 1

o41 : BettiTally</pre>
</td></tr>
</table>
From this computation, and the easy implication of Green&rsquo;s conjecture explained above, we see that the gonality of <tt>C1</tt> is exactly 4, the gonality of the linear series obtained by projection from any one of the three double points.  We now do the same for <tt>IC2</tt> and <tt>IC3</tt>:<table class="examples"><tr><td><pre>i42 : IC2res = res(coker IC2)

       1      14      35      35      14      1
o42 = S  &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S  &lt;-- 0
                                                     
      0      1       2       3       4       5      6

o42 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i43 : betti  IC2res

             0  1  2  3  4 5
o43 = total: 1 14 35 35 14 1
          0: 1  .  .  .  . .
          1: . 10 20 15  4 .
          2: .  4 15 20 10 .
          3: .  .  .  .  . 1

o43 : BettiTally</pre>
</td></tr>
<tr><td><pre>i44 : IC3res = res(coker IC3)

       1      10      25      25      10      1
o44 = S  &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S  &lt;-- 0
                                                     
      0      1       2       3       4       5      6

o44 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i45 : betti  IC3res

             0  1  2  3  4 5
o45 = total: 1 10 25 25 10 1
          0: 1  .  .  .  . .
          1: . 10 16  9  . .
          2: .  .  9 16 10 .
          3: .  .  .  .  . 1

o45 : BettiTally</pre>
</td></tr>
</table>
and we find that in the tacnodal case the gonality is still 4, while in the triple point case the gonality is 3.  Note that we could have made the computation faster, as in the following example.  In these cases the resolution is so fast that the speedup is not noticeable, but in larger cases it would be worthwhile.  First clear the info computed in <tt>IC1</tt><table class="examples"><tr><td><pre>i46 : IC1 = matrix entries IC1

o46 = | x_3x_5-x_6^2 x_2x_5-x_4x_6 x_1x_5-x_0x_6 x_3x_4-x_2x_6 x_1x_4-x_6^2
      -----------------------------------------------------------------------
      x_0x_4-x_5x_6 x_0x_3-x_1x_6 x_1x_2-x_3x_6 x_0x_2-x_6^2
      -----------------------------------------------------------------------
      x_0^2-14242x_0x_1+2826x_1^2+3964x_2^2-15117x_1x_3-2079x_2x_3+5843x_3^2-
      -----------------------------------------------------------------------
      289x_2x_4-9007x_4^2-13360x_0x_5-12216x_4x_5-15156x_5^2-14404x_0x_6-
      -----------------------------------------------------------------------
      3276x_1x_6-10791x_2x_6-10898x_3x_6+15978x_4x_6+15201x_5x_6-6106x_6^2 |

              1       10
o46 : Matrix S  &lt;--- S</pre>
</td></tr>
</table>
Now redo the resolution, this time bounding the degree to which the computation is carried.  <table class="examples"><tr><td><pre>i47 : IC1res = res(coker IC1, DegreeLimit => {1})

       1      10      25      25      10      1
o47 = S  &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S   &lt;-- S  &lt;-- 0
                                                     
      0      1       2       3       4       5      6

o47 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i48 : betti IC1res

             0  1  2  3  4 5
o48 = total: 1 10 25 25 10 1
          0: 1  .  .  .  . .
          1: . 10 16  9  . .
          2: .  .  9 16 10 .
          3: .  .  .  .  . 1

o48 : BettiTally</pre>
</td></tr>
</table>
Instead of computing the canonical model of <tt>C1</tt> directly, we could have treated the structure sheaf of <tt>C1</tt> as a sheaf on the projective plane, and compute its push-forward under the map to <i><b>P</b><sup>6</sup></i> given by <tt>can1</tt> (the image of the plane under this map is a Del Pezzo surface on which the canonical curve lies.) This is done as follows:<table class="examples"><tr><td><pre>i49 : ff1 = map(R,S,can1)

                2      2   2      2   2      2
o49 = map(R,S,{b c, b*c , a c, a*c , a b, a*b , a*b*c})

o49 : RingMap R &lt;--- S</pre>
</td></tr>
<tr><td><pre>i50 : G = map(coker F1,ff1)

o50 = | 1 |

o50 : Matrix</pre>
</td></tr>
<tr><td><pre>i51 : trim coimage G

o51 = cokernel | x_3x_5-x_6^2 x_2x_5-x_4x_6 x_1x_5-x_0x_6 x_3x_4-x_2x_6 x_1x_4-x_6^2 x_0x_4-x_5x_6 x_0x_3-x_1x_6 x_1x_2-x_3x_6 x_0x_2-x_6^2 x_0^2-14242x_0x_1+2826x_1^2+3964x_2^2-15117x_1x_3-2079x_2x_3+5843x_3^2-289x_2x_4-9007x_4^2-13360x_0x_5-12216x_4x_5-15156x_5^2-14404x_0x_6-3276x_1x_6-10791x_2x_6-10898x_3x_6+15978x_4x_6+15201x_5x_6-6106x_6^2 |

                             1
o51 : S-module, quotient of S</pre>
</td></tr>
</table>
</div>
</div>
</body>
</html>