login
Array read by antidiagonals, m>=0, n>=0, A(m,n) = Sum_{k=0..n} Sum_{j=0..m} Sum_{i=0..m} (-1)^(j+i)*C(i,j)*C(n,k)^(m+1)*(n+1)^j*(k+1)^(-j).
11

%I #36 Mar 24 2023 08:32:15

%S 1,1,2,1,3,4,1,4,10,8,1,5,22,35,16,1,6,46,134,126,32,1,7,94,485,866,

%T 462,64,1,8,190,1700,5626,5812,1716,128,1,9,382,5831,35466,69062,

%U 40048,6435,256,1,10,766,19682,219626,795312,882540,281374,24310,512

%N Array read by antidiagonals, m>=0, n>=0, A(m,n) = Sum_{k=0..n} Sum_{j=0..m} Sum_{i=0..m} (-1)^(j+i)*C(i,j)*C(n,k)^(m+1)*(n+1)^j*(k+1)^(-j).

%C We repeat the definition of a meander as given in the link below and used in the sequences in the cross-references:

%C A binary curve C is a triple (m, S, dir) such that:

%C (a) S is a list with values in {L, R} which starts with an L,

%C (b) dir is a list of m different values, each value of S being allocated a value of dir,

%C (c) consecutive Ls increment the index of dir,

%C (d) consecutive Rs decrement the index of dir,

%C (e) the integer m > 0 divides the length of S.

%C (f) C is a meander if each value of dir occurs length(S) / m times.

%C The rows of the array A(m, n) show the number of meanders of length n and central angle 360/m as specified by the columns of a table in the given link. - _Peter Luschny_, Mar 20 2023

%H Peter Luschny, <a href="http://oeis.org/wiki/User:Peter_Luschny/Meander">Meanders and walks on the circle</a>.

%F From _Peter Bala_, Apr 22 2022: (Start)

%F Conjectures:

%F 1) the m-th row entries satisfy the Gauss congruences T(m, n*p^r - 1) == T(m, n*p^(r-1) - 1) (mod p^r)) for primes p >= 3 and positive integers n and r.

%F 2) for m even, the m-th row entries satisfy the congruences T(m, p^r - 1) == 2^(p^r - 1) (mod p^2) for primes p >= 3 and positive integers r.

%F 3) for m odd, the m-th row entries satisfy the supercongruences T(m,n*p^r - 1) == T(m,n*p*(r-1) - 1) (mod p^(3*r)) for primes p >= 5 and positive integers n and r. (End)

%e Array A(m, k) starts:

%e m\n [0] [1] [2] [3] [4] [5] [6]

%e --------------------------------------------------

%e [0] 1 2 4 8 16 32 64 A000079

%e [1] 1 3 10 35 126 462 1716 A001700

%e [2] 1 4 22 134 866 5812 40048 A197657

%e [3] 1 5 46 485 5626 69062 882540 A198256

%e [4] 1 6 94 1700 35466 795312 18848992 A198257

%e [5] 1 7 190 5831 219626 8976562 394800204 A198258

%e .

%e Triangle T(m, k) starts:

%e [0] 1;

%e [1] 2, 1;

%e [2] 4, 3, 1;

%e [3] 8, 10, 4, 1;

%e [4] 16, 35, 22, 5, 1;

%e [5] 32, 126, 134, 46, 6, 1;

%e [6] 64, 462, 866, 485, 94, 7, 1;

%e [7] 128, 1716, 5812, 5626, 1700, 190, 8, 1;

%e .

%e Using the representation of meanders as multiset permutations (see A361043) and generated by the Julia program below.

%e T(3, 0) = 8 = card(1000, 1100, 1010, 1001, 1110, 1101, 1011, 1111).

%e T(3, 1) = 10 = card(110000, 100100, 100001, 111100, 111001, 110110, 110011, 101101, 100111, 111111).

%e T(3, 2) = 4 = card(111000, 110001, 100011, 111111).

%e T(3, 3) = 1 = card(1111).

%p A198060 := proc(m, n) local i, j, k; add(add(add((-1)^(j+i)*binomial(i, j)* binomial(n, k)^(m+1)*(n+1)^j*(k+1)^(-j), i=0..m), j=0..m), k=0..n) end:

%p for m from 0 to 6 do seq(A198060(m, n), n=0..6) od;

%t a[m_, n_] := Sum[ Sum[ Sum[(-1)^(j + i)*Binomial[i, j]*Binomial[n, k]^(m+1)*(n+1)^j*(k+1)^(m-j)/(k+1)^m, {i, 0, m}], {j, 0, m}], {k, 0, n}]; Table[ a[m-n, n], {m, 0, 9}, {n, 0, m}] // Flatten (* _Jean-François Alcover_, Jun 27 2013 *)

%o (SageMath) # This function assumes an offset (1, 1).

%o def A(m: int, n: int) -> int:

%o S = sum(

%o sum(

%o sum((

%o (-1) ** (j + i)

%o * binomial(i, j)

%o * binomial(n - 1, k) ** m

%o * n ** j )

%o // (k + 1) ** j

%o for i in range(m) )

%o for j in range(m) )

%o for k in range(n) )

%o return S

%o def Arow(n: int, size: int) -> list[int]:

%o return [A(n, k) for k in range(1, size + 1)]

%o for n in range(1, 7): print([n], Arow(n, 7)) # _Peter Luschny_, Mar 24 2023

%o # These functions compute the number of meanders by generating and counting.

%o # Their primary purpose is to illustrate that meanders are a special class of

%o # multiset permutations. They are not suitable for numerical calculation.

%o (Julia)

%o using Combinatorics

%o function isMeander(m::Int, c::Vector{Bool})::Bool

%o l = length(c)

%o (l == 0 || c[1] != true) && return false

%o vec = fill(Int(0), m)

%o max = div(l, m)

%o dir = Int(1)

%o ob = c[1]

%o for b in c

%o if b && ob

%o dir += 1

%o elseif !b && !ob

%o dir -= 1

%o end

%o dir = mod(dir, m)

%o v = vec[dir + 1] + 1

%o vec[dir + 1] = v

%o if v > max

%o return false

%o end

%o ob = b

%o end

%o true end

%o function CountMeanders(n, k)

%o n == 0 && return k + 1

%o count = 0

%o size = n * k

%o for a in range(0, stop=size; step=n)

%o S = [(i <= a) for i in 1:size]

%o count += sum(1 for c in multiset_permutations(S, size)

%o if isMeander(n, c); init = 0)

%o end

%o count end

%o A198060ByCount(m, n) = CountMeanders(m + 1, n + 1)

%o for n in 0:4

%o [A198060ByCount(n, k) for k in 0:4] |> println

%o end

%o # _Peter Luschny_, Mar 20 2023

%Y T(n, 2) = A033484(n+1).

%Y Cf. A033484, A000079, A001700, A197657, A198256, A198257, A198258, A198061.

%Y Cf. A361043.

%K nonn,tabl

%O 0,3

%A _Peter Luschny_, Nov 01 2011