# An algorithm for computing the Weierstrass normal form of
hyperelliptic curves

Let f in C[x,y] be a polynomial defining an algebraic
curve of genus > 1. Then the algebraic function field
C(x)[y]/(f) is isomorphic to C(X)[Y]/(g) for a
polynomial g of the form
g = Y^2 - (a squarefree polynomial in X)
if and only if the curve is hyperelliptic.
In this paper we show how to test if f is hyperelliptic,
and if so, how to compute such g. We also compute
this isomorphism and its inverse by computing the
images of x, y, X and Y.
For the implementation see the file genus2 (note: handles
the case g >= 2, not just g=2) in
the algcurves package in
Maple 6.
Download this paper,
errata.