Volumes of Generalized Chan–Robbins–Yuen Polytopes

Abstract

The normalized volume of the Chan–Robbins–Yuen polytope (\(CRY_n\)) is the product of consecutive Catalan numbers. The polytope \(CRY_n\) has captivated combinatorial audiences for over a decade, as there is no combinatorial proof for its volume formula. In their quest to understand \(CRY_n\) better, the third author and Morales introduced two natural generalizations of it and conjectured that their volumes are certain powers of 2 multiplied by a product of consecutive Catalan numbers. Zeilberger proved one of these conjectures. In this paper we present proofs of both conjectures.

Introduction

The Chan–Robbins–Yuen polytope (\(CRY_n\)) has captivated combinatorialists for nearly two decades since its introduction in [3]. Chan, Robbins and Yuen defined \(CRY_n\) as the convex hull of the set of \(n\times n\) permutation matrices \(\pi \) with \(\pi _{ij}=0\) if \(j\ge i+2\). The polytope \(CRY_n\) is integrally equivalent to the (type A) flow polytope of the complete graph \(K_{n+1}\) with netflow vector \((1,0, \ldots , 0, -1)\) [6]. (We define these in Sect. 2.) Recall that integer polytopes \({\mathcal {P}}\subset \mathbb {R}^m\) and \({\mathcal {Q}}\subset \mathbb {R}^k\) are integrally equivalent if there is an affine transformation \(f:\mathbb {R}^m\rightarrow \mathbb {R}^k\) such that f maps \({\mathcal {P}}\) bijectively onto \({\mathcal {Q}}\) and f maps \(\mathbb {Z}^m\cap {\text {aff}}({\mathcal {P}})\) bijectively onto \(\mathbb {Z}^k\cap {\text {aff}}({\mathcal {Q}})\), where \( {\text {aff}}\) denotes affine span. If two polytopes are integrally equivalent, then they have the same combinatorial type as well as the same volume and more generally the same Ehrhart polynomial.

Recall that the Ehrhart polynomial \(i({\mathcal {P}}, t)\) of an integer polytope \({\mathcal {P}} \subset \mathbb {R}^m\) counts the number of integer points of dilations of the polytope, \(i({\mathcal {P}}, t):=\#\,(t {\mathcal {P}}\cap \mathbb {Z}^m)\). Its leading coefficient is the volume of the polytope. The normalized volume \({\text {vol}}(P)\) of a d-dimensional polytope \({\mathcal {P}} \subset {\mathbb {R}}^m\) is the volume form which assigns a volume of one to the smallest d-dimensional integer simplex in the affine span of \({\mathcal {P}}\). In other words, the normalized volume of a d-dimensional polytope \({\mathcal {P}}\) is d! times its volume.

The polytope \(CRY_n\) is a face of the Birkhoff polytope, the polytope of all doubly stochastic matrices, prominent in combinatorial optimization. Remarkably, the normalized volume of the \(CRY_n\) polytope is the product of the first \(n-2\) Catalan numbers, as conjectured by Chan et al. in [3] and proved by Zeilberger in [9].

Theorem 1.1

[3, 9] The normalized volume of \(CRY_n\) is

$$\begin{aligned} {\text {vol}}(CRY_n)=\prod _{i=1}^{n-2} {\text {Cat}}(i), \end{aligned}$$
(1.1)

where \({\text {Cat}}(i)=\frac{1}{i+1}{{2i} \atopwithdelims (){i}}\) is the Catalan number.

Zeilberger proved Theorem 1.1 analytically via constant terms identities. Despite the combinatorial volume formula, his theorem still lacks a combinatorial proof. In a quest to broaden the view on \(CRY_n\) and flow polytopes in general, the third author and Morales introduced and studied signed flow polytopes in [6], and defined types C and D analogues of the Chan–Robbins–Yuen polytope, \(CRYC_{n+1}\) and \(CRYD_{n+1}\). They conjectured:

Conjecture 1.2

[6, Conj. 7.6], [10, Zeilberger’s Theorem] Let \(CRYD_{n+1}\) be the flow polytope \({\mathcal {F}}_{K_{n+1}^{D}}(2,0,\ldots ,0)\) where \(K^{D}_{n+1}\) is the complete signed graph with \(n+1\) vertices (all edges of the form \((i,j,\pm )\), \(1\le i<j\le n+1\)). Then the normalized volume of \(CRYD_{n+1}\) is

$$\begin{aligned} {\text {vol}}(CRYD_{n+1}) = 2^{(n-1)^2} \prod _{k=0}^{n-1} {\text {Cat}}(k). \end{aligned}$$

Conjecture 1.3

[6, Conj. 7.8] Let \(CRYC_{n+1}\) be the flow polytope \({\mathcal {F}}_{K_{n+1}^{C}}(2,0,\ldots ,0)\) where \(K^{C}_{n+1}\) is the complete signed graph with \(n+1\) vertices (all edges of the form \((i,j,\pm )\) for \(1\le i< j\le n+1\) and \((i,i,+)\) for \(1\le i\le n\)). Then the normalized volume of \(CRYC_{n+1}\) is

$$\begin{aligned} {\text {vol}}(CRYC_{n+1}) = 2^{n(n-1)} \prod _{k=0}^{n-1} {\text {Cat}}(k). \end{aligned}$$
(1.2)

For details on notation in the above conjectures consult Sect. 2. We note that in [6, p. 834, Conj. 7.6] the formula for \({\text {vol}}(CRYC_{n+1})\) has a typo giving an additional factor of 2.

In [10] Zeilberger gave a sketch of a proof of Conjecture 1.2. In this paper we prove Conjecture 1.3, by understanding the volume of \(CRYC_{n+1}\) in combinatorial terms and translating this understanding to a constant term identity which we prove with analytic tools. Moreover, we also give a rigorous proof of Conjecture 1.2 following the sketch given in [10]. Some steps of Zeilberger’s proof in [10] require rigorous arguments which we supply; in particular Zeilberger notes in [10] that he does not provide justifications for the change of variables in his contour-integrals.

The outline of the paper is as follows. In Sect. 2 we give the background on type C flow polytopes (of which the type D flow polytopes are a special case where the graph has no loops) and define \(CRYC_{n+1}\) and \(CRYD_{n+1}\). In Sect. 3 we explain how to express the volumes of \(CRYC_{n+1}\) and \(CRYD_{n+1}\) as constant term identities. In Sect. 4 we prove Conjecture 1.3 using our insights from Sect. 3 and constant term identity techniques. We also present a proof of Conjecture 1.2 for completeness. In Sect. 5 we conclude by a discussion of open problems.

Type \(C_{n+1}\) Flow Polytopes

Much of this section follows the exposition in [6].

Signed Graphs, Kostant Partition Functions and Flows

We consider signed graphs G on the vertex set \([n+1]:=\{1,2,\dots ,n+1\}\), which are graphs such that there is a sign \(\epsilon \in \{+, -\}\) assigned to each of their edges. We allow loops and multiple edges. The sign of a loop is always \(+\), and a loop at vertex i is denoted by \((i, i, +)\). Denote by \((i, j, -)\) and \((i, j, +)\), \(i < j\), a negative and a positive edge between vertices i and j, respectively. A positive edge, which is an edge labeled by \(+\), is positively incident, or, incident with a positive sign, to both of its endpoints. A negative edge is positively incident to its smaller endpoint and negatively incident to its greater endpoint. Denote by \(m_{ij}^\epsilon \) the multiplicity of edge \((i, j, \epsilon )\) in G, \(i\le j\), \(\epsilon \in \{+, -\}\). To each edge \((i, j, \epsilon )\), \(i\le j\), of G, associate the positive type \(C_{n+1}\) root \(\mathrm{v}(i,j, \epsilon )\), where \(\mathrm{v}(i,j, -)=\mathbf{e}_i-\mathbf{e}_j\) and \(\mathrm{v}(i,j, +)=\mathbf{e}_i+\mathbf{e}_j\). Let \(S_G := \{\!\{\mathbf{v}_1, \ldots , \mathbf{v}_N\}\!\}\) be the multiset of roots corresponding to the multiset of edges of G. Note that \(N=\sum _{1\le i\le j\le n+1} (m_{ij}^-+m_{ij}^+)\).

For a signed graph G the Kostant partition function \(K_G\) evaluated at the vector \(\mathrm{v}\in \mathbb {Z}^{n+1}\) is defined as

$$\begin{aligned} K_G(\mathrm{v})= \#\, \Big \{ (b_{k})_{k \in [N]} \Bigm \vert \sum _{k \in [N]} b_{k} \mathbf{v}_k =\mathrm{v}\text { and } b_{k} \in \mathbb {Z}_{\ge 0}\Big \}. \end{aligned}$$

That is, \(K_G(\mathrm{v})\) is the number of ways to write the vector \(\mathrm{v}\) as an \({\mathbb {N}}\)-linear combination of the positive type \(C_{n+1}\) roots \(\mathbf{v}_k\) corresponding to the edges of G, without regard to order.

In this paper positive edges will be colored red and negative edges will be colored black.

Example 2.1

For the signed graph G in Fig. 1i, \(K_G(1,3,-2)=3,\) since \((1,3,-2)=(\mathbf{e}_1-\mathbf{e}_3) + (2\mathbf{e}_2) + (\mathbf{e}_2-\mathbf{e}_3)=(\mathbf{e}_1+\mathbf{e}_2) + 2(\mathbf{e}_2-\mathbf{e}_3)=(\mathbf{e}_1-\mathbf{e}_2)+(2\mathbf{e}_2)+2(\mathbf{e}_2-\mathbf{e}_3)\).

Fig. 1
figure1

(i) A signed graph G on three vertices and the positive roots associated with each of the five edges. The columns of the matrix \(M_G\) correspond to these roots. The flow polytope \(\mathcal {F}_G(\mathbf{a})\) consists of the flows \(\mathbf{b}\in \mathbb {R}_{\ge 0}^5\) such that \(M_G\mathbf{b} = \mathbf{a}\) where \(\mathbf{a}\) is the netflow vector. The Kostant partition function \(K_{G}(\mathbf{a})\) counts the lattice points of \(\mathcal {F}_G(\mathbf{a})\), the number of ways of obtaining \(\mathbf{a}\) as an \({\mathbb {N}}\)-integer combination of the roots associated to G. (ii) A nonnegative flow on G with netflow vector \(\mathbf{a}=(1, 3, -2)\). The flows on the edges are included. Note that the total flow on the positive edges is \({\frac{1}{4}} + {\frac{3}{4}}=1=\frac{1}{2}({1}+{3}-{2})\)

Let G be a signed graph on the vertex set \([n+1]\), and \(M_G\) be the \((n+1)\times N\) matrix whose columns are the vectors in \(S_G\). Fix an integer vector \(\mathbf{a}=(a_1, \ldots , a_n, a_{n+1}) \in \mathbb {Z}^{n+1}\) which we call the netflow. An \(\varvec{\mathbf{a}}\)-flow \(\varvec{\mathbf{f}}_G\) on G is a vector \(\varvec{\mathbf{f}}_G=(b_k)_{k \in [N]}\), \(b_k \in \mathbb {R}_{\ge 0}\) such that \(M_G \varvec{\mathbf{f}}_G=\varvec{\mathbf{a}}\). That is, for all \(1\le v \le n+1\), we have

$$\begin{aligned} a_v+ \sum _{\begin{array}{c} e \in E(G),\\ \text {inc}(e, v )=- \end{array}} b(e)= \sum _{\begin{array}{c} e \in E(G),\\ \text {inc}(e, v)=+ \end{array}} b(e)+\sum _{e=(v, v, + )} b(e), \end{aligned}$$
(2.1)

where \(b(e_k)=b_k\), \(\text {inc}(e, v)=-\) if \(e=(g, v, -)\), \(g <v\), and \(\text {inc}(e, v)=+\) if \(e=(g, v, +)\), \(g <v\), or \(e=( v, j, \epsilon )\), \(v <j,\) and \(\epsilon \in \{+, -\}\).

Example 2.2

Figure 1ii shows a signed graph G with three vertices with flow assigned to each edge. The netflow is \(\mathbf{a}=(1,3,-2)\). We can check that (2.1) holds for this example. Indeed we have \(1=\frac{1}{2}+\frac{1}{4}+\frac{1}{4}\), \(3+\frac{1}{4}=\frac{1}{4}+\frac{3}{4}+\frac{3}{2}+\frac{3}{4}\), etc.

Call b(e) the flow assigned to edge e of G. If the edge e is negative, one can think of b(e) units of fluid flowing on e from its smaller vertex to its bigger vertex. If the edge e is positive, then one can think of b(e) units of fluid flowing away from the two vertices of e to “infinity.” Edge e is then a “leak” taking away 2b(e) units of fluid.

From the above explanation it is clear that if we are given an \(\mathbf{a}\)-flow \(\mathbf{f}_G\) such that

$$\begin{aligned} \sum _{i=1}^{n+1}a_i=2y, \end{aligned}$$
(2.2)

for some positive integer y then \(\sum _{e=(i, j, +)}b(e)=y\). Using again the example in Fig. 1ii, \(\sum _{i=1}^{n+1}a_i=1+3-2=2\sum _{e=(i, j, +)}b(e)=2\bigl (\frac{1}{4}+\frac{3}{4}\bigr )\).

An integer \(\varvec{\mathbf{a}}\)-flow \(\varvec{\mathbf{f}}_G\) on G is an \(\varvec{\mathbf{a}}\)-flow \(\varvec{\mathbf{f}}_G=(b_i)_{i \in [N]}\) with \(b_i \in \mathbb {Z}_{\ge 0}\). It is a matter of checking the definitions to see that for a signed graph G on the vertex set \([n+1]\) and vector \(\varvec{\mathbf{a}}=(a_1, \ldots , a_n, a_{n+1}) \in \mathbb {Z}^{n+1}\), the number of integer \(\varvec{\mathbf{a}}\)-flows on G is given by the Kostant partition function \(K_G(\varvec{\mathbf{a}})\).

Define the flow polytope \(\mathcal {F}_G(\mathbf{a})\) associated to a signed graph G on the vertex set \([n+1]\) and the integer vector \(\mathbf{a}=(a_1, \ldots , a_{n+1})\) as the set of all \(\mathbf{a}\)-flows \(\mathbf{f}_G\) on G, i.e., \(\mathcal {F}_G=\{\mathbf{f}_G \in \mathbb {R}^N_{\ge 0} \mid M_G \mathbf{f}_G = \mathbf{a}\}\). The flow polytope \(\mathcal {F}_G(\mathbf{a})\) then naturally lives in \({\mathbb {R}}^{N}\), where N is the number of edges of G. The third author and Morales [6, Thm. 3.10] showed that if \(\mathbf{a}\) is an integer vector then the vertices of \(\mathcal {F}_G(\mathbf{a})\) are half-integral points. Therefore, from the definition of the Ehrhart polynomial and the Kostant partition function it follows that

$$\begin{aligned} \displaystyle i({\mathcal {F}_G(\mathbf{a})}, t) = K_G(t \mathbf{a}). \end{aligned}$$
(2.3)

Classical type \(A_n\) flow polytopes are type \(C_{n+1}\) flow polytopes \(\mathcal {F}_G(\mathbf{a})\) such that the graph G has only negative edges.

Chan–Robbins–Yuen Polytopes

We think of the Chan–Robbins–Yuen polytope \(CRY_n\) as the flow polytope of the (unsigned) complete graph on \(n+1\) vertices \({\mathcal {F}}_{K_{n+1}}(1,0,\ldots ,0,-1)\) (since they are integrally equivalent). Zeilberger computed the normalized volume of this polytope (Theorem 1.1) using the Morris identity [8, Thm. 4.13].

Let \(K^{D}_{n+1}\) be the complete signed graph on \(n+1\) vertices, that is, its edges are of the form \((i,j,\pm )\) for \(1\le i<j\le n+1\) corresponding to all the positive roots in type \(D_{n+1}\). Let \(CRYD_{n+1}={\mathcal {F}}_{K_{n+1}^{D}}(2,0,\ldots ,0)\) be the type D analogue of the Chan–Robbins–Yuen polytope. Similarly, let \(K^{C}_{n+1}\) be the signed graph on \(n+1\) vertices with edges of the form \((i,j,\pm )\) for \(1\le i< j\le n+1\) and \((i,i,+)\) for \(i \in [n+1]\), corresponding to all the positive roots in type \(C_{n+1}\). Let \(CRYC_{n+1}={\mathcal {F}}_{K_{n+1}^{C}}(2,0,\ldots ,0)\) be the type C analogue of the Chan–Robbins–Yuen polytope. Conjectures 1.2 and  1.3 concern these polytopes, and are the subject of this paper.

Dynamic Integer Flows

Given a signed graph G and an edge \(e=(i,j,+)\) of G, we will regard \(e=(i,j,+)\) as two positive half-edges \((i,\varnothing ,+)\) and \((\varnothing ,j,+)\) that still have “memory” of being together (see Fig. 2i). We assign nonnegative integer flows \(b_{\ell }(e)\) and \(b_{r}(e)\) to the left and right halves of the positive edge, starting at the left half-edge. Once we assign \(b_{\ell }(e)\) units of flow, we add \(b_{\ell }(e)\) extra right positive half-edges incident to j. Any right positive half-edge \(e'\) is assigned a nonnegative integer flow \(b_r(e')\) (whether it was an extra right positive half-edge, or an original one). When we assign a nonnegative integer flow to a right positive half-edge no edges of any kind are added making the process of adding extra edges to the graph finite.

An analogue of (2.1) still holds:

$$\begin{aligned} a_i+ \sum _{e \in \mathcal {I}_i(G)} b(e)= & {} \sum _{e \in \mathcal {O}_i^-(G)} b(e) + \sum _{e=(i,\cdot ,+) \in \mathcal {O}_i^+(G)} b_{\ell }(e)+\sum _{e=(\cdot ,i,+)\in \mathcal {O}_i^+(G)} b_{r}(e) \nonumber \\&+ \sum _{\begin{array}{c} \text {extra right} \\ \text {half-edges } e'=(\varnothing ,i,+) \end{array}} b_{r}(e'), \end{aligned}$$
(2.4)

where \(a_i\) is the netflow at vertex i and \(\mathcal {I}_i(G)\), \(\mathcal {O}^-_i(G)\), and \(\mathcal {O}^+_i(G)\) are as follows. Given a signed graph G and one of its vertices i, let \({\mathcal {I}}_i={\mathcal {I}}_i(G)\) be the multiset of incoming edges to i, which are defined as negative edges of the form \((\cdot ,i,-)\). Let \({\mathcal {O}}_i={\mathcal {O}}_i(G)\) be the multiset of outgoing edges from i, which are defined as edges of the form \((\cdot ,i, +)\) and \((i,\cdot ,\pm )\). Finally, let \({\mathcal {O}}_i^{\pm }\) be the signed refinement of \({\mathcal {O}}_i\). Define \(\mathrm{indeg}_G(i):=\#\,{\mathcal {I}}_i(G)\) to be the indegree of vertex i in G.

We call the integer \(\mathbf{a}\)-flows of (2.4dynamic.

For the signed graph G in Fig. 2i with only one positive edge \(e=(1,3,+)\), we give three of its 17 integer dynamic flows with netflow (2, 1, 1) where we add \(b_{\ell }(e)=0,1\) and 2 right half-edges respectively.

Fig. 2
figure2

Example of dynamic flow: (i) signed graph G with positive edge e split into two half-edges, (ii) three of the 17 dynamic integer flows where \(b_{\ell }(e)=0,1\), and 2 so that zero, one and two right positive half-edges are added respectively

Given a signed graph G on the vertex set \([n+1]\) and \(\mathbf{a}\) a vector in \({\mathbb {Z}}^{n+1}\), the dynamic Kostant partition function \(K_G^{\mathrm{dyn}}(\mathbf{a})\) is the number of integer dynamic \(\mathbf{a}\)-flows in G.

Proposition 2.3

[6, Prop. 6.11] The generating series of the dynamic Kostant partition function is

$$\begin{aligned} \sum _{\mathbf{a} \in {\mathbb {Z}}^{n+1}} K_G^{\mathrm{dyn}}(\mathbf{a})\mathbf{x}^\mathbf{a} = {\prod _{(i,j,-) \in E(G)}} (1-x_ix_j^{-1})^{-1} {\prod _{(i,j,+) \in E(G)}} (1-x_i-x_j)^{-1},\nonumber \\ \end{aligned}$$
(2.5)

where \(\mathbf{x}^\mathbf{a}=x_1^{a_1}x_2^{a_2}\cdots x_{n+1}^{a_{n+1}}\).

Theorem 2.4

[6, Thm. 6.9] Given a loopless connected signed graph G on the vertex set \([n+1]\), let \(d_i=\mathrm{indeg}_G(i)-1\) for \(i\in \{2,\ldots ,n\}\). The normalized volume \({\text {vol}}(\mathcal {F}_G)\) of the flow polytope associated to the graph G is

$$\begin{aligned} {\text {vol}}(\mathcal {F}_G(2,0,\ldots ,0)) = K_G^{\mathrm{dyn}}(0,d_2, \ldots , d_n,d_{n+1}). \end{aligned}$$

Theorem 2.4 is in general false for graphs with loops, as it already fails for

$$\begin{aligned} G=([3], \{(1,2,-),(1,2,-),(1,2,-),(2,2,+)\}). \end{aligned}$$

This theorem does not apply to \(CRYC_{n+1}={\mathcal {F}}_{K_{n+1}^C}(2,0,\ldots ,0)\) as \(K_{n+1}^C\) has loops. Nevertheless, we will show in the next section that the analogue of Theorem 2.4 holds for \(CRYC_{n+1}\). Our proof is specific to \(CRYC_{n+1}\) and (obviously) cannot be extended to general graphs with loops.

Volumes of \(CRYC_{n+1}\) and \(CRYD_{n+1}\) Via Constant Term Identities

Suppose that a multi-variable function \(f(x_1,\ldots ,x_n)\) is a Laurent series in \(x_i\) considering other variables as constants. Then we denote by \(\mathrm{CT}_{x_i}f(x_1,\ldots ,x_n)\) the constant term in the Laurent expansion. Based on Theorem 2.4 it is proved in [6] that:

Proposition 3.1

[6, Prop. 7.5] The normalized volume of \(CRY D_{n+1}\) is

$$\begin{aligned} {\text {vol}}(CRY D_{n+1}) = {\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1}&\prod _{i=1}^{n-1}x_i^{-1} (1-x_i)^{-2}\nonumber \\&\times \prod _{{1\le i<j \le n-1}} (x_j-x_i)^{-1}(1-x_j-x_i)^{-1}. \end{aligned}$$
(3.1)

Using the above Conjecture 1.2 can be rewritten as a constant term identity, and this is how Zeilberger in [10] sketched its proof; we expand on his proof in the next section. This section is devoted to proving a similar constant term identity for \(CRYC_{n+1}\). We know that Theorem 2.4 does not apply to this case. We now show that the analogue of Theorem 2.4 holds for \(CRYC_{n+1}\).

Theorem 3.2

The normalized volume of \(CRY C_{n+1}\) is

$$\begin{aligned} {\text {vol}}(CRYC_{n+1})= {\text {CT}}_{x_{n-1}}{\text {CT}}_{x_{n-2}} \cdots {\text {CT}}_{x_1}&\prod _{i=1}^{n-1}x_i^{-1} (1-x_i)^{-2}(1-2x_i)^{-1}\\&\times \prod _{{1\le i<j \le n-1}} (x_j-x_i)^{-1}(1-x_j-x_i)^{-1}. \end{aligned}$$

Note, Theorem 3.2 differs only in the presence of \(\prod _{i=1}^{n-1}(1-2x_i)^{-1}\) from type D as in (3.1) and Conjecture 1.3 states that \({\text {vol}}(CRYC_{n+1}) =2^{n-1} {\text {vol}}(CRYD_{n+1}) \).

The rest of this section is devoted to the proof of Theorem 3.2. Our proof uses some of the ideas of the proof of Theorem 2.4 together with new considerations, so we now review more background following [6].

Reduction Rules for Signed Graphs

In this subsection we explain how to recursively compute the volume of the flow polytope \(\mathcal {F}_G(\mathbf{a})\) following [6, Sect. 4]. Figure 3 is borrowed from [6] with permission. It illustrates the reduction rules (R1)–(R6) given below.

Fig. 3
figure3

Reduction rules from equations (R1)–(R6). The original edges have flow p and q. The outcomes have reassigned flows to preserve the original netflow on the vertices

Suppose that G, \(G_1\) and \(G_2\) are graphs on vertex set \([n+1]\). We say that G reduces to \(G_1\) and \(G_2\) under the reduction rules (R1)–(R6) if \(G_1\) and \(G_2\) are obtained from G by one of these rules described as follows.

(R1):

For some \((a, i, -), (i, b, -) \in E(G)\) with \(a<i<b\),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i,-)\} \cup \{(a, b, -)\}, \\ E(G_2)&=E(G)\backslash \{(i, b,-)\} \cup \{(a, b,-)\}. \end{aligned}$$
(R2):

For some \((a, i, -), (i, b, +) \in E(G)\) with \(a<i<b\),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i,-)\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(i, b,+)\} \cup \{(a, b, +)\}. \end{aligned}$$
(R3):

For some \((a, i, -), (b, i, +) \in E(G)\) with \(a<b<i\),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, -)\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(b, i, +)\} \cup \{(a, b, +)\}. \end{aligned}$$
(R4):

For some \((a, i, +), (b, i, -) \in E(G)\) with \(a<b<i\),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, +)\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(b, i, -)\} \cup \{(a, b, +)\}. \end{aligned}$$
(R5):

For some \((a, i, -), (a, i, +) \in E(G)\) with \(a<i \),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, +)\} \cup \{(a, a, +)\}, \\ E(G_2)&=E(G)\backslash \{(a, i, -)\} \cup \{(a, a, +)\}. \end{aligned}$$
(R6):

For some \((a, i, -), (i, i, +) \in E(G)\) with \(a<i \),

$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, -)\} \cup \{(a, i, +)\}, \\ E(G_2)&=E(G)\backslash \{(i, i, +)\} \cup \{(a, i, +)\}. \end{aligned}$$
We also say in the above cases that we are reducing at vertex i. Figure 3 shows these reduction rules graphically and explains the basic idea that implies that we can use these reductions to dissect flow polytopes. In this paper we will only be using special cases of the results in [6, Prop. 4.1], and we state these special cases next.

Lemma 3.3

Let G be a signed graph on the vertex set \([n+1]\) and let \(e_1\) and \(e_2\) be two edges of G on which one of the reductions (R1)–(R6) can be performed yielding graphs \(G_1\) and \(G_2\). If the dimensions of \(\mathcal {F}_G(2, 0, \ldots , 0), \mathcal {F}_{G_1}(2, 0, \ldots , 0)\) and \(\mathcal {F}_{G_2}(2, 0, \ldots , 0)\) are the same, then

$$\begin{aligned} {\text {vol}}\mathcal {F}_G(2, 0, \ldots , 0)={\text {vol}}\mathcal {F}_{G_1}(2, 0, \ldots , 0) +{\text {vol}}\mathcal {F}_{G_2}(2, 0, \ldots , 0). \end{aligned}$$

If on the other hand only one of \(\mathcal {F}_{G_1}(2, 0, \ldots , 0)\) and \(\mathcal {F}_{G_2}(2, 0, \ldots , 0)\) is of dimension \(\dim \mathcal {F}_G(2, 0, \ldots , 0)\), and the other one has strictly lower dimension, we have

$$\begin{aligned} {\text {vol}}\mathcal {F}_G(2, 0, \ldots , 0)={\text {vol}}\mathcal {F}_{G_i}(2, 0, \ldots , 0), \end{aligned}$$

where \(\mathcal {F}_{G_i}(2, 0, \ldots , 0)\) is of dimension \(\dim \mathcal {F}_G(2, 0, \ldots , 0)\) (for \(i=1\) or \(i=2\)).

Moreover, the above are all the possible cases.

Another lemma that follows from considerations in [6] is:

Lemma 3.4

Given a signed graph \(G=([n+1], E)\) with loops only at the vertex 1, let \(L\subset E\) be the multiset of its loops. Denote by \(G^1=([n+1], E\backslash L)\) the graph obtained from G with its loops at vertex 1 removed. Then

$$\begin{aligned} {\text {vol}}\mathcal {F}_G(2, 0, \ldots , 0)={\text {vol}}\mathcal {F}_{G^1}(2, 0, \ldots , 0). \end{aligned}$$

The Proof of Theorem 3.2

We prove a sequence of statements which together imply Theorem 3.2.

Lemma 3.5

We have

$$\begin{aligned} {\text {vol}}(CRYC_{n+1})=\sum _{G \in {\mathcal {G}}} {\text {vol}}(\mathcal {F}_G(2,0, \ldots , 0)), \end{aligned}$$

where \({\mathcal {G}}=\bigl \{G=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{i_v}^{(v)}\bigr ) \mid i_v \in [v-1], v\in [2,n+1]\bigr \}\) and \(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k-1]\} \cup \{(k,v,+),(k,v,+), (k,v,-)\}\cup \{(i,v,+),(i,v,-) \mid i \in [k+1,v-1] \}\).

Proof

The proof will proceed via the following steps. We will prescribe an order \({\mathcal {O}}\) of repeated reductions (R6) on \(K_{n+1}^C\) and its descendants obtained via these reductions until all graphs obtained have loops only at vertex 1. We will identify the graphs obtained this way whose flow polytopes are of the same dimension as \(CRYC_{n+1}=\mathcal {F}_{K_{n+1}^C}(2, 0, \ldots , 0)\). Denote this set of graphs by \({\mathcal {G}}(1)\). Applying Lemma 3.3 we can then write

$$\begin{aligned} {\text {vol}}(CRYC_{n+1})(2,0, \ldots , 0)=\sum _{G \in {\mathcal {G}}(1)} {\text {vol}}(\mathcal {F}_G(2,0, \ldots , 0)). \end{aligned}$$

We then observe that if we remove the loops at vertex 1 from the graphs in \({\mathcal {G}}(1)\), then we exactly obtain the graphs in \({\mathcal {G}}\). Thereby, by an application of Lemma 3.4 we obtain the statement of Lemma 3.5.

Now we prescribe the order \({\mathcal {O}}\) of repeated reductions (R6) to \(G:=K_{n+1}^C\). First we reduce at vertex 2, until there is nothing to reduce at vertex 2. Next we reduce at 3, until there is nothing to reduce at vertex 3. We continue like this, until we finally reduce at vertex \(n+1\), until there is nothing to reduce at vertex \(n+1\). Now, we specify the order of reductions at a given vertex v. Since we are only using (R6), we are always using the edge \((v,v,+)\) in the reduction and one incoming edge to v. Order the incoming edges by length and start the reductions from longest edge towards the shortest until we eliminate the loop at vertex v. Figure 4 illustrates the repeated application of reductions (R6) for \(K_3^C\).

Fig. 4
figure4

Repeated reductions (R6) performed on \(K_3^C\) in the order \({\mathcal {O}}\). The root of the above tree structure, referred to as the reduction tree, is labeled by \(K_3^C\). Each node—labeled by a graph—in the above reduction tree has two or no children depending on whether or not (R6) can be executed on the graph labeling it. The left child of a graph G is the graph \(G_1\) and the right child is the graph \(G_2\) as described in the reduction rule (R6). The leaves of the reduction tree are labeled by graphs on which the reduction rule (R6) cannot be executed any more. Two of the leaves yield flow polytopes that are of the same dimension as \(\dim \mathcal {F}_{K_{n+1}^C}\) and are thus in \({\mathcal {G}}(1)\) for \(K_3^C\). Two of the leaves yield flow polytopes that are lower dimensional than \(\dim \mathcal {F}_{K_{n+1}^C}\) and are thus not in \({\mathcal {G}}(1)\)

We now study the reduction order \({\mathcal {O}}\). The order \({\mathcal {O}}\) calls for applying reduction (R6) to edges \((1,2, -)\) and \((2,2, +)\) at vertex 2. Observe that \(\dim \mathcal {F}_{G_1}<\dim \mathcal {F}_{K_{n+1}^C}\) and \(\dim \mathcal {F}_{G_2}=\dim \mathcal {F}_{K_{n+1}^C}\). One way to see this is to consider reducing \(G_1\) and \(G_2\) via the reductions (R1)–(R6) until no more reductions are possible. At this point all graphs have loops only at vertex 1 and at vertices with no incoming edges. It is not hard to see that the maximal possible number of loops at vertex 1 in a descendant of \(G_1\) is strictly less than the maximal possible number of loops at vertex 1 in a descendant of \(G_2\). Yet, the maximal possible number of loops at 1 in a descendant of \(G_i\) (\(i \in [2]\)) which cannot be reduced further via (R1)–(R6) with loops only at 1 and at vertices with no incoming edges equals the dimension of \(\mathcal {F}_{G_i}\). Therefore, we proved the following:

Claim (at vertex 2). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex 2, then D has three edges of the form \((i,2, \epsilon ),\) where \(i<2\), and these edges must be \((1,2,+), (1,2,+)\) and \((1,2,-)\).

Next, take \(G_2\) (the only \(\dim G\)-dimensional descendant of G after performing reductions (R6) in order \({\mathcal {O}}\) at vertex 2 until all loops at 2 are eliminated) and do repeated reductions (R6) at the vertex 3 according to \({\mathcal {O}}\). An analogous argument to above gives that:

Claim (at vertex 3). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex 3, then D has 5 edges incident to vertex 3 of the form \((i,3, \epsilon ),\) where \(i<3\), and these edges can be:

  1. (1)

    \((1,3,+), (1,3,+), (1,3,-)\) and \((2,3,+),(2,3,-)\), or

  2. (2)

    \((1,3,+), (1,3,+)\) and \((2,3,+),(2,3,+), (2,3,-).\)

Generalizing straightforwardly, we obtain:

Claim (at vertex v ). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex v, then D has \(2v-1\) edges incident to vertex v of the form \((i,v, \epsilon ),\) where \(i<v\), and the set of these edges can be:

(1):

\(S_1^{(v)}=\{(1,v,+), (1,v,+), (1,v,-)\} \cup \{(i,v,+),(i,v,-) \mid i \in [2,v-1] \}\), or

(2):

\(S_2^{(v)}=\{(1,v,+), (1,v,+)\}\cup \{(2,v,+),(2,v,+), (2,v,-)\}\cup \{(i,v,+),(i,v,-) \mid i \in [3,v-1] \}\), or \(\cdots \)

(k):

\(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k-1]\} \cup \{(k,v,+),(k,v,+), (k,v,-)\}\cup \{(i,v,+),(i,v,-) \mid i \in [k+1,v-1] \}\) \(\cdots \)

(\(v-1\)):

\(S_{v-1}^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,v-2]\} \cup \{(v-1,v,+),(v-1,v,+), (v-1,v,-)\}\).

Thus, by the claims we obtain a description of \({\mathcal {G}}(1)\). It is clear that once the loops at vertex 1 of the graphs in \({\mathcal {G}}(1)\) are deleted we obtain the set of graphs in \({\mathcal {G}}\). This concludes the proof as explained at the beginning of the proof. \(\square \)

Lemma 3.6

We have

$$\begin{aligned} K_{K_{n+1}^C}^\mathrm{dyn}(0,0,1,2,\ldots ,n-1)=\sum _{G \in {\mathcal {G}}} {\text {vol}}(\mathcal {F}_G(2,0, \ldots , 0)), \end{aligned}$$
(3.2)

where \({\mathcal {G}}=\bigl \{G=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{i_v}^{(v)}\bigr ) \mid i_v \in [v-1], v\in [2,n+1]\bigr \}\) and \(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k-1]\} \cup \{(k,v,+),(k,v,+), (k,v,-)\}\cup \{(i,v,+),(i,v,-) \mid i \in [k+1,v-1] \}\).

Proof

By Theorem 2.4,

$$\begin{aligned} {\text {vol}}(\mathcal {F}_G(2,0, \ldots , 0))=K_G^\mathrm{dyn}(0, \mathrm{indeg}_G(2)-1, \ldots , \mathrm{indeg}_G(n+1)-1) \end{aligned}$$

for each \(G \in {\mathcal {G}}\). Thus, (3.2) is equivalent to:

$$\begin{aligned}&K_{K_{n+1}^C}^\mathrm{dyn}(0,0,1,2,\ldots ,n-1)\nonumber \\&\quad =\sum _{G \in {\mathcal {G}}}K_G^\mathrm{dyn}(0, \mathrm{indeg}_G(2)-1, \ldots , \mathrm{indeg}_G(n+1)-1). \end{aligned}$$
(3.3)

We prove (3.3) by exhibiting a bijection between the dynamic Kostant partition functions counted on the left hand side and those counted on the right hand side.

First note that

$$\begin{aligned}&\{(0, \mathrm{indeg}_G(2)-1, \ldots , \mathrm{indeg}_G(n+1)-1)\mid G \in {\mathcal {G}}\}\\&\quad =\{(0,a_2,a_3, \ldots , a_{n+1}) \mid 0\le a_v\le v-2, v \in [2, n+1]\}, \end{aligned}$$

where the equality holds both as sets and multisets. Thus, once we are given a vector \(\mathbf{a}=(0,a_2,a_3, \ldots , a_{n+1}) \) with \(0\le a_v\le v-2\), \(v \in [2, n+1]\), it uniquely determines the graph \(G \in {\mathcal {G}}\) such that \((0, \mathrm{indeg}_G(2)-1, \ldots , \mathrm{indeg}_G(n+1)-1)=(0,a_2,a_3, \ldots , a_{n+1})\). In the following we denote this unique graph from \({\mathcal {G}}\) by \(G_{(0,a_2,a_3, \ldots , a_{n+1})}=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{v-a_v-1}^{(v)}\bigr )\).

Given a dynamic integer flow \(f_{\mathbf{a}}\) on \(G=G_{(0,a_2,a_3, \ldots , a_{n+1})}\) with netflow vector \((0,a_2,a_3, \ldots , a_{n+1})\) for some \(0\le a_v\le v-2\), \(v \in [2, n+1]\), we now specify how to construct a dynamic integer flow \(g(f_{\mathbf{a}})\) on \(K_{n+1}^C\) with netflow vector \((0,0,1,2,\ldots ,n-1)\). Our description involves several steps.

Notational convention. A positive edge \((i,j,+)\) is considered a left and a right half edge. We denote by \((i,j,+)_l\) and \((i,j,+)_r\) the left and right half of edge \((i,j,+)\). In case there are more left or right half edges we add superscripts; e.g. \((i,j,+)_r\) and \((i,j,+)^1_r\) are two different right half edges. Given a dynamic flow on a graph G we might have added positive right half edges with flows to G; we denote the graph with these positive right half edges added by \(G^\mathrm{dyn}\).

Let us fix \(v\in [2,n+1]\). We define the flows of \(g(f_\mathbf{a})\) on the positive half edges \((i,v,+)_r\) and \((i,v,+)_l\) for \(1\le i\le v\) and the negative edges \((i,v,-)\) for \(1\le i\le v-1\) as follows.

Let \(k(v)=v-a_v-1\). Then \(1\le k(v)\le v-1\) and for \(1\le i\le v-1\), the edges between i and v in G are precisely

  • two positive edges \((i,v,+)\) and \((i,v,+)^1\) if \(1\le i\le k(v)-1\),

  • two positive edges \((i,v,+)\) and \((i,v,+)^1\) and one negative edge \((i,v,-)\) if \(i=k(v)\),

  • one positive edge \((i,v,+)\) and one negative edge \((i,v,-)\) if \(k(v)+1\le i\le v-1\).

First, observe that G and \(K_{n+1}^C\) have common edges: \((i,v,+)\) for \(1\le i\le v-1\) and \((i,v,-)\) for \(k(v)\le i\le v-1\). We define the flows of \(g(f_\mathbf{a})\) related to these edges to be the same as those of \(f_\mathbf{a}\). In other words,

For the new right half edges at v we just transfer whatever the value of \(f_{\mathbf{a}}\) is on these new right half edges to \(g(f_{\mathbf{a}})\) on the corresponding new right half edges of \((K_{n+1}^{C})^\mathrm{dyn}\).

Now we need to consider the half edges \((i,v,+)^1_l\) and \((i,v,+)^1_r\) for \(1\le i\le k(v)\) in G.

Firstly, we set

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_l = k(v)-1, \end{aligned}$$

thereby creating new half edges \((v,v,+)_r^1, \ldots , (v,v,+)_r^{k(v)-1}\). Then we define

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_r&= f_\mathbf{a}(1,v,+)_r^1, \\ g(f_\mathbf{a})(v,v,+)_r^i&= f_\mathbf{a}(i+1,v,+)_r^1 \qquad \text{ for }\; 1\le i\le k(v)-1. \end{aligned}$$

Secondly, we define

$$\begin{aligned} g(f_\mathbf{a})(i,v,-) = f_\mathbf{a}(i,v,+)_l^1 \qquad \text{ for }\; 1\le i\le k(v)-1, \end{aligned}$$
(3.4)

and increase the value of \(g(f_\mathbf{a})(k(v),v,-)\), which has been defined above, by \(f_\mathbf{a}(k(v),v,+)_l^1\), so that

$$\begin{aligned} g(f_\mathbf{a})(k(v),v,-) = f_\mathbf{a}(k(v),v,-) + f_\mathbf{a}(k(v),v,+)_l^1. \end{aligned}$$
(3.5)

Finally, we increase the value of \(g(f_\mathbf{a})(v,v,+)_l\) so that

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_l = k(v)-1 + \sum _{i=1}^{k(v)} f_\mathbf{a}(i,v,+)_l^1. \end{aligned}$$
(3.6)

This creates \(\sum _{i=1}^{k(v)} f_\mathbf{a}(i,v,+)_l^1\) new right half edges at v in \((K_{n+1}^{C})^\mathrm{dyn}\). We transfer the values of \(f_\mathbf{a}\) on the same number of new right half edges in \(G^\mathrm{dyn}\) created by the values \(f_\mathbf{a}(i,v,+)_l^1\) for \(1\le i\le k(v)\) to the new right half edges just created in \((K_{n+1}^{C})^\mathrm{dyn}\).

Note that the netflow of \(g(f_\mathbf{a})\) at v is \(k(v)-1+a_v=v-2\). Thus \(g(f_\mathbf{a})\) is a dynamic integer flow on \(K_{n+1}^C\) with netflow vector \((0,0,1,2,\ldots ,n-1)\).

It is not hard to check that the map \(f_\mathbf{a}\mapsto g(f_\mathbf{a})\) is invertible. We now explain how to recover the vector \(\mathbf{a}=(0,a_2,a_3,\ldots ,a_{n+1})\) from \(g(f_\mathbf{a})\). For each \(v\in [2,n+1]\), we find \(a_v\) as follows. As before, \(k(v)=v-1-a_v\). By (3.4), (3.5), and (3.6), we have

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_l = k(v)-1 -f_\mathbf{a}(k(v),v,-1) + \sum _{i=1}^{k(v)}\, g(f_\mathbf{a})(i,v,-). \end{aligned}$$

Thus

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_l \le k(v)-1 + \sum _{i=1}^{k(v)} \,g(f_\mathbf{a})(i,v,-). \end{aligned}$$
(3.7)

On the other hand, by (3.4) and (3.6), we have

$$\begin{aligned} g(f_\mathbf{a})(v,v,+)_l \ge k(v)-1 + \sum _{i=1}^{k(v)-1} g(f_\mathbf{a})(i,v,-). \end{aligned}$$
(3.8)

By (3.7) and (3.8), we obtain that k(v) is the unique integer t satisfying

$$\begin{aligned} t-2+ \sum _{i=1}^{t-1}\, g(f_\mathbf{a})(i,v,-) < g(f_\mathbf{a})(v,v,+)_l \le t-1 + \sum _{i=1}^{t}\, g(f_\mathbf{a})(i,v,-). \end{aligned}$$

Therefore, we can recover \(a_v=v-1-k(v)\) from \(g(f_\mathbf{a})\). Once \(\mathbf{a}\) is obtained, it is easy to recover \(f_\mathbf{a}\) from \(g(f_\mathbf{a})\). This is a desired bijection and the proof is completed. \(\square \)

Example 3.7

We give here a simple example of this construction. If \({\mathbf a}=(0,\ldots ,0)\), the graph G has edges \((i,i+1,-)\), \((i,j,+)\), \((i,j,+)^1\) for \(1\le i<j \le n+1\). The unique dynamic flow is such that the edges \((i,j,+)\), \((i,j,+)^1\) become half edges \((i,j,+)_l\), \((i,j,+)_l^1\) and \((i,j,+)_r\), \((i,j,+)_r^1\). Every (half) edge e has flow \(f_{{\mathbf {a}}}(e)=0\). The corresponding dynamic flow on \(K_{n+1}^C\) is such that each (half) edge \(e=(i,j,+)_l\), \((i,j,+)_r\), or \((i,j,-)\) has flow \(g(f_{{\mathbf {a}}})(e)=0\) for \(1\le i<j \le n+1\). The half edges \((v,v,+)_l\) for \(2\le v\le n+1\) are such that \(g(f_{{\mathbf {a}}})(v,v,+)_l=v-2\) and the half edges \((v,v,+)_l^i\) have flow \(g(f_{{\mathbf {a}}})(v,v,+)_r^i=0\) for \(1\le i\le v-1\).

By Lemmas 3.5 and 3.6 we can express the normalized volume of \(CRYC_{n+1}\) as a dynamic Kostant partition function.

Theorem 3.8

We have

$$\begin{aligned} {\text {vol}}(CRYC_{n+1}) =K_{K_{n+1}^C}^\mathrm{dyn}(0,0,1,2,\ldots ,n-1). \end{aligned}$$

We finally write \(K_{K_{n+1}^C}^\mathrm{dyn}(0,0,1,2,\ldots ,n-1)\) as a constant term identity:

Proposition 3.9

We have

Proof

By Proposition 2.3 we get that

Then by plugging in \(x_1=x_2=0\) and relabeling the variables \(x_m\mapsto x_{m-2}\) gives:

The above equation is equivalent to the desired expression:

\(\square \)

By Theorem 3.8 and Proposition 3.9 we obtain Theorem 3.2.

Proofs of Conjectures 1.2 and 1.3

In this section we prove Conjecture 1.3 and give a detailed proof of Zeilberger’s theorem, formerly Conjecture 1.2. We begin by recalling Zeilberger’s approach via the Morris’ identity for proving the volume formula of \(CRY_n\) [9]. See [2] for a complete proof of Lemma 4.1.

Lemma 4.1

(Morris’ identity, [9]) For nonnegative integers ab and a positive half integer c, we have

$$\begin{aligned}&{\text {CT}}_{x_n}{\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1} \prod _{i=1}^n (1-x_i)^{-a} x_i^{-b} \prod _{1\le i<j\le n}(x_j-x_i)^{-2c}\nonumber \\&\qquad = \frac{1}{n!} \prod _{j=0}^{n-1} \frac{\Gamma (a+b+(n-1+j)c)\Gamma (c)}{\Gamma (a+jc)\Gamma (c+jc)\Gamma (b+jc+1)}. \end{aligned}$$
(4.1)

In [9] Zeilberger proved the volume formula for \(CRY_n\) by showing that, when we set \(a=2,b=0,c=1/2\) in (4.1), we have

$$\begin{aligned}&{\text {CT}}_{x_n}{\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1} \prod _{i=1}^n (1-x_i)^{-2} \prod _{1\le i<j\le n}(x_j-x_i)^{-1} \nonumber \\&\qquad = \frac{1}{n!} \prod _{j=0}^{n-1} \frac{\Gamma \bigl (\frac{n+3+j}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{4+j}{2}\bigr )\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{2+j}{2}\bigr )}= \prod _{k=1}^n {\text {Cat}}(k). \end{aligned}$$
(4.2)

Using (4.1), we will prove the following theorem.

Theorem 4.2

For a nonnegative integer a and a positive half integer c, we have

$$\begin{aligned}&{\text {CT}}_{x_n}{\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1} \prod _{j=1}^n x_j^{-a+1}(1-x_j)^{-a} (1-2x_j)^{-b} \\&\qquad \times \prod _{1\le j<k\le n} (x_j-x_k)^{-2c} (1-x_j-x_k)^{-2c}\\&\quad = 2^{2an+4c\left( {\begin{array}{c}n\\ 2\end{array}}\right) -2n} \frac{1}{n!} \prod _{j=0}^{n-1} \frac{\Gamma \bigl (a+\frac{b-1}{2}+(n-1+j)c\bigr )\Gamma (c)}{\Gamma \bigl (\frac{b+1}{2}+jc\bigr )\Gamma (c+jc)\Gamma (a+jc)}. \end{aligned}$$

Before proving Theorem 4.2 we show how this theorem implies Conjectures 1.2 and 1.3.

Proof of Conjecture 1.2 If \(a=2,b=0,c=1/2\) in Theorem 4.2, we have

$$\begin{aligned}&{\text {CT}}_{x_n}{\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1} \prod _{j=1}^n x_j^{-1}(1-x_j)^{-2} \prod _{1\le j<k\le n} (x_j-x_k)^{-1}(1-x_j-x_k)^{-1} \nonumber \\&\quad = \frac{2^{n^2+n}}{n!}\prod _{j=0}^{n-1} \frac{\Gamma \bigl (\frac{n+2+j}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{4+j}{2}\bigr )}. \end{aligned}$$
(4.3)

Since

$$\begin{aligned} \prod _{j=0}^{n-1} \frac{\Gamma \bigl (\frac{n+3+j}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{4+j}{2}\bigr )\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{2+j}{2}\bigr )} \bigg / \prod _{j=0}^{n-1} \frac{\Gamma \bigl (\frac{n+2+j}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{4+j}{2}\bigr )}= \frac{\Gamma \bigl (\frac{2n+2}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{n+2}{2}\bigr )\Gamma \bigl (\frac{n+1}{2}\bigr )} =2^n, \end{aligned}$$

the right hand side of (4.3) is equal to

$$\begin{aligned} \frac{2^{n^2}}{n!} \prod _{j=0}^{n-1} \frac{\Gamma \bigl (\frac{n+3+j}{2}\bigr )\Gamma \bigl (\frac{1}{2}\bigr )}{\Gamma \bigl (\frac{4+j}{2}\bigr )\Gamma \bigl (\frac{1+j}{2}\bigr )\Gamma \bigl (\frac{2+j}{2}\bigr )} = 2^{n^2}\prod _{k=1}^n {\text {Cat}}(k), \end{aligned}$$

where (4.2) is used for the last equation. Thus Conjecture 1.2 follows from (3.1). \(\square \)

Proof of Conjecture 1.3 If \(a=2,b=1,c=1/2\) in Theorem 4.2, we have

where (4.2) is used for the last equation. Thus Conjecture 1.3 follows from Theorem 3.2. \(\square \)

For the rest of this section we prove Theorem 4.2. The idea is to change constant terms into contour integrals and consider several changes of variables.

For a function f(z) with a Laurent series expansion at z, we denote by \({\text {CT}}_z f(z)\) the constant term of the Laurent expansion of f(z) at 0. In other words, if \(f(z)=\sum _{n=-\infty }^\infty a_n z^n\), then \({\text {CT}}_z f(z) = a_0\). By Cauchy’s integral formula, if f(z) has a Laurent series expansion at 0, we have

$$\begin{aligned} {\text {CT}}_z f(z) = \frac{1}{2\pi i} \oint _C \frac{f(z)}{z}\, dz, \end{aligned}$$
(4.4)

where C is the circle \(\{z: |z|=\epsilon \}\) oriented counterclockwise for a real number \(\epsilon >0\) such that f(z) is holomorphic inside C except 0. Thus (4.1) can be rewritten as

(4.5)

where \(C_j\) is the circle \(\{z: |z|=j\epsilon \}\) oriented counterclockwise for a real number \(0<\epsilon <\frac{1}{n}\). In (4.5) a can be any positive real number.

Proof of Theorem 4.2 Let L denote the left hand side of the identity in the theorem, i.e.,

$$\begin{aligned} L&= {\text {CT}}_{x_n}{\text {CT}}_{x_{n-1}}\cdots {\text {CT}}_{x_1} \prod _{j=1}^n x_j^{-a+1}(1-x_j)^{-a} (1-2x_j)^{-b}\\&\qquad \times \prod _{1\le j<k\le n} (x_k-x_j)^{-2c} (1-x_k-x_j)^{-2c}. \end{aligned}$$

By (4.4), L is equal to

$$\begin{aligned}&\frac{1}{(2\pi i)^n}\oint _{C_n}\cdots \oint _{C_1} \prod _{j=1}^n x_j^{-a}(1-x_j)^{-a} (1-2x_j)^{-b}\\&\qquad \times \prod _{1\le j<k\le n} (x_k-x_j)^{-2c} (1-x_k-x_j)^{-2c}\, dx_1\cdots dx_n, \end{aligned}$$

where \(C_j\) is the circle \(\{z: |z|=j\epsilon \}\) oriented counterclockwise for a real number \(0<\epsilon <\frac{1}{2n}\). We will express L as a constant multiple of the contour integral in (4.5) by using changes of variable 3 times.

Using the change of variables \(x_j = \frac{1-z_j}{2}\) or \(z_j=1-2x_j\) to the above integral, we have

where \(C'_j\) is the circle \(\{z: |z-1|=2j\epsilon \}\) oriented counterclockwise.

Using the change of variables \(z_j^2 = y_j\) or \(z_j=y_j^{1/2}\), we have

$$\begin{aligned} L=\frac{(-1)^n2^{2an+4c\left( {\begin{array}{c}n\\ 2\end{array}}\right) -2n}}{(2\pi i)^n}\oint _{C''_n}\cdots \oint _{C''_1}&\prod _{j=1}^n (1-y_j)^{-a} y_j^{-b/2} y_j^{-1/2}\\&\times \prod _{1\le j<k\le n} (y_j-y_k)^{-2c}\, dy_1\cdots dy_n, \end{aligned}$$

where \(C''_j\) is the circle \(\{z: |z-1|=4j\epsilon \}\) oriented counterclockwise. This is because if \(C_j'\) is parametrized by \(1+2j\epsilon e^{i\theta }\) for \(0\le \theta \le 2\pi \), then the image of \(C_j'\) under the map \(z\mapsto z^2\) can be parametrized by \(1+4j\epsilon e^{i\theta } + 4j^2\epsilon ^2 e^{2i\theta }\) for \(0\le \theta \le 2\pi \). Since we can make \(\epsilon \) arbitrarily close to 0, we can deform this image to the circle \(C_j''\) without changing the value of the contour integral.

Using the change of variables \(t_j = 1-y_j\), we have

$$\begin{aligned} L = \frac{2^{2an+4c\left( {\begin{array}{c}n\\ 2\end{array}}\right) -2n}}{(2\pi i)^n} \oint _{C'''_n}\cdots \oint _{C'''_1}&\prod _{j=1}^n t_j^{-a} (1-t_j)^{-(b+1)/2}\\&\times \prod _{1\le j<k\le n} (t_k-t_j)^{-2c}\, dt_1\cdots dt_n \\ =2^{2an+4c\left( {\begin{array}{c}n\\ 2\end{array}}\right) -2n} {\text {CT}}_{x_n} \cdots {\text {CT}}_{x_1}&\prod _{j=1}^n x_j^{-a+1} (1-x_j)^{-(b+1)/2}\\&\times \prod _{1\le j<k\le n} (x_k-x_j)^{-2c}, \end{aligned}$$

where \(C'''_j\) is the circle \(\{z: |z|=4j\epsilon \}\) oriented counterclockwise. Using (4.5) we finish the proof. \(\square \)

Conclusion

The link between the Kostant partition function of graphs and the volume of their flow polytopes has been established a decade ago [1]. A generalization of this correspondence via dynamic Kostant partition functions was demonstrated for loopless signed graphs in [6]. In this paper we showed among others that dynamic Kostant partition functions can be used for certain signed graph with loops to obtain the volume of their associated flow polytope with netflow vector \((2,0, \ldots , 0)\) analogously to the loopless case. This is not true for all signed graphs with loops. We leave as an open problem the classification of signed graphs with loops where the volume of the associated flow polytope with netflow vector \((2,0, \ldots , 0)\) is equal to the corresponding dynamic Kostant partition function evaluation. More broadly, is there an appealing further generalization of the Kostant partition function that would work for calculating the volume of the flow polytope of any signed graph (and netflow vector)? Finally, it would be very interesting to gain a unified insight into which flow polytopes have nice product formulas for their volume and why. See this paper and [4,5,6,7] for examples of such nice formulas.

References

  1. 1.

    Baldoni, W., Vergne, M.: Kostant partitions functions and flow polytopes. Transform. Groups 13(3–4), 447–469 (2008)

    MathSciNet  Article  Google Scholar 

  2. 2.

    Baldoni-Silva, V., Vergne, M.: Morris identities and the total residue for a system of type \(A_r\). In: Delorme, P., Vergne, M. (eds.) Noncommutative Harmonic Analysis. Progress in Mathematics, vol. 220, pp. 1–19. Birkhäuser, Boston (2004)

    Google Scholar 

  3. 3.

    Chan, C.S., Robbins, D.P., Yuen, D.S.: On the volume of a certain polytope. Exp. Math. 9(1), 91–99 (2000)

    MathSciNet  Article  Google Scholar 

  4. 4.

    Corteel, S., Kim, J.S., Mészáros, K.: Flow polytopes with Catalan volumes. C. R. Acad. Sci. Paris 355(3), 248–259 (2017)

    MathSciNet  Article  Google Scholar 

  5. 5.

    Mészáros, K.: Product formulas for volumes of flow polytopes. Proc. Am. Math. Soc. 143(3), 937–954 (2015)

    MathSciNet  Article  Google Scholar 

  6. 6.

    Mészáros, K., Morales, A.H.: Flow polytopes of signed graphs and the Kostant partition function. Int. Math. Res. Not. IMRN 2015(3), 830–871 (2015)

    MathSciNet  Article  Google Scholar 

  7. 7.

    Mészáros, K., Morales, A.H., Rhoades, B.: The polytope of Tesler matrices. Selecta Math. (N.S.) 23(1), 425–454 (2017)

    MathSciNet  Article  Google Scholar 

  8. 8.

    Morris, W.G.: Constant term identities for finite and affine root systems: conjectures and theorems. PhD thesis, University of Wisconsin-Madison (1982)

  9. 9.

    Zeilberger, D.: Proof of a conjecture of Chan, Robbins, and Yuen. Electron. Trans. Numer. Anal. 9, 147–148 (1999)

    MathSciNet  MATH  Google Scholar 

  10. 10.

    Zeilberger, D.: Sketch of a proof of an intriguing conjecture of Karola Meszaros and Alejandro Morales regarding the volume of the \(D_n\) analog of the Chan–Robbins–Yuen Polytope (or: The Morris–Selberg constant term identity strikes again!). arXiv:1407.2829 (2014)

Download references

Acknowledgements

This work started during a stay of the second and third authors at the Université Paris 7 Diderot. The third author is grateful for the invitation from, support of and hospitality of the Université Paris 7. Corteel is partially supported by the project Emergences “Combinatoire à Paris”. Kim is partially supported by the National Research Foundation of Korea (NRF) Grants (NRF-2016R1D1A1A09917506) and (NRF-2016R1A5A1008055). Mészáros is partially supported by a National Science Foundation Grant (DMS 1501059) as well as by a von Neumann Fellowship at the IAS funded by the Fund for Mathematics and the Friends of the Institute for Advanced Study. The authors thank the anonymous referees for their comments which improved the exposition of this paper. We thank Alejandro Morales for kindly giving permission to use some figures from [6].

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jang Soo Kim.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Editor in Charge: Kenneth Clarkson

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Corteel, S., Kim, J.S. & Mészáros, K. Volumes of Generalized Chan–Robbins–Yuen Polytopes. Discrete Comput Geom 65, 510–530 (2021). https://doi.org/10.1007/s00454-019-00066-1

Download citation

Keywords

  • Flow polytope
  • Kostant partition function
  • Constant term identity

Mathematics Subject Classification

  • 52A38