I am looking to find rational points on a genus 3 hyperelliptic curve. I'm doing so by computing a quotient of the curve and pulling back rational points on its quotient. Here is the code:
Code: Select all
P<X>:=PolynomialRing(Rationals());
C:=HyperellipticCurve(X^7+9*X^5+25*X^3-11*X^2+20*X-44);
AutC:=Automorphisms(C); AutC[3];
G:=AutomorphismGroup(C,[AutC[3]]);
Cg, phi :=CurveQuotient(G); Cg; Genus(Cg);
Points:=PointSearch(Cg,1000);
for P in Points do
preimageofP:= P @@ phi;
RationalPoints(preimageofP);
end for;
However, MAGMA constructs hyperelliptic curves in weighted projective space, and I'd like to see the curve (and points) in regular projective space. Thus, I tried to do the same computation by constructing the curve in projective space:
Code: Select all
PP<X,Y,Z>:=ProjectiveSpace(Rationals(),2);
P<X>:=PolynomialRing(Rationals());
C:=HyperellipticCurve(X^7+9*X^5+25*X^3-11*X^2+20*X-44);
CC:=Curve(PP,-Y^2*Z^5+X^7+9*X^5*Z^2+25*X^3*Z^4-11*X^2*Z^5+20*X*Z^6-44*Z^7); CC;
yesno, CtoCC:=IsIsomorphic(C,CC); yesno;
AutCC:=Automorphisms(CC); AutCC[3];
GG:=AutomorphismGroup(CC, [AutCC[3]]);
Here's where my first issue arises, MAGMA doesn't like this construction of the automorphism group. This is strange, but I found a workaround:
Code: Select all
PP<X,Y,Z>:=ProjectiveSpace(Rationals(),2);
CC:=Curve(PP,-Y^2*Z^5+X^7+9*X^5*Z^2+25*X^3*Z^4-11*X^2*Z^5+20*X*Z^6-44*Z^7); CC;
AutCC:=Automorphisms(CC); AutCC[3];
AutGroup:=AutomorphismGroup(CC);
AutGroup.2;
GG:=AutomorphismGroup(CC, [AutGroup.2]);
CCgg:=CurveQuotient(GG); CCgg; Genus(CCgg);
Now I actually can calculate the curve quotient by AutGroup.2 = AutCC[3], but now something very strange happens. The curve quotient CCgg now has genus 2, while before the curve quotient Cg had only genus 1. We checked above that indeed C and CC were isomorphic, and AutC[3] should correspond with AutCC[3], however MAGMA computes totally different quotients by these automorphisms. I tried quotienting by all of the other automorphisms, but none gives the same curve that was found in our first code.
What am I missing? Is there something going wrong with MAGMA?