cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A321620 The Riordan square of the Riordan numbers, triangle read by rows, T(n, k) for 0 <= k <= n.

This page as a plain text file.
%I A321620 #53 Apr 29 2022 03:00:09
%S A321620 1,1,1,0,1,1,1,1,1,1,1,3,2,1,1,3,5,5,3,1,1,6,13,10,7,4,1,1,15,29,26,
%T A321620 16,9,5,1,1,36,73,61,42,23,11,6,1,1,91,181,157,103,61,31,13,7,1,1,232,
%U A321620 465,398,271,156,83,40,15,8,1,1,603,1205,1040,702,419,221,108,50,17,9,1,1
%N A321620 The Riordan square of the Riordan numbers, triangle read by rows, T(n, k) for 0 <= k <= n.
%C A321620 If gf is a generating function of the sequence a then by the 'Riordan square of a' we understand the integer triangle given by the Riordan array (gf, gf). This mapping can be seen as an operator RS: Z[[x]] -> Mat[Z].
%C A321620 For instance A039599 is the Riordan square of the Catalan numbers, A172094 is the Riordan square of the little Schröder numbers and A063967 is the Riordan square of the Fibonacci numbers. The Riordan square of the simplest sequence of positive numbers (A000012) is the Pascal triangle.
%C A321620 The generating functions used are listed in the table below. They may differ slightly from those defined elsewhere in order to ensure that RS(a) is invertible (as a matrix). We understand this as a kind of normalization.
%C A321620   ---------------------------------------------------------------------------
%C A321620   Sequence a         | RS(a)   | gf(a)
%C A321620   ---------------------------------------------------------------------------
%C A321620   Catalan            | A039599 | (1 - sqrt(1 - 4*x))/(2*x).
%C A321620   1, Riordan         | A321620 | 1 + 2*x/(1 + x + sqrt(1 - 2*x - 3*x^2)).
%C A321620   Motzkin            | A321621 | (1 - x - sqrt(1 - 2*x - 3*x^2))/(2*x^2).
%C A321620   Fine               | A321622 | 1 + (1 - sqrt(1 - 4*x))/(3 - sqrt(1 - 4*x)).
%C A321620   large Schröder     | A321623 | (1 - x - sqrt(1 - 6*x + x^2))/(2*x).
%C A321620   little Schröder    | A172094 | (1 + x - sqrt(1 - 6*x + x^2))/(4*x).
%C A321620   Lucas              | A321624 | 1 + x*(1 + 2*x)/(1 - x - x^2).
%C A321620   swinging factorial | A321625 | (1 + x/(1 - 4*x^2))/sqrt(1 - 4*x^2).
%C A321620   ternary trees      ||A109956|| u = sqrt(x*3/4); sin(arcsin(3*u)/3)/u.
%C A321620   central trinomial  | A116392 | 1/sqrt(1 - 2*x - 3*x^2)
%C A321620   Bell               | A154380 | Sum_{k>=0} x^k/Product_{j=1..k}(1 - j*x).
%C A321620   (2*n-1)!!          | A321627 | 1/(1-x/(1-2*x/(1-3*x/(1-4*x/(1-5*x/...
%C A321620   powers of 2        | A038208 | 1/(1 - 2*x).
%C A321620   the all 1's seq.   | A007318 | 1/(1 - x).
%C A321620   Fibonacci          | A063967 | 1/(1 - x - x^2).
%C A321620   tribonacci         | A187889 | 1/(1 - x - x^2 - x^3).
%C A321620   tetranacci         | A353593 | 1/(1 - x - x^2 - x^3 - x^4).
%C A321620   Jacobsthal         | A322942 | (2*x^2-1)/((x + 1)*(2*x - 1))
%H A321620 Peter Luschny, <a href="http://luschny.de/math/seq/RiordanSquare.html">The Riordan Square Transform</a>, 2018.
%F A321620 Given a generating function g and an positive integer N compute the Taylor expansion at the origin t(k) = [x^k] g(x) for k in [0...N-1] and set T(n, 0) = t(n) for n in [0...N-1]. Then compute T(m, k) = Sum_{j in [k-1...m-1]} T(j, k - 1) t(m - j) for k in [1...N-1] and for m in [k...N-1]. The resulting (0, 0)-based lower triangular array is the Riordan square generated by g.
%e A321620 The triangle starts:
%e A321620    [ 0]   1
%e A321620    [ 1]   1    1
%e A321620    [ 2]   0    1    1
%e A321620    [ 3]   1    1    1   1
%e A321620    [ 4]   1    3    2   1   1
%e A321620    [ 5]   3    5    5   3   1   1
%e A321620    [ 6]   6   13   10   7   4   1   1
%e A321620    [ 7]  15   29   26  16   9   5   1  1
%e A321620    [ 8]  36   73   61  42  23  11   6  1  1
%e A321620    [ 9]  91  181  157 103  61  31  13  7  1 1
%e A321620    [10] 232  465  398 271 156  83  40 15  8 1 1
%p A321620 RiordanSquare := proc(d, n, exp:=false) local td, M, k, m, u, j;
%p A321620     series(d, x, n+1); td := [seq(coeff(%, x, j), j = 0..n)];
%p A321620     M := Matrix(n); for k from 1 to n do M[k, 1] := td[k] od;
%p A321620     for k from 1 to n-1 do for m from k to n-1 do
%p A321620        M[m+1, k+1] := add(M[j, k]*td[m-j+2], j = k..m) od od;
%p A321620     if exp then u := 1;
%p A321620        for k from 1 to n-1 do u := u * k;
%p A321620           for m from 1 to k do j := `if`(m = 1, u, j/(m-1));
%p A321620              M[k+1, m] := M[k+1, m] * j od od fi;
%p A321620 M end:
%p A321620 RiordanSquare(1 + 2*x/(1 + x + sqrt(1 - 2*x - 3*x^2)), 8);
%t A321620 RiordanSquare[gf_, len_] := Module[{T}, T[n_, k_] := T[n, k] = If[k == 0, SeriesCoefficient[gf, {x, 0, n}], Sum[T[j, k-1] T[n-j, 0], {j, k-1, n-1}]]; Table[T[n, k], {n, 0, len-1}, {k, 0, n}]];
%t A321620 M = RiordanSquare[1 + 2x/(1 + x + Sqrt[1 - 2x - 3x^2]), 12];
%t A321620 M // Flatten (* _Jean-François Alcover_, Nov 24 2018 *)
%o A321620 (Sage) # uses[riordan_array from A256893]
%o A321620 def riordan_square(gf, len, exp=false):
%o A321620     return riordan_array(gf, gf, len, exp)
%o A321620 riordan_square(1 + 2*x/(1 + x + sqrt(1 - 2*x - 3*x^2)), 10)
%o A321620 # Alternatively, given a list S:
%o A321620 def riordan_square_array(S):
%o A321620     N = len(S)
%o A321620     M = matrix(ZZ, N, N)
%o A321620     for n in (0..N-1): M[n, 0] = S[n]
%o A321620     for k in (1..N-1):
%o A321620         for m in (k..N-1):
%o A321620             M[m, k] = sum(M[j, k-1]*S[m-j] for j in (k-1..m-1))
%o A321620     return M
%o A321620 riordan_square_array([1, 1, 0, 1, 1, 3, 6, 15, 36]) # _Peter Luschny_, Apr 03 2020
%Y A321620 Row sums are A007971 and |A167022| shifted one place left.
%Y A321620 Cf. A039599, A321621, A321622, A321624, A172094, A321623, A321624, A321625, A109956, A154380, A038208, A007318, A063967, A187889, A321629, A322942, A236376.
%K A321620 nonn,tabl
%O A321620 0,12
%A A321620 _Peter Luschny_, Nov 15 2018