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

preRandomLineBundle -- a random line bundle on the hyperelliptic curve

Synopsis

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 a line bundle on E is given by the y-action which is represented by a traceless 2x2 matrix

b c

a -b

whose determinant equals to (-1)^{g}*f. We find such a matrix over a finite ground field by picking randomly b, a homogeneous form of degree (g+1), since the binary form b^2 + (-1)^{g}*f frequently factors.

i1 : kk=ZZ/101;
i2 : setRandomSeed 0

o2 = 0
i3 : g=1;
i4 : rNP=randNicePencil(kk,g);
i5 : cM=cliffordModule(rNP.matFact1,rNP.matFact2,rNP.baseRing);
i6 : f=cM.hyperellipticBranchEquation

          3       2 2        3      4
o6 = - 12s t - 50s t  - 16s*t  + 47t

o6 : kk[s, t]
i7 : L=preRandomLineBundle(f)

o7 = VectorBundleOnE{...1...}

o7 : VectorBundleOnE
i8 : degOnE L

o8 = -1
i9 : m=L.yAction

o9 = {-2} | 39s2+21st+34t2 44s3-34s2t+7st2+2t3 |
     {-1} | 32s+t          -39s2-21st-34t2     |

                      2               2
o9 : Matrix (kk[s, t])  <-- (kk[s, t])
i10 : (m)^2_(0,0)+(-1)^g*f==0

o10 = true
i11 : L0=preRandomLineBundle(0,f)

o11 = VectorBundleOnE{...1...}

o11 : VectorBundleOnE
i12 : degOnE L0

o12 = 0
i13 : orderInPic L0

o13 = 37

Caveat

The ground field kk has to be finite.

See also

Ways to use preRandomLineBundle:

For the programmer

The object preRandomLineBundle is a method function.