# Updated on 15 June 1999, to be compatable with Maple V.5 # Appl.pro # An application # This program makes use of the formulae and procedures constructed # in the programs Kummer to check the results of Section 6 # of Chapter 3, "The Kummer surface", in the book # "Progelomana to a middlebrow arithmetic of curves of genus 2". # by J.W.S. Cassels and E.V. Flynn (Cambridge University Press, 1996) # We consider a special curve with coefficients f6:=1;f5:=-1;f4:=3; f3:=-5;f2:=0;f1:=-10;f0:=16; # Note that the corresponding F(X) takes the square values # 36,16,4,36 at -1,0,1,2 respectively. # We now bring back the formulae we need. # MAPLE automatically makes the above substitutions for the fj # in the formulae interface(quiet=true): # cut the echo to screen read `Kit.sav`: # produced already by the program Kummer.pro interface(quiet=false): # restores the normal echo # We first compute the xi coordinates of some divisors on the curve. # First of {(-1,6),(0,-4)} TT:=Coord(-1,6,0,-4); op(TT); # Again consider the divisor {(1,2),(2,-6)} SS:=Coord(1,2,2,-6): op(SS); # Check that they do indeed lie on the Kummer Kum(TT); Kum(SS); # Both should be 0 # Next check the doubling program DDD:=Double(TT); op(DDD); # There is a common factor, but we do not bother to take it out. # check that we are on the Kummer Kum(DDD); # should be 0 # Now compute the corresponding bilinear form Ory:=Bilin(TT,SS): op(Ory); # By construction the elements of Ory should be (ai*bj+aj*bi)/2, # where the ai and the bi are the Kummer coordinates of the # sum and difference (but we don't know which is which). It is # easy to devise a general procedure for finding the ai and the bi. # In this case we get PP:=[0,11,17,99]; QQ:=[24,31,-7,303]; # We check that they are actually on the Kummer Kum(PP); Kum(QQ); # Here the support of PP is a rational point at infinity and # a rational point with X=17/11. Check that there is such a rational # point by substituting in FX subs(X=17/11,FX); ifactor(%); # so it is a rational square # But the support of QQ is a pair of conjugate points over # a quadratic field . Check Om:=RootOf(s^2=1633,s); unprotect(Psi): # Clears reserved word Psi for use as a variable. Psi:=(31+Om)/48; simplify(24*Psi^2-31*Psi-7); # So one of the conjugate points has X=Psi. Substitute in FX. We should # get a square Lam:=simplify(subs(X=Psi,FX)); # factor the denominator ifactor(382205952); # So twice the denominator is a square # multiply by this square Lama:=2*382205952*Lam; # Take out the square 25 Lamb:=Lama/25; # If this is a square, it is a multiple of (T-sqrt1633)^2 for some T solve(71377625*(T^2+1633)-2*3996438025*T=0); # Look at the two values of T in turn simplify((28897-305*Om)^2); # Only a non-square rational multiple of Lamb, so no good for us. # So look at the other value of T simplify((7015-407*Om)^2); # Is equal to Lamb