# An algorithm for computing the Weierstrass normal form

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]/(F) for some
polynomial F=Y^2 + (polynomial in X of degree 3).
In this paper we compute such F, and also compute
this isomorphism and its inverse by computing the
images of x, y, X and Y. This can be used to reduce
the problem of integration in C(x)[y]/(f) to the
field C(X)[Y]/(F), for which special purpose
integration algorithms exist. Furthermore the
j-invariant can be obtained.
Note that when the problem is non-trivial, i.e.
when the degree of f is > 3, then f must have
singularities in order to have genus 1. A convenient
and efficient way to deal with these singularities
is to use an integral basis.
For the implementation see the file genus1 in
the algcurves
package.
Download this paper
postscript file or
pdf file.
See also the paper on the hyperelliptic case.