cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A230118 Numbers of quasi-espalier polycubes of a given volume (number of atomic cells).

Original entry on oeis.org

1, 2, 4, 7, 12, 18, 29, 42, 61, 87, 122, 167, 229, 306, 409, 538, 705, 915, 1182, 1509, 1927, 2438, 3075, 3854, 4814, 5985, 7416, 9144, 11253, 13784, 16845, 20512, 24922, 30179, 36470, 43939, 52841, 63378, 75864, 90605, 108022, 128496, 152603, 180865, 214044, 252826, 298192, 351108, 412832, 484632, 568157
Offset: 1

Views

Author

Matthieu Deneufchâtel, Oct 10 2013

Keywords

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.

Crossrefs

Programs

  • 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)];