&N; &(M=''); &t; &E; &a; &(_d=10000); Array a[128,128], b[128,128], c[128,128], m[128,128]; &(p=2); &(J=x); [a]:=[0]; [b]:=[0]; [c]:=[0]; for p=0,1 do for i = 0,63-1 do a[p*64+i+1,p*64+i]:=1; od; od; for p=0,1 do for i = 0,63-16 do b[p*64+i,p*64+i+16]:=1; od; od; for i = 0,31 do c[32+i,0+i]:=1; od; for i = 0,31 do c[96+i,32+i]:=1; od; for i = 0,31 do c[64+i,64+i]:=1; od; for i = 0,31 do c[0+i,96+i]:=1; od; [m]:=[1]*(x^2) + ([1]+[a])*([1]+[b]) + ([1]+[c])*x; p:=Det[m]; irr:=Irred(p); !!('1-16-[1,3,2,0] ', p, ' ', irr); Array v0[1,128],v1[1,128],t[1,128],u[1,128],v[1,128]; for i = 0,127 do v0[0,i]:=0; v1[0,i]:= 0; od; for i = 0,3 do v0[0,32+i*4+1]:=1; v0[0,32+i*4+2]:=1; v0[0,32+i*4+3]:=1; od; for i = 0,3 do v0[0,48+i*4+0]:=1; v0[0,48+i*4+1]:=1; v0[0,48+i*4+2]:=1; v0[0,48+i*4+3]:=1; od; for i = 0,3 do v0[0,96+i*4+1]:=1; v0[0,96+i*4+3]:=1; od; for i = 0,3 do v0[0,112+i*4+0]:=1; v0[0,112+i*4+1]:=1; v0[0,112+i*4+3]:=1; od; for i = 0,31 do t:=v0[0,i]; v0[0,i]:=v0[0,63-i]; v0[0,63-i]:= t; od; for i = 0,31 do t:=v0[0,64+i]; v0[0,64+i]:=v0[0,127-i]; v0[0,127-i]:= t; od; for i = 0,3 do v1[0,32+i*4+2]:=1; od; for i = 0,3 do v1[0,48+i*4+0]:=1; v1[0,48+i*4+2]:=1; od; for i = 0,3 do v1[0,96+i*4+1]:=1; od; for i = 0,3 do v1[0,112+i*4+0]:=1; v1[0,112+i*4+1]:=1; od; for i = 0,31 do t:=v1[0,i]; v1[0,i]:=v1[0,63-i]; v1[0,63-i]:= t; od; for i = 0,31 do t:=v1[0,64+i]; v1[0,64+i]:=v1[0,127-i]; v1[0,127-i]:= t; od; zz := 1; for i=0,31 do ` zz := zz*x + 1;` [t]:=[v1];` [m]:=([1]+[a])*([1]+[b]);` [u]:=[v0]*[m];` [v]:=[v1]*([c]+[1]);` [v1]:=[u]+[v];` [v0]:=[t];` od; &x;