#C21: April 7, 2022. In fond memory of Jerrold B. Tunnell (1950-2022) Help21:=proc(): print(`aSeq(N), bSeq(N), Tn(n,A,B,C) , JTseq(N), IsCon(n), JTseqW(N) `): end: #aSeq(N): The first N terms of the sequence of a(n) defined by Jerrold Tunnell in Inv. Math. 72 (1983), 323-334 aSeq:=proc(N) local q,n,g,f,theta2,theta4: g:=q*mul(1-q^(8*n),n=1..N)*mul(1-q^(16*n),n=1..N): theta2:=1+2*add(q^(2*n^2) , n=1..trunc(sqrt(N/2))+1): #theta4:=1+2*add(q^(4*n^2) , n=1..trunc(sqrt(N/2))+1): f:=g*theta2: f:=taylor(f,q=0,N+1): [seq(coeff(f,q,n),n=1..N)]: end: #bSeq(N): The first N terms of the sequence of b(n) defined by Jerrold Tunnell in Inv. Math. 72 (1983), 323-334 bSeq:=proc(N) local q,n,g,f,theta2,theta4: g:=q*mul(1-q^(8*n),n=1..N)*mul(1-q^(16*n),n=1..N): #theta2:=1+2*add(q^(2*n^2) , n=1..trunc(sqrt(N/2))+1): theta4:=1+2*add(q^(4*n^2) , n=1..trunc(sqrt(N/2))+1): f:=g*theta4: f:=taylor(f,q=0,N+1): [seq(coeff(f,q,n),n=1..N)]: end: #JTseq(N): The first N terms of the sequence of congruent numbers, those that are areas of right-angled triangle #with rational sides. Shuold be called the Tunnell numbers JTseq:=proc(N) local n,La,Lb,L: print(`Needs more work!`): La:=aSeq(N): Lb:=bSeq(N): L:=[]: for n from 1 to N do if La[n]=0 then L:=[op(L),n]: fi: od: L: end: #Tn(n,A,B,C): the set of triples [x,y,z] in Z^3 such that n=A*x^2+B*y^2+C*z^2 Tn:=proc(n,A,B,C) local x,y,z,S: S:={}: for z from -trunc(sqrt(n/C)) to trunc(sqrt(n/C)) do for x from -trunc(sqrt((n-C*z^2)/A)) to trunc(sqrt((n-C*z^2)/A)) do y:=sqrt((n-A*x^2-C*z^2)/B): if type(y,integer) then S:=S union {[x,y,z],[x,-y,z]}: fi: od: od: S: end: #IsCon(n): Is n such that (mod. Birch-S-D) is the area of right-angled triangle with RATIONAL sides IsCon:=proc(n): print(`Needs more work`): if n mod 2=1 and 2*nops(Tn(n,2,1,32))=nops(Tn(n,2,1,8)) then RETURN(true): elif n mod 2=0 and 2*nops(Tn(n,8,2,64))=nops(Tn(n,8,2,16)) then RETURN(true): fi: false: end: #JTseqW(N): All the terms <=N of the sequence of congruent numbers, those that are areas of right-angled triangle #with rational sides. Shuold be called the Tunnell numbers; Using the Wikipedia version JTseqW:=proc(N) local n,L: print(`Needs more work`): L:=[]: for n from 1 to N do if IsCon(n) then L:=[op(L),n]: fi: od: L: end: