Further limitations of the known approaches for matrix multiplication

Josh Alman, Virginia Vassilevska Williams

Introduction

One of the most fundamental questions in computer science asks how quickly one can multiply two matrices. Since the surprising subcubic algorithm for n×n×nn\times n\times n matrix multiplication by Strassen in 1969 [Str69], there has been a long line of work on improving and refining the techniques and speeding up matrix multiplication algorithms (e.g. [Pan78, Pan80, BCRL79, Str86, CW81, Sch81, Str87, CW90, DS13, Wil12, LG14]). Progress on this problem is typically measured in terms of ω\omega, the smallest constant such that, for any δ>0\delta>0, one can design an algorithm for n×n×nn\times n\times n matrix multiplication running in time O(nω+δ)O(n^{\omega+\delta}). The biggest open question is whether one can achieve ω=2\omega=2. The best bound we currently know, due to Le Gall [LG14], is ω≤2.3728639\omega\leq 2.3728639.

A related line of work [CW90, Cop97, LG12, GU17] focuses on rectangular matrix multiplication instead of square matrix multiplication. Here, progress is measured in terms of α\alpha, the largest constant such that for any δ>0\delta>0, one can design an algorithm for n×nα×nn\times n^{\alpha}\times n matrix multiplication running in time O(n2+δ)O(n^{2+\delta}). Recent work [GU17] improved the best known bound to α>0.31389\alpha>0.31389. The two values ω\omega and α\alpha are very related, as ω=2\omega=2 if and only if α=1\alpha=1.

Our first result is a unifying approach to achieving all known bounds of ω\omega ([Str86, CW90, DS13, LG14]) since Strassen’s 1986 proof that ω<2.48\omega<2.48.

A simple remark first pointed out to us by Michalek [Mic14] is that the so called Coppersmith-Winograd tensor used in the papers on matrix multiplication since 1990 [CW90, DS13, LG14], can be replaced with an equivalent tensor, rotating the original slightly in a certain way (see the Preliminaries), without changing any of the proofs, and thus yielding the same bounds on ω\omega.

For every pp, and for every ε∈(0,1]\varepsilon\in(0,1], there is an explicit constant νp,ε>1\nu_{p,\varepsilon}>1 such that any algorithm for n×nε×nn\times n^{\varepsilon}\times n matrix multiplication designed in the above way using TpT_{p}, or a monomial degeneration of TpT_{p}, runs in time Ω(n(1+ε)νp,ε)\Omega(n^{(1+\varepsilon)\nu_{p,\varepsilon}}). (See Theorem 6.1 below for the precise statement).

The constant νp,ε\nu_{p,\varepsilon} is defined as follows. Consider first when pp is a fixed prime or power of a prime. Let zz be the unique real number in (0,1)(0,1) such that 3∑j=1p−1zj=(p−1)(1−2zp)3\sum_{j=1}^{p-1}z^{j}=(p-1)(1-2z^{p}); then

There is also a variant of Theorem 1.1 that holds for TpT_{p} when pp is not necessarily a prime power, but the constant νp,ε>1\nu_{p,\varepsilon}>1 is slightly different.

This approach yields a square matrix multiplication algorithm with runtime at best Ω(n2νp,1)\Omega(n^{2\nu_{p,1}}), with exponent 2νp,1>22\nu_{p,1}>2. Hence, this approach for a fixed pp cannot yield ω=2\omega=2.

Let εp∈(0,1)\varepsilon_{p}\in(0,1) be such that (1+εp)νp,ε=2(1+\varepsilon_{p})\nu_{p,\varepsilon}=2. Then, this approach for a fixed pp cannot yield a value of α\alpha bigger than εp\varepsilon_{p}.

For modest values of pp, the value νp:=νp,1\nu_{p}:=\nu_{p,1} is a fair bit larger than 11. For instance, ν7≈1.07065\nu_{7}\approx 1.07065. As we will show shortly, the best known algorithms for matrix multiplications use the approach above with a (rotated) Coppersmith-Winograd tensor which is a monomial degeneration of T7T_{7}. Our theorem implies among other things that using the approach with T7T_{7} as the starting tensor cannot yield a bound on ω\omega better than 2.142.14, no matter how one zeroes out the tensor powers of T7T_{7} or its monomial degenerations. We plot the resulting bounds on ω\omega and α\alpha for varying pp, in Figures 1 and 2 (for technical reasons we discuss below, we get different bounds depending on whether qq is a power of a prime).

3 A potential idea for improving ω𝜔\omega.

It should be noted that, despite our lower bounds, not all hope is lost for achieving ω=2\omega=2 using TqT_{q} tensors. Indeed, in the limit as q→∞q\to\infty, our ω\omega lower bound approaches 22, and our α\alpha upper bound approaches 11 (see Lemma A.1 in Appendix A for a proof). Hence, our lower bound does not rule out achieving a runtime for n×n×nn\times n\times n matrix multiplication of O(n2+δ)O(n^{2+\delta}) for all δ>0\delta>0 by using bigger and bigger values of qq. We find this approach very exciting.

4 Tri-Colored Sum-Free Sets

For any integer q≥2q\geq 2 which is a power of a prime, let ρ\rho be the unique number in (0,1)(0,1) satisfying

For notational simplicity in our main results in Section 6, define γq:=(1−κ/q)log⁡(q)\gamma_{q}:=(1-\kappa/q)\log(q) when q≥2q\geq 2 is not a power of a prime.

5 Proof Outline

In Section 3, we give a simple rank expression for TqT_{q}, and show that the rotated Coppersmith-Winograd tensor can be found as a simple monomial degeneration of TqT_{q}.

In Section 4, we show that every matrix multiplication tensor has a zeroing out into a large number of independent triples. This generalizes a classical result that matrix multiplication tensors have monomial degenerations into a large number of independent triples.

In Section 5, we show that if tensor AA is a monomial degeneration of tensor BB, and large powers of AA can be zeroed out into many independent triples, then large powers of BB can as well.

6 Comparison with Past Work

There are two papers which have proved lower bounds on the value of ω\omega that one can achieve using certain techniques.

The second prior work is by Blasiak et al. [BCC+17]. Like us, the authors also use recent bounds on the size of certain tri-colored sum-free sets in order to prove lower bounds. However, rather than the tensor-based approach to matrix multiplication algorithms which we have been discussing, and which has been used in all of the improvements to ω\omega and α\alpha to date, they instead focus on the ‘group-theoretic approach’ to matrix multiplication [CU03, CKSU05]. This approach has been designed around formulating approaches that would imply ω=2\omega=2 rather than on attempting any small improvement to the bounds on ω\omega, and this paper refutes some earlier conjectures along these lines. The work of Blasiak et al. implies that certain approaches to achieving ω=2\omega=2 are impossible, similar to our work here.

Preliminaries

In this section we introduce all the notions related to tensors which are used in the rest of the paper.

Let X={x1,…,xn}X=\{x_{1},\ldots,x_{n}\}, Y={y1,…,ym}Y=\{y_{1},\ldots,y_{m}\}, and Z={z1,…,zp}Z=\{z_{1},\ldots,z_{p}\} be three sets of formal variables. A tensor over X,Y,ZX,Y,Z is a trilinear form

For any positive integer qq, the qqth Coppersmith-Winograd tensor Cq [CW90] is given by x0y0zq+1+x0yq+1z0+xq+1y0z0+∑i=1q(x0yizi+xiy0zi+xiyiz0)x_{0}y_{0}z_{q+1}+x_{0}y_{q+1}z_{0}+x_{q+1}y_{0}z_{0}+\sum_{i=1}^{q}(x_{0}y_{i}z_{i}+x_{i}y_{0}z_{i}+x_{i}y_{i}z_{0}). It is not hard to verify that using the Coppersmith-Winograd approach, one can obtain exactly the same values for ω\omega from the following rotated Coppersmith-Winograd tensor CWqCW_{q}, given by

The main reason why CWq works just as well as the original Coppersmith-Winograd tensor Cq is because they both have border rank q+2q+2 and because of the following other structural reason which is what is used in the prior work on fast matrix multiplication:

Let X0={x0}X_{0}=\{x_{0}\}, X1={x1,…,xq}X_{1}=\{x_{1},\ldots,x_{q}\}, X2={xq+2}X_{2}=\{x_{q+2}\}. Similarly, let Y0={y0}Y_{0}=\{y_{0}\}, Y1={y1,…,yq}Y_{1}=\{y_{1},\ldots,y_{q}\}, Y2={yq+2}Y_{2}=\{y_{q+2}\}, and Z0={z0}Z_{0}=\{z_{0}\}, Z1={z1,…,zq}Z_{1}=\{z_{1},\ldots,z_{q}\}, Z2={zq+2}Z_{2}=\{z_{q+2}\}. When you restrict Cq and CWq to X0×Y2×Z0X_{0}\times Y_{2}\times Z_{0}, or X2×Y0×Z0X_{2}\times Y_{0}\times Z_{0}, or X0×Y0×Z2X_{0}\times Y_{0}\times Z_{2}, both of them are isomorphic to ⟨1,1,1⟩\langle 1,1,1\rangle. When you restrict them to X0×Y1×Z1X_{0}\times Y_{1}\times Z_{1}, both are isomorphic to ⟨1,1,q⟩\langle 1,1,q\rangle, when you restrict them to X1×Y0×Z1X_{1}\times Y_{0}\times Z_{1}, both are isomorphic to ⟨q,1,1⟩\langle q,1,1\rangle, and when you restrict them to X1×Y1×Z0X_{1}\times Y_{1}\times Z_{0}, both are isomorphic to ⟨1,q,1⟩\langle 1,q,1\rangle. The Coppersmith-Winograd approach only looks at products of these blocks in higher tensor powers, which are hence isomorphic to the same matrix multiplication tensors and give the same bounds on ω\omega.

2 Subsets and Degenerations

we have a(xi)+b(yj)+c(zk)≥0a(x_{i})+b(y_{j})+c(z_{k})\geq 0, and

furthermore, a(xi)+b(yj)+c(zk)=0a(x_{i})+b(y_{j})+c(z_{k})=0 if and only if Aijk≠0A_{ijk}\neq 0 as well.

We note that in prior work, degenerations are defined via polynomials in a variable ε\varepsilon, however when the degenerations are single monomials, the above definition is equivalent, where a,b,ca,b,c give the corresponding exponents of ε\varepsilon.

Finally, we say that AA is a zeroing out of BB if AA is a monomial degeneration of BB such that a(x)≥0a(x)\geq 0 for all x∈Xx\in X, b(y)≥0b(y)\geq 0 for all y∈Yy\in Y, and c(z)≥0c(z)\geq 0 for all z∈Zz\in Z. One can think of this as substituting for any variable which a,ba,b, or cc maps to a positive value.

3 Tensor Product

Let X,X′,Y,Y′,Z,Z′X,X^{\prime},Y,Y^{\prime},Z,Z^{\prime} be sets of formal variables. If AA is a tensor over X,Y,ZX,Y,Z, and BB is a tensor over X′,Y′,Z′X^{\prime},Y^{\prime},Z^{\prime}, then the tensor product of AA and BB, denoted A⊗BA\otimes B, is a tensor over X×X′,Y×Y′,Z×Z′X\times X^{\prime},Y\times Y^{\prime},Z\times Z^{\prime} given by

The nnth tensor power of a tensor AA, denoted A⊗nA^{\otimes n}, is the result of tensoring nn copies of AA together. In other words, A⊗1=AA^{\otimes 1}=A, and A⊗n=A⊗A⊗n−1A^{\otimes n}=A\otimes A^{\otimes n-1}.

Tensor products preserve many key properties of tensors. For instance, if A⊆CA\subseteq C and B⊆DB\subseteq D, then A⊗B⊆C⊗DA\otimes B\subseteq C\otimes D, and this is also true if subset is replaced by monomial degeneration, or by zeroing out.

For a nonnegative integer kk, if AA is a tensor over X,Y,ZX,Y,Z, and if X1,…,XkX_{1},\ldots,X_{k} are kk disjoint copies of XX, and similar for YY and ZZ, then k⊙Ak\odot A denotes the (disjoint) sum of kk copies of AA, one over Xi,Yi,ZiX_{i},Y_{i},Z_{i} for each 1≤i≤k1\leq i\leq k.

4 Independent Triples

Two triples (x,y,z),(x′,y′,z′)∈X×Y×Z(x,y,z),(x^{\prime},y^{\prime},z^{\prime})\in X\times Y\times Z are independent if x≠x′x\neq x^{\prime}, y≠y′y\neq y^{\prime}, and z≠z′z\neq z^{\prime}. A tensor AA is independent if, whenever Aijk≠0A_{ijk}\neq 0 and Ai′j′k′≠0A_{i^{\prime}j^{\prime}k^{\prime}}\neq 0, and (i,j,k)≠(i′,j′,k′)(i,j,k)\neq(i^{\prime},j^{\prime},k^{\prime}), then the triples (xi,yj,zk)(x_{i},y_{j},z_{k}) and (xi′,yj′,zk′)(x_{i^{\prime}},y_{j^{\prime}},z_{k^{\prime}}) are independent.

5 Tensor Rank

More generally, TT is a rank-kk tensor if it can be written as the sum of kk rank-one tensors. The rank of TT, denoted R(T)R(T), is the smallest kk such that RR is a rank-kk tensor.

is expanded as a polynomial in ε\varepsilon whose coefficients are tensors over X,Y,ZX,Y,Z, then TT is the coefficient of εh\varepsilon^{h}, and the coefficient of εh′\varepsilon^{h^{\prime}} is for all 0≤h′<h0\leq h^{\prime}<h. Similarly, the border rank R‾(T)\underline{R}(T) of TT is the smallest number of expressions of the form (1) whose sum, when written as a polynomial in ε\varepsilon, has TT as its lowest order coefficient.

It is not hard to see that if AA is a monomial degeneration of BB, then R‾(B)≤R‾(A)≤R(A)\underline{R}(B)\leq\underline{R}(A)\leq R(A).

6 Matrix Multiplication Tensor and Algorithms

Now that we have defined tensor rank, we can define ω\omega as the infimum over all reals so that R(⟨n,n,n⟩)≤O(nω+ε)R(\langle n,n,n\rangle)\leq O(n^{\omega+\varepsilon}) for all ε>0\varepsilon>0. Similarly, for any ε∈(0,1)\varepsilon\in(0,1), define ωε\omega_{\varepsilon} to be the smallest real such that an n×nεn\times n^{\varepsilon} matrix can be multiplied by an nε×nn^{\varepsilon}\times n matrix in nωε+o(1)n^{\omega_{\varepsilon}+o(1)} time.

We present a useful Lemma that follows from the work of Schönhage, which shows how the tensor rank notions we have been discussing can give bounds on ωε\omega_{\varepsilon}.

If R(f ⊙⟨n,nε,n⟩)≤gR(f~{}\odot\langle n,n^{\varepsilon},n\rangle)\leq g, then ωε≤log⁡n(⌈g/f⌉)\omega_{\varepsilon}\leq\log_{n}(\lceil g/f\rceil).

By Schönhage [Sch81] (see also [Blä13, Lemma 7.7]), we have that R(f ⊙⟨n,nε,n⟩)≤gR(f~{}\odot\langle n,n^{\varepsilon},n\rangle)\leq g implies that for all integers s≥1s\geq 1, R(f ⊙⟨ns,nsε,ns⟩)≤f⌈g/f⌉sR(f~{}\odot\langle n^{s},n^{s\varepsilon},n^{s}\rangle)\leq f\lceil g/f\rceil^{s}. Hence, multiplying an ns×(ns)εn^{s}\times(n^{s})^{\varepsilon} by an (n/s)ε×ns(n/s)^{\varepsilon}\times n^{s} matrix can be done in O(f⌈g/f⌉s)O(f\lceil g/f\rceil^{s}) time. Thus ωε≤lim⁡s→∞log⁡(f⌈g/f⌉s)/log⁡(ns)=log⁡n(⌈g/f⌉)\omega_{\varepsilon}\leq\lim_{s\rightarrow\infty}\log(f\lceil g/f\rceil^{s})/\log(n^{s})=\log_{n}(\lceil g/f\rceil). ∎

We can also define α\alpha as the largest real such that R(⟨n,nα,n⟩)≤n2+o(1)R(\langle n,n^{\alpha},n\rangle)\leq n^{2+o(1)}. It is known that α∈[0.31,1]\alpha\in[0.31,1], and clearly α=1\alpha=1 if and only if ω=2\omega=2.

The mod-p tensor and its degenerations

In this section, we give a rank expression for TpT_{p}, and then a monomial degeneration of Tq+2T_{q+2} into CWqCW_{q}.

Let us consider the tensor TpT_{p} of addition modulo pp for any integer p≥2p\geq 2; recall that in trilinear notation, TpT_{p} is defined as

𝑞2T_{q+2} into CWqCW_{q} Here we will show that the rotated CW tensor CWqCW_{q} for integer q≥1q\geq 1 is a degeneration of Tq+2T_{q+2}. Recall that

For ease of notation, we will change the indexing of the zz variables in Tq+2T_{q+2} (i.e. rename the variables) from our original definitionFor every index k∈{0,1,…,q+1}k\in\{0,1,\ldots,q+1\}, we will rename zkz_{k} to zk−1(modq+2)z_{k-1\pmod{q+2}}. to write

In this form, one can see that CWqCW_{q} is the subset of Tq+2T_{q+2} consisting of all the terms containing at least one of x0x_{0}, y0y_{0}, or z0z_{0}. With this in mind, our degeneration of Tq+2T_{q+2} is as follows. We will pick:

a(x0)=0a(x_{0})=0, a(xq+1)=2a(x_{q+1})=2, and a(xi)=1a(x_{i})=1 for 1≤i≤q1\leq i\leq q, similarly,

b(y0)=0b(y_{0})=0, b(yq+1)=2b(y_{q+1})=2, and b(yj)=1b(y_{j})=1 for 1≤j≤q1\leq j\leq q, and,

c(z0)=−2c(z_{0})=-2, c(zq+1)=0c(z_{q+1})=0, and c(zk)=−1c(z_{k})=-1 for 1≤k≤q1\leq k\leq q.

We need to verify that for every term xiyjzkx_{i}y_{j}z_{k} in (3) we have a(xi)+b(yj)+c(zk)≥0a(x_{i})+b(y_{j})+c(z_{k})\geq 0, and moreover that for such xiyjzkx_{i}y_{j}z_{k}, a(xi)+b(yj)+c(zk)=0a(x_{i})+b(y_{j})+c(z_{k})=0 if and only if xiyjzkx_{i}y_{j}z_{k} also appears in (2). This is quite straightforward, but we do it here for completeness. Consider any term xiyjzkx_{i}y_{j}z_{k} in (3). We consider three cases based on kk:

If k=0k=0, then our term is of the form xiyq+2−iz0x_{i}y_{q+2-i}z_{0} for 0≤i≤q+20\leq i\leq q+2. This term always appears in (2) as well, and we can see that we always have a(xi)=2−b(yq+2−i)a(x_{i})=2-b(y_{q+2-i}), and so a(xi)+b(yq+2−i)+c(z0)=0a(x_{i})+b(y_{q+2-i})+c(z_{0})=0.

If k=q+1k=q+1, then c(zq+1)=0c(z_{q+1})=0, and we always have a,b≥0a,b\geq 0, so we definitely have that a(xi)+b(yj)+c(zk)≥0a(x_{i})+b(y_{j})+c(z_{k})\geq 0. Moreover, we can only achieve when a=b=0a=b=0, with the term x0y0zq+1x_{0}y_{0}z_{q+1}, which is the only term with zq+1z_{q+1} which appears in (2).

If 1≤k≤q1\leq k\leq q, then since x0y0zkx_{0}y_{0}z_{k} is not a term in (3), we must have that a(xi)+b(yj)≥1a(x_{i})+b(y_{j})\geq 1, and so a(xi)+b(yj)+c(zk)≥0a(x_{i})+b(y_{j})+c(z_{k})\geq 0. Moreover, we only achieve a(xi)+b(yj)+c(zk)=0a(x_{i})+b(y_{j})+c(z_{k})=0 when (a,b)=(0,1)(a,b)=(0,1) or (1,0)(1,0), which correspond to the terms of the form x0ykzq+1−kx_{0}y_{k}z_{q+1-k} or xky0zq+1−kx_{k}y_{0}z_{q+1-k} in (2).

𝑞1T_{q+1} into Strassen’s 1986 tensor. Strassen’s 1986 tensor is defined for any integer q≥1q\geq 1 and is given by Sq:=∑i=1qx0yizq+1−i+xiy0zq+1−iS_{q}:=\sum_{i=1}^{q}x_{0}y_{i}z_{q+1-i}+x_{i}y_{0}z_{q+1-i}.

Similar to before, we will show that SqS_{q} is a degeneration of Tq+1T_{q+1}, which we can write as

Our degeneration is as follows: a(x0)=b(x0)=0a(x_{0})=b(x_{0})=0, a(xi)=b(yi)=1a(x_{i})=b(y_{i})=1 for all i≥1i\geq 1, c(zq)=0c(z_{q})=0 and c(zk)=−1c(z_{k})=-1 for all k≥1k\geq 1. Simple casework shows again that the possible values for a(xi)+b(yj)+c(zk)a(x_{i})+b(y_{j})+c(z_{k}) are 0,1,20,1,2, and that is only achieved for the terms in SqS_{q}. Among other things, this degeneration gives a simple proof that the border rank of SqS_{q} is q+1q+1.

Since a monomial degeneration of a rank expression gives a border rank expression, this shows in particular that the border rank of CWq is q+2q+2. Furthermore, it shows that the best known bounds for ω\omega [CW90, Wil12, LG14] can be obtained from T7T_{7}. Finally, since we only used monomial degenerations, we will be able to obtain lower bounds on what bounds on ω\omega one can achieve via zeroing out powers of the CWq tensor.

Independent Triples in Matrix Multiplication Tensors

In this section we show that there is a zeroing out of any matrix multiplication tensor into a fairly large independent tensor. This strengthens a classic result (see eg. [Blä13, Lemma 8.6]) that any matrix multiplication tensor has a monomial degeneration into a fairly large independent tensor.

For every positive integer qq, and ε∈(0,1]\varepsilon\in(0,1], there is a zeroing out of ⟨q,qε,q⟩⊗n\langle q,q^{\varepsilon},q\rangle^{\otimes n} into q(1+ε)n−o(n)q^{(1+\varepsilon)n-o(n)} independent triples.

Recall that ⟨q,qε,q⟩=∑i=1q∑j=1qε∑k=1qxijyjkzki\langle q,q^{\varepsilon},q\rangle=\sum_{i=1}^{q}\sum_{j=1}^{q^{\varepsilon}}\sum_{k=1}^{q}x_{ij}y_{jk}z_{ki}. Hence,

We will zero out variables in three phases, and after the third phase we will have a sufficiently large independent tensor as desired.

For vectors i⃗,k⃗∈[q]n{\vec{i}},{\vec{k}}\in[q]^{n}, and values a,b∈[q]a,b\in[q], let tab(i⃗k⃗)t_{ab}({\vec{i}}{\vec{k}}) denote the number of 1≤α≤n1\leq\alpha\leq n such that i⃗α=a{\vec{i}}_{\alpha}=a and k⃗α=b{\vec{k}}_{\alpha}=b. We say that i⃗k⃗{\vec{i}}{\vec{k}} is balanced if, for all a,b,c,d∈[q]a,b,c,d\in[q], we have tab(i⃗k⃗)=tcd(i⃗k⃗)t_{ab}({\vec{i}}{\vec{k}})=t_{cd}({\vec{i}}{\vec{k}}). We similarly say that i⃗j⃗{\vec{i}}{\vec{j}} is balanced if tab(i⃗j⃗)=tcd(i⃗j⃗)t_{ab}({\vec{i}}{\vec{j}})=t_{cd}({\vec{i}}{\vec{j}}) for every a,c∈[q]a,c\in[q] and b,d∈[qε]b,d\in[q^{\varepsilon}], and say that j⃗k⃗{\vec{j}}{\vec{k}} is balanced similarly. In the first phase, we zero out every variable xi⃗j⃗x_{{\vec{i}}{\vec{j}}} such that i⃗j⃗{\vec{i}}{\vec{j}} is not balanced. We similarly zero out yj⃗k⃗y_{{\vec{j}}{\vec{k}}} such that j⃗k⃗{\vec{j}}{\vec{k}} is not balanced, and zk⃗i⃗z_{{\vec{k}}{\vec{i}}} such that k⃗i⃗{\vec{k}}{\vec{i}} is not balanced.

Note that if i⃗k⃗{\vec{i}}{\vec{k}} is balanced, then for each a,b∈[q]a,b\in[q], we have (i⃗α,k⃗α)=(a,b)({\vec{i}}_{\alpha},{\vec{k}}_{\alpha})=(a,b) for exactly n/q2n/q^{2} choices of α∈[n]\alpha\in[n]. Hence, the number of choices of i⃗,k⃗∈[q]n{\vec{i}},{\vec{k}}\in[q]^{n} such that i⃗k⃗{\vec{i}}{\vec{k}} is balanced is exactly L2:=(nnq2,nq2,…,nq2)=q2n−o(n)L_{2}:=\binom{n}{\frac{n}{q^{2}},\frac{n}{q^{2}},\ldots,\frac{n}{q^{2}}}=q^{2n-o(n)}. If i⃗k⃗{\vec{i}}{\vec{k}} is balanced, then notice that the number KεK_{\varepsilon} of choices of j⃗∈[qε]n{\vec{j}}\in[q^{\varepsilon}]^{n} such that i⃗j⃗{\vec{i}}{\vec{j}} and j⃗k⃗{\vec{j}}{\vec{k}} are also balanced is independent of what i⃗{\vec{i}} and k⃗{\vec{k}} are, and satisfies Kε=qO(n)K_{\varepsilon}=q^{O(n)}.

Similarly, the number of choices of i⃗∈[q]n{\vec{i}}\in[q]^{n} and j⃗∈[qε]n{\vec{j}}\in[q^{\varepsilon}]^{n} such that i⃗j⃗{\vec{i}}{\vec{j}} is balanced is L1+ε:=(nnq1+ε,nq1+ε,…,nq1+ε)=q(1+ε)n−o(n)L_{1+\varepsilon}:=\binom{n}{\frac{n}{q^{1+\varepsilon}},\frac{n}{q^{1+\varepsilon}},\ldots,\frac{n}{q^{1+\varepsilon}}}=q^{(1+\varepsilon)n-o(n)}. Moreover, when i⃗j⃗{\vec{i}}{\vec{j}} is balanced, the number K1K_{1} of choices of k⃗{\vec{k}} such that i⃗k⃗{\vec{i}}{\vec{k}} and j⃗k⃗{\vec{j}}{\vec{k}} are balanced satisfies K1=qO(n)K_{1}=q^{O(n)}. Note that L2Kε=L1+εK1L_{2}K_{\varepsilon}=L_{1+\varepsilon}K_{1}, since both count the number of triples remaining after phase one, and in particular, K1≥KεK_{1}\geq K_{\varepsilon}.

2 Phase two

Let MM be an odd prime number to be determined. Pick w0,w1,…,wn∈[M]w_{0},w_{1},\ldots,w_{n}\in[M] independently and uniformly at random, then define the hash functions hX:X→[M]h_{X}:X\to[M], hY:Y→[M]h_{Y}:Y\to[M], and hZ:Z→[M]h_{Z}:Z\to[M], by:

i⃗j⃗{\vec{i}}{\vec{j}}, j⃗k⃗{\vec{j}}{\vec{k}}, and k⃗i⃗{\vec{k}}{\vec{i}} are balanced, and

hX(xi⃗j⃗)=hY(yj⃗k⃗)=hZ(zk⃗i⃗)h_{X}(x_{{\vec{i}}{\vec{j}}})=h_{Y}(y_{{\vec{j}}{\vec{k}}})=h_{Z}(z_{{\vec{k}}{\vec{i}}}).

3 Phase three

In the third phase we zero out some remaining variables to ensure that our resulting tensor is independent. First, however, we will compute some expected values.

We now do our final zeroing out. If there are any distinct terms xi⃗j⃗yj⃗k⃗zk⃗i⃗x_{{\vec{i}}{\vec{j}}}y_{{\vec{j}}{\vec{k}}}z_{{\vec{k}}{\vec{i}}} and xi⃗′j⃗′yj⃗′k⃗′zk⃗′i⃗′x_{{\vec{i}}^{\prime}{\vec{j}}^{\prime}}y_{{\vec{j}}^{\prime}{\vec{k}}^{\prime}}z_{{\vec{k}}^{\prime}{\vec{i}}^{\prime}} remaining in our tensor such that i⃗=i⃗′{\vec{i}}={\vec{i}}^{\prime} and j⃗=j⃗′{\vec{j}}={\vec{j}}^{\prime}, then we zero out xi⃗j⃗x_{{\vec{i}}{\vec{j}}}. We similarly zero out any variables yj⃗k⃗y_{{\vec{j}}{\vec{k}}} or zk⃗i⃗z_{{\vec{k}}{\vec{i}}} which appear in multiple terms. As a result, our final tensor is definitely independent.

It remains to show that it has enough terms remaining. Since each pair of terms left from phase two which share a variable is removed in phase three, we see that the number of terms remaining is at least

Let us pick MM to be an odd prime number in the range [12K1,24K1][12K_{1},24K_{1}]. Hence, using our expected value calculations from before, we see that the expected number of remaining terms is at least

where the last step follows since L1+ε=q(1+ε)n−o(n)L_{1+\varepsilon}=q^{(1+\varepsilon)n-o(n)} and K1=qO(n)K_{1}=q^{O(n)}. By the probabilistic method, there is a choice of hash functions which achieves this expected number of independent triples, as desired. ∎

Monomial Degenerations

Suppose AA and BB are two tensors over X,Y,ZX,Y,Z such that AA is a monomial degeneration of BB. Further suppose that A⊗nA^{\otimes n} has zeroing out into f(n)f(n) independent triples. Then, B⊗nB^{\otimes n} has a zeroing out into Ω(f(n)/n2)\Omega(f(n)/n^{2}) independent triples.

a(xi)+b(yj)+c(zk)≥0a(x_{i})+b(y_{j})+c(z_{k})\geq 0 for all xiyjzk∈Bx_{i}y_{j}z_{k}\in B, and

furthermore a(xi)+b(yj)+c(zk)=0a(x_{i})+b(y_{j})+c(z_{k})=0 if and only if xiyjzk∈Ax_{i}y_{j}z_{k}\in A.

an(xi1,…,xin)+bn(yj1,…,yjn)+cn(zk1,…,zkn)≥0a^{n}(x_{i_{1}},\ldots,x_{i_{n}})+b^{n}(y_{j_{1}},\ldots,y_{j_{n}})+c^{n}(z_{k_{1}},\ldots,z_{k_{n}})\geq 0 for all xi1⋯xinyj1⋯yjnzk1⋯zkn∈B⊗nx_{i_{1}}\cdots x_{i_{n}}y_{j_{1}}\cdots y_{j_{n}}z_{k_{1}}\cdots z_{k_{n}}\in B^{\otimes n}, and

furthermore an(xi1,…,xin)+bn(yj1,…,yjn)+cn(zk1,…,zkn)=0a^{n}(x_{i_{1}},\ldots,x_{i_{n}})+b^{n}(y_{j_{1}},\ldots,y_{j_{n}})+c^{n}(z_{k_{1}},\ldots,z_{k_{n}})=0 if and only if xi1⋯xinyj1⋯yjnzk1⋯zkn∈A⊗nx_{i_{1}}\cdots x_{i_{n}}y_{j_{1}}\cdots y_{j_{n}}z_{k_{1}}\cdots z_{k_{n}}\in A^{\otimes n}.

The range of ana^{n} is integers in [a−n,a+n][a^{-}n,a^{+}n]. For each integer pp in that range, let XpnX^{n}_{p} be the set of xi1⋯xin∈Xnx_{i_{1}}\cdots x_{i_{n}}\in X^{n} such that an(xi1⋯xin)=pa^{n}(x_{i_{1}}\cdots x_{i_{n}})=p. Define YqnY^{n}_{q} for integers q∈[b−n,b+n]q\in[b^{-}n,b^{+}n], and ZrnZ^{n}_{r} for integers r∈[c−n,c+n]r\in[c^{-}n,c^{+}n], similarly. Now, for (p,q,r)∈[a−n,a+n]×[b−n,b+n]×[c−n,c+n](p,q,r)\in[a^{-}n,a^{+}n]\times[b^{-}n,b^{+}n]\times[c^{-}n,c^{+}n], let Bp,q,r⊗nB^{\otimes n}_{p,q,r} be the tensor one gets from B⊗nB^{\otimes n} by zeroing out all the XnX^{n} variables not in XpnX^{n}_{p}, all the YnY^{n} variables not in YqnY^{n}_{q}, and all the ZnZ^{n} variables not in ZrnZ^{n}_{r}. Then, letting WW be the set of triples of integers in [a−n,a+n]×[b−n,b+n]×[c−n,c+n][a^{-}n,a^{+}n]\times[b^{-}n,b^{+}n]\times[c^{-}n,c^{+}n], we see that

and each term of A⊗nA^{\otimes n} appears in exactly one of the summands. Now, let A⊗n′A^{\otimes n\prime} be the zeroing out of A⊗nA^{\otimes n} into f(n)f(n) independent triples. Let Bp,q,r⊗n′B^{\otimes n\prime}_{p,q,r} be the zeroing out of Bp,q,r⊗nB^{\otimes n}_{p,q,r} in which we zero out those same variables. Hence,

where the sum is hence a disjoint sum of independent triples. The number of terms on the right is O(n2)O(n^{2}), and so at least one of the terms on the right must have size at least ∣A⊗n′∣/O(n2)=Ω(f(n)/n2)|A^{\otimes n\prime}|/O(n^{2})=\Omega(f(n)/n^{2}), as desired. ∎

Main Theorem

In this section, we will combine our results above with the bounds on the sizes of tri-colored sum-free sets from past work in order to prove our main theorem. Recall the definition of γp\gamma_{p} from Section 1.4, and define cp:=eγpc_{p}:=e^{\gamma_{p}}.

Let ε∈(0,1]\varepsilon\in(0,1]. Let T be a tensor that is a monomial degeneration of TpT_{p} and suppose that T⊗NT^{\otimes N} can be zeroed out into F ⊙⟨G,Gε,G⟩F~{}\odot\langle G,G^{\varepsilon},G\rangle, giving a bound ωε≤ωε′\omega_{\varepsilon}\leq\omega^{\prime}_{\varepsilon} where Gωε′=⌈pN/F⌉G^{\omega^{\prime}_{\varepsilon}}=\lceil p^{N}/F\rceil. Then ωε′≥(1+ε)log⁡cpp\omega^{\prime}_{\varepsilon}\geq(1+\varepsilon)\log_{c_{p}}p.

Let g=G1/Ng=G^{1/N} so that G=gNG=g^{N}, and let f=F1/Nf=F^{1/N} so that F=fNF=f^{N}. Since T⊗NT^{\otimes N} can be zeroed out into F ⊙⟨G,Gε,G⟩F~{}\odot\langle G,G^{\varepsilon},G\rangle, via Lemma 4.1, T⊗NT^{\otimes N} can be zeroed out into fN⋅g(1+ε)N−o(N)f^{N}\cdot g^{(1+\varepsilon)N-o(N)} independent triples. Due to Lemma 5.1 this means that Tp⊗NT_{p}^{\otimes N} can also be zeroed out into D=fN⋅g(1+ε)N−o(N)/N2D=f^{N}\cdot g^{(1+\varepsilon)N-o(N)}/N^{2} independent triples.

Now, let S={(a1,b1,c1),…,(aD,bD,cD)}S=\{(a_{1},b_{1},c_{1}),\ldots,(a_{D},b_{D},c_{D})\} be the indices of the DD independent triples obtained from Tp⊗NT_{p}^{\otimes N}. Because they are obtained by zeroing out Tp⊗NT_{p}^{\otimes N}, for every ii, ai+bi+ci≡0a_{i}+b_{i}+c_{i}\equiv 0 in ZpNZ_{p}^{N}. Now suppose that for some i,j,ki,j,k, ai+bj+ck≡0a_{i}+b_{j}+c_{k}\equiv 0 in ZpNZ_{p}^{N}. If i,j,ki,j,k are not all the same, then (ai,bj,ck)(a_{i},b_{j},c_{k}) cannot be in SS as the triples in SS are independent. However, the only way for a triple of Tp×NT_{p}^{\times N} to be removed is if XaiX_{a_{i}} or YbjY_{b_{j}} or ZckZ_{c_{k}} is set to zero. Suppose that XaiX_{a_{i}} is set to (the other two cases are symmetric). Then there can be no triple in SS sharing aia_{i} as its first index. Thus in fact SS forms a tri-colored sum-free set. Hence D≤cpND\leq c_{p}^{N}.

From our earlier bound on DD we get that fN⋅g(1+ε)N−o(N)/N2≤cpNf^{N}\cdot g^{(1+\varepsilon)N-o(N)}/N^{2}\leq c_{p}^{N}, and taking the NNth root of both sides yields fg1+ε−o(1)/N2/N≤cpfg^{1+\varepsilon-o(1)}/N^{2/N}\leq c_{p}.

Recall that Gωε′=⌈pN/F⌉G^{\omega^{\prime}_{\varepsilon}}=\lceil p^{N}/F\rceil, so that g=(⌈p/f⌉)1/ωε′g=(\lceil p/f\rceil)^{1/\omega^{\prime}_{\varepsilon}}. Plugging in above, we get that f(⌈p/f⌉)(1+ε)/ωε′−o(1)≤cp.f(\lceil p/f\rceil)^{(1+\varepsilon)/\omega^{\prime}_{\varepsilon}-o(1)}\leq c_{p}. Hence, f1−(1+ε)/ωε′+o(1)p(1+ε)/ωε′−o(1)≤cp.f^{1-(1+\varepsilon)/\omega^{\prime}_{\varepsilon}+o(1)}p^{(1+\varepsilon)/\omega^{\prime}_{\varepsilon}-o(1)}\leq c_{p}. Since ωε′≥(1+ε)\omega^{\prime}_{\varepsilon}\geq(1+\varepsilon), we have that f1−(1+ε)/ωε′+o(1)≥1f^{1-(1+\varepsilon)/\omega^{\prime}_{\varepsilon}+o(1)}\geq 1. We obtain that (1+ε)/ωε′≤log⁡pcp+o(1)(1+\varepsilon)/\omega^{\prime}_{\varepsilon}\leq\log_{p}c_{p}+o(1) and

As a corollary we obtain the following upper bound on what α\alpha can be achieved by zeroing out.

Let TT be a tensor that is a monomial degeneration of TpT_{p}. If one can prove α≤α′\alpha\leq\alpha^{\prime} using the zeroing-out approach then, α′≤2log⁡cpp−1\alpha^{\prime}\leq\frac{2}{\log_{c_{p}}p}-1.

References

Appendix A Supporting Calculations

We recall some definitions from earlier in the paper. For any integer q≥2q\geq 2, let ρ\rho be the unique number in (0,1)(0,1) satisfying

lim⁡q→∞γqln⁡(q)=1\lim_{q\to\infty}\frac{\gamma_{q}}{\ln(q)}=1.

Rearranging, we see that ρ>1−3/(q−1)\rho>1-3/(q-1). Hence,

As q→∞q\to\infty, we have that ln⁡q((q−1)/3)→1\ln_{q}((q-1)/3)\to 1 and (q−1)ln⁡q(1−3/(q−1))→0(q-1)\ln_{q}(1-3/(q-1))\to 0, as desired. ∎