A vector bundle on a hyperelliptic curve E with equation y^2 - (-1)^g * f can be represeted by it's pushforward V to PP^1, under the degree 2 map, which will be a vector bundle of twice the rank, together with a matrix M = V.yAction, specifying the action of y. The matrix must therefore satisfy M^2 = (-1)^g * f. Here f is the hyperellipticBranchEquation, a form on PP^1 of degree 2g+2
The following gives an example for g=1, constructing a random line bundle of degree 0, and computing its order in the Picard group; and the producing a random extension of this bundle by a random line bundle of order -1.
The random matrix factorization of f has the form
b c
a -b
where a is the lowest degree factor of f-b^2 (or f+b^2), depending on the desired sign, and values of b are taken randomly until one giving a nontrivial factorization over the given ground field is found. Note that this works well over a finite field, but is unlikely to work over QQ.
i1 : kk=ZZ/101 o1 = kk o1 : QuotientRing |
i2 : R = kk[s,t] o2 = R o2 : PolynomialRing |
i3 : f =(s+2*t)*(s+t)*(s-t)*(s-2*t) 4 2 2 4 o3 = s - 5s t + 4t o3 : R |
i4 : L0 = randomLineBundle(0,f) o4 = VectorBundleOnE{...1...} o4 : VectorBundleOnE |
i5 : (L0.yAction)^2 o5 = {-1} | s4-5s2t2+4t4 0 | {-1} | 0 s4-5s2t2+4t4 | 2 2 o5 : Matrix R <--- R |
i6 : degOnE L0 o6 = 0 |
i7 : orderInPic L0 o7 = 60 |
i8 : L1 = randomLineBundle(-1,f) o8 = VectorBundleOnE{...1...} o8 : VectorBundleOnE |
i9 : degOnE L1 o9 = -1 |
i10 : L1.yAction o10 = {-2} | -10s2-29st-8t2 16s3-21s2t-2st2+41t3 | {-1} | 38s+t 10s2+29st+8t2 | 2 2 o10 : Matrix R <--- R |
i11 : F = randomExtension(L1,L0) o11 = VectorBundleOnE{...1...} o11 : VectorBundleOnE |
i12 : F.yAction o12 = {-2} | -10s2-29st-8t2 16s3-21s2t-2st2+41t3 -30s3+24s2t-27st2-41t3 -22s3-16s2t-11st2-47t3 | {-1} | 38s+t 10s2+29st+8t2 42s2-2st+22t2 9s2+32st-48t2 | {-1} | 0 0 -29s2+19st+19t2 38s2+9st+47t2 | {-1} | 0 0 47s2-22st+t2 29s2-19st-19t2 | 4 4 o12 : Matrix R <--- R |
i13 : degOnE tensorProduct(L1,F) o13 = -3 |
The object vectorBundleOnE is a method function.