\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ 2Sym2(3)--Pairs of ternary quadratic forms \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ p1=p-1; p2=p^2-1; p3=p^3-1; q1=p2/p1; q2=p3/p1; r=20; d=12; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Orbit Size \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ sz(a,b)=p1^a*p^b*q1^2*q2; { ors=[ 1,q1*p3,p*p3*q1^2/2,p*p3*p2/2,p^2*p2*p3, \\5 0,D1^2,D11,D2,Dns q2*q1*p2*p1*p,q2*p^3*p2*p1, \\2 Cs,Cns 1/2*sz(2,2),1/2*sz(3,2)/q1, \\2 B11,B2 sz(3,2),sz(3,3),sz(2,4)/2,sz(3,4)/q1/2, \\4 1^4,1^31,1^21^2,2^2 sz(3,4)/2,sz(3,4)/2, \\2 1^211,1^22 sz(4,4)/24,sz(4,4)/4,sz(4,4)/8,sz(4,4)/3,sz(4,4)/4 \\5 1111,112,22,13,4 ] }; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Counting elements in subspaces \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\============================================= \\ Counts of Wij for i=0 or j\leq 3 \\============================================= W00=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W01=[1,p1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W02=[1,p1,p*p1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W03=p*p1*[0,1,p1/2,p1/2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]+W02; W04=[1,p2,p*p1*(3*p+1)/2,p*p1^2/2,p^2*p1^2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W05=[1,p2,(2*p+1)*p*p2/2,p*p1^2/2,p^2*p2*p1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W06=[1,p3,p*q1*p3/2,p*p1*p3/2,p^2*p1*p3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W11=[1,p2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W12=p*p1^2*[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]+W02+W11-W01; W13=p^2*p1^2*[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]+W03+W12-W02; W22=p*p1*p2*[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]+q1*W02-p*W00; W23=p^2*p1^2*[0,0,0,0,0,1,0,p1/2,p1/2,0,0,0,0,0,0,0,0,0,0,0]+W13+W22-W12; W33=p^2*p1*p2*[0,0,0,0,0,1,0,p1/2,p1/2,0,0,0,0,0,0,0,0,0,0,0]+q1*W13-p*W11; \\============================================= \\ (I) -- Counts of W14,W15,W16,W24,W25,W26,W44 \\============================================= W14=p^2*p1^2*[0,0,0,0,0,1,0,0,0,p1,0,0,0,0,0,0,0,0,0,0]+W04+W13-W03; W15=[0,0,0,0,0,0,0,0,0,0,0,p^4*p1^2,0,0,0,0,0,0,0,0]+W14+W05-W04; W16=p^3*p1^2*[0,0,0,0,0,0,0,1,0,p1,0,p*p1/2,p*p1/2,0,0,0,0,0,0,0]+W06+W15-W05; W24=p^3*p1^2*[0,0,0,0,0,0,1,0,0,0,p1,0,0,0,0,0,0,0,0,0]+W14+W23-W13; W25=p^3*p1^2*[0,0,0,0,0,0,1,0,0,0,p1,0,0,p*p1,0,0,0,0,0,0]+W15+W24-W14; W26=p^4*p1^2*[0,0,0,0,0,0,0,0,0,0,0,1,0,p1,p1,p1^2/4,p1^2/2,p1^2/4,0,0]+W16+W25-W15; W44=p*p1*p2*p^3*[0,0,0,0,0,0,0,0,0,0,0,1,0,p1/2,p1/2,0,0,0,0,0]+q1*W24-p*W22; \\============================================= \\ Total space -- W66 \\============================================= W66=ors; \\============================================= \\ (II) -- Counts of W1,W2,W3,W4,W5 \\============================================= W1=[1,p1,p*p2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];\\[0,0,*,0,*,*] W2=[1,p2,p*p2,0,0,p*p1*p2,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W3=p*p1*p2*[0,0,0,0,0,0,p^2,0,0,0,0,0,0,0,0,0,0,0,0,0]+q1*W2-p*W11; W4=[1,2*p1,p1^2/2,p1^2/2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; W5=p*p1*p2*[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]+q1*W4-p*W00; \\============================================= \\ (III) -- Counts by common zeros -- W55,W6 \\============================================= cz=[q2,q1,2*p+1,1,q1,q1,p+2,1,1,1,2,2,0,3,1,4,2,0,1,0]; U55=vector(20,i,cz[i]/cz[1]); W55=vector(20,i,U55[i]*ors[i]); U6=vector(20,i,cz[i]*(cz[i]-1)/cz[1]/(cz[1]-1)); W6=vector(20,i,U6[i]*ors[i]); \\============================================= \\ (IV) -- One more space -- W7 \\============================================= { U7= [1,p2,p*p2/2,p*p1^2/2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] +p2*[0,0,1,0,0,p1,p*p1,0,0,0,0,0,0,0,0,0,0,0,0,0] +p2*p1*p*[0,0,0,0,0,0,0,0,0,0,0,1,0,p1/2,p1/2,0,0,0,0,0] }; { W7= p1*[0,1,0,0,0,0,0,p2,0,0,0,p*p2/2,p*p1^2/2,0,0,0,0,0,0,0] +p1*p2*[0,0,1,0,0,0,0,p1,0,0,0,p*p1,0,p*p1,0,p*p1^2/2,0,p*p1^2/2,0,0] +U7 }; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Create a matrix from counts \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ W=matrix(20,20); \\---- 8 orthogonal pairs for(i=1,20,W[i,1]=W00[i]); for(i=1,20,W[i,2]=W66[i]); for(i=1,20,W[i,3]=W11[i]); for(i=1,20,W[i,4]=W55[i]); for(i=1,20,W[i,5]=W04[i]); for(i=1,20,W[i,6]=W26[i]); for(i=1,20,W[i,7]=W05[i]); for(i=1,20,W[i,8]=W16[i]); for(i=1,20,W[i,9]=W14[i]); for(i=1,20,W[i,10]=W25[i]); for(i=1,20,W[i,11]=W22[i]); for(i=1,20,W[i,12]=W44[i]); for(i=1,20,W[i,13]=W33[i]); for(i=1,20,W[i,14]=W3[i]); for(i=1,20,W[i,15]=W5[i]); for(i=1,20,W[i,16]=W6[i]); \\---- 4 of self-orthogonal subspaces for(i=1,20,W[i,17]=W06[i]); for(i=1,20,W[i,18]=W15[i]); for(i=1,20,W[i,19]=W24[i]); for(i=1,20,W[i,20]=W7[i]); { if(matrank(W)==20, print("We can and do compute the matrix M"), print("We can NOT compute the matrix M correctly") ); } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Compute the matrix M \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ bm(k)=[0,p^(d-k);p^k,0]; Mprime=matconcat(matdiagonal([bm(0),bm(2),bm(4),bm(5),bm(5),bm(4),bm(6),bm(4),p^6,p^6,p^6,p^6])); ORS=matdiagonal(ors); U=ORS^(-1)*W; M=U*Mprime*U^(-1); degM=matrix(r,r); for(i=1,r,for(j=1,r,if(M[i,j]==0,degM[i,j]=z,degM[i,j]=poldegree(M[i,j],p)))); \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Check that M satisfy Lemma 6 \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ T=p*p1*p2*p^3*p1*p2*p3/p1*ORS^(-1); TBZ=M*T-(M*T)~; { if(TBZ==matrix(r,r), print(" -- M is symmetric in the sense of Lemma 6"), print(" -- M is NOT symmetric in the sense of Lemma 6") ); } { if(M*M==p^(d)*matid(r), print(" -- M^2 is the scalar matrix"), print(" -- M^2 is NOT the scalar matrix") ); } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Compute some Fourier transforms \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ sing=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0]; quad=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,1,1,-1]; print("* Fourier transform of singular sets:"); for(i=1,20,print((M*sing~)[i])); print("* Fourier transform of the quadratic character:"); print(M*quad~);