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.

Showing 1-10 of 12 results. Next

A274706 Irregular triangle read by rows. T(n,k) (n >= 0) is a statistic on orbital systems over n sectors: the number of orbitals which have an integral whose absolute value is k.

Original entry on oeis.org

1, 1, 0, 2, 0, 4, 2, 2, 0, 2, 0, 2, 6, 4, 6, 4, 4, 4, 2, 0, 6, 0, 6, 0, 4, 0, 2, 0, 2, 6, 24, 16, 20, 14, 16, 12, 8, 6, 8, 4, 4, 2, 8, 0, 14, 0, 14, 0, 10, 0, 10, 0, 6, 0, 4, 0, 2, 0, 2, 36, 52, 68, 48, 64, 48, 48, 40, 44, 32, 36, 24, 22, 16, 16, 8, 10, 8, 4, 4, 2
Offset: 0

Views

Author

Peter Luschny, Jul 10 2016

Keywords

Comments

For the combinatorial definitions see A232500. The absolute integral of an orbital w over n sectors is abs(Sum_{k=1..n} Sum_{i=1..k} w(i)) where w(i) are the jumps of the orbital represented by -1, 0, 1.
An orbital is balanced if its integral is 0 (A241810).

Examples

			The length of row n is 1+floor(n^2//4).
The triangle begins:
  [n] [k=0,1,2,...] [row sum]
  [0] [1] 1
  [1] [1] 1
  [2] [0, 2] 2
  [3] [0, 4, 2] 6
  [4] [2, 0, 2, 0, 2] 6
  [5] [6, 4, 6, 4, 4, 4, 2] 30
  [6] [0, 6, 0, 6, 0, 4, 0, 2, 0, 2] 20
  [7] [6, 24, 16, 20, 14, 16, 12, 8, 6, 8, 4, 4, 2] 140
  [8] [8, 0, 14, 0, 14, 0, 10, 0, 10, 0, 6, 0, 4, 0, 2, 0, 2] 70
T(5, 4) = 4 because the integral of four orbitals have the absolute value 4:
  Integral([-1, -1, 1, 1, 0]) = -4, Integral([0, -1, -1, 1, 1]) = -4,
  Integral([0, 1, 1, -1, -1]) = 4, Integral([1, 1, -1, -1, 0]) = 4.
		

Crossrefs

Cf. A056040 (row sum), A232500, A241810 (col. 0), A242087.
Other orbital statistics: A241477 (first zero crossing), A274708 (number of peaks), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    from itertools import accumulate
    # Brute force counting
    def unit_orbitals(n):
        sym_range = [i for i in range(-n+1, n, 2)]
        for c in Combinations(sym_range, n):
            P = Permutations([sgn(v) for v in c])
            for p in P: yield p
    def orbital_integral(n):
        if n == 0: return [1]
        S = [0]*(1+floor(n^2//4))
        for u in unit_orbitals(n):
            L = list(accumulate(accumulate(u)))
            S[abs(L[-1])] += 1
        return S
    for n in (0..8): print(orbital_integral(n))

A274710 A statistic on orbital systems over n sectors: the number of orbitals which make k turns.

Original entry on oeis.org

1, 1, 0, 2, 0, 0, 6, 0, 2, 2, 2, 0, 0, 6, 12, 12, 0, 2, 4, 8, 4, 2, 0, 0, 6, 24, 52, 40, 18, 0, 2, 6, 18, 18, 18, 6, 2, 0, 0, 6, 36, 120, 180, 180, 84, 24, 0, 2, 8, 32, 48, 72, 48, 32, 8, 2, 0, 0, 6, 48, 216, 480, 744, 672, 432, 144, 30, 0, 2, 10, 50, 100, 200, 200, 200, 100, 50, 10, 2
Offset: 0

Views

Author

Peter Luschny, Jul 10 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
A 'turn' of an orbital w takes place where signum(w[i]) is not equal to signum(w[i+1]).
A152659 is a subtriangle.

Examples

			Triangle read by rows, n>=0. The length of row n is n for n>=1.
[n] [k=0,1,2,...]                      [row sum]
[0] [1]                                    1
[1] [1]                                    1
[2] [0, 2]                                 2
[3] [0, 0, 6]                              6
[4] [0, 2, 2,  2]                          6
[5] [0, 0, 6, 12,  12]                    30
[6] [0, 2, 4,  8,   4,   2]               20
[7] [0, 0, 6, 24,  52,  40,  18]         140
[8] [0, 2, 6, 18,  18,  18,   6,  2]      70
[9] [0, 0, 6, 36, 120, 180, 180, 84, 24] 630
T(5,2) = 6 because the six orbitals [-1, -1, 0, 1, 1], [-1, -1, 1, 1, 0], [0, -1, -1, 1, 1], [0, 1, 1, -1, -1], [1, 1, -1, -1, 0], [1, 1, 0, -1, -1] make 2 turns.
		

Crossrefs

Cf. A056040 (row sum), A152659, A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (number of peaks), A274709 (max. height), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def orbital_turns(n):
        if n == 0: return [1]
        S = [0]*(n)
        for u in unit_orbitals(n):
            L = sum(0 if sgn(u[i]) == sgn(u[i+1]) else 1 for i in (0..n-2))
            S[L] += 1
        return S
    for n in (0..12): print(orbital_turns(n))

Formula

For even n>0: T(n,k) = 2*C(n/2-1,(k-1+mod(k-1,2))/2)*C(n/2-1,(k-1-mod(k-1,2))/2) for k=0..n-1 (from A152659).

A274878 A statistic on orbital systems over n sectors: the number of orbitals with span k.

Original entry on oeis.org

1, 1, 0, 2, 0, 6, 0, 2, 4, 0, 10, 20, 0, 2, 12, 6, 0, 14, 84, 42, 0, 2, 28, 32, 8, 0, 18, 252, 288, 72, 0, 2, 60, 120, 60, 10, 0, 22, 660, 1320, 660, 110, 0, 2, 124, 390, 300, 96, 12, 0, 26, 1612, 5070, 3900, 1248, 156, 0, 2, 252, 1176, 1260, 588, 140, 14
Offset: 0

Views

Author

Peter Luschny, Jul 10 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
The 'span' of an orbital w is the difference between the highest and the lowest level of the orbital system touched by w.

Examples

			Triangle read by rows, n>=0. The length of row n is floor((n+2)/2).
[ n] [k=0,1,2,...]          [row sum]
[ 0] [1]                        1
[ 1] [1]                        1
[ 2] [0, 2]                     2
[ 3] [0, 6]                     6
[ 4] [0, 2, 4]                  6
[ 5] [0, 10, 20]               30
[ 6] [0, 2, 12, 6]             20
[ 7] [0, 14, 84, 42]          140
[ 8] [0, 2, 28, 32, 8]         70
[ 9] [0, 18, 252, 288, 72]    630
[10] [0, 2, 60, 120, 60, 10]  252
T(6, 3) = 6 because the span of the following six orbitals is 3:
[-1, -1, -1, 1, 1, 1], [-1, -1, 1, 1, 1, -1], [-1, 1, 1, 1, -1, -1],
[1, -1, -1, -1, 1, 1], [1, 1, -1, -1, -1, 1], [1, 1, 1, -1, -1, -1].
		

Crossrefs

Cf. A056040 (row sum), A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (number of peaks), A274709 (max. height), A274710 (number of turns), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    from itertools import accumulate
    # Brute force counting.
    def orbital_span(n):
        if n == 0: return [1]
        S = [0]*((n+2)//2)
        for u in unit_orbitals(n):
            L = list(accumulate(u))
            S[max(L) - min(L)] += 1
        return S
    for n in (0..10): print(orbital_span(n))

A274879 A statistic on orbital systems over n sectors: the number of orbitals with k returns.

Original entry on oeis.org

1, 1, 2, 2, 4, 2, 4, 6, 12, 12, 4, 8, 8, 20, 40, 48, 32, 10, 20, 24, 16, 70, 140, 180, 160, 80, 28, 56, 72, 64, 32, 252, 504, 672, 672, 480, 192, 84, 168, 224, 224, 160, 64, 924, 1848, 2520, 2688, 2240, 1344, 448, 264, 528, 720, 768, 640, 384, 128
Offset: 0

Views

Author

Peter Luschny, Jul 11 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
When a segment of an orbital starts at a point on the central circle this point is called a 'return' of the orbital if it is not the origin.
If an orbital touches the central circle only in the origin it is called a prime orbital. Column 0 counts the prime orbitals over n sectors.
A108747 is a subtriangle.

Examples

			Triangle read by rows, n>=0. The length of row n is floor((n+1)/2) for n>=1.
[ n] [k=0,1,2,...] [row sum]
[ 0] [1] 1
[ 1] [1] 1
[ 2] [2] 2
[ 3] [2, 4] 6
[ 4] [2, 4] 6
[ 5] [6, 12, 12] 30
[ 6] [4, 8, 8] 20
[ 7] [20, 40, 48, 32] 140
[ 8] [10, 20, 24, 16] 70
[ 9] [70, 140, 180, 160, 80] 630
[10] [28, 56, 72, 64, 32] 252
[11] [252, 504, 672, 672, 480, 192] 2772
T(6,0) = 4 because the following 4 orbitals stay above or below the central
circle: [-1, -1, -1, 1, 1, 1], [-1, -1, 1, -1, 1, 1], [1, 1, -1, 1, -1, -1],
[1, 1, 1, -1, -1, -1].
		

Crossrefs

Cf. A056040 (row sum), A108747, A232500, A241543 (col. 0).
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (peaks), A274709 (max. height), A274710 (number of turns), A274878 (span), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    from itertools import accumulate
    # Brute force counting
    def orbital_returns(n):
        if n == 0: return [1]
        S = [0]*((n+1)//2)
        for u in unit_orbitals(n):
            L = list(accumulate(u))
            Z = len(list(filter(lambda z: z == 0, L)))
            S[Z-1] += 1  # exclude origin
        return S
    for n in (0..10): print(orbital_returns(n))

Formula

For even n>0: T(n,k) = 2^(k+1)*(k+1)*binomial(n-k-1,n/2)/(n-k-1) for k=0..n/2-1 (from A108747).

A274880 A statistic on orbital systems over n sectors: the number of orbitals with k restarts.

Original entry on oeis.org

1, 1, 2, 5, 1, 4, 2, 18, 11, 1, 10, 8, 2, 65, 57, 17, 1, 28, 28, 12, 2, 238, 252, 116, 23, 1, 84, 96, 54, 16, 2, 882, 1050, 615, 195, 29, 1, 264, 330, 220, 88, 20, 2, 3300, 4257, 2915, 1210, 294, 35, 1, 858, 1144, 858, 416, 130, 24, 2, 12441, 17017, 13013, 6461, 2093, 413, 41, 1
Offset: 0

Views

Author

Peter Luschny, Jul 11 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
A 'restart' of an orbital is a raise which starts from the central circle.
A118920 is a subtriangle.

Examples

			Triangle read by rows, n>=0. The length of row n is floor((n+1)/2) for n>=1.
[n] [k=0,1,2,...]                 [row sum]
[ 0] [1]                              1
[ 1] [1]                              1
[ 2] [2]                              2
[ 3] [5, 1]                           6
[ 4] [4, 2]                           6
[ 5] [18, 11, 1]                     30
[ 6] [10, 8, 2]                      20
[ 7] [65, 57, 17, 1]                140
[ 8] [28, 28, 12, 2]                 70
[ 9] [238, 252, 116, 23, 1]         630
[10] [84, 96, 54, 16, 2]            252
[11] [882, 1050, 615, 195, 29, 1]  2772
T(6, 2) = 2 because there are two orbitals over 6 segments which have 2 ascents:
[-1, 1, 1, -1, 1, -1] and [1, -1, 1, -1, 1, -1].
		

Crossrefs

Cf. A056040 (row sum), A118920, A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (peaks), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    from itertools import accumulate
    # Brute force counting
    def orbital_restart(n):
        if n == 0: return [1]
        S = [0]*((n+1)//2)
        for u in unit_orbitals(n):
            A = list(accumulate(u))
            L = [1 if A[i] == 0 and A[i+1] == 1  else 0 for i in (0..n-2)]
            S[sum(L)] += 1
        return S
    for n in (0..12): print(orbital_restart(n))

Formula

For even n>0: T(n,k) = 4*(k+1)*binomial(n,n/2-k-1)/n for k=0..n/2-1 (from A118920).

A274881 A statistic on orbital systems over n sectors: the number of orbitals which have an ascent of length k.

Original entry on oeis.org

1, 1, 0, 2, 0, 6, 0, 3, 3, 0, 18, 12, 0, 4, 12, 4, 0, 40, 80, 20, 0, 5, 40, 20, 5, 0, 75, 375, 150, 30, 0, 6, 120, 90, 30, 6, 0, 126, 1470, 882, 252, 42, 0, 7, 350, 371, 147, 42, 7, 0, 196, 5292, 4508, 1568, 392, 56, 0, 8, 1008, 1456, 672, 224, 56, 8
Offset: 0

Views

Author

Peter Luschny, Jul 12 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
The ascent of an orbital is its longest up-run.

Examples

			Triangle read by rows, n>=0. The length of row n is floor((n+2)/2).
[ n] [k=0,1,2,...]                [row sum]
[ 0] [1]                              1
[ 1] [1]                              1
[ 2] [0, 2]                           2
[ 3] [0, 6]                           6
[ 4] [0, 3, 3]                        6
[ 5] [0, 18, 12]                     30
[ 6] [0, 4, 12, 4]                   20
[ 7] [0, 40, 80, 20]                140
[ 8] [0, 5, 40, 20, 5]               70
[ 9] [0, 75, 375, 150, 30]          630
[10] [0, 6, 120, 90, 30, 6]         252
[11] [0, 126, 1470, 882, 252, 42]  2772
[12] [0, 7, 350, 371, 147, 42, 7]   924
T(6,3) = 4 because four orbitals over six sectors have a maximal up-run of length 3.
[-1,-1,-1,1,1,1], [-1,-1,1,1,1,-1], [-1,1,1,1,-1,-1], [1,1,1,-1,-1,-1].
		

Crossrefs

Cf. A056040 (row sum), A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (peaks), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def orbital_ascent(n):
        if n < 2: return [1]
        S = [0]*((n+2)//2)
        for u in unit_orbitals(n):
            B = [0]*n
            for i in (0..n-1):
                B[i] = 0 if u[i] <= 0 else B[i-1] + u[i]
            S[max(B)] += 1
        return S
    for n in (0..12): print(orbital_ascent(n))

A274708 A statistic on orbital systems over n sectors: the number of orbitals with k peaks.

Original entry on oeis.org

1, 1, 2, 4, 2, 4, 2, 12, 15, 3, 10, 8, 2, 38, 68, 30, 4, 26, 30, 12, 2, 121, 272, 183, 49, 5, 70, 104, 60, 16, 2, 384, 1026, 912, 372, 72, 6, 192, 350, 260, 100, 20, 2, 1214, 3727, 4095, 2220, 650, 99, 7, 534, 1152, 1050, 520, 150, 24, 2, 3822, 13200, 17178, 11600, 4510, 1032, 130, 8
Offset: 0

Views

Author

Peter Luschny, Jul 10 2016

Keywords

Comments

The definition of an orbital system is given in A232500 (see also the illustration there). The number of orbitals over n sectors is counted by the swinging factorial A056040.
An orbital w has a 'peak' at i+1 when signum(w[i]) < signum(w[i+1]) and signum(w[i+1]) > signum(w[i+2]).
A097692 is a subtriangle.

Examples

			Triangle read by rows, n>=0. The length of row n is floor((n+1)/2) for n>=1.
[ n] [k=0,1,2,...]               [row sum]
[ 0] [  1]                           1
[ 1] [  1]                           1
[ 2] [  2]                           2
[ 3] [  4,    2]                     6
[ 4] [  4,    2]                     6
[ 5] [ 12,   15,   3]               30
[ 6] [ 10,    8,   2]               20
[ 7] [ 38,   68,  30,   4]         140
[ 8] [ 26,   30,  12,   2]          70
[ 9] [121,  272, 183,  49,  5]     630
[10] [ 70,  104,  60,  16,  2]     252
[11] [384, 1026, 912, 372, 72, 6] 2772
[12] [192,  350, 260, 100, 20, 2]  924
T(6, 2) = 2 because the two orbitals [-1, 1, -1, 1, -1, 1] and [1, -1, 1, -1, 1, -1] have 2 peaks.
		

Crossrefs

Cf. A025565 (even col. 0), A056040 (row sum), A097692, A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def orbital_peaks(n):
        if n == 0: return [1]
        S = [0]*((n+1)//2)
        for u in unit_orbitals(n):
            L = [1 if sgn(u[i]) < sgn(u[i+1]) and sgn(u[i+1]) > sgn(u[i+2]) else 0 for i in (0..n-3)]
            S[sum(L)] += 1
        return S
    for n in (0..12): print(orbital_peaks(n))

A274888 Triangle read by rows: the q-analog of the swinging factorial which is defined as q-multinomial([floor(n/2), n mod 2, floor(n/2)]).

Original entry on oeis.org

1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 4, 5, 6, 5, 4, 2, 1, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 1, 2, 4, 7, 10, 13, 16, 17, 17, 16, 13, 10, 7, 4, 2, 1, 1, 1, 2, 3, 5, 5, 7, 7, 8, 7, 7, 5, 5, 3, 2, 1, 1, 1, 2, 4, 7, 12, 17, 24, 31, 39, 45, 51, 54, 56, 54, 51, 45, 39, 31, 24, 17, 12, 7, 4, 2, 1
Offset: 0

Views

Author

Peter Luschny, Jul 19 2016

Keywords

Comments

The q-swing_factorial(n) is a univariate polynomial over the integers with degree floor((n+1)/2)^2 + ((n+1) mod 2) and at least floor(n/2) irreducible factors.
Evaluated at q=1 q-swing_factorial(n) gives the swinging factorial A056040(n).
Combinatorial interpretation: The definition of an orbital system is given in A232500 and in the link 'Orbitals'. The number of orbitals over n sectors is counted by the swinging factorial.
The major index of an orbital is the sum of the positions of steps which are immediately followed by a step with strictly smaller value. This statistic is an extension of the major index statistic given in A063746 which reappears in the even numbered rows here. This reflects the fact that the swinging factorial can be seen as an extension of the central binomial. As in the case of the central binomial also in the case of the swinging factorial the major index coincides with its q-analog.

Examples

			The polynomials start:
[0] 1
[1] 1
[2] q + 1
[3] (q + 1) * (q^2 + q + 1)
[4] (q^2 + 1) * (q^2 + q + 1)
[5] (q^2 + 1) * (q^2 + q + 1) * (q^4 + q^3 + q^2 + q + 1)
[6] (q + 1) * (q^2 - q + 1) * (q^2 + 1) * (q^4 + q^3 + q^2 + q + 1)
The coefficients of the polynomials start:
[n] [k=0,1,2,...] [row sum]
[0] [1] [1]
[1] [1] [1]
[2] [1, 1] [2]
[3] [1, 2, 2, 1] [6]
[4] [1, 1, 2, 1, 1] [6]
[5] [1, 2, 4, 5, 6, 5, 4, 2, 1] [30]
[6] [1, 1, 2, 3, 3, 3, 3, 2, 1, 1] [20]
[7] [1, 2, 4, 7, 10, 13, 16, 17, 17, 16, 13, 10, 7, 4, 2, 1] [140]
[8] [1, 1, 2, 3, 5, 5, 7, 7, 8, 7, 7, 5, 5, 3, 2, 1, 1] [70]
T(5, 4) = 6 because the 2 orbitals [-1,-1,1,1,0] and [-1,0,1,1,-1] have at position 4 and the 4 orbitals [0,-1,1,-1,1], [1,-1,0,-1,1], [1,-1,1,-1,0] and [1,0,1,-1,-1] at positions 1 and 3 a down step.
		

Crossrefs

Cf. A056040 (row sums), A274887 (q-factorial), A063746 (q-central_binomial).
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (peaks), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Maple
    QSwingFactorial_coeffs := proc(n) local P,a,b;
    a := mul((p^(n-i)-1)/(p^(i+1)-1),i=0..iquo(n,2)-1);
    b := ((p^(iquo(n,2)+1)-1)/(p-1))^((1-(-1)^n)/2);
    P := simplify(a*b); seq(coeff(P,p,j),j=0..degree(P)) end:
    for n from 0 to 9 do print(QSwingFactorial_coeffs(n)) od;
    # Alternatively (recursive):
    with(QDifferenceEquations):
    QSwingRec := proc(n,q) local r; if n = 0 then return 1 fi:
    if irem(n,2) = 0 then r := (1+q^(n/2))/QBrackets(n/2,q)
    else r := QBrackets(n,q) fi; r*QSwingRec(n-1,q) end:
    Trow := proc(n) expand(QSimplify(QSwingRec(n,q)));
    seq(coeff(%,q,j),j=0..degree(%)) end: seq(Trow(n),n=0..10);
  • Mathematica
    p[n_] := QFactorial[n, q] / QFactorial[Quotient[n, 2], q]^2
    Table[CoefficientList[p[n] // FunctionExpand, q], {n,0,9}] // Flatten
  • Sage
    from sage.combinat.q_analogues import q_factorial
    def q_swing_factorial(n, q=None):
        return q_factorial(n)//q_factorial(n//2)^2
    for n in (0..8): print(q_swing_factorial(n).list())
    
  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def orbital_major_index(n):
        S = [0]*(((n+1)//2)^2 + ((n+1) % 2))
        for u in unit_orbitals(n):
            L = [i+1 if u[i+1] < u[i] else 0 for i in (0..n-2)]
            # i+1 because u is 0-based whereas convention assumes 1-base.
            S[sum(L)] += 1
        return S
    for n in (0..9): print(orbital_major_index(n))

Formula

q_swing_factorial(n) = q_factorial(n)/q_factorial(floor(n/2))^2.
q_swing_factorial(n) = q_binomial(n-eta(n),floor((n-eta(n))/2))*q_int(n)^eta(n) with eta(n) = (1-(-1)^n)/2.
Recurrence: q_swing_factorial(0,q) = 1 and for n>0 q_swing_factorial(n,q) = r*q_swing_factorial(n-1,q) with r = (1+q^(n/2))/[n/2;q] if n is even else r = [n;q]. Here [a;q] are the q_brackets.
The generating polynomial for row n is P_n(p) = ((p^(floor(n/2)+1)-1)/(p-1))^((1-(-1)^n)/2)*Product_{i=0..floor(n/2)-1}((p^(n-i)-1)/(p^(i+1)-1)).

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

Original entry on oeis.org

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, 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, 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
Offset: 0

Views

Author

Peter Luschny, Jul 20 2016

Keywords

Comments

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.
The q-analog of the Catalan numbers are A129175.
For a combinatorial interpretation in terms of the major index statistic of orbitals see A274888 and the link 'Orbitals'.

Examples

			The polynomials start:
[0] 1
[1] 1
[2] 1
[3] q^2 + q + 1
[4] q^2 + 1
[5] (q^2 + 1) * (q^4 + q^3 + q^2 + q + 1)
[6] (q^2 - q + 1) * (q^4 + q^3 + q^2 + q + 1)
The coefficients of the polynomials are:
[ 0] [1]
[ 1] [1]
[ 2] [1]
[ 3] [1, 1, 1]
[ 4] [1, 0, 1]
[ 5] [1, 1, 2, 2, 2, 1, 1]
[ 6] [1, 0, 1, 1, 1, 0, 1]
[ 7] [1, 1, 2, 3, 4, 4, 5, 4, 4, 3, 2, 1, 1]
[ 8] [1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1]
[ 9] [1, 1, 2, 3, 5, 6, 8, 9, 11, 11, 12, 11, 11, 9, 8, 6, 5, 3, 2, 1, 1]
[10] [1, 0, 1, 1, 2, 2, 3, 2, 4, 3, 4, 3, 4, 2, 3, 2, 2, 1, 1, 0, 1]
		

Crossrefs

Programs

  • Maple
    QExtCatalan := proc(n) local h, p, P;
    P := x -> QDifferenceEquations:-QPochhammer(q,q,x);
    h := iquo(n, 2): p := `if`(n::even, 1-q, 1); (p*P(n))/(P(h)*P(h+1));
    expand(simplify(expand(%))); seq(coeff(%, q, j), j=0..degree(%)) end:
    seq(QExtCatalan(n, q), n=0..10);
  • Mathematica
    (* Function QBinom1 is defined in A274885. *)
    QExtCatalan[n_] := QBinom1[n] / QBinomial[n+1,1,q]; Table[CoefficientList[ QExtCatalan[n] // FunctionExpand,q], {n,0,10}] // Flatten
  • Sage
    # uses[q_binom1 from A274885]
    from sage.combinat.q_analogues import q_int
    def q_ext_catalan_number(n): return q_binom1(n)//q_int(n+1)
    for n in (0..10): print([n], q_ext_catalan_number(n).list())
    
  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def catalan_major_index(n):
        S = [0]*(((n+1)//2)^2 + ((n+1) % 2) - (n//2))
        for u in unit_orbitals(n):
            if any(x > 0 for x in accumulate(u)): continue # never rise above 0
            L = [i+1 if u[i+1] < u[i] else 0 for i in (0..n-2)]
            #    i+1 because u is 0-based whereas convention assumes 1-base.
            S[sum(L)] += 1
        return S
    for n in (0..10): print(catalan_major_index(n))

Formula

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.

A275325 Triangle read by rows: number of orbitals over n sectors which have a Catalan decomposition into k parts.

Original entry on oeis.org

1, 0, 1, 0, 2, 0, 6, 0, 4, 2, 0, 20, 10, 0, 10, 8, 2, 0, 70, 56, 14, 0, 28, 28, 12, 2, 0, 252, 252, 108, 18, 0, 84, 96, 54, 16, 2, 0, 924, 1056, 594, 176, 22, 0, 264, 330, 220, 88, 20, 2, 0, 3432, 4290, 2860, 1144, 260, 26, 0, 858, 1144, 858, 416, 130, 24, 2
Offset: 0

Views

Author

Peter Luschny, Aug 15 2016

Keywords

Comments

The definition of an orbital system is given in A232500.
The Catalan decomposition of an orbital w is a list of orbitals which are alternately entirely above or below the main circle ('above' and 'below' in the weak sense) such that their concatenation equals w. If a zero is on the border of two orbitals then it is allocated to the first one. By convention T(0,0) = 1.
The number of orbitals over n sectors is counted by the swinging factorial A056040.

Examples

			Table starts:
[ n] [k=0,1,2,...] [row sum]
[ 0] [1] 1
[ 1] [0, 1] 1
[ 2] [0, 2] 2
[ 3] [0, 6] 6
[ 4] [0, 4, 2] 6
[ 5] [0, 20, 10] 30
[ 6] [0, 10, 8, 2] 20
[ 7] [0, 70, 56, 14] 140
[ 8] [0, 28, 28, 12, 2] 70
[ 9] [0, 252, 252, 108, 18] 630
[10] [0, 84, 96, 54, 16, 2] 252
[11] [0, 924, 1056, 594, 176,  22] 2772
[12] [0, 264, 330, 220, 88, 20, 2] 924
For example T(2*n, n) = 2 counts the Catalan decompositions
[[-1, 1], [1, -1], [-1, 1], ..., [(-1)^n, (-1)^(n+1)]] and
[[1, -1], [-1, 1], [1, -1], ..., [(-1)^(n+1), (-1)^n]].
		

Crossrefs

Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274709 (max. height), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    from itertools import accumulate
    def catalan_factors(P):
        def bisect(orb):
            i = 1
            A = list(accumulate(orb))
            if orb[1] > 0 if orb[0] == 0 else orb[0] > 0:
                while i < len(A) and A[i] >= 0: i += 1
            else:
                while i < len(A) and A[i] <= 0: i += 1
            return i
        R = []
        while P:
            i = bisect(P)
            R.append(P[:i])
            P = P[i:]
        return R
    def orbital_factors(n):
        if n == 0: return [1]
        if n == 1: return [0, 1]
        S = [0]*(n//2 + 1)
        for o in unit_orbitals(n):
            S[len(catalan_factors(o))] += 1
        return S
    for n in (0..9): print(orbital_factors(n))

Formula

T(n,1) = 2*floor((n+2)/2)*n!/floor((n+2)/2)!^2 = A241543(n+2) for n>=2.
For odd n>1 T(n,1) = Sum_{k>=0} T(n+1,k).
A056040(n) - T(n,1) = A232500(n) for n>=2.
Main diagonal: T(n, floor(n/2)) = A266722(n) for n>1.
A275326(n,k) = ceiling(T(n,k)/2).
Showing 1-10 of 12 results. Next