Contact Views: 126
Visibility: Unlisted (only visible to those who know the link)
Image: default
%auto
typeset_mode(True, display=False)

%md
## Supplementary Sage worksheet for the article <b>On the Okounkov-Olshanski formula for standard tableaux of skew shapes</b>, <a href="https://arxiv.org/abs/2007.05006">arxiv:2007.05006</a> Alejandro H. Morales, Daniel G. Zhu



## Supplementary Sage worksheet for the article On the Okounkov-Olshanski formula for standard tableaux of skew shapes, arxiv:2007.05006 Alejandro H. Morales, Daniel G. Zhu



%md
### The Okounkov-Olshanski formula states that the number $f^{\lambda/\mu}$ of SYT of skew shape equals
### $f^{\lambda/\mu} = \frac{|\lambda/\mu|!}{\prod_{u \in [\lambda]} h(u)} \sum_{T \in SSYT(\mu,d)} \prod_{u\in [\mu]} (\lambda_{d+1-T(u)} - j+i),$
### where $d=\ell(\lambda)$.

### Let's look at an example.


### Let's look at an example.

def OOF(lam,mu, verbosity=1):
d = len(lam)
SSYT = SemistandardTableaux(mu,max_entry=d)
tot = 0
for T in SSYT:
contrib = mul([lam[d+1-T[u][u]-1]-u+u for u in T.cells()])
if verbosity == 1:
print "tableaux", T, "conbribution", contrib
tot += contrib

OOF([2,2,2,1],[1,1])

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'OOF' is not defined
StandardTableaux([[2,2,2,1],[1,1]]).cardinality()

$9$
%md
It is not so hard to show that this formula is nonnegative. However some terms have zero contribution.


It is not so hard to show that this formula is nonnegative. However some terms have zero contribution.

OOF([4,3,2,1],[2,1])

tableaux [[1, 1], ] conbribution 0 tableaux [[1, 1], ] conbribution 0 tableaux [[1, 1], ] conbribution 0 tableaux [[1, 2], ] conbribution 3 tableaux [[1, 2], ] conbribution 4 tableaux [[1, 3], ] conbribution 6 tableaux [[1, 2], ] conbribution 5 tableaux [[1, 4], ] conbribution 9 tableaux [[1, 3], ] conbribution 8 tableaux [[1, 3], ] conbribution 10 tableaux [[1, 4], ] conbribution 12 tableaux [[1, 4], ] conbribution 15 tableaux [[2, 2], ] conbribution 8 tableaux [[2, 2], ] conbribution 10 tableaux [[2, 3], ] conbribution 16 tableaux [[2, 3], ] conbribution 20 tableaux [[2, 4], ] conbribution 24 tableaux [[2, 4], ] conbribution 30 tableaux [[3, 3], ] conbribution 30 tableaux [[3, 4], ] conbribution 45
$272$
%md
## Number of terms ##
### Our first main result, Theorem 1.2, has two determinant formulas for the number of nonzero terms of the Okounkov-Olshanski formula that we denote by $OOT(\lambda/\mu)$


## Number of terms

### Our first main result, Theorem 1.2, has two determinant formulas for the number of nonzero terms of the Okounkov-Olshanski formula that we denote by $OOT(\lambda/\mu)$


def OOT1(lam,mu):
d = len(lam)
mup = mu +[0,]*(d-len(mu))
def mat_ent(i,j,lam,mu):
if lam[i]-mu[j]+(j+1)-1 >= (i+1)-1:
return binomial(lam[i] - mu[j]+(j+1)-1,(i+1)-1)
else:
return 0
M = matrix(d,d,lambda i, j: mat_ent(i,j,lam,mup))
print M
return M.determinant();

def OOT2(lam,mu):
lamc = Partition(lam).conjugate()
muc = Partition(mu).conjugate()
mucp = muc + [0,]*(len(lamc)-len(muc))
k = mu
def mat_ent(i,j,lamc,muc):
if lamc[i] >= muc[j] +i-j:
return binomial(lamc[i],muc[j]+i-j)
else:
return 0
M = matrix(k,k, lambda i,j: mat_ent(i,j,lamc,mucp))
print M
return M.determinant()


% md
### Let's do some examples


### Let's do some examples

OOT1([2,2,2,1],[1,1])

[ 1 1 1 1] [ 1 2 4 5] [ 0 1 6 10] [ 0 0 1 4]
$6$
OOT2([2,2,2,1],[1,1])

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'OOT2' is not defined
OOT1([3,2,1],)

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'OOT1' is not defined
OOT2([3,2,1],)

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'OOT2' is not defined
OOT1([4,3,2,1],[2,1])

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'OOT1' is not defined
OOT2([4,3,2,1],[2,1])

[6 1] [1 3]
$17$
%md
### Our second main result is a formula for the number of terms for thick zigzags $\delta_{n+2k}/\delta_n$ as a determinant of normalized Genocchi numbers $G_{2n}/(2n)!$, In particular $OOT(\delta_{n+2}/\delta_n) = G_{2n+2}$


### Our second main result is a formula for the number of terms for thick zigzags $\delta_{n+2k}/\delta_n$ as a determinant of normalized Genocchi numbers $G_{2n}/(2n)!$, In particular $OOT(\delta_{n+2}/\delta_n) = G_{2n+2}$

G = [1, 1, 3, 17, 155, 2073, 38227, 929569, 28820619, 1109652905, 51943281731, 2905151042481, 191329672483963, 14655626154768697, 1291885088448017715, 129848163681107301953, 14761446733784164001387, 1884515541728818675112649, 268463531464165471482681379]

def nG(n):
return G[n-1]/factorial(2*n)

def staircase(n):
return range(1,n)[::-1]

def OOT_thick_zigzag(n,k):
M = matrix(k, k, lambda i, j: nG(n+(i+1)+(j+1)-1))
print "shape", staircase(n+2*k),"/", staircase(n)
# print M
return M.determinant()*mul([factorial(2*(n+i+k-1))/factorial(2*i-1) for i in range(1,k+1)]);


% md
Interestingly this number of terms is proportional to the number of SYT of this shape.


Interestingly this number of terms is proportional to the number of SYT of this shape.

n=5
k=3
factor(StandardTableaux([staircase(n+2*k),staircase(n)]).cardinality()/OOT_thick_zigzag(n,k))

size shape 45 shape [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] / [4, 3, 2, 1]
$2^{41} \cdot 3 \cdot 5 \cdot 11 \cdot 19 \cdot 23 \cdot 29 \cdot 31 \cdot 37 \cdot 41 \cdot 43$
%md
## Reformulations
### We give several reformulations of the Okounkov-Olshanski formula. One is in terms of <b>reverse excited diagrams</b>. Excited diagrams appear in the Naruse hook length formula for skew shapes. The reverse excited diagram reformulation is

### $f^{\lambda/\mu} \,=\, \frac{|\lambda/\mu|!}{\prod_{u\in [\lambda]} h(u)} \sum_{D\in \mathcal{RE}(\lambda)} \prod_{(i,j) \in B(D)} (\lambda_i+d-j)$,

### where $d=\ell(\lambda)$, $B(D)$ are certain cells of $[\lambda]$ (viewed as a shifted skew shape) associated to $D$ and $\lambda_i+d-j$ equals the arm-length of the cell $(i,j)$.


## Reformulations

### where $d=\ell(\lambda)$, $B(D)$ are certain cells of $[\lambda]$ (viewed as a shifted skew shape) associated to $D$ and $\lambda_i+d-j$ equals the arm-length of the cell $(i,j)$.



# read text file with code

OOF_RED([2,2,2,1],[1,1,0,0],verbosity=1)

+---+---+---+---+---+ ||||||||||\|||||||X|| +---+---+---+---+---+ | ||||||||||\|||X|| +---+---+---+---+---+ | | ||||||X|||X|| +---+---+---+---+---+ | | | ||X|| | +---+---+---+---+---+ arms: [2, 3] +---+---+---+---+---+ ||||||||||\|||||||X|| +---+---+---+---+---+ | ||||||X|||||||X|| +---+---+---+---+---+ | | ||||||\|||X|| +---+---+---+---+---+ | | | ||X|| | +---+---+---+---+---+ arms: [2, 3] +---+---+---+---+---+ ||||||X|||||||||||X|| +---+---+---+---+---+ | ||||||\|||||||X|| +---+---+---+---+---+ | | ||||||\|||X|| +---+---+---+---+---+ | | | ||X|| | +---+---+---+---+---+ arms: [3, 2] +---+---+---+---+---+ ||||||||||\|||||||X|| +---+---+---+---+---+ | ||||||X|||||||X|| +---+---+---+---+---+ | | ||X|||||||X|| +---+---+---+---+---+ | | | ||\|| | +---+---+---+---+---+ arms: [3, 1] +---+---+---+---+---+ ||||||X|||||||||||X|| +---+---+---+---+---+ | ||||||\|||||||X|| +---+---+---+---+---+ | | ||X|||||||X|| +---+---+---+---+---+ | | | ||\|| | +---+---+---+---+---+ arms: [3, 1] +---+---+---+---+---+ ||||||X|||||||||||X|| +---+---+---+---+---+ | ||X|||||||||||X|| +---+---+---+---+---+ | | ||\|||||||X|| +---+---+---+---+---+ | | | ||\|| | +---+---+---+---+---+ arms: [1, 3]
$9$
%md
### Another reformulation is in terms of Knutson-Tao puzzles: $f^{\lambda/\mu} = \frac{|\lambda/\mu|!}{\prod_{u\in[\lambda]} h(u)} \sum_{P \in \Delta^{\lambda\mu}_\lambda} \prod_{p \in \lozenge(P)}\operatorname{ht}(p)$.


### Another reformulation is in terms of Knutson-Tao puzzles: $f^{\lambda/\mu} = \frac{|\lambda/\mu|!}{\prod_{u\in[\lambda]} h(u)} \sum_{P \in \Delta^{\lambda\mu}_\lambda} \prod_{p \in \lozenge(P)}\operatorname{ht}(p)$.





latex.extra_preamble(r'''\usepackage{tikz}''')
vars =  ['y%d' % i for i in range(1,7)]
R = PolynomialRing(QQ, 6, vars)
ps = KnutsonTaoPuzzleSolver("HT")
lam = [2,2,2,1]
mu = [1,1]
solns = ps('101000', '0010011')
tot = 0
for p in solns:
if p.south_labels() == ('1','0','1','0','0','0'):
curr = R(p.contribution()).substitute(y1=1,y2=2,y3=3,y4=4,y5=5,y6=6)
p, curr
tot += curr

({(1, 1): 1/1\1, (1, 2): 0/\1 1\/0, (1, 3): 1/\1 1\/1, (1, 4): 0/\1 1\/0, (1, 5): 0/\0 1\/10, (1, 6): 0/\0 0\/0, (2, 2): 0/0\0, (2, 3): 1/\0 0\/1, (2, 4): 0/\0 0\/0, (2, 5): 10/\1 0\/0, (2, 6): 0/\0 1\/10, (3, 3): 1/1\1, (3, 4): 0/\0 1\/10, (3, 5): 0/\0 0\/0, (3, 6): 10/\1 0\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 3) ({(1, 1): 1/1\1, (1, 2): 0/\1 1\/0, (1, 3): 1/\1 1\/1, (1, 4): 0/\0 1\/10, (1, 5): 0/\0 0\/0, (1, 6): 0/\0 0\/0, (2, 2): 0/0\0, (2, 3): 1/\0 0\/1, (2, 4): 10/\1 0\/0, (2, 5): 0/\1 1\/0, (2, 6): 0/\0 1\/10, (3, 3): 1/1\1, (3, 4): 0/\0 1\/10, (3, 5): 0/\0 0\/0, (3, 6): 10/\1 0\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 3) ({(1, 1): 1/1\1, (1, 2): 0/\1 1\/0, (1, 3): 1/\1 1\/1, (1, 4): 0/\0 1\/10, (1, 5): 0/\0 0\/0, (1, 6): 0/\0 0\/0, (2, 2): 0/0\0, (2, 3): 1/\0 0\/1, (2, 4): 10/\1 0\/0, (2, 5): 0/\0 1\/10, (2, 6): 0/\0 0\/0, (3, 3): 1/1\1, (3, 4): 0/\0 1\/10, (3, 5): 10/\1 0\/0, (3, 6): 0/\1 1\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 3) ({(1, 1): 1/1\1, (1, 2): 0/\0 1\/10, (1, 3): 1/\0 0\/1, (1, 4): 0/\0 0\/0, (1, 5): 0/\0 0\/0, (1, 6): 0/\0 0\/0, (2, 2): 10/0\1, (2, 3): 1/\1 1\/1, (2, 4): 0/\1 1\/0, (2, 5): 0/\1 1\/0, (2, 6): 0/\0 1\/10, (3, 3): 1/1\1, (3, 4): 0/\0 1\/10, (3, 5): 0/\0 0\/0, (3, 6): 10/\1 0\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 6) ({(1, 1): 1/1\1, (1, 2): 0/\0 1\/10, (1, 3): 1/\0 0\/1, (1, 4): 0/\0 0\/0, (1, 5): 0/\0 0\/0, (1, 6): 0/\0 0\/0, (2, 2): 10/0\1, (2, 3): 1/\1 1\/1, (2, 4): 0/\1 1\/0, (2, 5): 0/\0 1\/10, (2, 6): 0/\0 0\/0, (3, 3): 1/1\1, (3, 4): 0/\0 1\/10, (3, 5): 10/\1 0\/0, (3, 6): 0/\1 1\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 6) ({(1, 1): 1/1\1, (1, 2): 0/\0 1\/10, (1, 3): 1/\0 0\/1, (1, 4): 0/\0 0\/0, (1, 5): 0/\0 0\/0, (1, 6): 0/\0 0\/0, (2, 2): 10/0\1, (2, 3): 1/\1 1\/1, (2, 4): 0/\0 1\/10, (2, 5): 0/\0 0\/0, (2, 6): 0/\0 0\/0, (3, 3): 1/1\1, (3, 4): 10/\1 1\/10, (3, 5): 0/\1 1\/0, (3, 6): 0/\1 1\/0, (4, 4): 10/0\1, (4, 5): 0/\0 1\/10, (4, 6): 0/\0 0\/0, (5, 5): 10/0\1, (5, 6): 0/\0 1\/10, (6, 6): 10/0\1}, 6) expecting 9 9
%md
# $q$-analogues for skew reverse plane partitions
## Stanley-Chen have a $q$-analogue of the Okounkov-Olshanski formula for the generating function of skew semistandard tableaux.
## Our last main results are $q$-analogues of the Okounkov-Olshanski formula for the generating function of skew reverse plane partitions. Let $rpp_{\lambda/\mu}(q) := \sum_{T \in RPP(\lambda/\mu)} q^{|T|}$.
### <b>Theorem (1st $q$-analogue):</b> $\frac{rpp_{\lambda/\mu}(q)}{rpp_{\lambda}(q)} = \sum_{T \in SSYT(\mu, d)} q^{p(T)} \prod_{u \in [\mu]} (1 - q^{w(u, T(u))})$,
### where $p(T)=\sum_{u \in [\mu], m_T(u) \leq k < T(u)} w(u,k)$ and $m_T(u)$  is the minimum $k\leq T(u)$ such that replacing $T(u)$ by $k$ still gives a semistandard tableaux.



# $q$-analogues for skew reverse plane partitions

## Our last main results are $q$-analogues of the Okounkov-Olshanski formula for the generating function of skew reverse plane partitions. Let $rpp_{\lambda/\mu}(q) := \sum_{T \in RPP(\lambda/\mu)} q^{|T|}$.

### where $p(T)=\sum_{u \in [\mu], m_T(u) \leq k < T(u)} w(u,k)$ and $m_T(u)$ is the minimum $k\leq T(u)$ such that replacing $T(u)$ by $k$ still gives a semistandard tableaux.

%md
### Example: For $\lambda/\mu = 2221/11$. From the theory of $P$-partitions or computing it directly the answer for $rpp_{\lambda/\mu}(x)/rpp_{\lambda}(x) = 1-x^5-x^6-x^7+x^8+x^{10}$


### Example: For $\lambda/\mu = 2221/11$. From the theory of $P$-partitions or computing it directly the answer for $rpp_{\lambda/\mu}(x)/rpp_{\lambda}(x) = 1-x^5-x^6-x^7+x^8+x^{10}$

f1 = x^3*(1-x^2)*(1-x^3) + x^4*(1-x^2)*(1-x^3) + x*(1-x^2)*(1-x^3)+x^6*(1-x)*(1-x^3)+x^3*(1-x)*(1-x^3)+x^0*(1-x^1)*(1-x^3)
f1

${\left(x^{3} - 1\right)} {\left(x - 1\right)} x^{6} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)} x^{4} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)} x^{3} + {\left(x^{3} - 1\right)} {\left(x - 1\right)} x^{3} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)} x + {\left(x^{3} - 1\right)} {\left(x - 1\right)}$
f1.series(x,12)

Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'f1' is not defined
%md
### <b>Theorem (2nd $q$-analogue):</b> $\frac{rpp_{\lambda/\mu}(q)}{rpp_{\lambda}(q)} = \sum_{T \in SSYT(\mu, d)} q^{p^*(T)} \prod_{u \in [\mu]} (1 - q^{w(u, T(u))})$,
### where $p^*(T) = \sum_{u \in [\mu], T(u) < k \leq \min(d, M_T(u))} w(u, k)$, and $M_T(u)$ is the maximum $k\geq T(u)$ such that replacing $T(u)$ by $k$ still gives a semistandard tableaux.


### where $p^*(T) = \sum_{u \in [\mu], T(u) < k \leq \min(d, M_T(u))} w(u, k)$, and $M_T(u)$ is the maximum $k\geq T(u)$ such that replacing $T(u)$ by $k$ still gives a semistandard tableaux.

f2 = x^0*(1-x^2)*(1-x^3) + x^2*(1-x^2)*(1-x^3) + x^3*(1-x^2)*(1-x^3)+x^4*(1-x)*(1-x^3)+x^5*(1-x)*(1-x^3)+x^6*(1-x^1)*(1-x^3)
f2

${\left(x^{3} - 1\right)} {\left(x - 1\right)} x^{6} + {\left(x^{3} - 1\right)} {\left(x - 1\right)} x^{5} + {\left(x^{3} - 1\right)} {\left(x - 1\right)} x^{4} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)} x^{3} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)} x^{2} + {\left(x^{3} - 1\right)} {\left(x^{2} - 1\right)}$
f2.series(x,12)

$1 + {(-1)} x^{5} + {(-1)} x^{6} + {(-1)} x^{7} + 1 x^{8} + 1 x^{10} + \mathcal{O}\left(x^{12}\right)$