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, Bernoulli-Euler updown numbers associated with function singularities, their combinatorics and arithmetics, Duke Math. J. 63 (1991), 537-555.
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.
OEIS Wiki, Boustrophedon transform.
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]
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
AUTHOR
STATUS
approved