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 10 results.

A274709 A statistic on orbital systems over n sectors: the number of orbitals which rise to maximum height k over the central circle.

Original entry on oeis.org

1, 1, 1, 1, 3, 3, 2, 3, 1, 10, 15, 5, 5, 9, 5, 1, 35, 63, 35, 7, 14, 28, 20, 7, 1, 126, 252, 180, 63, 9, 42, 90, 75, 35, 9, 1, 462, 990, 825, 385, 99, 11, 132, 297, 275, 154, 54, 11, 1, 1716, 3861, 3575, 2002, 702, 143, 13, 429, 1001, 1001, 637, 273, 77, 13, 1
Offset: 0

Views

Author

Peter Luschny, Jul 09 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.
Note that (sum row_n) / row_n(0) = 1,1,2,2,3,3,4,4,..., i.e. the swinging factorials are multiples of the extended Catalan numbers A057977 generalizing the fact that the central binomials are multiples of the Catalan numbers.
T(n, k) is a subtriangle of the extended Catalan triangle A189231.

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] [  1,   1] 2
[ 3] [  3,   3] 6
[ 4] [  2,   3,   1] 6
[ 5] [ 10,  15,   5] 30
[ 6] [  5,   9,   5,   1] 20
[ 7] [ 35,  63,  35,   7] 140
[ 8] [ 14,  28,  20,   7,  1] 70
[ 9] [126, 252, 180,  63,  9] 630
[10] [ 42,  90,  75,  35,  9,  1] 252
[11] [462, 990, 825, 385, 99, 11] 2772
[12] [132, 297, 275, 154, 54, 11, 1] 924
T(6, 2) = 5 because the five orbitals [-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] raise to maximal height of 2 over the central circle.
		

Crossrefs

Cf. A008313, A039599 (even rows), A047072, A056040 (row sums), A057977 (col 0), A063549 (col 0), A112467, A120730, A189230 (odd rows aerated), A189231, A232500.
Other orbital statistics: A241477 (first zero crossing), A274706 (absolute integral), A274708 (number of peaks), A274710 (number of turns), A274878 (span), A274879 (returns), A274880 (restarts), A274881 (ascent).

Programs

  • Maple
    S := proc(n,k) option remember; `if`(k>n or k<0, 0, `if`(n=k, 1, S(n-1,k-1)+
    modp(n-k,2)*S(n-1,k)+S(n-1,k+1))) end: T := (n,k) -> S(n,2*k);
    seq(print(seq(T(n,k), k=0..iquo(n,2))), n=0..12);
  • 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 max_orbitals(n):
        if n == 0: return [1]
        S = [0]*((n+2)//2)
        for u in unit_orbitals(n):
            L = list(accumulate(u))
            S[max(L)] += 1
        return S
    for n in (0..10): print(max_orbitals(n))

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).

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)).

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).

A275333 Triangle read by rows, the break statistic on orbital systems over n sectors.

Original entry on oeis.org

1, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 3, 3, 6, 6, 6, 3, 3, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 4, 4, 8, 12, 16, 16, 20, 16, 16, 12, 8, 4, 4, 1, 1, 2, 3, 5, 5, 7, 7, 8, 7, 7, 5, 5, 3, 2, 1, 1, 5, 5, 10, 15, 25, 30, 40, 45, 55, 55, 60, 55, 55, 45, 40, 30, 25, 15, 10, 5, 5
Offset: 0

Views

Author

Peter Luschny, Jul 23 2016

Keywords

Comments

The definition of an orbital system is given in A232500. The number of orbitals over n sectors is counted by the swinging factorial A056040.
The break index of an orbital is the sum of the positions of the up steps that are immediately followed by a step which is not an up step. This statistic is an extension of the major index statistic given in A063746 which appears as the even numbered rows here. This reflects the fact that the swinging factorial can be seen as an extension of the central binomial. The break index is different from the major index of the swinging factorial (which is in A274888).

Examples

			The length of row n is floor(n^2/4 + 1). Triangle starts:
[n] [k=0,1,2,...] [row sum]
[0] [1] 1
[1] [1] 1
[2] [1, 1] 2
[3] [2, 2, 2] 6
[4] [1, 1, 2, 1, 1] 6
[5] [3, 3, 6, 6, 6, 3, 3] 30
[6] [1, 1, 2, 3, 3, 3, 3, 2, 1, 1] 20
[7] [4, 4, 8, 12, 16, 16, 20, 16, 16, 12, 8, 4, 4] 140
[8] [1, 1, 2, 3, 5, 5, 7, 7, 8, 7, 7, 5, 5, 3, 2, 1, 1] 70
[9] [5, 5, 10, 15, 25, 30, 40, 45, 55, 55, 60, 55, 55, 45, 40, 30,25,15,10,5,5] 630
T(5, 5) = 3 because the three orbitals [1, -1, -1, 1, 0], [1, -1, 0, 1, -1] and [1, 0, -1, 1, -1] have at position 1 and position 4 an up-step which is immediately followed by a step which is not an up-step.
		

Crossrefs

Cf. A056040 (row sum), A063746 (sub triangle), A274888 (q-swinging factorial).
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

  • Sage
    # uses[unit_orbitals from A274709]
    # Brute force counting
    def orbital_break_index(n):
        S = [0]*(n^2//4 + 1)
        for u in unit_orbitals(n):
            L = [i+1 if u[i] == 1 and u[i+1] != 1 else 0 for i in (0..n-2)]
            #    i+1 because u is 0-based
            S[sum(L)] += 1
        return S
    for n in (0..9): print(orbital_break_index(n))
Showing 1-10 of 10 results.