OFFSET
1,2
COMMENTS
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.
An espalier polycube is a special pyramid such that each plateau contains the cell with coordinate (a,0,0).
Quasi espaliers are espaliers from which all the cells with coordinates (a,0,0) have been removed.
If E(x,h) denotes the generating function of espalier polycubes, x^(-h) E(x,h) converges when h tends to infinity towards a series which is the generating function of quasi-espalier polycubes.
MAPLE
calcRecEsp:=proc(i, j, k, l) option remember;
## Compute the number n_{i, j, k, l}
if (l<0) then 0
elif (i*j*k>l) then 0
elif k=1 then
if (i*j=l) then
1
else 0;
fi;
else
s:=0; a:=0; b:=0;
while ((i+a)*j*(k-1)<=l-i*j) do
b:=0;
while ((i+a)*(j+b)*(k-1)<=l-i*j) do
s:=s+calcRecEsp(i+a, j+b, k-1, l-i*j);
b:=b+1;
od;
a:=a+1;
od;
s;
fi;
end;
compteEsp:=proc(l) ### compute \sum_{v}n_{h, v}t^v
s:=0;
for k to l do
i:=1:
while (i*k<=l) do
j:=1;
while (i*k*j<=l) do
s:=s+t^k*calcRecEsp(i, j, k, l);
j:=j+1;
od:
i:=i+1;
od;
od;
s;
end;
enum = [seq(op(convert(compteEsp(ii), list)), ii=2..200)];
serie_quasi_Esp:=proc(l)global enum; local ii;
map(coeff, enum, t^l);
select(x->x>0, %);
sum(t^(ii-1)*%[ii], ii=1..nops(%));
end;
serie_quasi_Esp(100):
[1, seq(coeff(%, t^ii)-1, ii=1..50)];
CROSSREFS
KEYWORD
nonn
AUTHOR
Matthieu Deneufchâtel, Oct 10 2013
STATUS
approved