login
Triangle A177517 mod 2. Mahonian numbers modulo 2.
2

%I #18 Sep 08 2022 08:45:55

%S 1,0,1,0,0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0,0,0,0,0,1,

%T 1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,1,0,1,1,1,0,1,0,0,

%U 0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,0,0,0,0,1,0,1,1,0,0,1,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,0,0,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,1,0,1

%N Triangle A177517 mod 2. Mahonian numbers modulo 2.

%C Each column is a palindrome. The left half of the triangle displays chaos, the right half consists of triangles filled with zeros. Pattern is similar to patterns found in elementary cellular automata. The rule is different.

%C Compare the recurrence for this triangle:

%C T(1,1)=1, n > 1: T(n,1)=0, k > 1: T(n,k) = (Sum_{i=1..k-1} of T(n-i,k-1)) mod 2

%C with the recurrence for Dirichlet convolutions:

%C T(n,1)=1, k > 1: T(n,k) = ((Sum_{i=1..k-1} T(n-i,k-1)) mod 2) - ((Sum_{i=1..k-1} T(n-i,k)) mod 2) which in turn gives triangle A051731.

%H G. C. Greubel, <a href="/A186518/b186518.txt">Rows n = 1..100 of triangle, flattened</a>

%H Mats Granvik, <a href="/A186518/a186518.gif">Illustration of terms</a>

%F T(1,1)=1, n > 1: T(n,1)=0, k > 1: T(n,k) = (Sum_{i=1..k-1} T(n-i,k-1)) mod 2.

%e Triangle starts:

%e 1;

%e 0, 1;

%e 0, 0, 1;

%e 0, 0, 1, 1;

%e 0, 0, 0, 0, 1;

%e 0, 0, 0, 0, 1, 1;

%e 0, 0, 0, 1, 1, 0, 1;

%e 0, 0, 0, 0, 0, 1, 1, 1;

%e 0, 0, 0, 0, 1, 1, 0, 0, 1;

%e 0, 0, 0, 0, 1, 0, 1, 0, 1, 1;

%e 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1;

%p T:= proc(n, k) option remember;

%p if k=n then 1

%p else `mod`( add(T(n-j, k-1), j=1..k-1), 2)

%p fi; end:

%p seq(seq(T(n, k), k=1..n), n=1..12); # _G. C. Greubel_, Dec 17 2019

%t nn = 19; t[n_, 1] = If[n==1, 1, 0]; t[n_, k_]:= t[n, k] = If[n>= k, Mod[Sum[t[n-i, k-1], {i, 1, k-1}], 2], 0]; Flatten[Table[t[n, k], {n, nn}, {k, n}]] (* _Mats Granvik_, Dec 06 2019 *)

%o (Excel cell formula, European) =if(column()=1; if(row()=1;1;0); if(row()>=column(); mod(sum(indirect(address(row()-column()+1; column()-1; 4)&":"&address(row()-1; column()-1; 4); 4));2); 0))

%o (Excel cell formula, American) =if(column()=1, if(row()=1,1,0), if(row()>=column(), mod(sum(indirect(address(row()-column()+1, column()-1, 4)&":"&address(row()-1, column()-1, 4), 4)),2), 0))

%o (PARI) T(n,k) = if(k<1 || k>n, 0, if(k==n, 1, sum(j=1,k-1, T(n-j,k-1))%2 ));

%o for(n=1,12, for(k=1,n, print1(T(n,k), ", "))) \\ _G. C. Greubel_, Dec 17 2019

%o (Magma)

%o function T(n,k)

%o if k lt 0 or k gt n then return 0;

%o elif k eq n then return 1;

%o elif k eq 1 then return 0;

%o else return (&+[T(n-j,k-1): j in [1..k-1]]) mod 2;

%o end if; return T; end function;

%o [T(n,k): k in [1..n], n in [1..12]]; // _G. C. Greubel_, Dec 17 2019

%o (Sage)

%o @CachedFunction

%o def T(n, k):

%o if (k<0 or k>n): return 0

%o elif (k==n): return 1

%o elif (k==1): return 0

%o else: return mod( sum(T(n-j, k-1) for j in (1..k-1)), 2)

%o [[T(n, k) for k in (1..n)] for n in (1..12)] # _G. C. Greubel_, Dec 17 2019

%o (GAP)

%o T:= function(n,k)

%o if k<0 or k>n then return 0;

%o elif k=n then return 1;

%o elif k=1 then return 0;

%o else return Sum([1..k-1], j-> T(n-j,k-1)) mod 2;

%o fi;

%o end;

%o Flat(List([1..12], n-> List([1..n], k-> T(n,k) ))); # _G. C. Greubel_, Dec 17 2019

%Y Cf. A177517, A008302, A186519 (row sums).

%K nonn,tabl

%O 1

%A _Mats Granvik_, Feb 23 2011