#Data check by Apecs: #Note; Apecs runs under MAPLE V (not, e.g. Maple 8) Qdjr:=[0, ndjr^2, 0, -72*ndjr, -64*ndjr^3-432]: read sofar: ONEA:={seq(idjr[1],idjr=ONE)}:TWOA:={seq(idjr[1],idjr=TWO)}: PTS:=array(1..200):for idjr to 200 do PTS[idjr]:=[idjr,[]]:od: for idjr in [op(ONE),op(TWO)] do PTS[idjr[1]][2]:=idjr[2]:od: read apecs: for idjr from 4 to 200 do conductr:=substring(ein(subs(ndjr=idjr,Qdjr))[2],2..-1): if member(idjr,ONEA) then App(trcw(PTS[idjr][2])):fi: if member(idjr,TWOA) then App(trcw(PTS[idjr][2][1])):App(trcw(PTS[idjr][2][2])):fi: Isog(); ein(cat(`C`,conductr));RkNC(); ein(cat(`B`,conductr));RkNC(); ein(cat(`A`,conductr));RkNC(); od: for idjr in MEST do ein(subs(ndjr=idjr[1],Qdjr)):Mest(idjr[2]): od: for idjr in LSET do ein(subs(ndjr=idjr,Qdjr)):Rk(); od; # Check ranks are right: for idjr from 4 to 200 do ein(op(subs(ndjr=idjr,Qdjr))):lprint(idjr,nops(RR),r1,r4);Rk();od; # Note: Shows uses of parity conj; # repeat last line to get briefer summary of ranks. # Check to make sure the advertised points really do make a basis: for idjr in ONE do ein(op(subs(ndjr=idjr[1],Qdjr))):Expr(trcw(idjr[2])):od: for idjr in TWO do ein(op(subs(ndjr=idjr[1],Qdjr))):Expr(trcw(idjr[2][1])):Expr(trcw(idjr[2][2])):lprint(idjr[1]):od: # Look for points in original coordinates with max(|x|,|y|,|z|)<10^20: sdjr:=[-1/2*(ndjr*X+36-Y)/(3*X+4*ndjr^2), -1/2*(ndjr*X+36+Y)/(3*X+4*ndjr^2),1]: # for idjr in ONE do ein(op(subs(ndjr=idjr[1],Qdjr))):lprint(idjr[1]): for jdjr to 10 do XYdjr:=trwc(mult(jdjr,RR[1])): subs({X=%[1],Y=%[2],ndjr=idjr[1]},sdjr):sort(expand(%*denom(%[2]))): if abs(%[1])<10^20 and abs(%[2])<10^20 then lprint(` `,jdjr,%):fi:od: od: # for idjr in TWO do ein(op(subs(ndjr=idjr[1],Qdjr))):lprint(idjr[1]): for jdjr to 8 do for kdjr from -8 to 8 do XYdjr:=trwc(eadd(mult(jdjr,RR[1]),mult(kdjr,RR[2]))): subs({X=%[1],Y=%[2],ndjr=idjr[1]},sdjr):sort(expand(%*denom(%[2]))): if abs(%[1])<10^20 and abs(%[2])<10^20 then lprint(` `,jdjr,kdjr,%):fi: od:od: for kdjr to 8 do XYdjr:=trwc(mult(kdjr,RR[2])): subs({X=%[1],Y=%[2],ndjr=idjr[1]},sdjr):sort(expand(%*denom(%[2]))): if abs(%[1])<10^20 and abs(%[2])<10^20 then lprint(` `,0,kdjr,%):fi: od: od: # #Warning: this misses the generators if they themselves are large! #The rank-2 ones will likely be way out of sorted order. Probably should #do something like this (not tested): #sz:=proc(a,b) length(a)