---
abstract: |
    For fixed compact connected Lie groups H $\subseteq$ G, we provide a polynomial time algorithm to compute the multiplicity of a given irreducible representation of H in the restriction of an irreducible representation of G. Our algorithm is based on a finite difference formula which makes the multiplicities amenable to Barvinok’s algorithm for counting integral points in polytopes.

    The Kronecker coefficients of the symmetric group, which can be seen to be a special case of such multiplicities, play an important role in the geometric complexity theory approach to the P vs. NP problem. Whereas their computation is known to be \#P-hard for Young diagrams with an arbitrary number of rows, our algorithm computes them in polynomial time if the number of rows is bounded. We complement our work by showing that information on the asymptotic growth rates of multiplicities in the coordinate rings of orbit closures does not directly lead to new complexity-theoretic obstructions beyond what can be obtained from the moment polytopes of the orbit closures. Non-asymptotic information on the multiplicities, such as provided by our algorithm, may therefore be essential in order to find obstructions in geometric complexity theory.
author:
- 
- 
- 
bibliography:
- 'multiplicities.bib'
title: |
    Computing Multiplicities\
    of Lie Group Representations
---

Introduction {#section:introduction}
============

The decomposition of Lie group representations into irreducible sub-representations is a fundamental problem of mathematics with a variety of applications to the sciences. In atomic and molecular physics (Clebsch–Gordan series), as well as in high-energy physics, this problem has been studied extensively [@weyl50; @wigner59; @wigner73], perhaps most famously in Ne’eman and Gell-Mann’s eight-fold way of elementary particles [@neeman; @gellmann2; @gellmann]. In pure mathematics, the combinatorial resolution of the problem of decomposing tensor products of irreducible representations of the unitary group by Knutson and Tao has been a recent highlight with a long history of research [@fulton00; @knutsontao99]. More recently, the theories of quantum information [@keylwerner01; @christandlmitchison06; @klyachko06], computation and complexity [@baconchuangharrow07], as well as the geometric complexity theory approach to the ${\mathbf P}$ vs. ${\mathbf{NP}}$ problem [@mulmuleysohoni01; @mulmuleysohoni08; @burgisserlandsbergmaniveletal11] have brought the representation theory of Lie groups to the attention of the computer science community.

In this paper, we study the problem of computing multiplicities of Lie group representations:

\[main problem\] Let $f \colon H \rightarrow G$ be a homomorphism between compact connected Lie groups $H$ and $G$. The *subgroup restriction problem for $f$* is to determine the multiplicity $m^\lambda_\mu$ of the irreducible $H$-representation $V_{H,\mu}$ in the irreducible $G$-representation $V_{G,\lambda}$ when given as input the highest weights $\mu$ and $\lambda$ (specified as bitstrings containing their coordinates with respect to fixed bases of fundamental weights, see ).

The name *subgroup restriction problem* comes from the archetypical case where the map $f$ is induced by the inclusion of a subgroup $H \subseteq G$. is also known as the *branching problem*. The main result of this paper is a polynomial-time algorithm for :

\[A\] For any homomorphism $f \colon H \rightarrow G$ between compact connected Lie groups $H$ and $G$, there is a polynomial-time algorithm for the subgroup restriction problem for $f$.

Indeed, we describe a concrete algorithm (). In particular, for any fixed $\lambda$ and $\mu$ the stretching function $k \mapsto m^{k \lambda}_{k \mu}$ can be evaluated in polynomial time.

\[Aprime\] For any homomorphism $f \colon H \rightarrow G$ between compact connected Lie groups $H$ and $G$, positivity of the coefficients $m^\lambda_\mu$ can be decided in polynomial time.

Mulmuley conjectures that deciding positivity of the multiplicities $m^\lambda_\mu$ is possible in polynomial time if the group homomorphism $f$ is also part of the input [@mulmuley07]. can be regarded as supporting evidence that this conjecture might in fact be true for general $f$ (note that for specific families of homomorphisms, such as those corresponding to the Littlewood–Richardson coefficients, positivity can be decided in polynomial time [@knutsontao99; @mulmuleysohoni05]). However, any approach to deciding positivity that proceeds by computing the actual multiplicities is of course expected to fail, since the latter problem is well-known to be ${\#\mathbf P}$-hard [@narayanan06; @burgisserikenmeyer08].

We establish by deriving a novel formula for the multiplicities $m^\lambda_\mu$ (), which is obtained in three steps: First, we restrict from the group $G$ to its maximal torus $T_G$; the corresponding weight multiplicities can be computed efficiently by using the classical Kostant multiplicity formula [@kostant59; @cochet05] or in fact by evaluating a single vector partition function [@billeyguilleminrassart04; @bliem08; @bliem10] (). Second, we restrict all weights to a maximal torus $T_H$ of $H$. Third, we recover the multiplicity of an irreducible $H$-representation by using a finite-difference formula (). By carefully combining the first two steps, can be reduced to counting integral points in certain rational convex polytopes of bounded dimension, which can be done efficiently by using Barvinok’s algorithm [@barvinok94; @dyerkannan97; @barvinokpommersheim99] (see also [@dyer91; @cook92; @welledabaldonibeckcochetetal06]).

The multiplicity formula itself has intrinsic interest beyond its application to algorithmics. One insight that is immediate from our result is the piecewise quasi-polynomial nature of the multiplicities $m^\lambda_\mu$ ().

Let us now turn to the computation of the *Kronecker coefficients* $g_{\lambda,\mu,\nu}$, which arise in the decomposition of tensor products of irreducible representations of the symmetric group $S_k$ [@fulton97]: $$[\lambda] \otimes [\mu] = \bigoplus_\nu g_{\lambda,\mu,\nu} \, [\nu],$$ where we denote by $[\lambda]$ the irreducible representation of $S_k$ labeled by the Young diagram $\lambda$ with $k$ boxes (). Kronecker coefficients are notoriously difficult to study, and finding an appropriately strong combinatorial interpretation is one of the outstanding problems of classical representation theory. They appear naturally in geometric complexity theory, where their efficient computation has been subject to various conjectures [@mulmuley07], as well as in quantum information theory in the context of the marginal problem and coding theory [@christandlmitchison06; @daftuarhayden04; @klyachko04; @klyachko06; @christandlharrowmitchison07; @harrow05].

Using Schur–Weyl duality, the Kronecker coefficients for Young diagrams with a bounded number of rows can be equivalently characterized in terms of a single subgroup restriction problem for compact connected Lie groups (). Therefore, by they can also be computed efficiently:

\[B\] For any fixed $d \in {\mathbb Z}_{> 0}$, there exists a polynomial-time algorithm for computing the Kronecker coefficient $g_{\lambda,\mu,\nu}$ given as input Young diagrams $\lambda$, $\mu$ and $\nu$ with at most $d$ rows. That is, the algorithm runs in $O(\operatorname{poly}(\log k))$ where $k$ is the number of boxes of the Young diagrams.

Positivity of Kronecker coefficients for Young diagrams with a bounded number of rows can be decided in polynomial time.

By specializing our technique, we get a clean closed-form expression for the Kronecker coefficients (), which not only nicely illustrates its effectiveness, but also implies piecewise quasi-polynomiality for bounded height (a feature that has only been noticed in a special case [@briandorellanarosas09]). Moreover, it is immediate from our formula that the problem of computing Kronecker coefficients with unbounded height is in ${\mathbf{GapP}}$, as first proved in [@burgisserikenmeyer08].

Similar conclusions can be drawn for the plethysm coefficients, which can also be formulated in terms of subgroup restriction problems [@fultonharris91]. Like the Kronecker coefficients, they play a fundamental role in geometric complexity theory [@burgisserlandsbergmaniveletal11; @burgisserchristandlikenmeyer11b] and quantum information theory [@klyachko06; @christandlschuchwinter10].

In practice, our algorithms appear to be rather fast as long as the rank of the Lie group $G$ is not too large. In the case of Kronecker coefficients for Young diagrams with two rows, we can easily go up to $k=10^8$ boxes using commodity hardware. In contrast, all other software packages known to the authors cannot go beyond only a moderate number of boxes ($k=10^2$ on the same hardware as used above). Moreover, by distributing the computation of weight multiplicities onto several processors, we have been able to compute Kronecker coefficients for Young diagrams with three rows and $k=10^5$ boxes in a couple of minutes.[^1] We hope that our algorithm will provide a useful tool in experimental mathematics, theoretical physics, and geometric complexity theory.

Our final result concerns the asymptotics of multiplicities in the general algebro-geometric setup of the geometric complexity theory approach to proving the $\mathbf{VP} \neq \mathbf{VNP}$ conjecture, an algebraic version of the ${\mathbf P}\neq {\mathbf{NP}}$ conjecture. Recall that, in a nutshell, this approach amounts to showing that for certain pairs of projective subvarieties $X$ and $Y$ one is not contained in the other; this would then imply complexity-theoretic lower bounds. Both the permanent vs. determinant problem, which is equivalent to the $\mathbf{VP}$ vs. $\mathbf{VNP}$ problem [@valiant79], as well as the complexity of matrix multiplication [@strassen69] can be formulated in this framework [@mulmuleysohoni01; @mulmuleysohoni08; @burgisserikenmeyer11; @burgisserlandsbergmaniveletal11]. More concretely, let us denote by $m_{H,X,k}(\mu)$ the multiplicity of the dual of an irreducible $H$-representation $V_{H,\mu}$ in the $k$-th graded part of the coordinate ring of $X$, and similarly for $Y$ (cf.  for precise definitions). Then, $$\label{mult crit}
  X \subseteq Y
  \;\Rightarrow\;
  m_{H,X,k}(\mu) \leq m_{H,Y,k}(\mu)$$ for all $\mu$ and $k \geq 0$. Therefore, the existence of $\mu$ and $k$ such that $m_{H,X,k}(\mu) > m_{H,Y,k}(\mu)$ proves that $X \not\subseteq Y$; such a pair $(\mu,k)$ is called an *obstruction* [@mulmuleysohoni08]. One can relax this implication further and instead compare the support of the multiplicity functions, $$X \subseteq Y
  \;\Rightarrow\;
  \left( m_{H,X,k}(\mu) \neq 0 \Rightarrow m_{H,Y,k}(\mu) \neq 0 \right).$$ Since computing multiplicities in general coordinate rings is a difficult problem, it is natural to instead study their asymptotic behavior. Following an idea of Strassen [@strassen], it has been proposed in [@burgisserikenmeyer11] to consider the *moment polytope*, $$\Delta_X := \overline {\bigcup_{k=1}^\infty \left\{ \frac \mu k : m_{H,X,k}(\mu) \neq 0 \right\}},$$ which is a compact convex polytope that represents the asymptotic support of the stretching function. Moment polytopes do have a geometric interpretation, which should facilitate their computation [@brion87]. Clearly, $$\label{mo po crit}
  X \subseteq Y
  \;\Rightarrow\;
  \Delta_X \subseteq \Delta_Y.$$ However, preliminary results suggest that the right-hand side moment polytope $\Delta_Y$ might be trivially large in the cases of interest [@burgisserchristandlikenmeyer11; @burgisserikenmeyer11; @kumar11; @burgisserlandsbergmaniveletal11], and therefore insufficient for finding complexity-theoretic obstructions.

It has therefore recently been suggested to study the *asymptotic growth* of multiplicities (e.g., [@grochowrusek12 §2.2]). The natural object is the *Duistermaat–Heckman measure*, which is defined as the weak limit $$\label{definition duistermaat-heckman}
  \operatorname{DH}_X := \lim_{k \rightarrow \infty}  \frac 1 {k^{d_X}}  \sum_{\mu \in \Lambda^*_{H,+}} m_{H,X,k}(\mu) \, \delta_{\mu/k},$$ where $d_X \in {\mathbb Z}_{\geq 0}$ is the appropriate exponent such that $\operatorname{DH}_X$ is a non-zero finite measure [@okounkov96]. The Duistermaat–Heckman measure has a continuous density function $f_X$ with respect to Lebesgue measure on the moment polytope; it is supported on the entire moment polytope (both statements follow from the main result of [@okounkov96]). For well-behaved varieties, Duistermaat–Heckman measures have a geometric interpretation [@heckman82; @guilleminsternberg82b; @sjamaar95; @meinrenken96; @meinrenkensjamaar99; @vergne98; @teleman00], which makes their computation potentially much more tractable [@guilleminlermansternberg88; @guilleminlermansternberg96; @christandldorankousidiswalter12] (this connection is however less clear in the singular cases relevant to geometric complexity theory). In this context, our main technical result is the following (see for the proof):

\[C\] The exponent $d_X$ is equal to $\dim X - R_X$, where $R_X$ is the number of positive roots of $H$ that are not orthogonal to all points of the moment polytope $\Delta_X$.

The significance of is that the order of growth of the “smoothed” multiplicities, as captured by the Duistermaat–Heckman measures, does only depend on the dimension of the orbit closures and on their moment polytopes.

Now suppose that we are in the situation that $X$ and $Y$ cannot be separated by using moment polytopes, i.e., $\Delta_X \subseteq \Delta_Y$. For the orbit closures $X$ and $Y$ that one tries to separate in geometric complexity theory, one can show that $\dim X < \dim Y$ [@burgisserlandsbergmaniveletal11; @burgisserikenmeyer11]. Then, $X \subseteq Y$ would imply that $d_X < d_Y$ (). But this means that we *cannot* deduce from and a criterion of the form $$X \subseteq Y
  \;\Rightarrow\;
  f_X(\mu) \leq f_Y(\mu)
  \qquad
  (\forall \mu),$$ since in order to take the weak limit we need to divide by different powers of $k$. Therefore, Duistermaat–Heckman measures do not directly give rise to new obstructions, indicating that a more refined understanding of the behavior of multiplicities in coordinate rings might be required.

Preliminaries {#section:preliminaries}
=============

In this paper we will use basic notions of the theory of compact Lie groups [@fultonharris91; @cartersegalmacdonald95; @kirillov08; @knapp02]. Let $G$ be a compact connected Lie group with Lie algebra $\mathfrak g$. We fix a maximal torus $T_G \subseteq G$ and denote by $\mathfrak t_G$ its Lie algebra, the corresponding Cartan subalgebra. We write $\Lambda_G = \ker {\left.\exp\vphantom{\big|}\right|_{\mathfrak t_G}}$ for the integral lattice and $\Lambda^*_G$ for the weight lattice, which we can consider as a subset of $\mathfrak t^*_G$. The Weyl group $W_G$ acts on $\mathfrak t_G^*$ by reflections through the hyperplanes orthogonal to the roots. Let us choose a set of positive roots $R_{G,+} \subseteq \Lambda^*_G$. This determines a positive Weyl chamber $\mathfrak t^*_{G,+}$, as well as a basis of fundamental weights $\{\omega^G_1,\ldots,\omega^G_{r_G}\}$, where $r_G = \dim T_G$ is the rank of the Lie group, and the Weyl vector $\rho = \frac 1 2 \sum_{\alpha \in R_{G,+}} \alpha$. The set of dominant weights $\Lambda^*_{G,+}$ is by definition the intersection of the weight lattice and the positive Weyl chamber.

The fundamental theorem of the representation theory of compact connected Lie groups is the fact that the irreducible (complex) representations of $G$ can be labeled by their *highest weight* $\lambda \in \Lambda^*_{G,+}$ [@knapp02]; for every element $\lambda \in \Lambda^*_{G,+}$ there exists a unique irreducible representation $V_{G,\lambda}$ with this highest weight. Given an arbitrary finite-dimensional (complex) $G$-representation $V$, we can always decompose it into irreducible sub-representations $
  V \cong \bigoplus_{\lambda \in \Lambda^*_{G,+}} m_{G,V}(\lambda) \, V_{G,\lambda}
$. We shall call the function $m_{G,V}$ thus defined the *highest weight multiplicity function*.

If we restrict the representation to the maximal torus, we can similarly decompose into irreducible representations. Since $T_G$ is a compact Abelian group, we can always jointly diagonalize its action, and it follows that the irreducible representations are one-dimensional. The joint eigenvalues can be encoded as a weight $\beta \in \Lambda^*_G$, and we will denote the corresponding irreducible representation of $T_G$ by ${\mathbb C}_\beta$. The decomposition $
  V \cong \bigoplus_{\beta \in \Lambda^*_G} m_{T_G,V}(\beta) \, {\mathbb C}_\beta
$ then defines the *weight multiplicity function* $m_{T_G,V}$. We also set $[k] = \{ 1,\ldots,k \}$, and write $f \sim g$ for the asymptotic equivalence $\lim_{k \rightarrow \infty} f(k)/g(k) = 1$.

An equivalent way of encoding weight multiplicities is in terms of the (formal) *character*, $$\operatorname{ch}V = \sum_\beta m_{T_G,V}(\beta) \, e^\beta,$$ which can be understood as the generating function of $m_{T_G,V}$. Formally, $\operatorname{ch}V$ is an element of the group ring ${\mathbb Z}[\Lambda^*_G]$, which consists of (finite) linear combinations of basis elements $e^\beta$ subject to the relation $e^\beta e^{\beta'} = e^{\beta + \beta'}$. The character of an irreducible representation $V_{G,\lambda}$ is given by the *Weyl character formula* [@knapp02 p. 319], $$\label{weyl character formula}
  \operatorname{ch}V_{G,\lambda} =
  \frac {\sum_{w \in W_G} \det(w) \, e^{w(\lambda + \rho)}} {e^\rho \prod_{\alpha \in R_{G,+}} \left( 1 - e^{-\alpha} \right)}.$$ Observe that we have $$\label{derivation kostant partition function}
  \begin{aligned}
  \frac 1 {\prod_{\alpha \in R_{G,+}} \left( 1 - e^{-\alpha} \right)}
  &= \prod_{\mathclap{\alpha \in R_{G,+}}} \left( 1 + e^{-\alpha} + e^{-2\alpha} + \ldots \right) \\
  &= \sum_{\mathclap{\beta \in \Lambda^*_G}} \phi_{R_{G,+}}(\beta) e^{-\beta},
  \end{aligned}$$ where $\phi_{R_{G,+}}$ is the *Kostant partition function* given by the formula $$\label{kostant partition function}
  \phi_{R_{G,+}}(\beta) = \# \{ (x_j) \in {\mathbb Z}^{{\lvertR_{G,+}\rvert}}_{\geq 0} : \sum_j x_j \alpha_j = \beta \}.$$ That is, $\phi_{R_{G,+}}$ counts the number of ways that a weight can be written as a sum of positive roots (this number is always finite since the positive roots span a proper cone). It follows directly from and and that $$\begin{aligned}
  \operatorname{ch}V_{G,\lambda}
  = &\sum_{w \in W_G} \det(w) \sum_{\beta \in \Lambda^*_G} \phi_{R_{G,+}}(\beta) e^{w(\lambda + \rho) - \rho - \beta} \\
  = &\sum_{\beta \in \Lambda^*_G} \sum_{w \in W_G} \det(w) \, \phi_{R_{G,+}}(w(\lambda + \rho) - \rho - \beta) e^\beta.\end{aligned}$$ In other words, the multiplicity of a weight $\beta$ in an irreducible representation $V_{G,\lambda}$ is given by the well-known *Kostant multiplicity formula* [@kostant59], $$\label{kostant multiplicity formula}
  m_{T_G,V_{G,\lambda}}(\beta) = \sum_{w \in W_G} \det(w) \, \phi_{R_{G,+}}(w(\lambda + \rho) - \rho - \beta).$$

For any fixed group $G$, the Kostant partition function can be evaluated efficiently by using Barvinok’s algorithm [@barvinok94], since it amounts to counting points in a convex polytope in an ambient space of fixed dimension. Therefore, weight multiplicities for fixed groups $G$ can be computed efficiently. This idea has been implemented by Cochet [@cochet05] to compute weight multiplicities for the classical Lie algebras (using the method presented in [@welledabaldonibeckcochetetal06] instead of Barvinok’s algorithm). We remark that the problem of computing weight multiplicities is of course the special case of where $H$ is the maximal torus $T_G \subseteq G$.

Weight Multiplicities as a Single Partition Function {#weight-multiplicities-as-a-single-partition-function .unnumbered}
----------------------------------------------------

If $G$ is semisimple, we can find $s, t \in {\mathbb Z}_{\geq 0}$ and group homomorphisms $A \colon {\mathbb Z}^s \rightarrow {\mathbb Z}^t$ and $B \colon \Lambda^*_G \oplus \Lambda^*_G \rightarrow {\mathbb Z}^t$ such that $$\label{bliem multiplicity formula}
  m_{T_G,V_{G,\lambda}}(\beta) = \phi_A \left( B {\left(\begin{smallmatrix}\lambda \\ \beta\end{smallmatrix}\right)} \right)
  \>\>
  (\forall \lambda \in \Lambda^*_{G,+}, \beta \in \Lambda^*_G),$$ where $\phi_A$ is the *vector partition function* defined by $$\phi_A(y) = \# \{ x \in {\mathbb Z}^s_{\geq 0} : A x = y \}.$$ Note that this improves over the Kostant multiplicity formula , where weight multiplicities are expressed as an alternating sum over vector partition functions. In particular, is an evidently positive formula. It has been established by Billey, Guillemin, and Rassart for the Lie algebra ${\mathfrak{su}}(d)$ [@billeyguilleminrassart04], and was later extended to the general case by Bliem [@bliem08] by considering Littelmann patterns [@littelmann98] instead of Gelfand–Tsetlin patterns [@gelfandtsetlin88]. The assumption of semisimplicity for is not a restriction. Indeed, if $G$ is a general compact connected Lie group then its Lie algebra can always decomposed as $$\label{compact decomposition}
  \mathfrak g = [\mathfrak g,\mathfrak g] \oplus \mathfrak z,$$ where the commutator $[\mathfrak g, \mathfrak g]$ is the Lie algebra of a compact connected semisimple Lie group $G_{\operatorname{ss}}$, and where $\mathfrak z$ the Lie algebra of the center $Z(G)$ of $G$ [@knapp02 Corollary 4.25]. Let us choose a maximal torus $T_{G_{\operatorname{ss}}}$ of $G_{\operatorname{ss}}$ that is contained in $T_G$. Consider now an irreducible $G$-representation $V_{G,\lambda}$ with highest weight $\lambda$. By Schur’s lemma, each element in $Z(G)$ acts by a scalar. Therefore, all weights $\beta$ that appear in the weight-space decomposition have the same restriction to $\mathfrak z$. It follows that $$\label{semisimple restriction}
    m_{T_G,V_{G,\lambda}}(\beta) = \begin{cases}
    m_{T_{G_{\operatorname{ss}}},V_{G_{\operatorname{ss}},\lambda_{\operatorname{ss}}}}(\beta_{\operatorname{ss}}) & \text{if $\lambda_z = \beta_z$},\\
    0 & \text{otherwise},
  \end{cases}$$ where we write $\mu_{\operatorname{ss}}$ and $\mu_z$ for the restriction of a weight $\mu$ to the Cartan subalgebra of $[\mathfrak g,\mathfrak g]$ and to $\mathfrak z$, respectively. These multiplicities can therefore be evaluated by using .

The Finite Difference Formula {#section:finite difference formula}
=============================

Let $V$ be an arbitrary finite-dimensional representation of the compact, connected Lie group $G$. Clearly, we can compute the weight multiplicity function $m_{T_G,V}$ from the highest weight multiplicity function $m_{G,V}$ by using any of the classical formulas and , or by evaluating the vector partition function described in . By “inverting” the Weyl character formula, the converse can also be achieved:

\[steinberg lemma\] The highest weight and weight multiplicity function of a finite-dimensional $G$-representation $V$ are related by $$m_{G,V} = {\left.\left(\prod_{\alpha \in R_{G,+}} - D_\alpha \right) m_{T_G,V}\vphantom{\big|}\right|_{\Lambda^*_{G,+}}},$$ where $(D_\alpha m)(\lambda) = m(\lambda + \alpha) - m(\lambda)$ is the finite-difference operator in direction $\alpha$. Note that any two of the operators $D_\alpha$ commute, so that their product is independent of the order of multiplication.

By linearity, it suffices to establish the lemma for a single irreducible representation $V = V_{G,\lambda}$ of highest weight $\lambda$. The Weyl character formula can be rewritten in the form $$\label{weyl for steinberg}
    \prod_{\alpha > 0} \left( 1 - e^{-\alpha} \right) \operatorname{ch}V_{G,\lambda} =
    \sum_{w \in W_G} \det(w) \, e^{w(\lambda + \rho) - \rho}.$$ If we identify elements in ${\mathbb Z}[\Lambda^*_G]$ with functions on the weight lattice, applying finite-difference operators $D_\alpha$ corresponds to multiplication by $\left(e^{-\alpha} - 1 \right)$. Therefore, the left-hand side of is identified with $\left( \prod_{\alpha \in R_{G,+}} - D_\alpha \right) m_{T_G,V_{G,\lambda}}$.

Now consider the right-hand side of . Since $\lambda + \rho$ is a strictly dominant weight, it is sent by any Weyl group element $w \neq 1$ to the interior of another Weyl chamber. That is, there exists a positive root $\alpha \in R_{G,+}$ such that $\langle \alpha, w(\lambda + \rho) \rangle < 0$. In particular, $w(\lambda + \rho) - \rho$ is never dominant unless $w = 1$. It follows that the restriction of $\left( \prod_{\alpha \in R_{G,+}} - D_\alpha \right) m_{T_G,V_{G,\lambda}}$ to $\Lambda^*_{G,+}$ is equal to the indicator function of $\{\lambda\}$, i.e., equal to the highest weight multiplicity function of $V_{G,\lambda}$.

The idea of using for determining multiplicities of irreducible representations goes back at least to Steinberg [@steinberg61], who proved a formula for the multiplicity $c_{\lambda,\mu}^\nu$ of an irreducible representation $V_{G,\nu}$ in the tensor product $V_{G,\lambda} \otimes V_{G,\mu}$. These multiplicities $c_{\lambda,\mu}^\nu$ are called the *Littlewood–Richardson coefficients* for $G$. Steinberg’s formula involves an alternating sum over the Kostant partition function ; it can be evaluated efficiently as described by Cochet [@cochet05]. De Loera and McAllister give another method for computing Littlewood–Richardson coefficients [@deloeramcallister06], which applies Barvinok’s algorithm to results by Berenstein and Zelevinsky [@berensteinzelevinsky01]. Since the tensor products of irreducible $G$-representations are just the irreducible representations of $G \times G$, the problem of computing Littlewood–Richardson coefficients is again a special case of . The following consequence of the proof of will be convenient in the sequel:

\[steinberg corollary\] Write $\prod_{\alpha \in R_{G,+}} \left( 1 - e^{-\alpha} \right) = \sum_{\gamma \in \Gamma_G} c_\gamma e^{-\gamma}$ with $\Gamma_G \subseteq \Lambda^*_G$ finite and all $c_\gamma \neq 0$. Then, $$m_{G,V}(\lambda) = \sum_{\gamma \in \Gamma_G} c_\gamma \, m_{T_G,V}(\lambda + \gamma).$$

In particular, it is evident from that, for any fixed group $G$, the multiplicity of an irreducible representation in some representation $V$ can be computed efficiently from the weight multiplicities of $V$ by computing a finite linear combination.

Multiplicities for the Subgroup Restriction Problem {#section:finite difference formula for subgroup restrictions}
===================================================

Every $G$-representation $V$ can be considered as (“restricts to”) a representation of $H$ by setting $$\label{restriction}
  h \cdot v := f(h) \cdot v \qquad (\forall h \in H),$$ and the subgroup restriction problem for $f$, as defined in , amounts to determining the multiplicity $m^\lambda_\mu$ of a given irreducible representation of $H$ in the restriction of a given irreducible representation of $G$. In this section we will derive a formula for these multiplicities (), which will be the main ingredient of the algorithm presented in below. It will also follow from this formula that the $m^\lambda_\mu$ are given by a piecewise quasi-polynomial function[^2] in $\lambda$ and $\mu$ ().

Let us choose the maximal torus $T_H \subseteq H$ in such a way that $f(T_H) \subseteq T_G$, and denote the corresponding Cartan subalgebra by $\mathfrak t_H$. Of course, this implies that the induced Lie algebra homomorphism $\operatorname{Lie}(f)$ sends the Cartan subalgebra of $H$ in the one of $G$. Since $f$ is a group homomorphism, $\operatorname{Lie}(f)$ restricts to a homomorphism between the integral lattices, $F \colon \Lambda_H \rightarrow \Lambda_G, ~ X \mapsto \operatorname{Lie}(f) X$. The dual map between the weight lattices is given by $$\label{definition dual map}
  F^* \colon \Lambda_G^* \rightarrow \Lambda_H^*, \quad
  \beta \mapsto \beta \circ F = {\left.\beta \circ \operatorname{Lie}(f)\vphantom{\big|}\right|_{\Lambda_H}}.$$ The following is well-known and easily follows from the definitions:

\[weight restriction\] Let $V$ be a representation of $G$ and $v \in V$ a weight vector of weight $\beta \in \Lambda^*_G$. If we restrict the action to $H$ via then $v$ is a weight vector of weight $F^*(\beta) \in \Lambda^*_H$.

Let us also fix systems of positive roots $R_{H,+}$ for $H$. This in turn determines the set of dominant weights $\Lambda^*_{H,+}$ as well as a basis of fundamental weights $(\omega^H_j)$ as described in . Let us also set $r_H = \dim T_H$.

Our strategy for solving the subgroup restriction problem for $f$ then is the following: Given an irreducible representation $V_{G,\lambda}$ of $G$, we can determine its weight multiplicities with respect to the maximal torus $T_G$ by using any of the formulas presented in . We then obtain weight multiplicities for $T_H$ by restricting according to . Finally, we reconstruct the multiplicity of an irreducible representation $V_{H,\mu}$ by using the finite-difference formula (/). If this procedure was translated directly into an algorithm, the runtime would be polynomial in the coefficients of $\lambda$ (with respect to the basis of fundamental weights), i.e., exponential in their bitlength, since the number of weights is of the order of the dimension of the irreducible representation $V_{G,\lambda}$, which according to the *Weyl dimension formula* is given by the polynomial $\prod_{\alpha \in R_{G,+}} {\langle \alpha, \lambda + \rho \rangle} / {\langle \alpha, \rho \rangle}$ (cf. the formula by Straumann [@straumann65]). We will now show that it is possible to combine the weight multiplicity formula with the restriction map $F^*$ in a way that will later give rise to an algorithm that runs in polynomial time in the bitlength of the input:

\[main theorem\] Let $f \colon H \rightarrow G$ be a homomorphism of compact connected Lie groups. Then we can find $s, s', u \in {\mathbb Z}_{\geq 0}$ and group homomorphisms $\mathcal A \colon {\mathbb Z}^{s+s'} \rightarrow {\mathbb Z}^u$ and $\mathcal B \colon \Lambda^*_G \oplus \Lambda^*_H \rightarrow {\mathbb Z}^u$ with the following property: For every irreducible representation $V_{G,\lambda}$ of $G$ and $V_{H,\mu}$ of $H$, the multiplicity $m^\lambda_\mu$ of the latter in the former is given by $$m^\lambda_\mu =
    \sum_{\gamma \in \Gamma_H} c_\gamma \, \# \{ x \in {\mathbb Z}^s_{\geq 0} \oplus {\mathbb Z}^{s'} : \mathcal A x = \mathcal B {\begin{pmatrix}\lambda \\ \mu + \gamma\end{pmatrix}} \},$$ where the (finite) set $\Gamma_H$ and the coefficients $(c_\gamma)$ are defined by $\prod_{\alpha \in R_{H,+}} \left( 1 - e^{-\alpha} \right) = \sum_{\gamma \in \Gamma_H} c_\gamma e^{-\gamma}$ and $c_\gamma \neq 0$. In fact, we can choose $s = O(r_G^2)$, $s' \leq r_G$ and $u = O(r_G^2) + r_H$.

By definition and , we have $m^\lambda_\mu = m_{H,V_{G,\lambda}}(\mu) = \sum_{\gamma \in \Gamma_H} c_\gamma \, m_{T_H,V_{G,\lambda}}(\mu + \gamma)$. In view of , the multiplicity of a $T_H$-weight $\delta \in \Lambda^*_H$ in the irreducible $G$-representation $V_{G,\lambda}$ is given by $$m_{T_H,V_{G,\lambda}}(\delta) ~=~
    \sum_{\mathclap{\substack{\beta \in \Lambda^*_G\\ F^*(\beta) = \delta}}} m_{T_G,V_{G,\lambda}}(\beta).$$ As in , let us now decompose the Lie-algebra $\mathfrak g = [\mathfrak g, \mathfrak g] \oplus \mathfrak z$. Denote the Lie group corresponding to $[\mathfrak g,\mathfrak g]$ by $G_{\operatorname{ss}}$ and choose a maximal torus $T_{G_{\operatorname{ss}}}$ which is contained in $T$. Using , $$\begin{aligned}
    \sum_{\mathclap{\substack{\beta \in \Lambda^*_G\\ F^*(\beta) = \delta}}} m_{T_G,V_{G,\lambda}}(\beta)
        ~~=~~ \sum_{\mathclap{\substack{\beta_{\operatorname{ss}} \in \Lambda^*_{G_{\operatorname{ss}}}\\ C_{\operatorname{ss}} \beta_{\operatorname{ss}} + C_z \lambda_z = \delta}}} m_{T_{G_{\operatorname{ss}}},V_{G_{\operatorname{ss}},\lambda_{\operatorname{ss}}}}(\beta_{\operatorname{ss}}),
  \end{aligned}$$ where we have decomposed $F^*$ as a sum of two homomorphisms $C_{\operatorname{ss}} \colon \Lambda^*_{G_{\operatorname{ss}}} \rightarrow \Lambda^*_H$ and $C_z \colon \Lambda^*_{Z(G)} \rightarrow \Lambda^*_H$.

Let us now choose group homomorphisms $A \colon {\mathbb Z}^s \rightarrow {\mathbb Z}^t$ and $B = B_1 \oplus B_2 \colon \Lambda^*_{G_{\operatorname{ss}}} \oplus \Lambda^*_{G_{\operatorname{ss}}} \rightarrow {\mathbb Z}^t$ such that holds for the weight multiplicities for $G_{\operatorname{ss}}$. For this, $s$ and $t$ can be taken of order $O(r_G^2)$ [@bliem08 Proposition 19]. Then, $$\begin{aligned}
  \label{constructive}
    &\sum_{\mathclap{\substack{\beta_{\operatorname{ss}} \in \Lambda^*_{G_{\operatorname{ss}}}\\ C_{\operatorname{ss}} \beta_{\operatorname{ss}} + C_z \lambda_z = \delta}}} m_{T_{G_{\operatorname{ss}}},V_{G_{\operatorname{ss}},\lambda_{\operatorname{ss}}}}(\beta_{\operatorname{ss}}) \\
        =~&\sum_{\mathclap{\substack{\beta_{\operatorname{ss}} \in \Lambda^*_{G_{\operatorname{ss}}}\\ C_{\operatorname{ss}} \beta_{\operatorname{ss}} + C_z \lambda_z = \delta}}}
      \# \{ x \in {\mathbb Z}^s_{\geq 0} : A x = B {\left(\begin{smallmatrix}\lambda_{\operatorname{ss}} \\ \beta_{\operatorname{ss}}\end{smallmatrix}\right)} \} \\
    =~&\# \{ (x,\beta_{\operatorname{ss}})
            :
      {\left(\begin{smallmatrix}
        A & - B_2\\
        0 & C_{\operatorname{ss}}
      \end{smallmatrix}\right)}
      {\left(\begin{smallmatrix}x \\ \beta_{\operatorname{ss}}\end{smallmatrix}\right)} =
      {\left(\begin{smallmatrix}B_1 \lambda_{\operatorname{ss}} \\ - C_z \lambda_z + \delta\end{smallmatrix}\right)} \}\\
    =~&\# \{ (x,\beta_{\operatorname{ss}})
            :
      \underbrace{{\left(\begin{smallmatrix}
        A & - B_2\\
        0 & C_{\operatorname{ss}}
      \end{smallmatrix}\right)}}_{=: \mathcal A}
      {\left(\begin{smallmatrix}x \\ \beta_{\operatorname{ss}}\end{smallmatrix}\right)} =
      \underbrace{{\left(\begin{smallmatrix}
        B_1 & 0 & 0\\
        0 & -C_z & {\mathbf 1}\end{smallmatrix}\right)}}_{=: \mathcal B}
      {\left(\begin{smallmatrix}\lambda_{\operatorname{ss}} \\ \lambda_z \\ \delta\end{smallmatrix}\right)} \}.
  \end{aligned}$$ After choosing a basis of the lattice $\Lambda^*_{G_{\operatorname{ss}}}$ we arrive at the asserted formula (with $s' = \dim T_{G_{\operatorname{ss}}}$ and $u = t + r_H$).

We stress that the proof of is constructive: The maps $\mathcal A$ and $\mathcal B$, whose existence is asserted by the theorem, are defined in in terms of $A$ and $B$, whose construction is described explicitly in [@billeyguilleminrassart04 Proof of Theorem 2.1] (for the case of $\mathfrak g = {\mathfrak{su}}(d)$) and in [@bliem08 §4] (for the general case). See for an illustration in the context of the Kronecker coefficients.

If one uses the Kostant multiplicity formula instead of in the proof of then one arrives at a similar formula for the multiplicities $m^\lambda_\mu$ involving an additional alternating sum over the Weyl group of $G$. After completion of this work, we have learned of [@heckman82 Lemma 3.1] which is derived in this spirit.

Piecewise Quasi-Polynomiality {#piecewise-quasi-polynomiality .unnumbered}
-----------------------------

Let us use the fundamental weight bases fixed above to identify $\Lambda^*_G \cong {\mathbb Z}^{r_G}$ and $\Lambda^*_H \cong {\mathbb Z}^{r_H}$. The group homomorphisms $\mathcal A$ and $\mathcal B$ correspond to matrices with integer entries, which we shall denote by the same symbols. Observe that the formula in in essence amounts to counting the number $n(y) := \# \left( \Delta_{\mathcal A, \mathcal B}(y) \cap {\mathbb Z}^{s+s'} \right)$ of integral points in certain rational convex polytopes of the form $$\label{weight restriction polytope}
  \Delta_{\mathcal A,\mathcal B}(y) := \{ x \in {\mathbb R}^{s+s'} : x_1, \ldots, x_s \geq 0, \mathcal A x = \mathcal B y \},$$ parametrized by $y \in {\mathbb Z}^{r_G+r_H}$. Explicitly, $$\label{concrete alternating sum}
  m^\lambda_\mu = \sum_{\gamma \in \Gamma_H} c_\gamma n(\lambda, \mu + \gamma).$$ It is well-known that $n(y)$ is a *piecewise quasi-polynomial* function in $y$ [@claussloechner98]. \[pageref:quasi-poly\] That is, there exists a decomposition of ${\mathbb Z}^{r_G+r_H}$ into polyhedral chambers such that on each chamber $C$ the function $n(y)$ is given by a single quasi-polynomial, i.e., there exists a sublattice $L \subseteq {\mathbb Z}^{r_G+r_H}$ of finite index and polynomials $(p_z)$ with rational coefficients, labeled by the finitely many points $z \in {\mathbb Z}^{r_G+r_H} / L$, such that $n(y) = p_{[y]}(y)$ for all $y \in {\mathbb Z}^{r_G+r_H}$ (cf. [@verdoolaegeseghirbeylsetal07 §2.2]). We record the following immediate consequence:

\[abstract cor\] For any fixed group homomorphism $f \colon H \rightarrow G$, the multiplicities $m^\lambda_\mu$ are given by a piecewise quasi-polynomial function in $\lambda$ and $\mu$.

In particular, this implies that the *stretching function* $k \mapsto m^{k\lambda}_{k\mu}$ is a quasi-polynomial function for large $k$. This is in fact true for all $k$, as has been observed in [@mulmuley07] (cf. [@meinrenkensjamaar99] for more general quasi-polynomiality results on convex cones, and also [@baldonivergne10] for further discussion).

Polynomial-Time Algorithm for the Subgroup Restriction Problem {#section:algorithm}
==============================================================

In this section we will formulate our algorithm for the subgroup restriction problem, . Recall that, by , the computation of the multiplicities $m^\lambda_\mu$ effectively reduces to counting the number of integral points in certain rational convex polytopes of the form . We shall suppose that the highest weights $\lambda$ and $\mu$, which are the *input* to our algorithm, are given in terms of their coordinates with respect to the fundamental weight bases fixed in . Clearly, for each of the finitely many $\gamma \in \Gamma_H$, the description of the polytope $\Delta_{\mathcal A,\mathcal B}(\lambda,\mu+\gamma)$ (say, in terms of linear inequalities) is of polynomial size in the bitlength of the input. It follows that *Barvinok’s algorithm* can be used to compute the number of integral points in each of these polytopes in polynomial time [@barvinok94] (see also [@dyerkannan97; @barvinokpommersheim99]). This gives rise to the following polynomial-time algorithm for , thereby establishing :

\[main algorithm\] Let $f \colon H \rightarrow G$ be a homomorphism of compact connected Lie groups. Given as input two highest weights $\lambda \in \Lambda^*_G \cong {\mathbb Z}^{r_G}$ and $\mu \in \Lambda^*_H \cong {\mathbb Z}^{r_H}$, encoded as bitstrings containing their coordinates with respect to the fundamental weight bases fixed above, the following algorithm computes the multiplicity $m^\lambda_\mu$ in polynomial time in the bitlength of the input:

$m \gets 0$ $n \gets \# \left( \Delta_{\mathcal A,\mathcal B}(\lambda, \mu + \gamma) \cap {\mathbb Z}^{s+s'} \right)$ as computed by Barvinok’s algorithm (see discussion above) $m \gets m + c_\gamma n$ **return** $m$

Here, $\Delta_{\mathcal A,\mathcal B}(y)$ denotes the rational convex polytope defined in , and the finite index set $\Gamma_H \subseteq \Lambda^*_H$ as well as the coefficients $(c_\gamma)$ are defined in the statement of .

There are at least two software packages which have implemented Barvinok’s algorithm, namely <span style="font-variant:small-caps;">LattE</span> [@deloeradutrakoppeetal11] and <span style="font-variant:small-caps;">barvinok</span> [@verdoolaegeseghirbeylsetal07; @verdoolaegebruynooghe08]. In we have reported on the performance of our implementation of for computing Kronecker coefficients using the latter package.

The existence of a polynomial-time algorithm for in fact already follows abstractly from , since in order to compute $m^\lambda_\mu$ we merely have to evaluate a *fixed* piecewise quasi-polynomial function. This piecewise quasi-polynomial can be computed algorithmically by using a variant of Barvinok’s algorithm which is also implemented in the <span style="font-variant:small-caps;">barvinok</span> package; see [@verdoolaegeseghirbeylsetal07 Proposition 2] and also [@barvinokpommersheim99 (5.3.1)].

Kronecker Coefficients {#section:kronecker}
======================

As explained in the introduction, the Kronecker coefficients play an important role in geometric complexity theory and quantum information theory. In this section, we will describe precisely how they can be computed using our methods.

Let us recall the language of Young diagrams which is commonly used in this context [@fulton97]. A *Young diagram* with $r$ rows and $k$ boxes is given by an ordered list of integers $\lambda_1 \geq \ldots \geq \lambda_r > 0$ with $\sum_i \lambda_i = k$. It can be visualized as an arrangement of $k$ boxes in $r$ rows with $\lambda_j$ boxes in the $j$-th row. We set $\lambda_j = 0$ for all $j > r$. We will now consider the *unitary group* $\operatorname{U}(d)$, which consists of the unitary $d \times d$-matrices. Let us fix a system of positive roots and denote the corresponding basis of fundamental weights by $(\omega_j)$. To each Young diagram $\lambda$ with at most $d$ rows we associate the irreducible representation of $\operatorname{U}(d)$ with highest weight equal to $\sum_{j=1}^d \left( \lambda_j - \lambda_{j+1} \right) \omega_j$. Every polynomial irreducible representation of $\operatorname{U}(d)$ arises in this way. By a slight abuse of notation, we identify Young diagrams with the corresponding highest weights. More generally, we can associate to every integer vector $\beta \in {\mathbb Z}^d$ the weight $\sum_{j=1}^d \left( \beta_j - \beta_{j+1} \right) \omega_j$, where we set $\beta_{d+1} = 0$. This defines a bijection between ${\mathbb Z}^d$ and the weight lattice $\Lambda^*_{\operatorname{U}(d)}$ of $\operatorname{U}(d)$. In particular, the positive roots fixed above correspond to the integer vectors of the form $(\ldots,0,1,0,\ldots,0,-1,0,\ldots)$.

The *Kronecker coefficient* $g_{\lambda,\mu,\nu}$ associated with triples of Young diagrams $\lambda$, $\mu$ and $\nu$ with $k$ boxes each and at most $a$, $b$ and $c$ rows, respectively, can then be defined in terms of the following subgroup restriction problem of compact, connected Lie groups: Let $H = \operatorname{U}(a) \times \operatorname{U}(b) \times \operatorname{U}(c)$ and $G = \operatorname{U}(abc)$ and consider the homomorphism $f \colon H \rightarrow G$ given by sending a triple of unitaries $(U,V,W)$ to their tensor product $U \otimes V \otimes W$. The Kronecker coefficient $g_{\lambda,\mu,\nu}$ is then given by the multiplicity of the irreducible $H$-representation $V_{H,(\lambda,\mu,\nu)} = V_{\operatorname{U}(a),\lambda} \otimes V_{\operatorname{U}(b),\mu} \otimes V_{\operatorname{U}(c),\nu}$ in the restriction of the symmetric power $\operatorname{Sym}^k({\mathbb C}^{abc})$, which is the irreducible $G$-representation labeled by the Young diagram $(k)$ consisting of a single row with $k$ boxes. That is, $$\label{kronecker definition}
  g_{\lambda,\mu,\nu} = m^{(k)}_{\lambda,\mu,\nu}(f)$$ This definition in fact does not depend on the concrete values chosen for $a$, $b$ and $c$, as can be seen by rephrasing it in terms of the representation theory of the symmetric group $S_k$ [@burgisserlandsbergmaniveletal11 §8] (but of course $a$, $b$ and $c$ have to be chosen at least as large as the number of rows of the Young diagrams). Moreover, it is evident that the Kronecker coefficients are symmetric in the variables $\lambda$, $\mu$, and $\nu$.

It follows that, for any fixed choice of $a$, $b$ and $c$, can be used to compute the Kronecker coefficient given Young diagrams with at most $a$, $b$ and $c$ rows, respectively, in polynomial time in the input size, or equivalently in time $O(\operatorname{poly}(\log k))$, where $k$ is the number of boxes of the Young diagrams. This establishes . Let us again stress that the problem of computing Kronecker coefficients is known to be ${\#\mathbf P}$-hard in general [@burgisserikenmeyer08]; hence we do not expect that there exists a polynomial-time algorithm without any assumption on the number of rows of the Young diagrams.

When computing Kronecker coefficients using the above method, we are only interested in the representation $V_{\operatorname{U}(abc),(k)} = \operatorname{Sym}^k({\mathbb C}^{abc})$, not in arbitrary irreducible representations of $\operatorname{U}(abc)$. By specializing the construction described in to this one-parameter family of representations, we obtain the following result:

\[optimized kronecker\] The multiplicity of a weight $\delta = (\delta^{A},\delta^B,\delta^C) \in {\mathbb Z}^a \oplus {\mathbb Z}^b \oplus {\mathbb Z}^c \cong \Lambda^*_H$ (we use the identifications fixed at the beginning of ) in the irreducible $G$-representation $\operatorname{Sym}^k({\mathbb C}^{a b c})$ is equal to the number of integral points in the rational convex polytope $$\begin{aligned}
    &\Delta(k, \delta)
    = \Big\{
      (x_{l,m,n}) \in {\mathbb R}^{a b c}_{\geq 0} \;:\; \sum_{l,m,n} x_{l,m,n} = k, \\
    &\quad \sum_{m,n} x_{l,m,n} = \delta^{A}_l,
      \sum_{l,n} x_{l,m,n} = \delta^{B}_m,
      \sum_{l,m} x_{l,m,n} = \delta^{C}_n
    \Big\}.
  \end{aligned}$$ It follows that the Kronecker coefficient for Young diagrams $\lambda, \mu, \nu$ with $k$ boxes and at most $a$, $b$ and $c$ rows, respectively, is given by the formula $$g_{\lambda,\mu,\nu} = \sum_{\gamma \in \Gamma_H} c_\gamma \, \# \left( \Delta(k, (\lambda,\mu,\nu)+\gamma) \cap {\mathbb Z}^{abc} \right),$$ where $\Gamma_H$ and $(c_\gamma)$ are defined as in the statement of .

It is well-known that the weight spaces for the action of $\operatorname{U}(d)$ on $\operatorname{Sym}^k({\mathbb C}^d)$ are all one-dimensional and that the set of weights corresponds to the integer vectors in the standard simplex rescaled by $k$ [@fulton97]. In our case, $d = a b c$, so that the weights are just the integral points of the polytope $$\Big\{ x = (x_{l,m,n})_{l \in [a], m \in [b], n \in [c]} \in {\mathbb R}^{a b c}_{\geq 0} \;:\; \sum_{l,m,n} x_{l,m,n} = k \Big\}.$$ Moreover, the dual map $F^* \colon \Lambda^*_{\operatorname{U}(abc)} \rightarrow \Lambda^*_{\operatorname{U}(a) \times \operatorname{U}(b) \times \operatorname{U}(c)}$ as defined in is given by $$\begin{cases}
    {\mathbb Z}^{abc} &\rightarrow {\mathbb Z}^a \oplus {\mathbb Z}^b \oplus {\mathbb Z}^c \\
    (x_{l,m,n}) &\mapsto \Big( \sum_{m,n} x_{l,m,n}, \sum_{l,n} x_{l,m,n}, \sum_{l,m} x_{l,m,n} \Big).
    \end{cases}$$ We conclude that the multiplicity of a weight $\delta = (\delta^A, \delta^B, \delta^C)$ for $\operatorname{U}(a) \times \operatorname{U}(b) \times \operatorname{U}(c)$ is given by the number of integral points in the polytope $\Delta(k,\delta)$ described above.

Just as for our main algorithm, gives rise to a polynomial-time algorithm for computing Kronecker coefficients with a bounded number of rows. This second algorithm runs faster than the generic one presented earlier, since the ambient space ${\mathbb R}^{abc}$ has a smaller dimension than what we would get from the construction described in the proof of . We remark that the time complexity for unbounded $a$, $b$ and $c$ can be deduced from [@barvinokpommersheim99].

Asymptotics {#section:asymptotics}
===========

In this section we will prove our result on the generic order of growth of multiplicities in the coordinate ring of a projective variety ().

We will work in the following general setup: Let $V$ be a finite-dimensional rational representation of $H$, and suppose that $X$ is an $H$-stable closed subvariety of the associated projective space ${\mathbb P}(V)$. The homogeneous coordinate ring ${\mathbb C}[X]$ is graded, and we can decompose each part into its irreducible components, $$\label{alggeo setup}
  {\mathbb C}[X]
  = \bigoplus_{k=0}^\infty {\mathbb C}[X]_k
  = \bigoplus_{k=0}^\infty \bigoplus_{\mu} m_{H,X,k}(\mu) \, V_{H,\mu}^*,$$ where, following the usual conventions, we have decomposed with respect to the dual representations $V_{H,\mu}^*$. The *stretching function* is then by definition $k \mapsto m_{H,X,k}(k\mu)$. We stress that in contrast to [@mulmuley07], where it was assumed that $X$ has at most rational singularities, we do not even require that $X$ is a normal variety [@hartshorne77]. This is highly relevant for geometric complexity theory, since it was recently shown in [@kumar10b] and [@burgisserikenmeyer11] that the studied varieties (the orbit closures of the determinant and permanent on the one hand, and of the matrix multiplication tensor and the unit tensor on the other hand) are in fact never normal except in trivial situations.

The subgroup restriction problem for a rational group homomorphism $f \colon H \rightarrow G$ can be realized in the above setup: Indeed, for any highest weight $\lambda \in \Lambda^*_{G,+}$ consider $X = \mathcal O_{G,\lambda}$, the coadjoint orbit through $\lambda$, with the induced action of $H$. This variety can be canonically embedded into projective space as the orbit of the highest weight vector in ${\mathbb P}(V_{G,\lambda})$, and it is a consequence of the Borel–Weil theorem that ${\mathbb C}[\mathcal O_{G,\lambda}] = \bigoplus_{k=0}^\infty V_{G,k\lambda}^*$. By comparing with it follows that $m_{H,\mathcal O_{G,\lambda},k}(\mu) = m^{k \lambda}_{\mu}$. In particular, the above definition of the stretching function, $k \mapsto m_{H,\mathcal O_{G,\lambda},k}(k\mu)$, coincides with our previous usage, $k \mapsto m^{k\lambda}_{k\mu}$.

By the Hilbert–Serre theorem, the function $k \mapsto \dim {\mathbb C}[X]_k$ is a polynomial of degree $\dim X$ for large $k$ [@hartshorne77 Theorem I.7.5]. Hence there exists a constant $A > 0$ such that $$\begin{aligned}
    &A \, k^{\dim X}
    \sim \dim {\mathbb C}[X]_k \\
    ~=~ &\sum_{\mathclap{\mu \in \Lambda^*_{H,+}}} m_{H,X,k}(\mu) \, \dim V_\mu
    ~=~ \sum_{\mathclap{\mu \in \Delta_X \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu) \, \dim V_{k \mu},
  \end{aligned}$$ where for the last equality we have used the definition of the moment polytope $\Delta_X$. By the Weyl dimension formula, we have $$\begin{aligned}
    &\dim V_{k\mu} ~=~
    \prod_{\mathclap{\alpha \in R_{H,+}}} \frac {\langle \alpha, k \mu + \rho \rangle} {\langle \alpha, \rho \rangle} \\
    ~=~ &\left( ~~~
      \prod_{\mathclap{\substack{\alpha \in R_{H,+} \\ \alpha \not\perp \Delta_X}}} \frac {\langle \alpha, \mu \rangle} {\langle \alpha, \rho \rangle}
    \right) k^{R_X} +
    O(k^{R_X-1})
  \end{aligned}$$ for the representations that occur in ${\mathbb C}[X]$. The coefficient $P(\mu) = \prod_{\alpha \in R_{H,+}, \alpha \not\perp \Delta_X} {\langle \alpha, \mu \rangle} / {\langle \alpha, \rho \rangle}$ is a polynomial function in $\mu$. Since $\Delta_X$ is compact, we can therefore find a constant $C > 0$ such that $$\dim V_{k \mu} \leq C \, k^{R_X}   \qquad (\forall k, \mu \in \Delta_X \cap \frac 1 k \Lambda^*_{H,+}).$$ It follows that $$\begin{aligned}
    &\sum_{\mathclap{\mu \in \Delta_X \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu) \, \dim V_{k \mu} \\
    \leq~&C \, k^{R_X} \sum_{\mathclap{\mu \in \Delta_X \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu)
    \sim
    C \, k^{R_X + d_X} \int d\operatorname{DH}_X,
  \end{aligned}$$ so that $\dim X \leq R_X + d_X$.

On the other hand, since $\operatorname{DH}_X$ is Lebesgue-absolutely continuous, the boundary of the moment polytope does not carry any measure. We can therefore find a compact set $K$ contained in the (relative) interior of the moment polytope which has positive measure with respect to $\operatorname{DH}_X$. Note that $P(\mu)$ is positive for all $\mu$ contained in the interior of the moment polytope (indeed, for all positive roots $\alpha$ with $\alpha \not\perp \Delta_X$ there exists $\nu \in \Delta_X$ such that $\langle \alpha, \nu \rangle > 0$; since we can always write $\mu$ as a proper convex combination of $\nu$ and some other point $\nu' \in \Delta_X$, it follows that $\langle \alpha, \mu \rangle > 0$). This implies that on the compact set $K$ we can bound $P(\mu)$ from below by a positive constant. Thus there exists a constant $D > 0$ (depending on $K$) such that $$\dim V_{k \mu} \geq D \, k^{R_X}   \qquad (\forall \mu \in K \cap \frac 1 k \Lambda^*_{H,+}).$$ Consequently, $$\begin{aligned}
    &\sum_{\mathclap{\mu \in \Delta_X \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu) \, \dim V_{k \mu}
    \geq~\sum_{\mathclap{\mu \in K \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu) \, \dim V_{k \mu} \\
    \geq~&D \, k^{R_X} \sum_{\mathclap{\mu \in K \cap \frac 1 k \Lambda^*_{H,+}}} m_{H,X,k}(k \mu)
    \sim D \, k^{R_X + d_X} \int_K d\operatorname{DH}_X.
  \end{aligned}$$ We conclude that also $\dim X \geq R_X + d_X$, hence we have equality.

Let us now elaborate on the argument presented at the end of the introduction, where we showed that Duistermaat–Heckman measures do not directly give rise to new complexity-theoretic obstructions. For this, we consider a pair of projective subvarieties $X$ and $Y$ with $\dim X < \dim Y$, as is the case for the orbit closures of relevance to GCT. Let us assume that $\Delta_X \subseteq \Delta_Y$, so that the moment polytopes alone do not already give rise to an obstruction. Clearly, this implies that $R_X \leq R_Y$.

\[polytope smaller lemma\] Let $\Delta_X \subseteq \Delta_Y$ and $R_X < R_Y$. Then, $\dim \Delta_X < \dim \Delta_Y$.

Note that we have $$\dim \Delta_X = \dim \operatorname{aff}\Delta_X \leq \dim \operatorname{aff}\Delta_Y = \dim \Delta_Y,$$ with equality if and only if the two affine hulls $\operatorname{aff}\Delta_X \subseteq \operatorname{aff}\Delta_Y$ are equal.

Now by assumption there exists a positive root $\alpha \in R_{H,+}$ that is orthogonal to all points in $\Delta_X$ (i.e., for all $p \in \Delta_X$, $\alpha \perp p$), but not to all points in $\Delta_Y$. It follows that $\alpha$ is also orthogonal to all points in the affine hull of $\Delta_X$, but not to all points in the affine hull of $\Delta_Y$. Therefore, we have $\operatorname{aff}\Delta_X \subsetneq \operatorname{aff}\Delta_Y$.

\[different lebesgue lemma\] Let $\dim \Delta_X < \dim \Delta_Y$. Then, $X \subseteq Y$ implies $d_X < d_Y$.

If $X \subseteq Y$ then it is immediate from and that $d_X \leq d_Y$. Let us suppose for a moment that in fact $d_X = d_Y$. Then it follows from that $$\int_{\Delta_X} d\operatorname{DH}_X(\mu) \, g(\mu) \leq
    \int_{\Delta_Y} d\operatorname{DH}_Y(\mu') \, g(\mu')$$ for any test function $g$. In particular, this inequality would hold for $g$ the indicator function of $\Delta_X$. But this is clearly impossible, since $\operatorname{DH}_Y$ is absolutely continuous with respect to Lebesgue measure on $\Delta_Y$, for which $\Delta_X$ is a set of measure zero.

\[dimension lemma\] Let $\dim X < \dim Y$. Then, $X \subseteq Y$ implies $d_X < d_Y$.

Clearly, $X \subseteq Y$ implies that $\Delta_X \subseteq \Delta_Y$ and $R_X \leq R_Y$. If $R_X = R_Y$ then the assertion follows directly from , since $$d_X = \dim X - R_X < \dim Y - R_Y = d_Y.$$ Otherwise, if $R_X < R_Y$, it follows from combining and .

As described in the introduction, the upshot of the above is that we cannot directly deduce from a new criterion for obstructions based on the Duistermaat–Heckman measure that goes beyond what is provided by the moment polytope.

Acknowledgements {#acknowledgements .unnumbered}
================

We would like to thank Aravind Asok, Emmanuel Briand, Peter Bürgisser, David Gross, Christian Ikenmeyer, Stavros Kousidis, Graeme Mitchison, Mercedes Rosas, Volkher Scholz, and Michèle Vergne for helpful discussions.

This work is supported by the Swiss National Science Foundation (grant PP00P2–128455 and 200021\_138071), the German Science Foundation (grants CH 843/1–1 and CH 843/2–1), and the National Center of Competence in Research ‘Quantum Science and Technology’.

[^1]: A preliminary implementation of the algorithm is available upon request from the authors.

[^2]: In the context of this paper, a quasi-polynomial function is a polynomial function with periodic coefficients; see p.  for the precise definition. It should not to be confused with the notion of quasi-polynomial time complexity.
