A285266 Array read by antidiagonals: T(m,n) = number of m-ary words of length n with adjacent elements differing by 2 or less.
1, 3, 1, 9, 4, 1, 27, 14, 5, 1, 81, 50, 19, 6, 1, 243, 178, 75, 24, 7, 1, 729, 634, 295, 100, 29, 8, 1, 2187, 2258, 1161, 418, 125, 34, 9, 1, 6561, 8042, 4569, 1748, 543, 150, 39, 10, 1, 19683, 28642, 17981, 7310, 2363, 668, 175, 44, 11, 1
Offset: 3
Examples
Array starts (m>=3, n>=0): 1 3 9 27 81 243 729 2187 6561 ... 1 4 14 50 178 634 2258 8042 28642 ... 1 5 19 75 295 1161 4569 17981 70763 ... 1 6 24 100 418 1748 7310 30570 127842 ... 1 7 29 125 543 2363 10287 44787 194995 ... 1 8 34 150 668 2986 13362 59816 267802 ... 1 9 39 175 793 3611 16475 75229 343633 ... 1 10 44 200 918 4236 19598 90790 420870 ...
Links
- Andrew Howroyd, Table of n, a(n) for n = 3..1277
Programs
-
Mathematica
diff = 2; m0 = 3; mmax = 12; TransferGf[m_, u_, t_, v_, z_] := Array[u, m].LinearSolve[IdentityMatrix[m] - z*Array[t, {m, m}], Array[v, m]] RowGf[d_, m_, z_] := 1+z*TransferGf[m, 1&, Boole[Abs[#1-#2] <= d]&, 1&, z]; row[m_] := row[m] = CoefficientList[RowGf[diff, m, x] + O[x]^mmax, x]; T[m_ /; m >= m0, n_ /; n >= 0] := row[m][[n + 1]]; Table[T[m - n , n], {m, m0, mmax}, {n, m - m0, 0, -1}] // Flatten (* Jean-François Alcover, Jun 17 2017, adapted from PARI *)
-
PARI
TransferGf(m,u,t,v,z)=vector(m,i,u(i))*matsolve(matid(m)-z*matrix(m,m,i,j,t(i,j)),vectorv(m,i,v(i))); RowGf(d,m,z)=1+z*TransferGf(m, i->1, (i,j)->abs(i-j)<=d, j->1, z); for(m=3, 10, print(RowGf(2,m,x))); for(m=3, 10, v=Vec(RowGf(2,m,x) + O(x^9)); for(n=1, length(v), print1( v[n], ", ") ); print(); );
Comments