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.
%I A328506 #27 Oct 24 2019 10:52:24 %S A328506 1,5,16,36,66,101,160,218,285,374,464,565,680,815,969,1124,1282,1467, %T A328506 1659,1863,2091,2346,2559,2824,3100,3411,3690,4043,4380,4697,5060, %U A328506 5468,5833,6266,6670,7132,7595,8006,8502,9004,9518,10039,10609,11155,11740,12304,12971,13603,14202,14861,15532,16217 %N A328506 Iteration of Abelian sandpile model where the n-th matrix expansions occurs. Begins with infinite sand in 1 X 1 matrix. %C A328506 The Abelian sandpile model is a cellular automaton considering the behavior of sand grains on a square grid. Any square containing 4 or more grains will topple, sending a grain to each of its 4 neighbors and subtracting 4 grains from itself. %C A328506 Here, expansion refers to the addition of a boundary layer to the outside of the existing matrix when the model reaches beyond the previous matrix boundary. %e A328506 _ _ _ _ _ %e A328506 _ _ _ _ _ _ _ _ _ _ _ _ |0|0|1|0|0| %e A328506 _ |0|1|0| |0|2|0| |0|3|0| |0|4|0| |0|2|1|2|0| %e A328506 |∞| -> |1|∞|1| -> |2|∞|2| -> |3|∞|3| -> |4|∞|4| -> |1|1|∞|1|1| -> ... %e A328506 ‾ |0|1|0| |0|2|0| |0|3|0| |0|4|0| |0|2|1|2|0| %e A328506 ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ |0|0|1|0|0| %e A328506 ‾ ‾ ‾ ‾ ‾ %e A328506 ^ ^ %e A328506 1st expansion on 2nd expansion on %e A328506 1st iteration (a(1) = 1) 5th iteration (a(2) = 5) %o A328506 (MATLAB) %o A328506 L = 3; %o A328506 plane = zeros(3,3); %o A328506 plane(2,2) = 99999999999999999999999999999999999999999999999; %o A328506 listn = []; %o A328506 for n = 1:50000 %o A328506 plane2 = plane; %o A328506 for r = 1:L %o A328506 for c = 1:L %o A328506 if plane(r,c) > 3 %o A328506 plane2(r,c) = plane2(r,c) - 4; %o A328506 plane2(r-1,c) = plane2(r-1,c)+1; %o A328506 plane2(r+1,c) = plane2(r+1,c)+1; %o A328506 plane2(r,c-1) = plane2(r,c-1)+1; %o A328506 plane2(r,c+1) = plane2(r,c+1)+1; %o A328506 end %o A328506 end %o A328506 end %o A328506 if sum(plane2(:,1))+sum(plane2(1,:)) > 0 %o A328506 plane2 = padarray(plane2,[1,1]); %o A328506 L = L+2; %o A328506 listn = [listn n]; %o A328506 end %o A328506 plane = plane2; %o A328506 end %o A328506 fprintf('%s\n', sprintf('%d,', listn)) %o A328506 (PARI) %o A328506 Step(M)={my(n=#M, R=matrix(n,n)); for(i=2, n-1, for(j=2, n-1, if(M[i,j]>=4, R[i,j]-=4; R[i,j+1]++; R[i,j-1]++; R[i-1,j]++; R[i+1,j]++))); M+R} %o A328506 Expand(M)={my(n=#M, R=matrix(n+2, n+2)); for(i=1, n, for(j=1, n, R[i+1, j+1]=M[i,j])); R} %o A328506 seq(n)={my(L=List(), M=matrix(3,3), k=0); while(#L<n, k++; my(o=#L+2); M[o,o]=4; M=Step(M); if(M[1,], M=Expand(M); listput(L,k))); Vec(L)} \\ _Andrew Howroyd_, Oct 23 2019 %Y A328506 Cf. A259013, A249872. %K A328506 nonn %O A328506 1,2 %A A328506 _Parker Grootenhuis_, Oct 22 2019