***************************************************************************** * www.FindStat.org - The Combinatorial Statistic Finder * * * * Copyright (C) 2019 The FindStatCrew * * * * This information is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * ***************************************************************************** ----------------------------------------------------------------------------- Statistic identifier: St000319 ----------------------------------------------------------------------------- Collection: Integer partitions ----------------------------------------------------------------------------- Description: The spin of an integer partition. The Ferrers shape of an integer partition $\lambda$ can be decomposed into border strips. The spin is then defined to be the total number of crossings of border strips of $\lambda$ with the vertical lines in the Ferrers shape. The following example is taken from Appendix B in [1]: Let $\lambda = (5,5,4,4,2,1)$. Removing the border strips successively yields the sequence of partitions $$(5,5,4,4,2,1), (4,3,3,1), (2,2), (1), ().$$ The first strip $(5,5,4,4,2,1) \setminus (4,3,3,1)$ crosses $4$ times, the second strip $(4,3,3,1) \setminus (2,2)$ crosses $3$ times, the strip $(2,2) \setminus (1)$ crosses $1$ time, and the remaining strip $(1) \setminus ()$ does not cross. This yields the spin of $(5,5,4,4,2,1)$ to be $4+3+1 = 8$. ----------------------------------------------------------------------------- References: [1] , Loehr, N. A., Warrington, G. S. Nested quantum Dyck paths and $\nabla (s_\lambda )$ [[MathSciNet:2418288]] [[arXiv:0705.4608]] [2] Haglund, J. The $q$,$t$-Catalan numbers and the space of diagonal harmonics [[MathSciNet:2371044]] ----------------------------------------------------------------------------- Code: def remove_border_strip(L): return Partition( part-1 for part in L[1:] if part > 1 ) def border_strip_decomposition(L): decomp = [] while len(L) > 0: decomp.append(L) L = remove_border_strip(L) return decomp def border_strip_crossing_number(L): L = list(L)+[1] return sum( L[i-1]-L[i] for i in range(1,len(L)) ) def statistic(L): return sum( border_strip_crossing_number(X) for X in border_strip_decomposition(L) ) ----------------------------------------------------------------------------- Statistic values: [1] => 0 [2] => 1 [1,1] => 0 [3] => 2 [2,1] => 1 [1,1,1] => 0 [4] => 3 [3,1] => 2 [2,2] => 1 [2,1,1] => 1 [1,1,1,1] => 0 [5] => 4 [4,1] => 3 [3,2] => 2 [3,1,1] => 2 [2,2,1] => 1 [2,1,1,1] => 1 [1,1,1,1,1] => 0 [6] => 5 [5,1] => 4 [4,2] => 3 [4,1,1] => 3 [3,3] => 3 [3,2,1] => 2 [3,1,1,1] => 2 [2,2,2] => 1 [2,2,1,1] => 1 [2,1,1,1,1] => 1 [1,1,1,1,1,1] => 0 [7] => 6 [6,1] => 5 [5,2] => 4 [5,1,1] => 4 [4,3] => 4 [4,2,1] => 3 [4,1,1,1] => 3 [3,3,1] => 3 [3,2,2] => 2 [3,2,1,1] => 2 [3,1,1,1,1] => 2 [2,2,2,1] => 1 [2,2,1,1,1] => 1 [2,1,1,1,1,1] => 1 [1,1,1,1,1,1,1] => 0 [8] => 7 [7,1] => 6 [6,2] => 5 [6,1,1] => 5 [5,3] => 5 [5,2,1] => 4 [5,1,1,1] => 4 [4,4] => 5 [4,3,1] => 4 [4,2,2] => 3 [4,2,1,1] => 3 [4,1,1,1,1] => 3 [3,3,2] => 3 [3,3,1,1] => 3 [3,2,2,1] => 2 [3,2,1,1,1] => 2 [3,1,1,1,1,1] => 2 [2,2,2,2] => 1 [2,2,2,1,1] => 1 [2,2,1,1,1,1] => 1 [2,1,1,1,1,1,1] => 1 [1,1,1,1,1,1,1,1] => 0 [9] => 8 [8,1] => 7 [7,2] => 6 [7,1,1] => 6 [6,3] => 6 [6,2,1] => 5 [6,1,1,1] => 5 [5,4] => 6 [5,3,1] => 5 [5,2,2] => 4 [5,2,1,1] => 4 [5,1,1,1,1] => 4 [4,4,1] => 5 [4,3,2] => 4 [4,3,1,1] => 4 [4,2,2,1] => 3 [4,2,1,1,1] => 3 [4,1,1,1,1,1] => 3 [3,3,3] => 3 [3,3,2,1] => 3 [3,3,1,1,1] => 3 [3,2,2,2] => 2 [3,2,2,1,1] => 2 [3,2,1,1,1,1] => 2 [3,1,1,1,1,1,1] => 2 [2,2,2,2,1] => 1 [2,2,2,1,1,1] => 1 [2,2,1,1,1,1,1] => 1 [2,1,1,1,1,1,1,1] => 1 [1,1,1,1,1,1,1,1,1] => 0 [10] => 9 [9,1] => 8 [8,2] => 7 [8,1,1] => 7 [7,3] => 7 [7,2,1] => 6 [7,1,1,1] => 6 [6,4] => 7 [6,3,1] => 6 [6,2,2] => 5 [6,2,1,1] => 5 [6,1,1,1,1] => 5 [5,5] => 7 [5,4,1] => 6 [5,3,2] => 5 [5,3,1,1] => 5 [5,2,2,1] => 4 [5,2,1,1,1] => 4 [5,1,1,1,1,1] => 4 [4,4,2] => 5 [4,4,1,1] => 5 [4,3,3] => 4 [4,3,2,1] => 4 [4,3,1,1,1] => 4 [4,2,2,2] => 3 [4,2,2,1,1] => 3 [4,2,1,1,1,1] => 3 [4,1,1,1,1,1,1] => 3 [3,3,3,1] => 3 [3,3,2,2] => 3 [3,3,2,1,1] => 3 [3,3,1,1,1,1] => 3 [3,2,2,2,1] => 2 [3,2,2,1,1,1] => 2 [3,2,1,1,1,1,1] => 2 [3,1,1,1,1,1,1,1] => 2 [2,2,2,2,2] => 1 [2,2,2,2,1,1] => 1 [2,2,2,1,1,1,1] => 1 [2,2,1,1,1,1,1,1] => 1 [2,1,1,1,1,1,1,1,1] => 1 [1,1,1,1,1,1,1,1,1,1] => 0 ----------------------------------------------------------------------------- Created: Dec 08, 2015 at 17:15 by Christian Stump ----------------------------------------------------------------------------- Last Updated: Dec 17, 2015 at 11:19 by Christian Stump