login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A324807
a(n) is the number of endofunctions on a set of size n with preimage constraint {0, 1, 2, 3, 4, 5, 6, 7}.
1
1, 1, 4, 27, 256, 3125, 46656, 823543, 16777208, 387419832, 9999962640, 285309793890, 8916009869448, 302870744070180, 11111793078586200, 437883125030581230, 18446183535139520160, 827209994815650320160, 39344710668752223656064, 1978320731100920186439888
OFFSET
0,3
COMMENTS
A preimage constraint is a set of nonnegative integers such that the size of the inverse image of any element is one of the values in that set.
Thus, the n-th term of the sequence is the number of endofunctions on a set of size n such that each preimage has at most 7 elements. Equivalently, it is the number of n-letter words from an n-letter alphabet such that no letter appears more than 7 times.
LINKS
Benjamin Otto, Coalescence under Preimage Constraints, arXiv:1903.00542 [math.CO], 2019, Corollaries 5.6 and 7.8.
FORMULA
a(n) = n! * [x^n] e_7(x)^n, where e_k(x) is the truncated exponential 1 + x+ x^2/2! + ... + x^k/k!. The link above yields explicit constants c_k, r_k so that the columns are asymptotically c_7 * n^(-1/2) * r_7^-n.
MAPLE
b:= proc(n, i) option remember; `if`(n=0 and i=0, 1, `if`(i<1, 0,
add(b(n-j, i-1)*binomial(n, j), j=0..min(7, n))))
end:
a:= n-> b(n$2):
seq(a(n), n=0..20); # Alois P. Heinz, Apr 05 2019
MATHEMATICA
b[n_, i_] := b[n, i] = If[n == 0 && i == 0, 1, If[i<1, 0, Sum[b[n-j, i-1]* Binomial[n, j], {j, 0, Min[7, n]}]]];
a[n_] := b[n, n];
a /@ Range[0, 20] (* Jean-François Alcover, Feb 29 2020, after Alois P. Heinz *)
PROG
(Python)
# print first num_entries entries in the sequence
import math, sympy; x=sympy.symbols('x')
k=7; num_entries = 64
P=range(k+1); eP=sum([x**d/math.factorial(d) for d in P]); r = [1]; curr_pow = 1
for term in range(1, num_entries):
curr_pow=(curr_pow*eP).expand()
r.append(curr_pow.coeff(x**term)*math.factorial(term))
print(r)
CROSSREFS
Column k=7 of A306800; see that entry for sequences related to other preimage constraints constructions.
Sequence in context: A245410 A324806 A245411 * A245412 A324808 A245413
KEYWORD
easy,nonn
AUTHOR
Benjamin Otto, Mar 25 2019
STATUS
approved