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

randomPrymCanonicalNodalCurve -- get a random Prym canonical nodal curve of genus g, level n and k twisted multipliers

Synopsis

Description

Construct a Prym canonical rational curve with g double points.

Step 1. Choosing an integer r and a prime p such that r represents an n primitive root of unity mod p. We then work over kk=ZZ/p and S=kk[x0,x1].

Step 2. Choose 2 times g points Pi,Qi randomly in P1(kk) which we indentify.

Step 3. Compute the canonical series of the singular curves and the multiplier A at the points, i.e. the ratio between the values of the sections at Pi and Qi.

Step 4. Change the ratio of the multipliers A at k of the double points by the root of unity, and compute the g-1 dimensional linear system of polynomials of degree 2g-2 on P1 satisfying these conditions.

Step 5. Computer the homogeneous ideal I of the image curve under the linear system

Return the basic objects L=(r,p,kk,S,PQ,A,s,T) and I

i1 : g=6;n:=3;k:=5;
i4 : time (L,I)=randomPrymCanonicalNodalCurve(g,n,k);
     -- used 0.103391 seconds
i5 : (r,p,kk,S,PQ,A,s,T)=L;
i6 : L_0,L_1

o6 = (101, 10303)

o6 : Sequence
i7 : PQ

o7 = (| 4978  1473 -2166 -4917 1715  -3430 |, | -208  4654 2088 4600  -172 
      | -2812 2436 -4369 -2346 -1182 -2079 |  | -1953 -238 -840 -4623 -3819
     ------------------------------------------------------------------------
     416   |)
     -1469 |

o7 : Sequence
i8 : A

o8 = | 2220 -1478 -4915 -4864 -3852 -4693 |
     | 3885 -1441 -230  -2955 -1366 -2938 |

             2       6
o8 : Matrix S  <--- S
i9 : s;

             1       5
o9 : Matrix S  <--- S
i10 : betti res I

             0  1  2 3
o10 = total: 1 10 15 6
          0: 1  .  . .
          1: .  .  . .
          2: . 10 15 6

o10 : BettiTally
i11 : numgens T==g-1, degree I== 2*g-2, genus(T/I)==g

o11 = (true, true, true)

o11 : Sequence

Ways to use randomPrymCanonicalNodalCurve :

  • randomPrymCanonicalNodalCurve(ZZ,ZZ)
  • randomPrymCanonicalNodalCurve(ZZ,ZZ,ZZ)