[seqfan] Re: decomposing partitions, is this new?

Wouter Meeussen wouter.meeussen at telenet.be
Sun May 5 19:29:16 CEST 2013


Hi all,

Number of partitions of n with a p-core of sum k with k=0 .. n
for p= 2, 3, 4, 5, 7 etc

quite simple really:

for p=3:
*    First column: A000716 :: Number of partitions of n into parts of 3 
kinds.
*    row sums : P(n)
*    T(n,n) :: A033687:: Theta series of hexagonal lattice A_2 with respect 
to deep hole. Number of 3-core
        partitions of n (denoted c_3(n) in Granville and Ono, p. 340). - 
Brian Hopkins, May 13 2008
*    Zero columns for all zeros of A033687 above
*    T(n,k) = A000716(n-k)*A033687(k) : Number of partitions of n with a 
3-core of weight k.
*    Also works mutatis mutandis (t-> 2, 3, 4 ..) for other cores.

Again, is this new?

Wouter.


WARNING, gobbledigook below this line
-----------------------------------------------------------------------------------------------------------------
(* all "/. p->3" below can be replaced by "/. p->5" or any other 'core'  *)
<<Combinatorica`;
Table[Drop[CoefficientList[x^(n+1)+Tr[x^ Tr[First[ coredecompose[#,p]]]& /@ 
Partitions[n] /. p->3],x],-1],{n,0,12}];  %  //Grid
1
0    1
0    0    2
3    0    0    0
0    3    0    0    2
0    0    6    0    0    1
9    0    0    0    0    0    2
0    9    0    0    6    0    0    0
0    0    18    0    0    3    0    0    1
22    0    0    0    0    0    6    0    0    2
0    22    0    0    18    0    0    0    0    0    2
0    0    44    0    0    9    0    0    3    0    0    0
51    0    0    0    0    0    18    0    0    6    0    0    2


aa[n_Integer]:= If[n==0,1,Coefficient[Series[Product[(1-x^(p 
k))^p/(1-x^k),{k,n}]/. p->3,{x,0,n}],x^n]];
bb[n_Integer]:=If[n==0,1,Coefficient[Series[Product[1/(1-x^k)^p,{k,n}]/. 
p->3,{x,0,n}],x^n]];

Table[bb[ (n-k)/p] KroneckerDelta[Mod[n-k,p]] aa[k]  /. 
p->3,{n,0,12},{k,0,n}]//Grid
1
0    1
0    0    2
3    0    0    0
0    3    0    0    2
0    0    6    0    0    1
9    0    0    0    0    0    2
0    9    0    0    6    0    0    0
0    0    18    0    0    3    0    0    1
22    0    0    0    0    0    6    0    0    2
0    22    0    0    18    0    0    0    0    0    2
0    0    44    0    0    9    0    0    3    0    0    0
51    0    0    0    0    0    18    0    0    6    0    0    2

with helper functions:

toEdge[{}]:={};
toEdge[par_?PartitionQ]:=Reverse[Flatten[(par-PadRight[Rest[par],Length[par]])/. 
i_Integer:>{1, 0*Range@ i}]];
fromEdge[{}]:={};
fromEdge[edge:{(1|0)..}]:=DeleteCases[Reverse[Rest[FoldList[Plus,0,Reverse[Count[#,0]&/@ 
Split[Reverse@ edge, FreeQ[#2,1]&]]]]],0];
coredecompose[{},_Integer]:={{}};
coredecompose[par_?PartitionQ,core_Integer]:=Block[{temp},temp=Transpose[Partition[toEdge[par],core,{core},1,0]];
   fromEdge/@Join[{If[MatchQ[#,{1..}|{0 
..}],{},Take[#,Flatten[{First[Position[#,0]],Last[Position[#,1]]}]]]& @ 
Flatten[Transpose[Reverse[Sort[#]]&/@ temp]] },
If[MatchQ[#,{1..}|{0 
..}],{},Take[#,Flatten[{First[Position[#,0]],Last[Position[#,1]]}]]]& /@ 
temp] ];

(* pardon my 'french' *)
-----------------------------------------------------------------------------------------------------------------


-----Original Message----- 
From: Wouter Meeussen
Sent: Sunday, March 31, 2013 8:34 PM
To: seqfan
Subject: decomposing partitions, is this new? 




More information about the SeqFan mailing list