> with(linalg): > with(ListTools): > A1:= matrix(20,8,[[1,1,0,0,0,0,0,0],[1,0,1,0,0,0,0,0], > [1,0,0,1,0,0,0,0],[1,0,0,0,1,0,0,0],[1,0,0,0,0,1,0,0], > [1,0,0,0,0,0,1,0],[1,0,0,0,0,0,0,1], > [-1,1,0,0,0,0,0,0],[-1,0,1,0,0,0,0,0], > [-1,0,0,1,0,0,0,0],[-1,0,0,0,1,0,0,0],[-1,0,0,0,0,1,0,0], > [-1,0,0,0,0,0,1,0],[-1,0,0,0,0,0,0,1], > [0,1,1,0,0,0,0,0],[0,1,0,1,0,0,0,0],[0,1,0,0,1,0,0,0], > [0,1,0,0,0,1,0,0],[0,1,0,0,0,0,1,0],[0,1,0,0,0,0,0,1]]); > A2:= matrix(20,8,[[0,-1,1,0,0,0,0,0],[0,-1,0,1,0,0,0,0],[0,-1,0,0,1,0,0,0], > [0,-1,0,0,0,1,0,0],[0,-1,0,0,0,0,1,0],[0,-1,0,0,0,0,0,1], > [0,0,1,1,0,0,0,0],[0,0,1,0,1,0,0,0],[0,0,1,0,0,1,0,0], > [0,0,1,0,0,0,1,0],[0,0,1,0,0,0,0,1], > [0,0,-1,1,0,0,0,0],[0,0,-1,0,1,0,0,0],[0,0,-1,0,0,1,0,0], > [0,0,-1,0,0,0,1,0],[0,0,-1,0,0,0,0,1], > [0,0,0,1,1,0,0,0],[0,0,0,1,0,1,0,0], > [0,0,0,1,0,0,1,0],[0,0,0,1,0,0,0,1]]); > A3:= matrix(20,8,[[0,0,0,-1,1,0,0,0],[0,0,0,-1,0,1,0,0], > [0,0,0,-1,0,0,1,0],[0,0,0,-1,0,0,0,1], > [0,0,0,0,1,1,0,0],[0,0,0,0,1,0,1,0],[0,0,0,0,1,0,0,1], > [0,0,0,0,-1,1,0,0],[0,0,0,0,-1,0,1,0],[0,0,0,0,-1,0,0,1], > [0,0,0,0,0,1,1,0],[0,0,0,0,0,1,0,1],[0,0,0,0,0,0,1,1], > [0,0,0,0,0,-1,1,0],[0,0,0,0,0,-1,0,1],[0,0,0,0,0,0,-1,1], > [1/2,1/2,1/2,1/2,1/2,1/2,1/2,1/2], > [-1/2,-1/2,1/2,1/2,1/2,1/2,1/2,1/2], > [-1/2,1/2,-1/2,1/2,1/2,1/2,1/2,1/2], > [-1/2,1/2,1/2,-1/2,1/2,1/2,1/2,1/2]]); > A4:= matrix(15,8,[[-1/2,1/2,1/2,1/2,-1/2,1/2,1/2,1/2], > [-1/2,1/2,1/2,1/2,1/2,-1/2,1/2,1/2], > [-1/2,1/2,1/2,1/2,1/2,1/2,-1/2,1/2], > [1/2,-1/2,-1/2,1/2,1/2,1/2,1/2,1/2], > [1/2,-1/2,1/2,-1/2,1/2,1/2,1/2,1/2], > [1/2,-1/2,1/2,1/2,-1/2,1/2,1/2,1/2], > [1/2,-1/2,1/2,1/2,1/2,-1/2,1/2,1/2], > [1/2,-1/2,1/2,1/2,1/2,1/2,-1/2,1/2], > [1/2,1/2,-1/2,-1/2,1/2,1/2,1/2,1/2], > [1/2,1/2,-1/2,1/2,-1/2,1/2,1/2,1/2], > [1/2,1/2,-1/2,1/2,1/2,-1/2,1/2,1/2], > [1/2,1/2,-1/2,1/2,1/2,1/2,-1/2,1/2], > [1/2,1/2,1/2,-1/2,-1/2,1/2,1/2,1/2], > [1/2,1/2,1/2,-1/2,1/2,-1/2,1/2,1/2], > [1/2,1/2,1/2,-1/2,1/2,1/2,-1/2,1/2]]); > A5:= matrix(15,8,[[1/2,1/2,1/2,1/2,-1/2,-1/2,1/2,1/2], > [1/2,1/2,1/2,1/2,-1/2,1/2,-1/2,1/2], > [1/2,1/2,1/2,1/2,1/2,-1/2,-1/2,1/2], > [-1/2,-1/2,-1/2,-1/2,1/2,1/2,1/2,1/2], > [-1/2,-1/2,-1/2,1/2,-1/2,1/2,1/2,1/2], > [-1/2,-1/2,-1/2,1/2,1/2,-1/2,1/2,1/2], > [-1/2,-1/2,-1/2,1/2,1/2,1/2,-1/2,1/2], > [-1/2,-1/2,1/2,-1/2,-1/2,1/2,1/2,1/2], > [-1/2,-1/2,1/2,-1/2,1/2,-1/2,1/2,1/2], > [-1/2,-1/2,1/2,-1/2,1/2,1/2,-1/2,1/2], > [-1/2,-1/2,1/2,1/2,-1/2,-1/2,1/2,1/2], > [-1/2,-1/2,1/2,1/2,-1/2,1/2,-1/2,1/2], > [-1/2,-1/2,1/2,1/2,1/2,-1/2,-1/2,1/2], > [-1/2,1/2,-1/2,-1/2,-1/2,1/2,1/2,1/2], > [-1/2,1/2,-1/2,-1/2,1/2,-1/2,1/2,1/2]]); > A6:= matrix(15,8,[[-1/2,1/2,-1/2,-1/2,1/2,1/2,-1/2,1/2], > [-1/2,1/2,-1/2,1/2,-1/2,-1/2,1/2,1/2], > [-1/2,1/2,-1/2,1/2,-1/2,1/2,-1/2,1/2], > [-1/2,1/2,-1/2,1/2,1/2,-1/2,-1/2,1/2], > [-1/2,1/2,1/2,-1/2,-1/2,-1/2,1/2,1/2], > [-1/2,1/2,1/2,-1/2,-1/2,1/2,-1/2,1/2], > [-1/2,1/2,1/2,-1/2,1/2,-1/2,-1/2,1/2], > [-1/2,1/2,1/2,1/2,-1/2,-1/2,-1/2,1/2], > [1/2,-1/2,-1/2,-1/2,-1/2,1/2,1/2,1/2], > [1/2,-1/2,-1/2,-1/2,1/2,-1/2,1/2,1/2], > [1/2,-1/2,-1/2,-1/2,1/2,1/2,-1/2,1/2], > [1/2,-1/2,-1/2,1/2,-1/2,-1/2,1/2,1/2], > [1/2,-1/2,-1/2,1/2,-1/2,1/2,-1/2,1/2], > [1/2,-1/2,-1/2,1/2,1/2,-1/2,-1/2,1/2], > [1/2,-1/2,1/2,-1/2,-1/2,-1/2,1/2,1/2]]); > > A7:= matrix(16,8,[[1/2,-1/2,1/2,-1/2,-1/2,1/2,-1/2,1/2], > [1/2,-1/2,1/2,-1/2,1/2,-1/2,-1/2,1/2], > [1/2,-1/2,1/2,1/2,-1/2,-1/2,-1/2,1/2], > [1/2,1/2,-1/2,-1/2,-1/2,-1/2,1/2,1/2], > [1/2,1/2,-1/2,-1/2,-1/2,1/2,-1/2,1/2], > [1/2,1/2,-1/2,-1/2,1/2,-1/2,-1/2,1/2], > [1/2,1/2,-1/2,1/2,-1/2,-1/2,-1/2,1/2], > [1/2,1/2,1/2,-1/2,-1/2,-1/2,-1/2,1/2], > [-1/2,-1/2,-1/2,-1/2,-1/2,-1/2,1/2,1/2], > [-1/2,-1/2,-1/2,-1/2,-1/2,1/2,-1/2,1/2], > [-1/2,-1/2,-1/2,-1/2,1/2,-1/2,-1/2,1/2], > [-1/2,-1/2,-1/2,1/2,-1/2,-1/2,-1/2,1/2], > [-1/2,-1/2,1/2,-1/2,-1/2,-1/2,-1/2,1/2], > [-1/2,1/2,-1/2,-1/2,-1/2,-1/2,-1/2,1/2], > [1/2,-1/2,-1/2,-1/2,-1/2,-1/2,-1/2,1/2], > [0,0,0,0,0,0,0,0]]); > A:= stackmatrix(A1,A2,A3,A4,A5,A6,A7): rowdim(A); coldim(A); > Cnt:= 0; > ff:= proc(x) > if irem(C[x,1],60)=0 then x; > else 121; > end if; > end proc: > for a from 0 by 12 to 59 do > for b from 0 by 12 to 59 do > for c from 0 by 12 to 59 do > for d from 0 by 12 to 59 do > for e from 0 by 12 to 59 do > for f from 0 by 12 to 59 do > for g from 0 by 12 to 59 do > for h from 0 by 12 to 59 do > e1:= (b-c)/2: e2:= (b+c)/2: > e3:= d+e2: e4:= e+e3: e5:= f+e4: e6:= g+e5: e7:= h+e6: > e8:= (2*a)-e1+e2+e3+e4+e5+e6+e7: > B:= matrix(8,1,[[e1],[e2],[e3],[e4],[e5],[e6],[e7],[e8]]): > C:= multiply(A,B): > S:= seq(ff(i),i=1..121): > L:= MakeUnique([S]): > M:= submatrix(A,L,[1,2,3,4,5,6,7,8]): > if rank(M)=8 then Cnt:=Cnt+1; > end if: > end do; end do; end do; end do; > end do; end do; end do; end do; > > Cnt;