cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A246070 Number A(n,k) of endofunctions f on [2n] satisfying f^k(i) = i for all i in [n]; square array A(n,k), n>=0, k>=0, read by antidiagonals.

Original entry on oeis.org

1, 1, 4, 1, 2, 256, 1, 3, 16, 46656, 1, 2, 50, 216, 16777216, 1, 3, 36, 1626, 4096, 10000000000, 1, 2, 56, 1440, 83736, 100000, 8916100448256, 1, 3, 16, 2688, 84624, 6026120, 2985984, 11112006825558016, 1, 2, 70, 720, 215760, 7675200, 571350096, 105413504, 18446744073709551616
Offset: 0

Views

Author

Alois P. Heinz, Aug 12 2014

Keywords

Examples

			Square array A(n,k) begins:
0 :            1,      1,       1,       1,        1,        1, ...
1 :            4,      2,       3,       2,        3,        2, ...
2 :          256,     16,      50,      36,       56,       16, ...
3 :        46656,    216,    1626,    1440,     2688,      720, ...
4 :     16777216,   4096,   83736,   84624,   215760,    94816, ...
5 :  10000000000, 100000, 6026120, 7675200, 24899120, 11218000, ...
		

Crossrefs

Columns k=0-3 give: A085534, A062971, A245141, A245959.
Main diagonal gives A246071.
Cf. A246072 (the same for permutations).

Programs

  • Maple
    with(numtheory): with(combinat): M:=multinomial:
    b:= proc(n, k, p) local l, g; l, g:= sort([divisors(p)[]]),
          proc(k, m, i, t) option remember; local d, j; d:= l[i];
            `if`(i=1, n^m, add(M(k, k-(d-t)*j, (d-t)$j)/j!*
             (d-1)!^j *M(m, m-t*j, t$j) *g(k-(d-t)*j, m-t*j,
            `if`(d-t=1, [i-1, 0], [i, t+1])[]), j=0..min(k/(d-t),
            `if`(t=0, [][], m/t))))
          end; g(k, n-k, nops(l), 0)
        end:
    A:= (n, k)-> `if`(k=0, (2*n)^(2*n), b(2*n, n, k)):
    seq(seq(A(n, d-n), n=0..d), d=0..10);
  • Mathematica
    multinomial[n_, k_List] := n!/Times @@ (k!); M = multinomial;
    b[n_, k0_, p_] := Module[{l, g}, l = Divisors[p];
    g[k_, m_, i_, t_] := g[k, m, i, t] = Module[{d, j}, d = l[[i]];
        If[i == 1, If[m == 0, 1, n^m], Sum[M[k, Join[{k - (d - t)*j},
        Table[d - t, {j}]]]/j!*If[j == 0, 1, (d - 1)!^j]*M[m, Join[{m - t*j},
        Array[t&, j]]]*g[k - (d - t)*j, m - t*j, Sequence @@
        If[d - t == 1, {i - 1, 0}, {i, t + 1}]], {j, 0, Min[k/(d - t),
        If[t == 0, {}, m/t]]}]]];
    g[k0, n - k0, Length[l], 0]];
    A[n_, k_] := If[k == 0, If[n == 0, 1, (2n)^(2n)], b[2*n, n, k]];
    Table[A[n, d - n], {d, 0, 10}, {n, 0, d}] // Flatten (* Jean-François Alcover, May 27 2016, after Alois P. Heinz, updated Jan 01 2021 *)