login
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
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
F. Gähler, Matching rules for quasicrystals: the composition-decomposition method, Journal of Non-Crystalline Solids, 153-154 (1993), 160-164.
Tilings Encyclopedia, Shield
FORMULA
From Colin Barker, Jan 25 2018: (Start)
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
Felix Fröhlich, Jan 24 2018
EXTENSIONS
More terms from Colin Barker, Jan 25 2018
STATUS
approved