> with(linalg): > with(ListTools): > A1:= matrix(11,6,[[1,1,0,0,0,0],[1,0,1,0,0,0], > [1,0,0,1,0,0],[1,0,0,0,1,0], > [-1,1,0,0,0,0],[-1,0,1,0,0,0], > [-1,0,0,1,0,0],[-1,0,0,0,1,0], > [0,1,1,0,0,0],[0,1,0,1,0,0],[0,1,0,0,1,0]]); > A2:= matrix(13,6,[[0,-1,1,0,0,0],[0,-1,0,1,0,0],[0,-1,0,0,1,0], > [0,0,1,1,0,0],[0,0,1,0,1,0], > [0,0,-1,1,0,0],[0,0,-1,0,1,0], > [0,0,0,1,1,0],[0,0,0,-1,1,0], > [1/2,1/2,1/2,1/2,1/2,1/2], > [-1/2,-1/2,1/2,1/2,1/2,1/2], > [-1/2,1/2,-1/2,1/2,1/2,1/2], > [-1/2,1/2,1/2,-1/2,1/2,1/2]]); > A3:= matrix(13,6,[[-1/2,1/2,1/2,1/2,-1/2,1/2], > [1/2,-1/2,-1/2,1/2,1/2,1/2], > [1/2,-1/2,1/2,-1/2,1/2,1/2], > [1/2,-1/2,1/2,1/2,-1/2,1/2], > [1/2,1/2,-1/2,-1/2,1/2,1/2], > [1/2,1/2,-1/2,1/2,-1/2,1/2], > [1/2,1/2,1/2,-1/2,-1/2,1/2], > [-1/2,-1/2,-1/2,-1/2,1/2,1/2], > [-1/2,-1/2,-1/2,1/2,-1/2,1/2], > [-1/2,-1/2,1/2,-1/2,-1/2,1/2], > [-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]]); > A:= stackmatrix(A1,A2,A3): rowdim(A); coldim(A); > Cnt:= 0; > ff:= proc(x) > if irem(C[x,1],6)=0 then x; > else 37; > end if; > end proc: > for a from 0 by 2 to 5 do > for b from 0 by 2 to 5 do > for c from 0 by 2 to 5 do > for d from 0 by 2 to 5 do > for e from 0 by 2 to 5 do > for f from 0 by 2 to 5 do > e1:= (b-c)/2: e2:= (b+c)/2: > e3:= d+e2: e4:= e+e3: e5:= f+e4: > e6:= (2*a)-e1+e2+e3+e4+e5: > B:= matrix(6,1,[[e1],[e2],[e3],[e4],[e5],[e6]]): > C:= multiply(A,B): > S:= seq(ff(i),i=1..37): > L:= MakeUnique([S]): > M:= submatrix(A,L,[1,2,3,4,5,6]): > if rank(M)=6 then Cnt:=Cnt+1; > end if: > end do; end do; end do; > end do; end do; end do; > > Cnt;