login
Array read by descending antidiagonals: A family of generalized Catalan numbers generated by a generalization of Deléham's Delta operator.
3

%I #24 Apr 23 2024 05:56:26

%S 1,1,1,2,1,1,5,3,1,1,14,15,5,1,1,42,105,61,9,1,1,132,945,1385,297,17,

%T 1,1,429,10395,50521,24273,1585,33,1,1,1430,135135,2702765,3976209,

%U 485729,8865,65,1,1,4862,2027025,199360981,1145032281,372281761,10401345,50881,129,1,1

%N Array read by descending antidiagonals: A family of generalized Catalan numbers generated by a generalization of Deléham's Delta operator.

%C Deléham's Delta operator is defined in A084938. It maps two sequences (a, b) to a triangle T. The given sequences are the coefficients of the linear function p = a + x*b which is the starting point of a recurrence described in A084938 and implemented in A371637. The generalization given here extends the number of input sequences to any number, mapping (a, b, c, ...) to p = a + x*b + x^2*c ... but leaves the recurrence unchanged.

%C The result, as said, is a triangle that we can evaluate in two ways: Firstly, we only return the main diagonal. In this case, we created a new sequence from n given sequences. This case is implemented by the function A(n, dim) below.

%C Alternatively, we return the entire triangle. But since the triangle is irregular, we convert it into a regular one by taking only every n-th term of a row. This case is handled by the function T(n, dim). For the first few triangles generated this way, see the link section.

%H Peter Luschny, <a href="/A372001/a372001.txt">First few triangles generated by A372001.</a>

%F A = DELTA([x -> (x + 1)^k : 0 <= k <= n]), i.e. here the input functions of the generalized Delta operator are the (shifted) power functions. The returned sequence is the main diagonal of the generated triangle.

%e Array starts:

%e [0] 1, 1, 2, 5, 14, 42, 132, ...

%e [1] 1, 1, 3, 15, 105, 945, 10395, ...

%e [2] 1, 1, 5, 61, 1385, 50521, 2702765, ...

%e [3] 1, 1, 9, 297, 24273, 3976209, 1145032281, ...

%e [4] 1, 1, 17, 1585, 485729, 372281761, 601378506737, ...

%e [5] 1, 1, 33, 8865, 10401345, 38103228225, 352780110115425, ...

%e [6] 1, 1, 65, 50881, 231455105, 4104215813761, 220579355255364545, ...

%e .

%e Seen as a triangle T(n, k) = A(k, n - k):

%e [0] [ 1]

%e [1] [ 1, 1]

%e [2] [ 2, 1, 1]

%e [3] [ 5, 3, 1, 1]

%e [4] [ 14, 15, 5, 1, 1]

%e [5] [ 42, 105, 61, 9, 1, 1]

%e [6] [132, 945, 1385, 297, 17, 1, 1]

%e [7] [429, 10395, 50521, 24273, 1585, 33, 1, 1]

%o (SageMath)

%o def GeneralizedDelehamDelta(F, dim, seq=True): # The algorithm.

%o ring = PolynomialRing(ZZ, 'x')

%o x = ring.gen()

%o A = [sum(F[j](k) * x^j for j in range(len(F))) for k in range(dim)]

%o C = [ring(0)] + [ring(1) for i in range(dim)]

%o for k in range(dim):

%o for n in range(k, 0, -1):

%o C[n] = C[n-1] + C[n+1] * A[n-1]

%o yield list(C[1])[-1] if seq else list(C[1])

%o def F(n): # Define the input functions.

%o def p0(): return lambda n: pow(n, n^0)

%o def p(k): return lambda n: pow(n + 1, k)

%o return [p0()] + [p(k) for k in range(n + 1)]

%o def A(n, dim): # Return only the main diagonal of the triangle.

%o return [r for r in GeneralizedDelehamDelta(F(n), dim)]

%o for n in range(7): print(A(n, 7))

%o def T(n, dim): # Return the regularized triangle.

%o R = GeneralizedDelehamDelta(F(n), dim, False)

%o return [[r[k] for k in range(0, len(r), n + 1)] for r in R]

%o for n in range(0, 4):

%o for row in T(n, 6): print(row)

%Y By ascending antidiagonals: A290569.

%Y Family: A000108 (n=0), A001147 (n=1), A000364 (n=2), A216966 (n=3), A227887 (n=4), A337807 (n=5), A337808 (n=6), A337809 (n=7).

%Y Cf. A291333 (main diagonal), A371999 (row sums of triangle).

%Y Cf. A084938, A131427, A371994, A371637.

%K nonn,tabl

%O 1,4

%A _Peter Luschny_, Apr 21 2024