{ p = [0]; w = 1; for (k=0, 3, \\ horizontal duplication p = concat([ apply(z -> z, p), apply(z -> 2*w-1-real(z)+I*imag(z), Vecrev(p)), apply(z -> 2*w+z, p) ]); \\ vertical duplication p = concat([ apply(z -> z, p), apply(z -> I*(2*w-1-imag(z))+real(z), Vecrev(p)), apply(z -> I*2*w+z, p) ]); w*=3; ); m = matrix(w,w); for (n=1, #p, m[1+real(p[n]), 1+imag(p[n])]=n-1); for (n=1, #p, print (n-1" "m[1+imag(p[n]), 1+real(p[n])])); } quit