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.
%I A269941 #33 Aug 26 2024 04:33:45 %S A269941 1,0,-1,0,-1,1,0,-1,2,-1,0,-1,1,2,-3,1,0,-1,2,2,-3,-3,4,-1,0,-1,1,2,2, %T A269941 -1,-6,-3,6,4,-5,1,0,-1,2,2,2,-3,-3,-6,-3,4,12,4,-10,-5,6,-1,0,-1,1,2, %U A269941 2,2,-3,-3,-6,-6,-3,1,12,6,12,4,-10,-20,-5,15,6,-7,1 %N A269941 Triangle read by rows, the coefficients of the partial P-polynomials. %C A269941 For the definition of the partial P-polynomials see the link 'P-transform'. The triangle of coefficients of the inverse partial P-polynomials is A269942. %H A269941 Peter Luschny, <a href="http://oeis.org/wiki/User:Peter_Luschny/P-Transform">The P-transform</a>, 2016. %H A269941 Peter Luschny, <a href="https://github.com/PeterLuschny/PartitionTransform/blob/main/PartitionTransform.ipynb">The Partition Transform</a>, A SageMath Jupyter Notebook, GitHub, 2016/2022. %H A269941 Marko Riedel, <a href="https://math.stackexchange.com/q/4943578">Answer to Question 4943578</a>, Mathematics Stack Exchange, 2024. %H A269941 Peter Taylor, <a href="https://mathoverflow.net/q/474504">Answer to Question 474483</a>, MathOverflow, 2024. %e A269941 [[1]], %e A269941 [[0], [-1]], %e A269941 [[0], [-1], [1]], %e A269941 [[0], [-1], [2], [-1]], %e A269941 [[0], [-1], [1, 2], [-3], [1]], %e A269941 [[0], [-1], [2, 2], [-3, -3], [4], [-1]], %e A269941 [[0], [-1], [1, 2, 2], [-1, -6, -3], [6, 4], [-5], [1]], %e A269941 [[0], [-1], [2, 2, 2], [-3, -3, -6, -3], [4, 12, 4], [-10, -5], [6], [-1]] %e A269941 Replacing the sublists by their sums reduces the triangle to a signed version of the triangle A097805. %p A269941 PTrans := proc(n, f, nrm:=NULL) local q, p, r, R; %p A269941 if n = 0 then return [1] fi; R := [seq(0,j=0..n)]; %p A269941 for q in combinat:-partition(n) do %p A269941 p := [op(ListTools:-Reverse(q)),0]; r := p[1]+1; %p A269941 mul(binomial(p[j], p[j+1])*f(j)^p[j], j=1..nops(q)); %p A269941 R[r] := R[r]-(-1)^r*% od; %p A269941 if nrm = NULL then R else [seq(nrm(n,k)*R[k+1],k=0..n)] fi end: %p A269941 A269941_row := n -> seq(coeffs(p), p in PTrans(n, n -> x[n])): %p A269941 seq(lprint(A269941_row(n)), n=0..8); %o A269941 (Sage) %o A269941 def PtransMatrix(dim, f, norm = None, inverse = False, reduced = False): %o A269941 i = 1; F = [1] %o A269941 if reduced: %o A269941 while i <= dim: F.append(f(i)); i += 1 %o A269941 else: %o A269941 while i <= dim: F.append(F[i-1]*f(i)); i += 1 %o A269941 C = [[0 for k in range(m+1)] for m in range(dim)] %o A269941 C[0][0] = 1 %o A269941 if inverse: %o A269941 for m in (1..dim-1): %o A269941 C[m][m] = -C[m-1][m-1]/F[1] %o A269941 for k in range(m-1, 0, -1): %o A269941 C[m][k] = -(C[m-1][k-1]+sum(F[i]*C[m][k+i-1] %o A269941 for i in (2..m-k+1)))/F[1] %o A269941 else: %o A269941 for m in (1..dim-1): %o A269941 C[m][m] = -C[m-1][m-1]*F[1] %o A269941 for k in range(m-1, 0, -1): %o A269941 C[m][k] = -sum(F[i]*C[m-i][k-1] for i in (1..m-k+1)) %o A269941 if norm == None: return C %o A269941 for m in (1..dim-1): %o A269941 for k in (1..m): C[m][k] *= norm(m,k) %o A269941 return C %o A269941 def PMultiCoefficients(dim, norm = None, inverse = False): %o A269941 def coefficient(p): %o A269941 if p <= 1: return [p] %o A269941 return SR(p).fraction(ZZ).numerator().coefficients() %o A269941 f = lambda n: var('x'+str(n)) %o A269941 P = PtransMatrix(dim, f, norm, inverse) %o A269941 return [[coefficient(p) for p in L] for L in P] %o A269941 print(flatten(PMultiCoefficients(9))) %Y A269941 Cf. A097805, A268441, A268442, A269942. %K A269941 sign,tabf %O A269941 0,9 %A A269941 _Peter Luschny_, Mar 08 2016