# vectorBundleOnE -- creates a VectorBundleOnE, represented as a matrix factorization

## Synopsis

• Usage:
V = vectorBundleOnE M
• Inputs:
• M, , -square matrix on PP^1, representing the action of y
• Outputs:

## Description

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 {-1} | 38s+t 10s2+29st+8t2 42s2-2st+22t2 {-1} | 0 0 -29s2+19st+19t2 {-1} | 0 0 47s2-22st+t2 ----------------------------------------------------------------------- -22s3-16s2t-11st2-47t3 | 9s2+32st-48t2 | 38s2+9st+47t2 | 29s2-19st-19t2 | 4 4 o12 : Matrix R <--- R i13 : degOnE tensorProduct(L1,F) o13 = -3

• randomLineBundle -- a random line bundle on the hyperelliptic curve
• randomExtension -- a random extension of a vector bundle on E by another vector bundle
• VectorBundleOnE -- vector bundle on a hyperelliptic curve E
• yAction -- defines a vector bundle on E
• degOnE -- degree of a vector bundle on E
• orderInPic -- order of a line bundle of degree 0 in Pic(E)
• tensorProduct -- tensor product of sheaves on the elliptic curve or sheaf times CliffordModule

## Ways to use vectorBundleOnE :

• "vectorBundleOnE(Matrix)"

## For the programmer

The object vectorBundleOnE is .