OFFSET
0,5
LINKS
Alois P. Heinz, Rows n = 0..12, flattened
David A. Klarner and Spyros S. Magliveras, The number of tilings of a block with blocks, European Journal of Combinatorics 9 (1988), 317-330.
Joshua Smith and Helena Verrill, On dividing rectangles into rectangles
FORMULA
T(n,k) = A116694(n,k).
EXAMPLE
Triangle begins:
n\k| 0 1 2 3 4 5 6
---+--------------------------------------------------------
0| 1;
1| 1, 1;
2| 1, 2, 8;
3| 1, 4, 34, 322;
4| 1, 8, 148, 3164, 70878;
5| 1, 16, 650, 31484, 1613060, 84231996;
6| 1, 32, 2864, 314662, 36911922, 4427635270, 535236230270;
...
MAPLE
M:= proc(n) option remember; local k; k:= 2^(n-2);
`if`(n=1, Matrix([2]), Matrix(2*k, (i, j)->`if`(i<=k,
`if`(j<=k, M(n-1)[i, j], B(n-1)[i, j-k]),
`if`(j<=k, B(n-1)[i-k, j], 2*M(n-1)[i-k, j-k]))))
end:
B:= proc(n) option remember; local k; k:=2^(n-2);
`if`(n=1, Matrix([1]), Matrix(2*k, (i, j)->`if`(i<=k,
`if`(j<=k, B(n-1)[i, j], B(n-1)[i, j-k]),
`if`(j<=k, B(n-1)[i-k, j], M(n-1)[i-k, j-k]))))
end:
T:= proc(n, m) option remember; `if`((s-> 0 in s or s={1})(
{n, m}), 1, `if`(m>n, T(m, n), add(i, i=map(rhs,
[op(op(2, M(m)^(n-1)))]))))
end:
seq(seq(T(n, k), k=0..n), n=0..8); # Alois P. Heinz, Mar 23 2020
MATHEMATICA
M[n_] := M[n] = Module[{k = 2^(n - 2)}, If[n == 1, {{2}}, Table[If[i <= k, If[j <= k, M[n - 1][[i, j]], B[n - 1][[i, j - k]]], If[j <= k, B[n - 1][[i - k, j]], 2 M[n - 1][[i - k, j - k]]]], {i, 1, 2k}, {j, 1, 2k}]]];
B[n_] := B[n] = Module[{k = 2^(n - 2)}, If[n == 1, {{1}}, Table[If[i <= k, If[j <= k, B[n - 1][[i, j]], B[n - 1][[i, j - k]]], If[j <= k, B[n - 1][[i - k, j]], M[n - 1][[i - k, j - k]]]], {i, 1, 2k}, {j, 1, 2k}]]];
T[_, 0] = 1;
T[n_, k_] /; k > n := T[k, n];
T[n_, k_] := MatrixPower[M[k], n-1] // Flatten // Total;
Table[Table[T[n, k], {k, 0, n}], {n, 0, 8}] // Flatten (* Jean-François Alcover, Nov 23 2020, after Alois P. Heinz *)
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Peter Kagey, Mar 23 2020
STATUS
approved