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.

A230119 Numbers of quasi-pyramid polycubes of a given volume (number of atomic cells).

Original entry on oeis.org

3, 9, 23, 47, 91, 169, 291, 494, 815, 1295, 2043, 3155, 4775, 7165, 10599, 15458, 22455, 32145, 45659, 64519, 90247, 125493, 173515, 238153, 325423, 442169, 597575, 804203, 1077283, 1436593, 1908571, 2525611, 3329391, 4373969, 5726611, 7472763, 9721983, 12608475, 16305179, 21027921, 27043631, 34689187, 44385995, 56652421, 72137483, 91645813, 116167379, 146932651, 185456419, 233594265
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.
A quasi-pyramid polycube is an object obtained from a pyramid by removing all the cells with coordinates (a,b,c) with 1 <= a <= h for a fixed pair (b,c) chosen among the triples (h,b,c) such that there is a cell with coordinates (h,b,c) in the pyramid ((h,b,c) belongs to the highest plateau of the pyramid).
If Q(x) denotes the generating function of the quasi-pyramids and P(x,h) the generating function of the pyramids counted by height, then the x^(-h) P(x,h) converges when h goes to infinity and the limit is Q(x) + x/(1-x).

Crossrefs

Programs

  • Maple
    calcPyr:=proc(i, j, k, l) option remember;
    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+(a+1)*(b+1)*calcPyr(i+a, j+b, k-1, l-i*j);
    b:=b+1;
    od;
    a:=a+1;
    od;
    s;
    fi;
    end;
    countPyr:=proc(l)
    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*calcRecPyr(i, j, k, l);
    j:=j+1;
    od:
    i:=i+1;
    od;
    od;
    s;
    end;
    enum=[seq(countPyr(ii), ii=1..200)];
    serie_quasiPyr:=proc(l) global enum;local ii;
    map(coeff,enump,t^l);
    select(x->x>0,%);
    sum(t^(ii-1)*%[ii],ii=1..nops(%));
    end;
    serie_quasiPyr(100):
    [1,seq(coeff(%,t^ii)-1,ii=1..50)];