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.

A335951 Triangle read by rows. The numerators of the coefficients of the Faulhaber polynomials. T(n,k) for n >= 0 and 0 <= k <= n.

This page as a plain text file.
%I A335951 #53 Mar 21 2025 05:10:29
%S A335951 1,0,1,0,0,1,0,0,-1,4,0,0,1,-4,6,0,0,-3,12,-20,16,0,0,5,-20,34,-32,16,
%T A335951 0,0,-691,2764,-4720,4592,-2800,960,0,0,105,-420,718,-704,448,-192,48,
%U A335951 0,0,-10851,43404,-74220,72912,-46880,21120,-6720,1280
%N A335951 Triangle read by rows. The numerators of the coefficients of the Faulhaber polynomials. T(n,k) for n >= 0 and 0 <= k <= n.
%C A335951 There are many versions of Faulhaber's triangle: search the OEIS for his name.
%C A335951 Faulhaber's claim (in 1631) is: S_{2*m-1} = 1^(2*m-1) + 2^(2*m-1) + ... + n^(2*m-1) = F_m((n^2+2)/2). The first proof was given by Jacobi in 1834.
%C A335951 For the Faulhaber numbers see A354042 and A354043.
%D A335951 Johann Faulhaber, Academia Algebra. Darinnen die miraculosische Inventiones zu den höchsten Cossen weiters continuirt und profitiert werden. Johann Ulrich Schönigs, Augsburg, 1631.
%H A335951 C. G. J. Jacobi, <a href="https://gallica.bnf.fr/ark:/12148/bpt6k77778z/f70">De usu legitimo formulae summatoriae Maclaurinianae</a>, J. Reine Angew. Math., 12 (1834), 263-272.
%H A335951 Donald E. Knuth, <a href="https://arxiv.org/abs/math/9207222">Johann Faulhaber and sums of powers</a>, arXiv:math/9207222 [math.CA], 1992; Math. Comp. 61 (1993), no. 203, 277-294.
%H A335951 Peter Luschny, <a href="/A335951/a335951.pdf">Illustrating the Faulhaber polynomials for n = 1..7</a>.
%F A335951 Let F_n(x) be the polynomial after substituting (sqrt(8*x + 1) - 1)/2 for x in b_n(x), where b_n(x) = (Bernoulli_{2*n}(x+1) - Bernoulli_{2*n}(1))/(2*n).
%F A335951 F_n(1) = 1 for all n >= 0.
%F A335951 T(n, k) = numerator([x^k] F_n(x)).
%e A335951 The first few polynomials are:
%e A335951   [0] 1;
%e A335951   [1] x;
%e A335951   [2] x^2;
%e A335951   [3] (4*x - 1)*x^2*(1/3);
%e A335951   [4] (6*x^2 - 4*x + 1)*x^2*(1/3);
%e A335951   [5] (16*x^3 - 20*x^2 + 12*x - 3)*x^2*(1/5);
%e A335951   [6] (16*x^4 - 32*x^3 + 34*x^2 - 20*x + 5)*x^2*(1/3);
%e A335951   [7] (960*x^5 - 2800*x^4 + 4592*x^3 - 4720*x^2 + 2764*x - 691)*x^2*(1/105);
%e A335951   [8] (48*x^6 - 192*x^5 + 448*x^4 - 704*x^3 + 718*x^2 - 420*x + 105)*x^2*(1/3);
%e A335951   [9] (1280*x^7-6720*x^6+21120*x^5-46880*x^4+72912*x^3-74220*x^2+43404*x-10851)*x^2*(1/45);
%e A335951 Triangle starts:
%e A335951   [0] 1;
%e A335951   [1] 0, 1;
%e A335951   [2] 0, 0,  1;
%e A335951   [3] 0, 0, -1,     4;
%e A335951   [4] 0, 0,  1,    -4,      6;
%e A335951   [5] 0, 0, -3,     12,    -20,    16;
%e A335951   [6] 0, 0,  5,    -20,     34,   -32,     16;
%e A335951   [7] 0, 0, -691,   2764,  -4720,  4592,  -2800,  960;
%e A335951   [8] 0, 0,  105,  -420,    718,  -704,    448,  -192,    48;
%e A335951   [9] 0, 0, -10851, 43404, -74220, 72912, -46880, 21120, -6720, 1280;
%p A335951 FaulhaberPolynomial := proc(n) if n = 0 then return 1 fi;
%p A335951 expand((bernoulli(2*n, x+1) - bernoulli(2*n,1))/(2*n));
%p A335951 sort(simplify(expand(subs(x = (sqrt(8*x+1)-1)/2, %))), [x], ascending) end:
%p A335951 Trow := n -> seq(coeff(numer(FaulhaberPolynomial(n)), x, k), k=0..n):
%p A335951 seq(print(Trow(n)), n=0..9);
%o A335951 (Python)
%o A335951 from math import lcm
%o A335951 from itertools import count, islice
%o A335951 from sympy import simplify,sqrt,bernoulli
%o A335951 from sympy.abc import x
%o A335951 def A335951_T(n,k):
%o A335951     z = simplify((bernoulli(2*n,(sqrt(8*x+1)+1)/2)-bernoulli(2*n,1))/(2*n)).as_poly().all_coeffs()
%o A335951     return z[n-k]*lcm(*(d.q for d in z))
%o A335951 def A335951_gen(): # generator of terms
%o A335951     yield from (A335951_T(n,k) for n in count(0) for k in range(n+1))
%o A335951 A335951_list = list(islice(A335951_gen(),20)) # _Chai Wah Wu_, May 16 2022
%o A335951 (SageMath)
%o A335951 def A335951Row(n):
%o A335951     R.<x> = PolynomialRing(QQ)
%o A335951     if n == 0: return [1]
%o A335951     b = expand((bernoulli_polynomial(x + 1, 2*n) -
%o A335951                 bernoulli_polynomial(1, 2*n))/(2*n))
%o A335951     s = expand(b.subs(x = (sqrt(8*x+1)-1)/2))
%o A335951     return numerator(s).list()
%o A335951 for n in range(10): print(A335951Row(n)) # _Peter Luschny_, May 17 2022
%Y A335951 Cf. A335952 (polynomial denominators), A000012 (row sums of the polynomial coefficients).
%Y A335951 Other representations of the Faulhaber polynomials include A093556/A093557, A162298/A162299, A220962/A220963.
%Y A335951 Cf. A354042 (Faulhaber numbers), A354043.
%K A335951 sign,tabl,frac
%O A335951 0,10
%A A335951 _Peter Luschny_, Jul 16 2020