#################### # datF for Maple6 #################### lprint(`Reading Dat/dat ..`); Dat:=proc() global e21, e24, iee, k, ncir, p, s; local a,d,i,j,l,n,x,y; #Display data of any curve in the stack or catalog l:=proc() lprint(ccc(args)):end: if nargs=0 then if cur='cur' then if sT=4 then print(`Curve is singular.`);fi; iee:=1:ill();iee:=0:l("Present Weierstrass coeff.'s: ",yo):return fi; d:=[cur,ncur,Ncl,[Kod],NN,[PP],qR,RR,rc,r4,r1,dill,nisog,disog,visog,reg,o\ megA,shaf,SFE,tuQ,sB,tW,cP]: ncir:=ncur: else if ian(args)=2 then return fi; d:=[et1[ncir],ncir,op(eT[ncir])]: fi; print(ccc("[a1..a6] = ",et2[ncir])); for k to 23 do e||k:=d[k]:od; l("catalog name and number are: ",e1," ",e2); if type(e3,list) then l("conductor = ",e3[1]," = ",e3[2],"^",e3[3]); else l("conductor = ",e3," = ",afactor(e3)); fi; lprint(`Kodaira type(s): `,e4,` cP = `,e23); if Ner<>NULL then l("The corresponding Neron symbols are: ",Ner);fi; if ncir=ncur then iee:=1:ill();iee:=0: elif e5=-1 then print("Tor has not been called --- torsion group unknown."); elif e5=1 then print(`The torsion group is trivial.`); else print(ccc("The order of the torsion subgroup is ",e5)); lprint(`The list of torsion points is`);print(O,op(e6)); lprint(`The non-O point(s) are in the notation [x,y,d], d=order.`); fi; if e9=-1 then l("rank",qD," Rk, Rk0, Rk1, RkNC or Crem"); else print(ccc("rank = ",e10)); if e9=0 or e9=2 then l("using the B-SD conjecture and possibly also the R.H."); l("RkNC or Crem might confirm this value conj.-free."); elif e9<4 then l("using only the parity conj. ((-1)^(parity of rank)=SFE, sign fcn. eqn.)"); else l("This value was obtained without the use of any conjecture."); fi; fi; if e11>e10 then l("A conj.-free upper bound for the rank is r1 = ",e11);fi; if nops(e8)>0 then if e7<2 then l("points of infinite order noticed: ",op(e8)); elif e7=2 then l("we only have the following independent points of infinite ord\ er: ",op(e8)); l("--- need",r4); elif e7=9/4 then l("Sha has determined that the present RR+torsion generates"); l("a subgroup of finite index > 1."); elif e7=5/2 then l("we have the right number of independent point(s): RR ="); print(e8); l("but they don't form a Mordell-Weil basis since yR is not empty."); l("yR contains points rationally but not integrally depenedent o\ n RR.)"); elif e7=3 then l(); l("possible basis (right number and linearly independent), RR ="); l(e8);l("grammian = ",evalf(e16)); elif e7=4 then l(); l("probable basis --- RR consists of the succesive minima:"); l(e8);l("discriminant (probably the regulator) = ",evalf(e16)); else l(" "); l("certified basis: ",e8);l("regulator = ",e16); fi; fi; if type(e21,list) then e21:=abs(e21[1]);else e21:=abs(e21);fi; if e7<2 and e21>1 then l("searched for [x,y] on the curve with x=a/b^2 for max{|a|,b^2}<=",e21); fi; if abs(e19)=1 then l("The sign of the functional equation is ",e19); fi; if e12>3 then l("searched for points on principal homogeneous spaces up to"); l(" (naive) height = log ",e12); fi; isug(e13,e14);e24:=nops(e22[1]): if e24>0 then print(` twist by|gives curve`); for i to e24 do print(cat(e22[1][i],"|",et1[e22[2][i]]));od; fi; for i to nops(e17) do x:=e17[i]: if nops(x)<4 then if ncir=ncur then Om(); else ein(ncir);Om(); if type(psn,posint) then go(psn);fi; fi; else p:=x[1]:l(p,"-adic period to ",x[2]," digits is");y:=x[3]: s:=cat(p,"^",y[1],"*"):print(s,y[2..nops(y)]);y:=x[4]: s:=cat("with corresponding derivative^2 = ",p,"^",y[1],"*"); print(s,y[2..nops(y)]); fi; od; if e18>0 then print(ccc("shaf = conjectural order of Shafarevich-Tate group = ",e18)); fi; end: dat:=proc() local b,x,q; #Display catalog entry. q:=`,Kod,NN,PP,qR,RR,rc,r4,r1,dill,nisog,disog,visog,reg,omegA,shaf,\ SFE,tuQ,sB,tW,cP,misc:`: if nargs=0 then if cur='cur' then aM();return fi; print(ccc('Ncl',q));print(ccc("eT[",ncur,"] = ",Ncl,[Kod],NN,[PP],qR,RR,\ rc,r4,r1,dill,nisog,disog,visog,reg,omegA,shaf,SFE,tuQ,sB,tW,cP,op(misc))); else b:=args: if ian(b)=2 then return fi; x:=eT[ncir]: if type(x[1],list) then q:=cat('Ncl',q): else q:=cat('Nc',q): fi; print(q);print(ccc("eT[",ncir,"] = ",x)); if type(b,list) or type(b,integer) then print(ccc("catalog name of curve is ",et1[ncir])); fi; fi; end: