%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