MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

Is it possible to check two curves on birational equivalence by some computer algebra system?

I have two curves, for example hyperelliptic:

\begin{align} &y^2 = x^6 + 14x^4 + 5x^3 + 14x^2 + 18, \\ &y^2 = x^6 + 14x^4 + 5x^3 + 14x^2 + 5x + 1 \end{align}

Is it possible to check them on birational equivalence (is able one curve be birationally transformed to another?) via some computer algebra system (like GAP, Sage, Magma, Maple, Maxima or something)?

It would be great if such system be free, but it is almost OK if It isn't.

-

I suppose Magma's IsIsomorphic will do the job.

From the documentation

IsIsomorphic(C, D) : Crv, Crv -> BoolElt,MapSch Given irreducible curves C and D this function returns true is C and D are isomorphic over their common base field. If so, it also returns a scheme map giving an isomorphism between them. The curves C and D must be reduced. Currently the function requires that the curves are not both genus 0 nor both genus 1 unless the base field is finite.

Example code in the web calculator

K<x,y>:=AffineSpace(Rationals(),2);
C1A:=Curve(K,x^10-1-y^2);
C2A:=Curve(K,x^10-2^10-y^2);
C1:=ProjectiveClosure(C1A);
C2:=ProjectiveClosure(C2A);
IsIsomorphic(C1,C2);

true Mapping from: CrvPln: C1 to CrvPln: C2
with equations :
-2*$.1 32*$.2
$.3  Wish this is implemented in sage. - Your example is a bit of a red herring, as this is relatively easy for hyperelliptic curves. A hyperelliptic curve can be reconstructed uniquely from the data of the branch divisor of the degree$2$map to$\mathbb{P}^1$. Furthermore, isomorphisms of hyperelliptic curves commute with the degree$2$map to$\mathbb{P}^1$. Thus for two hyperelliptic curves, the only issue is whether or not the branch divisors are projectively equivalent, and this is quite straightforward to check. - So, how do you check whether the branch divisors are projectively equivalent? My gut says that this should be easy, but I don't actually know how. – David Speyer Nov 9 2011 at 2:59 I don't have a "smart" way, but if the curve is$y^2 = f(x)$then the branch points are the roots of$f$. Normalize the branch points of one of the curves by sending 3 points to$0,1,\infty$. Given any 3 branch points of the second curve, map them to$0,1,\infty$and check if the images of the other branch points coincide with the branch points of the original curve. – Jack Huizenga Nov 9 2011 at 3:47 The problem is just the classification of binary quadratic/cubic/quintic/etc. forms, up to$GL(n)$action. (We view a function on$\mathbb P^1$as a function on$\mathbb A^2$, and see what kind of function it is). This is a fairly standard representation theory problem, but I don't know the answer. Probably, one can show that the ring of polynomial invariants completely classifies the orbit. For elliptic curves, the$j$-invariant, which is a rational function of the coefficients, fits the bill. But the formulas for these in higher dimensions might be even nastier. – Will Sawin Nov 9 2011 at 5:00 For genus two (as in the OP's example), there are the Igusa invariants. – Felipe Voloch Nov 9 2011 at 9:44 Re Jack Huizenga's first suggestion: You have to check all triples of roots of the second branch locus, you can't just choose$3$roots of$f$and$3$roots of$g\$. – David Speyer Nov 9 2011 at 12:52