|
|
A222188
|
|
Table read by antidiagonals: number of toroidal m X n binary arrays, allowing rotation and/or reflection of the rows and/or the columns.
|
|
12
|
|
|
2, 3, 3, 4, 7, 4, 6, 13, 13, 6, 8, 34, 36, 34, 8, 13, 78, 158, 158, 78, 13, 18, 237, 708, 1459, 708, 237, 18, 30, 687, 4236, 14676, 14676, 4236, 687, 30, 46, 2299, 26412, 184854, 340880, 184854, 26412, 2299, 46
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
LINKS
|
|
|
EXAMPLE
|
Array begins:
2, 3, 4, 6, 8, 13, 18, 30, ...
3, 7, 13, 34, 78, 237, 687, 2299, ...
4, 13, 36, 158, 708, 4236, 26412, 180070, ...
6, 34, 158, 1459, 14676, 184854, 2445918, 33888844, ...
8, 78, 708, 14676, 340880, 8999762, 245619576, 6873769668, ...
...
|
|
MATHEMATICA
|
b1[m_, n_] := Sum[EulerPhi[c]*EulerPhi[d]*2^(m*n/LCM[c, d]), {c, Divisors[ m]}, {d, Divisors[n]}]/(4*m*n); b2a[m_, n_] := If[OddQ[m], 2^((m+1)*n/2) /(4*n), (2^(m*n/2) + 2^((m+2)*n/2))/(8*n)]; b2b[m_, n_] := DivisorSum[n, If[# >= 2, EulerPhi[#]*2^((m*n)/#), 0]&]/(4*n); b2c[m_, n_] := If[OddQ[ m], Sum[If [OddQ[n/GCD[j, n]], 2^((m+1)*GCD[j, n]/2) - 2^(m*GCD[j, n]), 0], {j, 1, n-1}]/(4*n), Sum[If[OddQ[n/GCD[j, n]], 2^(m*GCD[j, n]/2) + 2^((m+2)*GCD[j, n]/2) - 2^(m*GCD[j, n]+1), 0], {j, 1, n-1}]/(8*n)]; b2[m_, n_] := b2a[m, n] + b2b[m, n] + b2c[m, n]; b3[m_, n_] := b2[n, m]; b4oo[m_, n_] := 2^((m*n-3)/2); b4eo[m_, n_] := 3*2^(m*n/2 - 3); b4ee[m_, n_] := 7*2^(m*n/2-4); a[m_, n_] := Module[{b}, If [OddQ[m], If [OddQ[n], b = b4oo[m, n], b = b4eo[m, n]], If[OddQ[n], b = b4eo[m, n], b = b4ee[m, n]]]; b += b1[m, n] + b2[m, n] + b3[m, n]; Return[b]]; Table[a[m - n+1, n], {m, 1, 10}, {n, 1, m}] // Flatten (* Jean-François Alcover, Dec 05 2015, adapted from Michel Marcus's PARI script *)
|
|
PROG
|
(PARI)
odd(n) = n%2;
b1(m, n) = sumdiv(m, c, sumdiv(n, d, eulerphi(c)*eulerphi(d)*2^(m*n/lcm(c, d))))/(4*m*n);
b2a(m, n) = if (odd(m), 2^((m+1)*n/2)/(4*n), (2^(m*n/2)+2^((m+2)*n/2))/(8*n));
b2b(m, n) = sumdiv(n, d, if (d>=2, eulerphi(d)*2^((m*n)/d), 0))/(4*n);
b2c(m, n) = if (odd(m), sum(j=1, n-1, if (odd(n/gcd(j, n)), 2^((m+1)*gcd(j, n)/2)-2^(m*gcd(j, n))))/(4*n), sum(j=1, n-1, if (odd(n/gcd(j, n)), 2^(m*gcd(j, n)/2)+2^((m+2)*gcd(j, n)/2)-2^(m*gcd(j, n)+1)))/(8*n));
b2(m, n) = b2a(m, n) + b2b(m, n) + b2c(m, n);
b3(m, n) = b2(n, m);
b4oo(m, n) = 2^((m*n - 3)/2);
b4eo(m, n) = 3*2^(m*n/2 - 3);
b4ee(m, n) = 7*2^(m*n/2 - 4);
a(m, n) = {if (odd(m), if (odd(n), b = b4oo(m, n), b = b4eo(m, n)), if (odd(n), b = b4eo(m, n), b = b4ee(m, n))); b += b1(m, n) + b2(m, n) + b3(m, n); return (b); }
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|