A274884
Triangle read by rows, coefficients of q-polynomials representing the oscillating orbitals over n sectors as A274888(n) - 2*A274886(n), a q-analog of A232500.
Original entry on oeis.org
-1, -1, -1, 1, -1, 0, 0, 1, -1, 1, 0, 1, 1, -1, 0, 0, 1, 2, 3, 2, 2, 1, -1, 1, 0, 1, 1, 3, 1, 2, 1, 1, -1, 0, 0, 1, 2, 5, 6, 9, 9, 10, 9, 8, 5, 4, 2, 1, -1, 1, 0, 1, 1, 3, 3, 5, 4, 5, 5, 5, 3, 3, 2, 1, 1
Offset: 0
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^2 - q + 1) * (q^3 + q^2 + q - 1) * (q^4 + q^3 + q^2 + q + 1)
The table starts:
[n] [k=0,1,2,...] [row sum]
[0] [-1] -1
[1] [-1] -1
[2] [-1, 1] 0
[3] [-1, 0, 0, 1] 0
[4] [-1, 1, 0, 1, 1] 2
[5] [-1, 0, 0, 1, 2, 3, 2, 2, 1] 10
[6] [-1, 1, 0, 1, 1, 3, 1, 2, 1, 1] 10
[7] [-1, 0, 0, 1, 2, 5, 6, 9, 9, 10, 9, 8, 5, 4, 2, 1] 70
[8] [-1, 1, 0, 1, 1, 3, 3, 5, 4, 5, 5, 5, 3, 3, 2, 1, 1] 42
-
QOscOrbitals := proc(n) local h, p, P, F, C, S;
P := x -> QDifferenceEquations:-QPochhammer(q,q,x);
F := x -> QDifferenceEquations:-QFactorial(x,q);
h := iquo(n,2): p := `if`(n::even,1-q,1);
C := (p*P(n))/(P(h)*P(h+1)); S := F(n)/F(h)^2;
expand(simplify(expand(S-2*C))); seq(coeff(%,q,j), j=0..degree(%)) end:
seq(QOscOrbitals(n), n=0..8);
-
# uses[q_ext_catalan_number]
# Function q_ext_catalan_number is in A274886.
from sage.combinat.q_analogues import q_multinomial
def q_osc_orbitals(n):
return q_multinomial([n//2, n%2, n//2]) - 2*q_ext_catalan_number(n)
for n in (0..9): print(q_osc_orbitals(n).list())
A275332
Triangle read by rows: the major index statistic of the oscillating orbitals, also the q-analog of the oscillating orbitals A232500.
Original entry on oeis.org
0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 2, 2, 2, 1, 1, 0, 1, 1, 1, 2, 2, 1, 1, 1, 0, 1, 2, 3, 5, 7, 8, 9, 9, 8, 7, 5, 3, 2, 1, 0, 1, 1, 2, 2, 4, 4, 5, 4, 5, 4, 4, 2, 2, 1, 1, 0, 1, 2, 4, 6, 10, 14, 19, 23, 28, 31, 34, 34, 34, 31, 28, 23, 19, 14, 10, 6, 4, 2, 1
Offset: 0
Some polynomials:
[4] (q^2 + 1)*q
[5] (q^4 + q^3 + q^2 + q + 1)*(q^2 + 1)*q
[6] (q^4 + q^3 + q^2 + q + 1)*(q^2 - q + 1)*(q + 1)*q
[7] (q^6 + q^5 + q^4 + q^3 + q^2 + q + 1)*(q^4 + q^3 + q^2 + q + 1)*(q^2 - q + 1)*(q + 1)*q
[8] (q^6 + q^5 + q^4 + q^3 + q^2 + q + 1)*(q^4 + 1)*(q^2 + q + 1)*(q^2 - q + 1)*q
[9] (q^6 + q^5 + q^4 + q^3 + q^2 + q + 1)*(q^6 + q^3 + 1)*(q^4 + 1)*(q^2 + q + 1)^2*(q^2 - q + 1)*q
The triangle starts:
[n] [k=0,1,2,...] [row sum]
[0] [0] 0
[1] [0] 0
[2] [0] 0
[3] [0] 0
[4] [0, 1, 0, 1] 2
[5] [0, 1, 1, 2, 2, 2, 1, 1] 10
[6] [0, 1, 1, 1, 2, 2, 1, 1, 1] 10
[7] [0, 1, 2, 3, 5, 7, 8, 9, 9, 8, 7, 5, 3, 2, 1] 70
[8] [0, 1, 1, 2, 2, 4, 4, 5, 4, 5, 4, 4, 2, 2, 1, 1] 42
T(5,3) = 2 because A = [-1, 1, 1, -1, 0] and B = [1, 0, -1, -1, 1] are oscillating orbitals; A has downsteps at position 3 and B has downsteps at positions 1 and 2.
A274884 (alternate description of oscillating orbitals).
-
from sage.combinat.q_analogues import q_factorial
def osc_orbitals_coeffs(n):
q = var('q')
if n < 4: return [0]
a = lambda n,q: sum(q^j for j in (0..n))
b = lambda n,q: sum(q^(2*j) for j in (0..n))
A = lambda n,q: q*a(n-2,q)/a(n,q)
B = lambda n,q: q*b(n-1,q)/b(n,q)
Q = A(n//2,q) if n%4 == 0 or n%4 == 1 else B(n//4,q)
qSwing = lambda n,q: q_factorial(n,q)/q_factorial(n//2,q)^2
return ((Q*qSwing(n,q)).factor()).list()
for n in (0..10): print([n], osc_orbitals_coeffs(n))
-
# uses[unit_orbitals from A274709]
# Brute force counting
def osc_orbitals_major_index(n):
if n<4: return [0]
S = [0]*(((n+1)//2)^2 - (n % 2))
for u in unit_orbitals(n):
if all(x >= 0 for x in accumulate(u)): continue
if all(x <= 0 for x in accumulate(u)): continue
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(osc_orbitals_major_index(n))
A241477
Triangle read by rows, number of orbitals classified with respect to the first zero crossing, n>=1, 1<=k<=n.
Original entry on oeis.org
1, 0, 2, 2, 2, 2, 0, 4, 0, 2, 6, 12, 4, 2, 6, 0, 12, 0, 4, 0, 4, 20, 60, 12, 12, 12, 4, 20, 0, 40, 0, 12, 0, 8, 0, 10, 70, 280, 40, 60, 36, 24, 40, 10, 70, 0, 140, 0, 40, 0, 24, 0, 20, 0, 28, 252, 1260, 140, 280, 120, 120, 120, 60, 140, 28, 252, 0, 504, 0
Offset: 1
[1], [ 1]
[2], [ 0, 2]
[3], [ 2, 2, 2]
[4], [ 0, 4, 0, 2]
[5], [ 6, 12, 4, 2, 6]
[6], [ 0, 12, 0, 4, 0, 4]
[7], [20, 60, 12, 12, 12, 4, 20]
-
A241477 := proc(n, k)
if n = 0 then 1
elif k = 0 then 0
elif irem(n, 2) = 0 and irem(k, 2) = 1 then 0
elif k = 1 then (n-1)!/iquo(n-1,2)!^2
else 2*(n-k)!*(k-2)!/iquo(k,2)/(iquo(k-2,2)!*iquo(n-k,2)!)^2
fi end:
for n from 1 to 9 do seq(A241477(n, k), k=1..n) od;
-
T[n_, k_] := Which[n == 0, 1, k == 0, 0, Mod[n, 2] == 0 && Mod[k, 2] == 1, 0, k == 1, (n-1)!/Quotient[n-1, 2]!^2, True, 2*(n-k)!*(k-2)!/Quotient[k, 2]/(Quotient[k-2, 2]!*Quotient[n-k, 2]!)^2];
Table[T[n, k], {n, 1, 12}, {k, 1, n}] // Flatten (* Jean-François Alcover, Jun 20 2018, from Maple *)
-
def A241477_row(n):
if n == 0: return [1]
Z = [0]*n; T = [0] if is_odd(n) else []
for i in (1..n//2): T.append(-1); T.append(1)
for p in Permutations(T):
i = 0; s = p[0]
while s != 0: i += 1; s += p[i];
Z[i] += 1
return Z
for n in (1..9): A241477_row(n)
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
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.
Cf.
A008313,
A039599 (even rows),
A047072,
A056040 (row sums),
A057977 (col 0),
A063549 (col 0),
A112467,
A120730,
A189230 (odd rows aerated),
A189231,
A232500.
-
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);
-
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
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.
-
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
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.
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
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].
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
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].
-
# 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))
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
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].
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
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].
Showing 1-10 of 18 results.
Comments