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.

A293734 Number of multisets of nonempty words with a total of n letters over quaternary alphabet such that within each prefix of a word every letter of the alphabet is at least as frequent as the subsequent alphabet letter.

This page as a plain text file.
%I A293734 #20 May 05 2020 06:52:24
%S A293734 1,1,3,7,20,53,157,455,1393,4270,13495,42907,139323,455182,1510831,
%T A293734 5042858,17044789,57891598,198665585,684615958,2379765470,8302157207,
%U A293734 29177909254,102867895209,364981305292,1298526198294,4645569147108,16659856695779,60036951331540
%N A293734 Number of multisets of nonempty words with a total of n letters over quaternary alphabet such that within each prefix of a word every letter of the alphabet is at least as frequent as the subsequent alphabet letter.
%H A293734 Alois P. Heinz, <a href="/A293734/b293734.txt">Table of n, a(n) for n = 0..1000</a>
%F A293734 G.f.: Product_{j>=1} 1/(1-x^j)^A005817(j).
%F A293734 a(n) ~ c * 4^n / n^3, where c = 19.002514794... - _Vaclav Kotesovec_, May 30 2019
%p A293734 g:= proc(n) option remember; `if`(n<2, 1, (4*(2*n+3)*
%p A293734        g(n-1)+16*(n-1)*n*g(n-2))/((n+3)*(n+4)))
%p A293734     end:
%p A293734 a:= proc(n) option remember; `if`(n=0, 1, add(add(g(d)
%p A293734       *d, d=numtheory[divisors](j))*a(n-j), j=1..n)/n)
%p A293734     end:
%p A293734 seq(a(n), n=0..35);
%t A293734 g[n_] := g[n] = If[n<2, 1, (4*(2*n+3)*g[n-1] + 16*(n-1)*n*g[n-2])/((n+3)* (n+4))];
%t A293734 a[n_] := a[n] = If[n == 0, 1, Sum[Sum[g[d]*d, {d, Divisors[j]}]*a[n-j], {j, 1, n}]/n];
%t A293734 Table[a[n], {n, 0, 35}] (* _Jean-François Alcover_, May 30 2019, after _Alois P. Heinz_ *)
%o A293734 (Python)
%o A293734 from sympy.core.cache import cacheit
%o A293734 from sympy import divisors
%o A293734 @cacheit
%o A293734 def g(n): return 1 if n<2 else (4*(2*n + 3)*g(n - 1) + 16*(n - 1)*n*g(n - 2))//((n + 3)*(n + 4))
%o A293734 @cacheit
%o A293734 def a(n): return 1 if n==0 else sum(sum(g(d)*d for d in divisors(j))*a(n - j) for j in range(1, n + 1))//n
%o A293734 print([a(n) for n in range(36)]) # _Indranil Ghosh_, Oct 15 2017
%Y A293734 Column k=4 of A293108.
%Y A293734 Cf. A005817.
%K A293734 nonn
%O A293734 0,3
%A A293734 _Alois P. Heinz_, Oct 15 2017