[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