[math-fun] two bijections odd <-> strict partitions
upto now, I collected two (odd - strict) bijections. The first, thanks to Neil (njas) & Bill (rwg) for explaining the (Hardy and Wright) -way: odd-> strict : keep pairwise adding repeated integers until no more repeats, strict -> odd: keep splitting evens in two repeating halfs until no more evens. These are cute Mathematica one-liners: odd2strict[li:{__Integer}]:= Reverse[Sort[li //. {a___,b_,b_,c___} :> Sort[{a,2b,c}] ]] strict2odd[li:{__Integer}]:= Reverse[Sort[li //. q_?EvenQ -> Sequence[q/2,q/2] ]] The second, thanks to Rich (rkg) for explaining the Franklin (?)-way. This one is more tricky, and gives not-so-nice Mma-functions: rkg2strict[par:{__Integer}] := Block[{rr = Length[par], cc = Max[par], t1, t2}, t1 = Table[If[c<cc/2, Min[2*r,cc+1-2*c],0] + If[c>=cc/2,Min[2*r-1, 2*c-cc],0], {r,rr}, {c,cc}]; t2 = Table[Take[t1[[k]], {cc/2- par[[k]]/2 +1, cc/2+ par[[k]]/2}], {k, rr}]; Length /@ Split[Sort[Flatten[t2]]] ] rkg2odd[par:{__Integer}] := Block[{zero, one, two, three, four, five, argu, p1, p2}, zero = par - Reverse[Range[Length[par]]]; one = zero - Append[Rest[zero], 0]; two = Partition[one, 2, 2, {1, 1}, 0]; three = Reverse /@ Transpose[two]; width = 1 + 2*Floor[Length[par]/2]; hight = Floor[Length[par]/2 + 1/2]; four= Rest[FoldList[Plus, 0, Last[three]]]; five= Rest[FoldList[Plus, 0, First[three]]]; p1 = width + 2*Reverse[four]; argu = hight + five; p2 = (-1 + 2*Count[argu, q_/; q >= #1]&)/@ Range[Length[p1]+1, Last[argu]]; Join[p1, p2] ] the Pretty Bit in all this of course graphical: take the strict 24,18,13,9,2,1 as test, it has 6 parts, so 6,5,4,3,2,1 is its 'minor'. Plot the (not quite Ferrer of the) minor as one 6, two 5's, three 4's, ... 2 2 2 1 1 1 1 4 4 2 1 3 3 3 6 4 2 1 3 5 5 where . . 2 1 . . . . 4 . . 3 . . 6 . . . . 5 . is the frame with two diagonals, and the empty spaces are filled from the left when right of the right diagonal, and from the right when left of the left diagonal, and from above otherwise. Now complete the 'minor' for the 'excess' of the test: excess :: 24-6=18 extra 1's, 18-5=13 extra 2's, 13-4= 9 extra 3's, 9-3=6 extra 4's, 2-2=0 extra 5's and also no extra 6's. 2 2 2 2 2 2 2 2 2 2 x x x x x x x 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 x x x x x x x 3 3 3 3 3 3 x x x x x x x 2 1 3 2 1 3 2 1 3 1 1 1 1 1 by first completing the 6 extra 4's to the left (where the evens are in the minor), then completing the 9 extra 3's, from right to left (keeping symmetry) and extending below whatever sticks out; This bit sticking out determines where the 13 extra 2's go, upward, and the 10 stragglers peeping out to the top left ... Finally, simply read off the lengths of the rows: 27,19,7,3,3,3,1,1,1,1,1 Wow, this was fun! Any more such bijections? W.
participants (1)
-
wouter meeussen