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.

A381895 Triangle read by rows: T(n, k) is the number of partitions of n with at most k parts where 0 <= k <= n, and each part is one of two kinds.

This page as a plain text file.
%I A381895 #29 Mar 20 2025 06:01:39
%S A381895 1,0,2,0,2,5,0,2,6,10,0,2,9,15,20,0,2,10,22,30,36,0,2,13,31,48,58,65,
%T A381895 0,2,14,40,68,90,102,110,0,2,17,51,97,135,162,176,185,0,2,18,64,128,
%U A381895 194,242,274,290,300,0,2,21,77,171,271,357,415,452,470,481
%N A381895 Triangle read by rows: T(n, k) is the number of partitions of n with at most k parts where 0 <= k <= n, and each part is one of two kinds.
%C A381895 The 1-kind case is Euler's table A026820.
%H A381895 Alois P. Heinz, <a href="/A381895/b381895.txt">Rows n = 0..150, flattened</a>
%F A381895 G.f.: A(x,y,2) where A(x,y,p) = 1/(1-y) * Product_{i>0} 1/(1-y*x^i)^p is the g.f for the number of partitions of n with at most k parts and p kinds of each part. - _John Tyler Rascoe_, Mar 19 2025
%e A381895 Triangle starts:
%e A381895    0 : [1]
%e A381895    1 : [0, 2]
%e A381895    2 : [0, 2,  5]
%e A381895    3 : [0, 2,  6, 10]
%e A381895    4 : [0, 2,  9, 15,  20]
%e A381895    5 : [0, 2, 10, 22,  30,  36]
%e A381895    6 : [0, 2, 13, 31,  48,  58,  65]
%e A381895    7 : [0, 2, 14, 40,  68,  90, 102, 110]
%e A381895    8 : [0, 2, 17, 51,  97, 135, 162, 176, 185]
%e A381895    9 : [0, 2, 18, 64, 128, 194, 242, 274, 290, 300]
%e A381895   10 : [0, 2, 21, 77, 171, 271, 357, 415, 452, 470, 481]
%e A381895   ...
%o A381895 (Python)
%o A381895 from sympy.utilities.iterables import partitions
%o A381895 from sympy.combinatorics.partitions import IntegerPartition
%o A381895 def a381895_row( n):
%o A381895     if n == 0 : return [1]
%o A381895     t = list( [0] * n)
%o A381895     for p in partitions( n):
%o A381895         p = IntegerPartition( p).as_dict()
%o A381895         fact = 1
%o A381895         s = 0
%o A381895         for k in p :
%o A381895             s += p[k]
%o A381895             fact *= 1 + p[k]
%o A381895         if s > 0 :
%o A381895             t[s - 1] += fact
%o A381895     for i in range( n - 1):
%o A381895         t[i+1] += t[i]
%o A381895     return [0] + t
%o A381895 (PARI)
%o A381895 A381895(row_max) = {my(N=row_max+1,x='x+O('x^N), y='y+O('y^N), h=prod(i=1,N, 1/(1-y*x^i)^2)/(1-y)); for(n=0,N-1, if(n<1, print([1]),print(concat([0],Vec(polcoeff(h, n))[1..n]))))}
%o A381895 A381895(12) \\ _John Tyler Rascoe_, Mar 19 2025
%Y A381895 Main diagonal gives A000712.
%Y A381895 Cf. A026820.
%K A381895 nonn,tabl
%O A381895 0,3
%A A381895 _Peter Dolland_, Mar 09 2025