A065659 The table of permutations of N, each row induced by the rotation (to the left) of the n-th node in the infinite binary "decimal" fraction tree.
4, 16, 1, 22, 136, 1, 64, 3, 2, 1, 8, 64, 25, 2, 1, 160, 19, 4, 3, 76, 1, 1, 6, 5, 4, 3, 2, 1, 256, 7, 97, 5, 4, 3328, 2, 1, 32, 256, 13, 6, 167772160, 4, 3, 2, 1, 67, 1054, 8, 7, 6, 5, 4, 3, 2, 1, 34, 4, 9, 130, 7, 97, 5, 4, 3, 1249, 1, 1279, 40, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 12
Offset: 0
Crossrefs
The first row (rotate the top node left): A065661, 2nd row (rotate the top node's left child): A065663, 3rd row (rotate the top node's right child): A065665, 4th row: A065667, 5th row: A065669, 6th row: A065671, 7th row: A065673. Cf. also A065674-A065676. For the other needed Maple procedures follow A065658 which gives the inverse permutations.
Programs
-
Maple
[seq(RotateBinFracLeftTable(j),j=0..119)]; RotateBinFracLeftTable := n -> RotateBinFracNodeLeft(1+(n-((trinv(n)*(trinv(n)-1))/2)),(((trinv(n)-1)*(((1/2)*trinv(n))+1))-n)+1); RotateBinFracNodeLeft := (t,n) -> frac2position_in_0_1_SB_tree(RotateBinFracNodeLeft_x(t,SternBrocot0_1frac(n))); RotateBinFracNodeLeft_x := proc(t,x) local num,den; den := 2^(1+floor_log_2(t)); num := (2*(t-(den/2)))+1; if((x <= (num-1)/den) or (x >= (num+1)/den)) then RETURN(x); fi; if(x >= ((2*num)+1)/(2*den)) then RETURN(((num-1)/den) + (2*(x - (num/den)))); fi; if(x > (num/den)) then RETURN(x - (1/(2*den))); fi; RETURN(((num-1)/den) + ((x-((num-1)/den))/2)); end; SternBrocot0_1frac := proc(n) local m; m := n + 2^floor_log_2(n); SternBrocotTreeNum(m)/SternBrocotTreeDen(m); end; frac2position_in_0_1_SB_tree := r -> RETURN(ReflectBinTreePermutation(cfrac2binexp(convert(1/r,confrac))));
Comments