login
Triangle read by rows, the q-analog of the extended Catalan numbers A057977.
4

%I #28 Mar 28 2020 11:00:47

%S 1,1,1,1,1,1,1,0,1,1,1,2,2,2,1,1,1,0,1,1,1,0,1,1,1,2,3,4,4,5,4,4,3,2,

%T 1,1,1,0,1,1,2,1,2,1,2,1,1,0,1,1,1,2,3,5,6,8,9,11,11,12,11,11,9,8,6,5,

%U 3,2,1,1,1,0,1,1,2,2,3,2,4,3,4,3,4,2,3,2,2,1,1,0,1

%N Triangle read by rows, the q-analog of the extended Catalan numbers A057977.

%C The q-analog of the extended Catalan numbers A057977 are univariate polynomials over the integers with degree floor((n+1)/2)*(floor((n+1)/2)-1)+1.

%C The q-analog of the Catalan numbers are A129175.

%C For a combinatorial interpretation in terms of the major index statistic of orbitals see A274888 and the link 'Orbitals'.

%H Peter Luschny, <a href="https://oeis.org/wiki/User:Peter_Luschny/Orbitals">Orbitals</a>

%F q-extCatalan(n,q) = (p*P(n,q))/(P(h,q)*P(h+1,q)) with P(n,q) = q-Pochhammer(n,q), h = floor(n/2) and p = 1-q if n is even else 1.

%e The polynomials start:

%e [0] 1

%e [1] 1

%e [2] 1

%e [3] q^2 + q + 1

%e [4] q^2 + 1

%e [5] (q^2 + 1) * (q^4 + q^3 + q^2 + q + 1)

%e [6] (q^2 - q + 1) * (q^4 + q^3 + q^2 + q + 1)

%e The coefficients of the polynomials are:

%e [ 0] [1]

%e [ 1] [1]

%e [ 2] [1]

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

%e [ 4] [1, 0, 1]

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

%e [ 6] [1, 0, 1, 1, 1, 0, 1]

%e [ 7] [1, 1, 2, 3, 4, 4, 5, 4, 4, 3, 2, 1, 1]

%e [ 8] [1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1]

%e [ 9] [1, 1, 2, 3, 5, 6, 8, 9, 11, 11, 12, 11, 11, 9, 8, 6, 5, 3, 2, 1, 1]

%e [10] [1, 0, 1, 1, 2, 2, 3, 2, 4, 3, 4, 3, 4, 2, 3, 2, 2, 1, 1, 0, 1]

%p QExtCatalan := proc(n) local h, p, P;

%p P := x -> QDifferenceEquations:-QPochhammer(q,q,x);

%p h := iquo(n, 2): p := `if`(n::even, 1-q, 1); (p*P(n))/(P(h)*P(h+1));

%p expand(simplify(expand(%))); seq(coeff(%, q, j), j=0..degree(%)) end:

%p seq(QExtCatalan(n, q), n=0..10);

%t (* Function QBinom1 is defined in A274885. *)

%t QExtCatalan[n_] := QBinom1[n] / QBinomial[n+1,1,q]; Table[CoefficientList[ QExtCatalan[n] // FunctionExpand,q], {n,0,10}] // Flatten

%o (Sage) # uses[q_binom1 from A274885]

%o from sage.combinat.q_analogues import q_int

%o def q_ext_catalan_number(n): return q_binom1(n)//q_int(n+1)

%o for n in (0..10): print([n], q_ext_catalan_number(n).list())

%o (Sage) # uses[unit_orbitals from A274709]

%o # Brute force counting

%o def catalan_major_index(n):

%o S = [0]*(((n+1)//2)^2 + ((n+1) % 2) - (n//2))

%o for u in unit_orbitals(n):

%o if any(x > 0 for x in accumulate(u)): continue # never rise above 0

%o L = [i+1 if u[i+1] < u[i] else 0 for i in (0..n-2)]

%o # i+1 because u is 0-based whereas convention assumes 1-base.

%o S[sum(L)] += 1

%o return S

%o for n in (0..10): print(catalan_major_index(n))

%Y Cf. A057977, A129175, A274885, A274888.

%K nonn,tabf

%O 0,12

%A _Peter Luschny_, Jul 20 2016