A275325 Triangle read by rows: number of orbitals over n sectors which have a Catalan decomposition into k parts.
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
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]].
Links
- Peter Luschny, Orbitals
Crossrefs
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))
Comments