login

Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.

Half the number of nX5 binary arrays with no element equal to a strict majority of its diagonal and antidiagonal neighbors
1

%I #11 Oct 25 2019 18:12:02

%S 16,18,110,1152,8366,72962,592416,4948658,41522206,347213952,

%T 2919358170,24526252242,206222293760,1734866624642,14595269926750,

%U 122816323809792,1033547558771630,8698080884070050,73204345173096240,616106711205094050

%N Half the number of nX5 binary arrays with no element equal to a strict majority of its diagonal and antidiagonal neighbors

%C Column 5 of A183402

%H R. H. Hardin, <a href="/A183401/b183401.txt">Table of n, a(n) for n = 1..200</a>

%H Robert Israel, <a href="/A183401/a183401.txt">Linear recurrence of order 81 for n>=83</a>

%H Robert Israel, <a href="/A183401/a183401.pdf">Maple-assisted derivation of recurrence</a>

%F Linear recurrence of order 81 for n >= 83 (see links). - _Robert Israel_, Oct 25 2019

%e Some solutions with a(1,1)=0 for 4X5

%e ..0..0..1..1..1....0..1..0..0..1....0..0..0..0..0....0..1..0..0..0

%e ..1..1..0..0..0....0..1..1..0..1....1..1..1..1..1....0..1..0..1..1

%e ..0..0..0..1..1....0..1..0..0..1....1..0..0..1..1....1..1..0..1..0

%e ..1..1..1..1..0....0..1..1..1..1....1..0..0..0..0....0..0..0..1..0

%p Configs:= [seq(convert(n,base,2)[1..10],n=2^10..2^11-1)]:

%p Compatible:= proc(i,j) local Xi,Xj,k;

%p Xi:= map(t -> 2*t-1,Configs[i]);

%p Xj:= map(t -> 2*t-1,Configs[j]);

%p if Xi[6..10] <> Xj[1..5] then return 0 fi;

%p if Xi[6] = signum(Xi[2]+Xj[7]) then return 0 fi;

%p for k from 7 to 9 do if Xi[k] = signum(Xi[k-6]+Xi[k-4]+Xj[k-1]+Xj[k+1]) then return 0 fi od;

%p if Xi[10] = signum(Xi[4]+Xj[9]) then return 0 fi;

%p 1

%p end proc:

%p T:= Matrix(1024,1024,Compatible):

%p uok:= proc(i) local a,k;

%p a:= map(t -> 2*t-1, Configs[i]);

%p if a[1]=a[7] then return 0 fi;

%p for k from 2 to 4 do if a[k] = signum(a[k+4]+a[k+6]) then return 0 fi od;

%p if a[5]=a[9] then return 0 fi;

%p 1

%p end proc:

%p u:= Vector(1024, uok):

%p vok:= proc(i) local a,k;

%p a:= map(t -> 2*t-1, Configs[i]);

%p if a[6]=a[2] then return 0 fi;

%p for k from 7 to 9 do if a[k] = signum(a[k-4]+a[k-6]) then return 0 fi od;

%p if a[10]=a[4] then return 0 fi;

%p 1

%p end proc:

%p v:= Vector(1024,vok):

%p Tv[0]:= v:

%p for nn from 1 to 30 do Tv[nn]:= T . Tv[nn-1] od:

%p [32, seq(u^%T . Tv[n],n=0..30)]/2: # _Robert Israel_, Oct 25 2019

%Y Cf. A183402.

%K nonn

%O 1,1

%A _R. H. Hardin_, Jan 04 2011