V = vectorBundleOnE M
A vector bundle on a hyperelliptic curve E with equation y^2 - (-1)^g * f can be represented 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
The object vectorBundleOnE is a method function.