%I #31 Jul 07 2020 04:17:46
%S 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,3,3,1,1,1,1,5,4,5,1,1,1,1,8,11,11,
%T 8,1,1,1,1,13,15,36,15,13,1,1,1,1,21,41,95,95,41,21,1,1,1,1,34,56,281,
%U 192,281,56,34,1,1,1,1,55,153,781,1183,1183,781,153,55,1,1,1,1,89,209,2245,2415,6728,2415,2245,209,89,1,1
%N Array A(m,n) read by antidiagonals: number of domino tilings of the m X n grid with upper left corner removed iff m*n is odd, (m>=0, n>=0).
%H Alois P. Heinz, <a href="/A189006/b189006.txt">Antidiagonals n = 0..75, flattened</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/PerfectMatching.html">Perfect Matching</a>
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/FKT_algorithm">FKT algorithm</a>
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Matching_(graph_theory)">Matching (graph theory)</a>
%H <a href="/index/Do#domino">Index entries for sequences related to dominoes</a>
%e A(3,3) = 4, because there are 4 domino tilings of the 3 X 3 grid with upper left corner removed:
%e . .___. . .___. . .___. . .___.
%e ._|___| ._|___| ._| | | ._|___|
%e | |___| | | | | | |_|_| |___| |
%e |_|___| |_|_|_| |_|___| |___|_|
%e Array begins:
%e 1, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 1, 1, 1, 1, 1, ...
%e 1, 1, 2, 3, 5, 8, 13, ...
%e 1, 1, 3, 4, 11, 15, 41, ...
%e 1, 1, 5, 11, 36, 95, 281, ...
%e 1, 1, 8, 15, 95, 192, 1183, ...
%e 1, 1, 13, 41, 281, 1183, 6728, ...
%p with(LinearAlgebra):
%p A:= proc(m, n) option remember; local i, j, s, t, M;
%p if m=0 or n=0 then 1
%p elif m<n then A(n, m)
%p else s:= irem(n*m, 2);
%p M:= Matrix(n*m-s, shape=skewsymmetric);
%p for i to n do
%p for j to m do
%p t:= (i-1)*m+j-s;
%p if i>1 or j>1 or s=0 then
%p if j<m then M[t, t+1]:= 1 fi;
%p if i<n then M[t, t+m]:= 1-2*irem(j, 2) fi
%p fi
%p od
%p od;
%p isqrt(Determinant(M))
%p fi
%p end:
%p seq(seq(A(m, d-m), m=0..d), d=0..15);
%t A[1, 1] = 1; A[m_, n_] := A[m, n] = Module[{i, j, s, t, M}, Which[m == 0 || n == 0, 1, m < n, A[n, m], True, s = Mod[n*m, 2];M[i_, j_] /; j < i := -M[j, i]; M[_, _] = 0; For[i = 1, i <= n, i++, For[j = 1, j <= m, j++, t = (i-1)*m+j-s; If[i > 1 || j > 1 || s == 0, If[j < m, M[t, t+1] = 1]; If[i < n, M[t, t+m] = 1-2*Mod[j, 2]]]]]; Sqrt[Det[Array[M, {n*m-s, n*m-s}]]]]]; Table[Table[A[m, d-m], {m, 0, d}], {d, 0, 15}] // Flatten (* _Jean-François Alcover_, Dec 26 2013, translated from Maple *)
%Y Rows m=0+1, 2-12 give: A000012, A000045(n+1), A002530(n+1), A005178(n+1), A189003, A028468, A189004, A028470, A189005, A028472, A210724, A028474.
%Y Main diagonal gives: A189002.
%Y Cf. A099390, A187596, A187616, A187617, A187618, A004003.
%K nonn,tabl
%O 0,13
%A _Alois P. Heinz_, Apr 15 2011