Macaulay2 » Documentation
Packages » PencilsOfQuadrics :: randomLineBundle
next | previous | forward | backward | up | index | toc

randomLineBundle -- a random balanced line bundle on the hyperelliptic curve

Description

Chooses a random line bundle on the hyperelliptic curve E of genus g given by the equation y^2-(-1)^{g}*f, where f is the branch equation of degree (2g+2). Input with an integer d gives a random line bundle of degree d on E.

Note that the method preRandomLineBundle mostly constructs an unbalanced line bundle, that is, the degrees of a and c for the determinantal representation of (-1)^{g}*f have a big gap. Such a line bundle will be contained in the theta divisor (after a certain twist), so we make it into a balanced line bundle by tensoring degree 0 line bundles.

i1 : kk=ZZ/1009;
i2 : g=2;
i3 : rNP=randNicePencil(kk,g);
i4 : cM=cliffordModule(rNP.matFact1,rNP.matFact2,rNP.baseRing);
i5 : f=cM.hyperellipticBranchEquation

          5        4 2       3 3      2 4         5       6
o5 = - 69s t + 250s t  + 256s t  - 22s t  - 299s*t  + 111t

o5 : kk[s, t]
i6 : tally apply(30, i->(Lp=preRandomLineBundle(1,f); betti Lp.yAction))

                  0 1
o6 = Tally{total: 2 2 => 2 }
              -1: 2 .
               0: . .
               1: . 2
                  0 1
           total: 2 2 => 28
              -2: 1 .
              -1: . .
               0: 1 1
               1: . .
               2: . 1

o6 : Tally
i7 : tally apply(30, i->(L=randomLineBundle(1,f); betti L.yAction))

                  0 1
o7 = Tally{total: 2 2 => 30}
              -1: 2 .
               0: . .
               1: . 2

o7 : Tally

Caveat

The ground field kk has to be finite.

See also

Ways to use randomLineBundle:

  • randomLineBundle(RingElement)
  • randomLineBundle(ZZ,RingElement)

For the programmer

The object randomLineBundle is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.25.06+ds/M2/Macaulay2/packages/PencilsOfQuadrics.m2:3148:0.