|
|
A298682
|
|
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 4 markings after n iterations.
|
|
6
|
|
|
1, 2, 4, 8, 28, 92, 352, 1280, 4828, 17900, 67024, 249680, 932716, 3479132, 12987904, 48464288, 180885628, 675045452, 2519361712, 9402270320, 35089981708, 130957132220, 488739595744, 1823999153600, 6807261212956, 25405037309612, 94812904802704
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,2
|
|
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 one more than the number of squares after n iterations when starting with the triangle with 4 markings.
|
|
LINKS
|
|
|
FORMULA
|
G.f.: (1 + x)*(1 - 2*x - 5*x^2) / ((1 - x)*(1 + 2*x)*(1 - 4*x + x^2)).
a(n) = (1/13)*(26 + (-2)^n + (2+sqrt(3))^n*(-7+5*sqrt(3)) - (2-sqrt(3))^n*(7+5*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[2], ", "); i++; if(i==n, break, v=substitute(v)))
(PARI) Vec((1 + x)*(1 - 2*x - 5*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
|
|
|
|