// output of ./demo/perm/perm-decomp-demo.cc: // Description: //% Permutations as Kronecker products of simpler permutations. //% Nasty but useful code. arg 1: 6 == ldn [Use 2**ldn elements] default=6 Operations: gray_permute(f, n) Result: [ 0, 1, 3, 2, 7, 6, 4, 5,15,14,12,13, 8, 9,11,10, 31,30,28,29,24,25,27,26,16,17,19,18,23,22,20,21, 63,62,60,61,56,57,59,58,48,49,51,50,55,54,52,53, 32,33,35,34,39,38,36,37,47,46,44,45,40,41,43,42 ] Analysis: == gray_permute = gray_rev_permute .@ r = h @. gray_rev_permute