next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MatFac15 :: randomCurveOfGenus15

randomCurveOfGenus15 -- choose randomly a curve of genus 15

Synopsis

Description

Theorem 0.4 of Matrix Factorizations and families of curves of genus 15 descibes a dominant construction of curves of genus 15. The only non-unirational step is the choice of 6 points on a auxiliar curve E of genus 11, which actually is a Chang-Ran curve of degree 12 in P3. We choose these points by decomposing a random hyperplane section into its irreducible components over kk. In about 63% of the cases, the hyperplane section contains a kk-rational point.
If B →M415,16 →M15 denotes the map from our construction space B to M415,16 ={(C,L) | C ∈M15, L ∈W416 ⊂Pic16(C) } to the moduli space, then both maps are generically finite and we expect to cover about 0.632=0.39 percent of the kk-rational points M15(kk). There is no rigerous proof of this percentages given in the paper. Section 2 of Twenty points in P^3 contains a discussion of similar matters.

For very small fields the auxiliar curve might not have enough kk-rational points. In that case the program might run into an infinite loop. However some printing will done for the various steps.

"Rao" means that the random construction of the Hartshorne-Rao module of E in P3 has to be repeated

"E" means that the construction of E from the Hartshorne-Rao module has to be repeated

"6 points" means that the selection of 6 distinct kk-rational points on E has to be repeated

"matrixFactorizationFromModule" means that we fail at the step from N to the matrix factorization (M0,M1)

"curveFromMatrixFactorization" means that we fail at the stage from (M0,M1) to C in sense that the curve has not the right dimension, degree or genus.

In case of certify=>true we check for smoothness. "singular curve" means that we have to repeat the construction to get a smooth curve. We do this at most k times if attempts=>k. If we fail every time we return null.

The default values of the options are certify=>true and attempts=>1.

In a future release we will improve the construction of the 6 points to cover also very small fields.

i1 : kk=ZZ/10007;
i2 : S=kk[x_0..x_4]

o2 = S

o2 : PolynomialRing
i3 : time C=randomCurveOfGenus15(S,certify=>false,attempts=>1);
     -- used 2.46193 seconds

o3 : Ideal of S
i4 : time (isSmoothCurve C, degree C, genus C)==(true,16,15)
     -- used 5.48719 seconds

o4 = true
i5 : time C=randomCurveOfGenus15(S,certify=>true,attempts=>1);
     -- used 6.84502 seconds

o5 : Ideal of S

Ways to use randomCurveOfGenus15 :

  • randomCurveOfGenus15(PolynomialRing)