login
A008281
Triangle of Euler-Bernoulli or Entringer numbers read by rows.
13
1, 0, 1, 0, 1, 1, 0, 1, 2, 2, 0, 2, 4, 5, 5, 0, 5, 10, 14, 16, 16, 0, 16, 32, 46, 56, 61, 61, 0, 61, 122, 178, 224, 256, 272, 272, 0, 272, 544, 800, 1024, 1202, 1324, 1385, 1385, 0, 1385, 2770, 4094, 5296, 6320, 7120, 7664, 7936, 7936
OFFSET
0,9
COMMENTS
Zig-Zag numbers (see the Conway and Guy reference p. 110 and the J.-P. Delahaye reference, p. 31).
Approximation to Pi: 2*n*a(n-1,n-1)/a(n,n), n >= 3. See A132049(n)/A132050(n). See the Delahaye reference, p. 31.
The sequence (a(n,n)) of the last element of each row is that of Euler up/down numbers A000111, the Boustrophedon transform of sequence A000007 = (0^n) = (1, 0, 0, 0, ...). - M. F. Hasler, Oct 07 2017
REFERENCES
J. H. Conway and R. K. Guy, The Book of Numbers, New York: Springer-Verlag, p. 110.
J.-P. Delahaye, Pi - die Story (German translation), Birkhäuser, 1999 Basel, p. 31. French original: Le fascinant nombre Pi, Pour la Science, Paris, 1997.
LINKS
Alois P. Heinz, Rows n = 0..140 (rows n = 0..43 from Vincenzo Librandi)
V. I. Arnold, The calculus of snakes and the combinatorics of Bernoulli, Euler and Springer numbers of Coxeter groups, Uspekhi Mat. nauk., 47 (#1, 1992), 3-45 = Russian Math. Surveys, Vol. 47 (1992), 1-51.
B. Gourevitch, L'univers de Pi
M. Josuat-Vergès, J.-C. Novelli and J.-Y. Thibon, The algebraic combinatorics of snakes, arXiv preprint arXiv:1110.5272 [math.CO], 2011.
J. Millar, N. J. A. Sloane and N. E. Young, A new operation on sequences: the Boustrophedon transform, J. Combin. Theory, 17A (1996) 44-54 (Abstract, pdf, ps).
C. Poupard, De nouvelles significations énumératives des nombres d'Entringer, Discrete Math., 38 (1982), 265-271.
Heesung Shin and Jiang Zeng, More bijections for Entringer and Arnold families, arXiv:2006.00507 [math.CO], 2020.
FORMULA
a(0,0)=1, a(n,m)=0 if n < m, a(n,m)=0 if m < 0, otherwise a(n,m) = Sum_{k=1..m} a(n-1,n-k).
T(n, k) = T(n, k-1) + T(n-1, n-k) for k > 0, T(n, 0) = 0^n. - Peter Luschny, Sep 30 2023
EXAMPLE
This version of the triangle begins:
[0] [1]
[1] [0, 1]
[2] [0, 1, 1]
[3] [0, 1, 2, 2]
[4] [0, 2, 4, 5, 5]
[5] [0, 5, 10, 14, 16, 16]
[6] [0, 16, 32, 46, 56, 61, 61]
[7] [0, 61, 122, 178, 224, 256, 272, 272]
[8] [0, 272, 544, 800, 1024, 1202, 1324, 1385, 1385]
[9] [0, 1385, 2770, 4094, 5296, 6320, 7120, 7664, 7936, 7936]
See A008280 and A108040 for other versions.
MAPLE
A008281 := proc(h, k) option remember ;
if h=1 and k=1 or h=0 then
RETURN(1) ;
elif h>=1 and k> h then
RETURN(0) ;
elif h=k then
RETURN( procname(h, h-1)) ;
else
RETURN( add(procname(h-1, j), j=h-k..h-1) ) ;
fi ;
end: # R. J. Mathar, Nov 27 2006
# Alternative:
T := proc(n, k) option remember;
ifelse(k=0, 0^n, T(n, k-1) + T(n-1, n-k)) end: # Peter Luschny, Sep 30 2023
MATHEMATICA
a[0, 0] = 1; a[n_, m_] /; (n < m || m < 0) = 0; a[n_, m_] := a[n, m] = Sum[a[n-1, n-k], {k, m}]; Flatten[Table[a[n, m], {n, 0, 9}, {m, 0, n}]] (* Jean-François Alcover, May 31 2011, after formula *)
PROG
(Haskell)
a008281 n k = a008281_tabl !! n !! k
a008281_row n = a008281_tabl !! n
a008281_tabl = iterate (scanl (+) 0 . reverse) [1]
-- Reinhard Zumkeller, Sep 10 2013
(Python)
# Python 3.2 or higher required.
from itertools import accumulate
A008281_list = blist = [1]
for _ in range(30):
blist = [0]+list(accumulate(reversed(blist)))
A008281_list.extend(blist) # Chai Wah Wu, Sep 18 2014
(Python) from functools import cache
@cache
def seidel(n):
if n == 0: return [1]
rowA = seidel(n - 1)
row = [0] + seidel(n - 1)
row[1] = row[n]
for k in range(2, n + 1): row[k] = row[k - 1] + rowA[n - k]
return row
def A008281row(n): return seidel(n)
for n in range(8): print(A008281row(n)) # Peter Luschny, Jun 01 2022
CROSSREFS
KEYWORD
nonn,tabl,nice,easy
STATUS
approved