|
|
A181937
|
|
André numbers. Square array A(n,k), n>=2, k>=0, read by antidiagonals upwards, A(n,k) = n-alternating permutations of length k.
|
|
15
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 16, 1, 1, 1, 1, 1, 9, 61, 1, 1, 1, 1, 1, 4, 19, 272, 1, 1, 1, 1, 1, 1, 14, 99, 1385, 1, 1, 1, 1, 1, 1, 5, 34, 477, 7936, 1, 1, 1, 1, 1, 1, 1, 20, 69, 1513, 50521, 1, 1, 1, 1, 1, 1, 1, 6, 55, 496, 11259, 353792
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,10
|
|
COMMENTS
|
The André numbers were studied by Désiré André in the case n=2 around 1880. The present author suggests that the numbers A(n,k) be named in honor of André. Already in 1877 Ludwig Seidel gave an efficient algorithm for computing the coefficients of secant and tangent which immediately carries over to the general case. Anthony Mendes and Jeffrey Remmel give exponential generating functions for the general case.
|
|
REFERENCES
|
Anthony Mendes and Jeffrey Remmel, Generating functions from symmetric functions, Preliminary version of book, available from Jeffrey Remmel's home page.
|
|
LINKS
|
|
|
EXAMPLE
|
n\k [0][1][2][3][4] [5] [6] [7] [8] [9] [10] [11]
[1] 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 [A000012]
[2] 1, 1, 1, 2, 5, 16, 61, 272, 1385, 7936, 50521, 353792 [A000111]
[3] 1, 1, 1, 1, 3, 9, 19, 99, 477, 1513, 11259, 74601 [A178963]
[4] 1, 1, 1, 1, 1, 4, 14, 34, 69, 496, 2896, 11056 [A178964]
[5] 1, 1, 1, 1, 1, 1, 5, 20, 55, 125, 251, 2300 [A181936]
[6] 1, 1, 1, 1, 1, 1, 1, 6, 27, 83, 209, 461 [A250283]
|
|
MAPLE
|
A181937_list := proc(n, len) local E, dim, i, k; # Seidel's boustrophedon transform
dim := len-1; E := array(0..dim, 0..dim); E[0, 0] := 1;
for i from 1 to dim do
if i mod n = 0 then E[i, 0] := 0 ;
for k from i-1 by -1 to 0 do E[k, i-k] := E[k+1, i-k-1] + E[k, i-k-1] od;
else E[0, i] := 0;
for k from 1 by 1 to i do E[k, i-k] := E[k-1, i-k+1] + E[k-1, i-k] od;
fi od; [E[0, 0], seq(E[k, 0]+E[0, k], k=1..dim)] end:
for n from 2 to 6 do print(A181937_list(n, 12)) od;
|
|
MATHEMATICA
|
dim = 13; e[_][0, 0] = 1; e[m_][n_ /; 0 <= n <= dim, 0] /; Mod[n, m] == 0 = 0; e[m_][k_ /; 0 <= k <= dim, n_ /; 0 <= n <= dim] /; Mod[n+k, m] == 0 := e[m][k, n] = e[m][k, n-1] + e[m][k+1, n-1]; e[m_][0, n_ /; 0 <= n <= dim] /; Mod[n, m] == 0 = 0; e[m_][k_ /; 0 <= k <= dim, n_ /; 0 <= n <= dim] /; Mod[n+k, m] != 0 := e[m][k, n] = e[m][k-1, n] + e[m][k-1, n+1]; e[_][_, _] = 0; a[_, 0] = 1; a[m_, n_] := e[m][n, 0] + e[m][0, n]; Table[a[m-n+1, n], {m, 1, dim-1}, {n, 0, m-1}] // Flatten (* Jean-François Alcover, Jul 23 2013, after Maple *)
b[r_, u_, o_, t_] := b[r, u, o, t] = If[u + o == 0, 1, If[t == 0, Sum[b[r, u - j, o + j - 1, Mod[t + 1, r]], {j, 1, u}], Sum[b[r, u + j - 1, o - j, Mod[t + 1, r]], {j, 1, o}]]]; A[n_, k_] := b[n, k, 0, 0]; Table[A[n - k, k], {n, 2, 13}, {k, 0, n - 2}] // Flatten (* Jean-François Alcover, Nov 22 2023, after Alois P. Heinz in A250283 *)
|
|
PROG
|
(Sage)
@cached_function
def A(m, n):
if n == 0: return 1
s = -1 if m.divides(n) else 1
t = [m*k for k in (0..(n-1)//m)]
return s*add(binomial(n, k)*A(m, k) for k in t)
A181937_row = lambda m, n: (-1)^int(is_odd(n//m))*A(m, n)
(Julia) # Signed version.
using Memoize
@memoize function André(m, n)
n ≤ 0 && return 1
r = range(0, stop=n-1, step=m)
S = sum(binomial(n, k) * André(m, k) for k in r)
n % m == 0 ? -S : S
end
for m in 1:8 println([André(m, n) for n in 0:11]) end # Peter Luschny, Feb 09 2019
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|