login
A275325
Triangle read by rows: number of orbitals over n sectors which have a Catalan decomposition into k parts.
1
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,5
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.
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).
EXAMPLE
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]].
PROG
(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))
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).
Sequence in context: A274881 A303638 A162974 * A300227 A290971 A178636
KEYWORD
nonn,tabf
AUTHOR
Peter Luschny, Aug 15 2016
STATUS
approved