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.

A227925 Triangle read by rows: number of espalier polycubes counted by height and volume.

Original entry on oeis.org

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, 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, 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
Offset: 0

Views

Author

Matthieu Deneufchâtel, Oct 09 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).

Crossrefs

The numbers of espaliers counted by volume are given by A229915

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;
    [1,seq(op(convert(compteEsp(ii),list)), ii=2..200)];

Formula

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:
n_{i,j,h,v} = \sum_{0 <= a <= (i*j*h-v)/((h-1)j)} \sum_{0 <= b <=
(j(h(i+a)-a)-v)/((i+a)(k-1))} n_{i+a,j+a,h-1,v-ij}
The number of espaliers of volume v and height h is given by
n_{h,v}=\sum_{i*j<=v}n_{i,j,h,v}