%I #17 Oct 09 2013 17:01:56
%S 1,1,2,1,2,2,1,3,4,2,1,2,5,4,2,1,4,8,7,4,2,1,2,8,10,7,4,2,1,4,13,14,
%T 12,7,4,2,1,3,12,19,16,12,7,4,2,1,4,17,26,25,18,12,7,4,2,1,2,16,29,32,
%U 27,18,12,7,4,2,1,6,24,41,45,38,29,18,12,7,4,2,1,2,19,44,55,51,40,29,18,12,7,4,2,1
%N Triangle read by rows: number of espalier polycubes counted by height and volume
%C A pyramid polycube is obtained by gluing together horizontal plateaux (parallelepipeds of height 1) in such a way that (0,0,0) belongs to the first plateau and each cell with coordinate (0,b,c) belonging to the first plateau is such that b , c >= 0. If the cell with coordinates (a,b,c) belongs to the (a+1)-st plateau (a>0), then the cell with coordinates (a-1, b, c) belongs to the a-th plateau.
%C An espalier polycube is a special pyramid such that each plateau contains the cell with coordinate (a,0,0).
%F The number n_{i,j,h,v} of espaliers of volume v, height h and such that the highest plateau has volume i * j is given by the recurrence:
%F n_{i,j,h,v} = \sum_{0 <= a <= (i*j*h-v)/((h-1)j)} \sum_{0 <= b <=
%F (j(h(i+a)-a)-v)/((i+a)(k-1))} n_{i+a,j+a,h-1,v-ij}
%F The number of espaliers of volume v and height h is given by
%F n_{h,v}=\sum_{i*j<=v}n_{i,j,h,v}
%p calcRecEsp:=proc(i, j, k, l) option remember; ## Compute the number
%p n_{i,j,k,l}
%p if (l<0) then 0
%p elif (i*j*k>l) then 0
%p elif k=1 then
%p if (i*j=l) then
%p 1
%p else 0;
%p fi;
%p else
%p s:=0; a:=0; b:=0;
%p while ((i+a)*j*(k-1)<=l-i*j) do
%p b:=0;
%p while ((i+a)*(j+b)*(k-1)<=l-i*j) do
%p s:=s+calcRecEsp(i+a, j+b, k-1, l-i*j);
%p b:=b+1;
%p od;
%p a:=a+1;
%p od;
%p s;
%p fi;
%p end;
%p compteEsp:=proc(l) ### compute \sum_{v}n_{h,v}t^v
%p s:=0;
%p for k to l do
%p i:=1:
%p while (i*k<=l) do
%p j:=1;
%p while (i*k*j<=l) do
%p s:=s+t^k*calcRecEsp(i, j, k, l);
%p j:=j+1;
%p od:
%p i:=i+1;
%p od;
%p od;
%p s;
%p end;
%p [1,seq(op(convert(compteEsp(ii),list)), ii=2..200)];
%Y The numbers of espaliers counted by volume are given by A229915
%K nonn,tabl
%O 0,3
%A _Matthieu Deneufchâtel_, Oct 09 2013
|