|
|
A085737
|
|
Numerators in triangle formed from Bernoulli numbers.
|
|
13
|
|
|
1, 1, 1, 1, 1, 1, 0, 1, 1, 0, -1, 1, 2, 1, -1, 0, -1, 1, 1, -1, 0, 1, -1, -1, 8, -1, -1, 1, 0, 1, -1, 4, 4, -1, 1, 0, -1, 1, -1, -4, 8, -4, -1, 1, -1, 0, -1, 1, -8, 4, 4, -8, 1, -1, 0, 5, -5, 7, 4, -116, 32, -116, 4, 7, -5, 5, 0, 5, -5, 32, -28, 16, 16, -28, 32, -5, 5, 0
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,13
|
|
COMMENTS
|
Triangle is determined by rules 0) the top number is 1; 1) each number is the sum of the two below it; 2) it is left-right symmetric; 3) the numbers in each of the border rows, after the first 3, are alternately 0.
Up to signs this is the difference table of the Bernoulli numbers (see A212196). The Sage script below is based on L. Seidel's algorithm and does not make use of a library function for the Bernoulli numbers; in fact it generates the Bernoulli numbers on the fly. - Peter Luschny, May 04 2012
|
|
LINKS
|
|
|
FORMULA
|
T(n, 0) = (-1)^n*Bernoulli(n), T(n, k) = T(n-1, k-1) - T(n, k-1) for k=1..n.
T(n,k) = Sum_{j=0..k} binomial(k,j)*Bernoulli(n-j). [Lange and Grabisch]
|
|
EXAMPLE
|
Triangle of fractions begins
1;
1/2, 1/2;
1/6, 1/3, 1/6;
0, 1/6, 1/6, 0;
-1/30, 1/30, 2/15, 1/30, -1/30;
0, -1/30, 1/15, 1/15, -1/30, 0;
1/42, -1/42, -1/105, 8/105, -1/105, -1/42, 1/42;
0, 1/42, -1/21, 4/105, 4/105, -1/21, 1/42, 0;
-1/30, 1/30, -1/105, -4/105, 8/105, -4/105, -1/105, 1/30, -1/30;
|
|
MAPLE
|
nmax:=11; for n from 0 to nmax do T(n, 0):= (-1)^n*bernoulli(n) od: for n from 1 to nmax do for k from 1 to n do T(n, k) := T(n-1, k-1) - T(n, k-1) od: od: for n from 0 to nmax do seq(T(n, k), k=0..n) od: seq(seq(numer(T(n, k)), k=0..n), n=0..nmax); # Johannes W. Meijer, Jun 29 2011, revised Nov 25 2012
|
|
MATHEMATICA
|
t[n_, 0] := (-1)^n*BernoulliB[n]; t[n_, k_] := t[n, k] = t[n-1, k-1] - t[n, k-1]; Table[t[n, k] // Numerator, {n, 0, 11}, {k, 0, n}] // Flatten (* Jean-François Alcover, Jan 07 2014 *)
|
|
PROG
|
(Sage)
def BernoulliDifferenceTable(n) :
def T(S, a) :
R = [a]
for s in S :
a -= s
R.append(a)
return R
def M(A, p) :
R = T(A, 0)
S = add(r for r in R)
return -S / (2*p+3)
R = [1/1]
A = [1/2, -1/2]; R.extend(A)
for k in (0..n-2) :
A = T(A, M(A, k)); R.extend(A)
A = T(A, 0); R.extend(A)
return R
def A085737_list(n) : return [numerator(q) for q in BernoulliDifferenceTable(n)]
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|