A285267 Array read by antidiagonals: T(m,n) = number of m-ary words of length n with adjacent elements differing by 3 or less.
1, 4, 1, 16, 5, 1, 64, 23, 6, 1, 256, 107, 30, 7, 1, 1024, 497, 154, 37, 8, 1, 4096, 2309, 788, 203, 44, 9, 1, 16384, 10727, 4034, 1111, 252, 51, 10, 1, 65536, 49835, 20650, 6083, 1446, 301, 58, 11, 1, 262144, 231521, 105708, 33305, 8300, 1787, 350, 65, 12, 1
Offset: 4
Examples
Array starts (m>=4, n>=0): 1 4 16 64 256 1024 4096 16384 ... 1 5 23 107 497 2309 10727 49835 ... 1 6 30 154 788 4034 20650 105708 ... 1 7 37 203 1111 6083 33305 182349 ... 1 8 44 252 1446 8300 47642 273466 ... 1 9 51 301 1787 10619 63111 375091 ... 1 10 58 350 2130 12990 79258 483646 ... 1 11 65 399 2473 15381 95757 596341 ...
Links
- Andrew Howroyd, Table of n, a(n) for n = 4..1278
Programs
-
Mathematica
diff = 3; m0 = 4; mmax = 13; 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=4, 12, print(RowGf(3,m,x))); for(m=4, 12, v=Vec(RowGf(3,m,x) + O(x^9)); for(n=1, length(v), print1( v[n], ", ") ); print(); );
Comments