|
|
A298680
|
|
Start with the triangle with 4 markings of the Shield tiling and recursively apply the substitution rule. a(n) is the number of triangles with 6 markings after n iterations.
|
|
6
|
|
|
0, 0, 4, 12, 56, 192, 756, 2748, 10408, 38544, 144452, 537900, 2009880, 7496160, 27985684, 104424732, 389756936, 1454515632, 5428480356, 20259056268, 75608443768, 282173320704, 1053087635252, 3930171627900, 14667610061160, 54740246247120, 204293419666564
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
The following substitution rules apply to the tiles:
triangle with 6 markings -> 1 hexagon
triangle with 4 markings -> 1 square, 2 triangles with 4 markings
square -> 1 square, 4 triangles with 6 markings
hexagon -> 7 triangles with 6 markings, 3 triangles with 4 markings, 3 squares
a(n) is also the number of hexagonal tiles after n+1 iterations when starting with the triangle with 4 markings.
|
|
LINKS
|
|
|
FORMULA
|
G.f.: 4*x^2 / ((1 - x)*(1 + 2*x)*(1 - 4*x + x^2)).
a(n) = (1/39)*(-26 + (-1)^n*2^(3+n) - (2-sqrt(3))^n*(-9+sqrt(3)) + (2+sqrt(3))^n*(9+sqrt(3))).
a(n) = 3*a(n-1) + 5*a(n-2) - 9*a(n-3) + 2*a(n-4) for n>3.
(End)
|
|
PROG
|
(PARI) /* The function substitute() takes as argument a 4-element vector, where the first, second, third and fourth elements respectively are the number of triangles with 6 markings, the number of triangles with 4 markings, the number of squares and the number of hexagons that are to be substituted. The function returns a vector w, where the first, second, third and fourth elements respectively are the number of triangles with 6 markings, the number of triangles with 4 markings, the number of squares and the number of hexagons resulting from the substitution. */
substitute(v) = my(w=vector(4)); for(k=1, #v, while(v[1] > 0, w[4]++; v[1]--); while(v[2] > 0, w[3]++; w[2]=w[2]+2; v[2]--); while(v[3] > 0, w[3]++; w[1]=w[1]+4; v[3]--); while(v[4] > 0, w[1]=w[1]+7; w[2]=w[2]+3; w[3]=w[3]+3; v[4]--)); w
terms(n) = my(v=[0, 1, 0, 0], i=0); while(1, print1(v[1], ", "); i++; if(i==n, break, v=substitute(v)))
(PARI) concat(vector(2), Vec(4*x^2 / ((1 - x)*(1 + 2*x)*(1 - 4*x + x^2)) + O(x^40))) \\ Colin Barker, Jan 25 2018
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,easy
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|