%I #17 Mar 02 2022 13:02:46
%S 0,3,6,33,102,423,1494,5745,21102,79431,295086,1103985,4114710,
%T 15367143,57329286,213999153,798569022,2980473543,11122931934,
%U 41512040625,154923657702,578185735911,2157812994486,8053078824945,30054477139470,112164880064583
%N Start with the hexagonal tile of the Shield tiling and recursively apply the substitution rule. a(n) is the number of square tiles after n iterations.
%C The following substitution rules apply to the tiles:
%C triangle with 6 markings -> 1 hexagon
%C triangle with 4 markings -> 1 square, 2 triangles with 4 markings
%C square -> 1 square, 4 triangles with 6 markings
%C hexagon -> 7 triangles with 6 markings, 3 triangles with 4 markings, 3 squares
%C a(n) is also the number of triangles with 4 markings after n+1 iterations when starting with the hexagonal tile.
%C a(n) is also the number of square tiles after n+1 iterations when starting with the hexagonal tile.
%H Colin Barker, <a href="/A298679/b298679.txt">Table of n, a(n) for n = 0..1000</a>
%H F. Gähler, <a href="https://doi.org/10.1016/0022-3093(93)90335-U">Matching rules for quasicrystals: the composition-decomposition method</a>, Journal of Non-Crystalline Solids, 153-154 (1993), 160-164.
%H Tilings Encyclopedia, <a href="https://tilings.math.uni-bielefeld.de/substitution/shield">Shield</a>
%H <a href="/index/Rec#order_03">Index entries for linear recurrences with constant coefficients</a>, signature (2,7,-2).
%F From _Colin Barker_, Jan 25 2018: (Start)
%F G.f.: 3*x / ((1 + 2*x)*(1 - 4*x + x^2)).
%F a(n) = (1/26)*(-3*(-1)^n*2^(2+n) + (6-5*sqrt(3))*(2-sqrt(3))^n + (2+sqrt(3))^n*(6+5*sqrt(3))).
%F a(n) = 2*a(n-1) + 7*a(n-2) - 2*a(n-3) for n>2.
%F (End)
%t CoefficientList[Series[ 3x/((1+2x)(1-4x+x^2)) ,{x,0,40}],x] (* or *) LinearRecurrence[{2,7,-2},{0,3,6},40] (* _Harvey P. Dale_, Mar 02 2022 *)
%o (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. */
%o 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
%o terms(n) = my(v=[0, 0, 0, 1], i=0); while(1, print1(v[3], ", "); i++; if(i==n, break, v=substitute(v)))
%o (PARI) concat(0, Vec(3*x / ((1 + 2*x)*(1 - 4*x + x^2)) + O(x^40))) \\ _Colin Barker_, Jan 25 2018
%Y Cf. A298678, A298680, A298681, A298682, A298683.
%K nonn,easy
%O 0,2
%A _Felix Fröhlich_, Jan 24 2018
%E More terms from _Colin Barker_, Jan 25 2018