The time complexity of multiplying two n×n matrices is usually denoted by O(nω+o(1)) for some real number ω. (It is easy to see that 2≤ω≤3.) Although it has been studied for more than 50 years, the exact value of ω is still unknown, and many people believe that ω=2. The determination of the constant ω would have wide implications. Not only do many matrix operations have similar complexities as fast matrix multiplication (FMM) algorithms, such as LUP decomposition, matrix inversion, determinant [AH74, BH74], algorithms for many combinatorial problems can also be accelerated by FMM algorithms, including graph problems like transitive closure (see [AH74]), unweighted all-pair shortest paths [Sei95, Zwi02], all-pair bottleneck path [DP09], and other problems such as context-free grammar parsing [Val75] and RNA-folding [BGSW19].
In this paper, we identify a more implicit “combination loss”, which is our main contribution. Such loss arises not from a single recursion level, but from the structure of adjacent levels. To demonstrate that this observation indeed leads to an improved algorithm, we compensate for this loss using an asymmetric hashing method. This improves the analysis of the second power by Coppersmith and Winograd [CW90] to ω<2.374631. We also generalize it to higher powers and obtain the improved bound of ω<2.371866.This bound is slightly better than the previous version of this paper due to more flexibility in optimizing parameters. A similar asymmetric hashing method was used in [CW90] to analyze an asymmetric tensor. Fast rectangular matrix multiplication algorithms (e.g. [Cop82, Cop97, HP98, LG12, LGU18]) also use asymmetric hashing to degenerate the tensor power T⊗N in the laser method into independent rectangular matrix multiplications. In this paper, we use asymetric hashing for a different purpose, that is, to compensate for the “combination loss”.
Another approach to fast matrix multiplication is the group theoretical method of Cohn and Umans [CU03, CKSU05, CU13]. There are also works on its limitations [ASU12, BCC+16, BCC+17, BCG+22].
In Section 2, we will first give an overview of the laser method and our improved algorithm. In Section 3, we introduce the concepts and notations that we will use in this paper, as well as some basic building blocks, for example, the asymmetric hashing method. To better illustrate our ideas, in Section 4, we give an improved analysis of the second power of the CW tensor. In Sections 5, 6, and 7, we will extend the analysis to higher powers. In Section 8, we discuss our optimization program and give the numerical results.
Technical Overview
It is helpful to start with a high-level description of Coppersmith-Winograd [CW90]. Our exposition here differs a little from their original work. Specifically, their work uses the values of subtensors in a black-box way. We open up this black box and look at the structure inside those subtensors. This change will make the combination loss visible.
In the following, we will assume some familiarity with the Coppersmith-Winograd Algorithm. For an exposition of their algorithm, the reader may also refer to the excellent survey by Bläser [Blä13].
For X=X×X, the product of two level-1 partitions gives X=⋃i′,i′′Xi′×Xi′′. We define the level-2 partition to be a coarsening of this. For each i∈{0,1,2,3,4}, we define
For example, X2=(X0×X2)∪(X1×X1)∪(X2×X0). The level-2 partition is given by X=X0∪X1∪⋯∪X4, Y=Y0∪Y1∪⋯∪Y4, and Z=Z0∪Z1∪⋯∪Z4.
For example, T1,1,2=T1,1,0⊗T0,0,2+T0,0,2⊗T1,1,0+T1,0,1⊗T0,1,1+T0,1,1⊗T1,0,1.For notational convenience, we let Ti,j,k=0 if any of i,j,k is negative.
The Laser Method.
These subtensors are supported on disjoint variables.
Such a single-level analysis gives a bound of ω<2.38719. By considering the second power, Coppersmith and Winograd [CW90] get an improved bound of ω<2.375477. Note in the analysis above, for any two non-independent matrix multiplication tensors, only one of them will survive the zeroing-out. Looking ahead, the two-level analysis will further exploit the tensor power structure and “merge” some non-independent matrix multiplication tensors into a larger one.
Variable Blocks.
Two-level Analysis.
We are now ready to describe the two-level analysis of Coppersmith-Winograd in detail.
We will zero out some level-2 blocks to obtain independent copies of Tα. By the symmetry of X, Y, and Z variables, we can assume that αX=αY=αZ. So we only focus on Z-variable blocks. Let NBZ be the number of ZK’s that obey αZ. In order to make the Z blocks of all isomorphic copies of Tα independent, there can be at most NBZ copies of them.
In fact, using an elegant construction using hashing and the Salem-Spencer set [SS42, Beh46], Coppersmith and Winograd [CW90] showed that one could get NBZ1−o(1) such independent tensors. The o(1) factor is negligible for our purpose.
Here, each T1,1,2α,m is a subtensor of T1,1,2⊗m that splits according to α(1,1,2). A single T1,1,2⊗m contains many such isomorphic copies. We also get α(1,2,1) and α(2,1,1) from the symmetry under rotation, which defines T1,2,1α,m and T2,1,1α,m.
For concreteness, let us first specify the minimum number of parameters that determine α(1,1,2). Since there is a symmetry between T0,0,2⊗T1,1,0 and T1,1,0⊗T0,0,2, we can w.l.o.g. assume that α(1,1,2)(0,0,2)=α(1,1,2)(1,1,0)=μ and α(1,1,2)(0,1,1)=α(1,1,2)(1,0,1)=1/2−μ for some 0≤μ≤21.
In T1,2,1⊗m and T2,1,1⊗m, the marginal distribution for Z-variables is αZ(1,2,1)(0)=αZ(1,2,1)(1)=αZ(2,1,1)(0)=αZ(2,1,1)(1)=1/2. In T1,1,2⊗m, the marginal for Z-variables is αZ(1,1,2)(0)=αZ(1,1,2)(2)=μ,αZ(1,1,2)(1)=1−2μ.
many independent matrix multiplication tensors with (q+2)2n many multiplications. The distributions α and α(1,1,2) are carefully chosen to balance between the size of each matrix multiplication tensor and the total number of them.
Merging after splitting.
Essentially, this can be equivalently viewed as (1) splitting them into non-independent matrix multiplication subtensors and (2) merging these non-independent subtensors back into a single matrix multiplication tensor. As pointed out by [AFLG15], such merging is the reason why higher power analyses improve the bound of ω.
In our algorithm, we cannot view T0,j,k as a large matrix multiplication, since we need its split distribution α(0,j,k). Hence we have to split it and merge it back. This gives a result as good as directly treating T0,j,k as a single matrix multiplication tensor.
Let us simply look at T0,2,2 as an example. Let m=α(0,2,2)n. We know that T0,2,2⊗m is isomorphic to the matrix multiplication tensor ⟨1,1,(q2+2)m⟩.
Now we are going to split it. First, choose a distribution α(0,2,2) over {(0,0,2),(0,2,0),(0,1,1)}. We pick α(0,2,2)(0,0,2)=α(0,2,2)(0,2,0)=λ, and α(0,2,2)(0,1,1)=1−2λ for some 0≤λ≤21. Then, the tensor T0,2,2⊗m alone contains N022=(λm,λm,(1−2λ)mm) many (non-disjoint) isomorphic copies of
We need the fact that each T0,0,2 is isomorphic to the matrix multiplication tensor ⟨1,1,1⟩ while each T0,1,1 is isomorphic to the matrix multiplication tensor ⟨1,1,q⟩. This implies each T0,2,2α,m is isomorphic to the matrix multiplication tensor ⟨1,1,q2(1−2λ)⟩.
After zeroing out all the X, Y, and Z variables that do not obey our choice of α(0,2,2), we merge all these N022 non-disjoint isomorphic copies back into a matrix multiplication tensor ⟨1,1,N022⋅q2(1−2λ)⟩. Taking λ=2+q21, we get ⟨1,1,N022⋅q2(1−2λ)⟩=⟨1,1,(q2+2)m(1−o(1))⟩, which is as good as ⟨1,1,(q2+2)m⟩ when m goes to infinity.
2 Combination Loss
The key insight in our paper is that this analysis is actually wasteful. To see this, let us first summarize all the zeroing-outs we performed in the above analysis.
Taking the merging point of view for T0,j,k’s, we get the following procedure:
Fix any XI,YJ,ZK and the corresponding subtensor TI,J,K. Consider level-1 blocks XI∈XI,YJ∈YJ,ZK∈ZK. For sequence K, we define its split distribution over set S as
Let Si,j,k={t∣it=i,jt=j,kt=k} be the set of positions that belong to Ti,j,k. We say ZK obeys αZ if and only if for all i,j,k, we have split(K,Si,j,k)(k′,k−k′)=αZ(i,j,k)(k′).For simplicity, we write split(K,Si,j,k)=αZ(i,j,k) when there is no ambiguity. (Since we are taking the merging viewpoint, T0,1,1 and T0,0,2 have their split distributions as well.)
First, we zero out all the blocks ZK that do not obey αZ. Same for the X and Y blocks. Then we further zero out some level-1 blocks according to hashing and the Salem-Spencer set. Note that this hashing is only over indices in S1,1,2∪S1,2,1∪S2,1,1 because T0,j,k’s are handled differently.
The subtensor of TI,J,K over each remaining triple (XI,YJ,ZK) is an isomorphic copy of
where T1,1,2α,m (and T1,2,1α,m, T2,1,1α,m) is defined in (2) and other T0,j,kα,m’s are defined in the same way as (4). Finally, some copies of Tα are merged together, and we get independent matrix multiplication tensors.
Fix any remaining level-2 triple M=(XI,YJ,ZK). We will show that many level-1 Z-blocks ZK∈ZK are actually not used.
To answer this, note that in the second step, we zeroed out the blocks ZK’s that do not obey αZ. By definition, all remaining ZK’s satisfy the following:
We let ZM={ZK∈ZK∣\eqrefequ:splitcondition holds for K} denote this set of ZK’s. This is the set of ZK’s that we actually used in M=(XI,YJ,ZK). We will argue that there are some other level-1 Z-blocks outside ZM, that in a certain sense, is as “useful” as those in ZM. To identify these blocks, we first define the average split distribution of k as
Let Sk=∪i+j=4−kSi,j,k be the set of positions where Zt=k. By definition, the condition (5) implies the following weaker condition which is independent of I and J:
Let Z′={ZK∈ZK∣\eqrefequ:avgcondition holds for K} be the set of level-1 Z-blocks that satisfy this weaker condition. Clearly, ZM⊆Z′; below we will further show that ∣ZM∣=∣Z′∣⋅2−Θ(n). However, all ZK∈Z′ are “equivalent” in the sense that they are isomorphic up to a permutation over [2n]. We could take a bold guess: Those ZK’s in Z′∖ZM should be as useful as those in ZM! We call such ratio ∣Z′∣/∣ZM∣ the combination loss.
A Closer Look.
How large is the combination loss, ∣Z′∣/∣ZM∣? In order to affect the bound on ω, the loss needs to be exponentially large. Let us examine the number of ways to split K according to (5), and compare it with that of (6). Recall that Si,j,k={t∣it=i,jt=j,kt=k} and Sk=∪i+j=4−kSi,j,k. We use h(p) to denote the binary entropy function h(p)=−plogp−(1−p)log(1−p).
When kt∈{0,4}, there is only one way to split it (i.e., 0=0+0,4=2+2). So such t has no contributionHere “contribution” means giving a multiplicative factor to ∣Z′∣ or ∣ZM∣. ∣Z′∣ equals the product of all contributions to it; so does ∣ZM∣. to either ∣Z′∣ or ∣ZM∣.
When kt∈{1,3}, there are two symmetric ways to split it (i.e., 1=0+1=1+0 and 3=1+2=2+1). By this symmetry, we know αZ(i,j,k) is simply the uniform distribution, half and half. Fix k=1 or 3, the contribution to ∣ZM∣ from all t∈[n] such that kt=k is
which equals their contribution to ∣Z′∣. So in this case, their contributions to ∣Z′∣ and ∣ZM∣ are equal.
The only nontrivial case is when kt=2. There are three ways to split it: 2=0+2=1+1=2+0. Taking its symmetry into account, there is still one degree of freedom. Recall that αZ(0,2,2)(0)=αZ(0,2,2)(2)=λ and αZ(0,2,2)(1)=1−2λ, while αZ(1,1,2)(0)=αZ(1,1,2)(2)=μ,αZ(1,1,2)(1)=1−2μ.
Each t∈S0,2,2∪S2,0,2 is either 0+2 or 2+0 with probability 2λ and is 1+1 with probability 1−2λ. So the logarithm of their contribution to ∣ZM∣ approximately equals the entropy h(2λ)⋅∣S0,2,2∪S2,0,2∣. Similarly, the logarithm of the contribution of t∈S1,1,2 to ∣ZM∣ is approximately h(2μ)⋅∣S1,1,2∣. In total, the contribution of all t∈S2 to ∣ZM∣ is approximately
On the other hand, let \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111p=∣S2∣λ∣S0,2,2∪S2,0,2∣+μ∣S1,1,2∣ be the weighted average of λ and μ. (That is, \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2)(0)=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2)(2)=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111p and \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2)(1)=1−2\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111p.) The contribution of all t∈S2 to ∣Z′∣ is approximately
This is larger than their contribution to ZM because the even distribution has the maximum entropy.
In the analysis of Coppersmith and Winograd, λ=2+q21, μ=2+q3τ1 (where τ=3ω). So there is a constant gap between λ and μ when ω>2. This implies an exponential gap between ∣Z′∣ and ∣ZM∣. The combination loss is indeed exponentially large. Hence, compensating for such loss might improve ω.
3 Compensate for Combination Loss
As we discussed above, since a level-2 variable block ZK is in only one independent copy of Tα, some index 2’s in it will split according to λ while other 2’s will split according to μ. This causes the combination loss. The same holds for all X, Y and Z dimensions. One natural attempt to compensate for it is to match a level-2 variable block multiple times, i.e., to let it appear in multiple triples.
During the hashing step, we randomly match a level-2 Z-variable block ZK. Any index 2 in ZK will be in the parts of T0,2,2, T2,0,2, or T1,1,2 randomly. Those index 2 of ZK in T0,2,2 and T2,0,2 parts will split according to λ while those in T1,1,2 part will split according to μ. Even if ZK is matched multiple times, since each time the positions of these three parts are different, we will be using different level-1 blocks in ZK. This observation allows us to obtain a subtensor that is mostly disjoint from other subtensors from each matching.
Asymmetric Hashing.
In the original two-level analysis (Section 2.1), the marginal distributions αX=αY=αZ are picked to balance the number of level-2 blocks and the number of variables in a block. So after zeroing-out, every remaining block can only be in one triple. We carefully pick αX=αY and αZ so that there will be more level-2 X and Y-blocks than Z-blocks. (This asymmetric hashing method also appears in [CW90], but the base tensor is Strassen’s tensor [Str86, Pan78].) In return, in each level-2 Z-block, we can now have more variables. We will match each Z-variable block to multiple pairs of X and Y-blocks while keeping the matching for each X and Y-block unique, that is, every remaining X or Y-block is only in one triple but a remaining Z-block can be in multiple triples. Such uniqueness for X and Y-blocks is necessary for our method of removing the interfering terms.
Sanity Check.
As a sanity check, let us first try to match a level-2 variable block ZK twice. (Recall that we defined the notations for variable blocks in Section 2.1.) We say ZK can be matched to XI and YJ with respect to α if and only if (1) it+jt+kt=4 for all t∈[n]; and (2) the distribution [(it,jt,kt)]t∈[n] equals α.
Let ZM be the set of level-1 Z-variable blocks in TMα, and let ZM′ be that of TM′α. Our key observation is that ZM and ZM′ are mostly disjoint. Recall that Si,j,k={t∈[n]∣(it,jt,kt)=(i,j,k)} is the positions of the Ti,j,k part in M. Similarly, let Si,j,k′ be that of M′. (See Figure 1.) For any set S⊆[n] and a level-1 Z-variable block ZK=Z(k1,k2,…,k2n), we use split(K,S) to denote the split distribution for Z(k1,k2,…,k2n) restricted to set S. Recall that it is defined as
Fix any ZK∈ZM. We claim that, by the randomness of S1,1,2′, w.h.p. split(K,S1,1,2′)=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2) which is the average split distribution. On the contrary, for any ZK′∈ZM′, we must have split(K′,S1,1,2′)=αZ(1,1,2). Since \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2)=αZ(1,1,2), this shows w.h.p. ZK∈ZM′, which implies that ZM and ZM′ are mostly disjoint.
Now let us justify our claim. Since we uniformly sampled the pair (XI′,YJ′), by symmetry, S1,1,2′ is uniform among all α(1,1,2)n-sized subsets of S2={t∈[n]∣kt=2}. Regardless of whether a position t∈S2 is in S0,2,2,S2,0,2, or S1,1,2, such position is in S1,1,2′ with equal probability. As we fixed ZK∈ZM, the corresponding split distribution split(K,S1,1,2′) is mostly likely to be the weighted average of αZ(0,2,2), αZ(2,0,2), and αZ(1,1,2), i.e., the average distribution \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2).
The idea above is generalized in our main algorithm so that each level-2 Z-block can be matched in 2Θ(n) triples. However, there are two remaining challenges:
In order to be independent, being mostly disjoint is not sufficient. TMα and TM′α has to be completely disjoint. An easy fix would be zeroing out the intersecting variables. But this introduces missing Z-variables in the final matrix multiplication tensors we get. We use a random shuffling technique similar to that of [KK19] to fix these “holes” in Z-variables.
Moreover, even being perfectly disjoint does not guarantee independence. There is also a second condition in the definition of independence: no additional terms, i.e., we have to make sure that we get exactly TMα+TM′α without any extra terms. For example, let XI′,YJ′,ZK be level-1 blocks in XI′, YJ′, and ZM, respectively, then the subtensor of TM∪M′α over these level-1 blocks should be zero. Vice versa for level-1 blocks in XI,YJ, and ZM′. If these conditions are not satisfied, TMα and TM′α are not independent.
Fixing Holes.
We now address the first challenge. Suppose we have a broken matrix multiplication tensor of size \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N×\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M×\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P (i.e., it corresponds to the matrix multiplication of an \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N×\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M matrix and an \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M×\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P matrix), in which half of the Z-variables are zeroed out. Let us denote the two multiplying matrices as X and Y. The product is (XY)i,j:=∑k=1\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111MXi,kYk,j, but we can only get half of the entries in XY. If we randomly select three permutations π1,π2,π3 of [\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N],[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M],[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P], respectively, and fill in Xi,k←Aπ1(i),π2(k),Yk,j←Bπ2(k),π3(j) instead, we would get the correct answer to a random half of the entries in AB. Then we just repeat this multiple times using other broken matrix multiplication tensors. Combine the answers to the entries in AB together, we would get the correct answer for AB with high probability. In other words, we solve the first challenge by “gluing” many randomly permuted broken matrix multiplication tensors together.
Compatibility.
For the second challenge, we need the following key observation. Let XI′∈XI′,YJ′∈YJ′,ZK∈ZM be three level-1 blocks. If there is an interfering term involving variables in XI′, YJ′ and ZK, for those t∈S2,0,2′, we must have (i2t−1′,i2t′)=(2−k2t−1,2−k2t), because j2t−1′=j2t′=0 and (i2t−1′,i2t′)+(j2t−1′,j2t′)+(k2t−1,k2t)=(2,2). This implies
If this holds, we say split(I′,S2,0,2′) agrees with split(K,S2,0,2′).
We claim that for any fixed XI′∈XI′, YJ′∈YJ′, and ZK∈ZM that are retained in TM∪M′α, the condition (2.3) is not satisfied with high probability:
split(I′,S2,0,2′) agrees with αZ(2,0,2), the split distribution of Z indices for T2,0,2. This is a necessary condition for XI′ to form a triple with ZK∈ZM′, because split(K,S2,0,2′)=αZ(2,0,2) holds for all ZK∈ZM′. Otherwise, if this condition does not hold, XI′ cannot form any triple with Z-blocks ZK∈ZM′, so it has been zeroed out before forming TM∪M′α. (In this argument, it is crucial that XI′ is only matched in a unique triple M′.)
split(K,S2,0,2′) is equal to \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2), the average split distribution of index 2, with high probability. This can be deduced from a similar argument as in the sanity check.
These two arguments, combined with the fact that \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(2)=αZ(2,0,2), concludes that (2.3) is unlikely to hold.
Similarly, one could also look at the positions S0,2,2′, which is symmetric to the case above.The same argument would not work with t∈S1,1,2′, because now (j2t−1′,j2t′) could be either (1,0) or (0,1). This degree of freedom prevents us from getting a compatibility constraint between split(I′,S1,1,2′) and split(K,S1,1,2′). For any level-2 blocks XI, YJ, and level-1 block ZK∈ZM where M=(XI,YJ,ZK), when split(K,S2,0,2) and split(K,S0,2,2) are both equal to αZ(2,0,2) (S2,0,2 and S0,2,2 are defined w.r.t. M), we say ZK is compatible with XI and YJ. Our argument above shows that w.h.p. a level-1 block will only be compatible with one pair of XI and YJ, and there is no interfering term involving ZK and XI, YJ if they are not compatible. If ZK happens to be compatible with two pairs, we will zero out ZK and leave it as a hole. Then it will be fixed by our hole-fixing technique. See Section 4 and Section 5 for more details.
4 Beyond the Second Power
In the analysis of higher and higher powers of the CW tensor, because we can perform merging for T0,j,k at each level, we get better and better upper bounds of ω. Together with such gain, we also incur combination loss at each level. Our approach generalizes to high powers as well. For higher powers of the CW tensor, we apply this method to analyze both the global value (i.e., the value of the CW tensor) and the component values (e.g., the values of T1,2,5,T1,3,4,T2,2,4,T2,3,3 and their permutations for the 4th power). Same as in previous works, we optimize all parameters by a computer program to obtain an upper bound of ω.
Recall that in our two-level analysis, we obtained a subtensor TMα for each retained level-2 triple M=(XI,YJ,ZK), in which some Z-blocks ZK∈ZM are zeroed out and become holes. We first pretend there are no holes, zeroing out these tensors TMα to form matrix multiplication tensors, and then fix the holes in the matrix multiplication tensors. However, for higher powers, this approach meets a difficulty: The process of transforming TMα to matrix multiplication tensors is more involvedIt will be a more general degeneration instead of just zeroing out., so it is not clear how one can control the number of holes in the final matrix multiplication tensors.
To solve this difficulty, we will fix the holes in TMα before transforming them to matrix multiplication tensors. Suppose all TMα are isomorphic to some tensor T∗ except for the holes in their Z-variables. As long as T∗ has a desired symmetric structure, we can shift the holes in each copy TMα to random places, like we did in Section 2.3 to repair the holes in matrix multiplication tensors. Then, by gluing several copies together, we can fix all the holes, resulting in a copy of T∗ without holes. In Section 5, we will show how to fix the holes: We will first define the desired tensor structure T∗ which will naturally appear in Sections 6 and 7, then define a group of permutations used to move the holes, and finally fix the holes in T∗ using the idea we discussed above.
Compatibility for higher powers.
Recall that in Section 2.3, we defined the compatibility for the second power. A level-1 Z-block ZK is compatible with XI,YJ, if the following conditions hold:
split(K,S0,2,2)=split(K,S2,0,2)=αZ(0,2,2), where S0,2,2 and S2,0,2 are defined with respect to the triple (XI,YJ,ZK);
Here, we can make a constraint for the split distribution of T0,2,2 because the index 0 ensures a one-to-one correspondence between the split distributions of Y and Z-indices. Similar for T2,0,2. We generalize this definition to higher powers, creating a similar constraint for every component Ti,j,k with i=0 or j=0:
For all components Ti,j,k with i=0 or j=0, split(K,Si,j,k)=αZ(i,j,k), where Si,j,k is defined with respect to the triple (XI,YJ,ZK).
split(K,Sk)=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111Z(k) for all k.
Based on this definition, we will show in Section 6 that there are no interfering terms between ZK and XI,YJ that are incompatible. Once some ZK is compatible with two remaining triples, we zero it out as we did in Section 2.3.
Analyzing component values.
like in previous works, we would have NBX=NBY=NBZ since X, Y, Z variables are symmetric. Our solution is to pick three different numbers A1,A2,A3 and apply hashing on
This makes Z-variables asymmetric from X and Y. Starting with this tensor T and performing similar analysis as in Section 6, we obtain desired lower bounds for the components.
Why did we break the 2.3725 lower bound?
By compensating for the combination loss at each level, we get the new upper bound of ω<2.37187 from the eighth power of the CW tensor. In the paper by Ambainis, Filmus, and Le Gall [AFLG15], they proved that certain algorithms could not give a better upper bound than ω<2.3725. These algorithms include previous improvements in analyzing higher powers and the refined laser method [AW21b]. Our algorithm is the first algorithm to break this lower bound.
In their lower bound, they start with an estimated partitioned tensor, which is a partitioned tensor with an estimated value for each subtensor. Then they defined the merging value of it, which, roughly speaking, is the maximum value one can get from (1) zeroing it out into independent subtensors; and (2) merging non-independent subtensors that are matrix multiplication tensors into larger matrix multiplications.
Preliminaries
In this paper, logx means log2x by default, and [n]={1,…,n}. For a sequence a1,…,ak which sums to 1, (a1n,⋯,aknn) can be written as ([ain]i∈[k]n), or simply ([ain]n) if there is no ambiguity. The notation A1⊔A2⊔⋯⊔Ak means the disjoint union of sets A1,…,Ak.
Most of our notations about tensors are similar to [AW21b].
The matrix multiplication tensor ⟨n,m,p⟩ is a tensor over sets {xi,j}i∈[n],j∈[m], {yj,k}j∈[m],k∈[p], and {zk,i}k∈[p],i∈[n], defined as
Tensor isomorphisms.
If two tensors T and T′ are equal up to a renaming of their variables, we say they are isomorphic or equivalent, denoted as T≅T′. Formally, we have the following definition.
Let T be a tensor over variables X,Y,Z, written as
and T′ be a tensor over variables X′,Y′,Z′. We say T is isomorphic to T′ if there are bijections
ϕ=(ϕ1,ϕ2,ϕ3) is called an isomorphism from T to T′, denoted by \phi\big{(}T\big{)}=T^{\prime}.
Moreover, an isomorphism ϕ from T to itself is called an automorphism of T. All automorphisms of T form a group, called the group of automorphisms of T, written Aut(T).
Tensor operations.
Let T and T′ be two tensors over X,Y,Z and X′,Y′,Z′, respectively, written as
The direct sum T⊕T′ is a tensor over (X⊔X′),(Y⊔Y′), and (Z⊔Z′), defined as
When performing the direct sum T⊕T′, we always regard the variables in T and T′ as distinct variables. Specifically, T⊕n is defined as T⊕T⊕⋯⊕T, i.e., the direct sum of n copies of T.
The tensor product T⊗T′ is a tensor over (X×X′),(Y×Y′),(Z×Z′) defined as
Specifically, the tensor power T⊗n is defined as the tensor product T⊗T⊗⋯⊗T of n copies.
The summation T+T′ is well-defined only when (X,Y,Z)=(X′,Y′,Z′). We define T+T′ to be a tensor over X,Y,Z:
Rotation, swapping, and symmetrization.
be a tensor over X={x1,…,xn}, Y={y1,…,ym}, and Z={z1,…,zp}. We define the rotation of T, denoted by Trot, as
over X′={x1,…,xm}, Y′={y1,…,yp}, and Z′={z1,…,zn}. Intuitively, rotation is changing the order of dimensions from (∣X∣,∣Y∣,∣Z∣) to (∣Y∣,∣Z∣,∣X∣) while keeping the structure of the tensor unchanged.
Similarly, we define the swapping of T, denoted by Tswap, as
over X′={x1,…,xm}, Y′={y1,…,yn}, and Z′={z1,…,zp}. Swapping is changing the order of dimensions from (∣X∣,∣Y∣,∣Z∣) to (∣Y∣,∣X∣,∣Z∣), i.e., swapping X and Y dimensions.
Based on these two operations, we define the symmetrization of T. The rotational symmetrization, or 3-symmetrization of T, is defined by sym3(T)=T⊗Trot⊗Trotrot. In sym3(T), the X, Y and Z variables are symmetric. Further, we define the full symmetrization, or 6-symmetrization of T, as sym6(T)=sym3(T)⊗sym3(T)swap.
Tensor rank.
The rank R(T) of a tensor T is the minimum integer r≥0 such that we can decompose T into
This equation is also called the rank decomposition of T.
The asymptotic rank R(T) is defined as
We need the following theorem linking asymptotic rank to the matrix multiplication exponent ω.
2 Restrictions, Degenerations, and Values
It is easy to verify that R(T′)≤R(T) and R(T′)≤R(T) by applying f1,f2,f3 on each variable that appeared in the rank decomposition.
Degenerations.
Suppose T is a tensor over X,Y,Z while T′ is a tensor over X′,Y′,Z′. Also, there are mappings
then we say T′ is a degeneration of T, written T⊵T′. It is clear that restriction is a special type of degeneration. One can also verify that R(T′)≤R(T).
Zeroing out.
Zeroing out is a special case of restrictions. While zeroing out, we select a subset X′⊆X and set all X-variables outside X′ to zero. Similarly, Y′⊆Y and Z′⊆Z are chosen and all other Y and Z-variables are set to zero. Namely, zeroing out is the degeneration with
and f2,f3 are defined similarly. The resulting tensor T′ is also called the subtensor of T over X′,Y′,Z′, written T′=T∣X′,Y′,Z′.
Zeroing out suffices for previous works, but we need one more type of degeneration below for technical reasons.
Identifications.
Let X(1) and X(2) be two disjoint sets that identify with the same set X, in the sense that there exists bijections iX(1):X(1)→X and iX(2):X(2)→X. Similarly, for Y,Y(1),Y(2) and Z,Z(1),Z(2), there are bijections iY(1),iY(2) and iZ(1),iZ(2) similarly.
Suppose T(1) is a tensor defined on the sets X(1),Y(1),Z(1), and T(2) is defined on X(2),Y(2),Z(2). For their direct sum T(1)⊕T(2), we can define the following degeneration.
The definitions of f2,f3 are similar. The resulting tensor after degeneration is exactly T(1)+T(2) as if they were both defined on X,Y,Z. We call such a degeneration an identification because it identifies the different copies of the same variable.
Moreover, for m tensors T(1),T(2),T(3),…,T(m), we can similarly define their identification, written as
Values.
The value of a tensor captures the asymptotic ability of its symmetrization, sym3(T) or sym6(T), in computing matrix multiplication.
The 3-symmetrized τ-value of a tensor T, denoted as Vτ(3)(T), is defined as
The 6-symmetrized τ-value is defined by replacing sym3 with sym6 (and replacing 3n with 6n) in the above definition, denoted by Vτ(6)(T).
Note that the previous works only use the 3-symmetrized values; however, we need 6-symmetrized values due to technical reasons. Vτ(6)(T)≥Vτ(3)(T) holds for any tensor T.
It is easy to verify that, for tensors T and T′, their values satisfy Vτ(6)(T⊗T′)≥Vτ(6)(T)⋅Vτ(6)(T′) and Vτ(6)(T⊕T′)≥Vτ(6)(T)+Vτ(6)(T′). Similar properties hold for 3-symmetrized values. These properties are called the super-multiplicative and super-additive properties, which allow us to bound the values of some complex tensors based on the values of their ingredients.
3 Partitions of a Tensor
The partition of variable sets X,Y,Z is defined as the disjoint unions
Partitions of a tensor power.
Consider the tensor power T:=T⊗n, which is a tensor over Xn, Yn, and Zn. Here T is called the base tensor, and the partition of T we take is called the base partition. Given any base tensor together with a base partition, it naturally induces the partition for the tensor power T, as described below.
Using such notations, T is partitioned into
where TI,J,K=T∣XI,YJ,ZK is the subtensor of T over blocks XI, YJ, and ZK. The index sequence of a variable is defined as the index sequence of the block it belongs to, i.e., any variable x∈XI has the index sequence I (similar for Y and Z-variables).
4 Coppersmith-Winograd Tensor
The most important tensor in the fast matrix multiplication literature is the Coppersmith-Winograd tensor [CW90]. It is a partitioned tensor over
We define X0={x0},X1={x1,x2,…,xq}, and X2={xq+1}. The partition is therefore X=X0⊔X1⊔X2.Here we let the index start from to be consistent with previous works. Similarly, we define the partitioned sets for Y and Z.
5 Leveled Partitions of CW Tensor Power
6 Distributions and Entropy
Throughout this paper, we only need to consider discrete distributions supporting on a finite set. For such a distribution α supporting on S, we require it to be normalized (i.e. ∑s∈Sα(s)=1) and non-negative (i.e., ∀s∈S,α(s)≥0). We define its entropy in the standard way:
We need the following lemma in our analysis.
Let α be a discrete distribution that α(1)+⋯+α(k)=1, then
By Stirling’s approximation, log(N!)=NlogN−Nloge+O(lnN), so
7 Distributions of Index Sequences
A joint component distribution α induces marginal component distributions αX, αY, and αZ, by
These induced marginal distributions are called the marginals of α.
Denote the set of all distributions α(i,j,k) as D. As in [CW90, Wil12], we have the following fact:
In the level-1 partition, given marginal distributions αX(i),αY(j),αZ(k), the joint distribution α(i,j,k) is uniquely determined if exists.
Suppose the marginals αX, αY, and αZ are given. We can determine α(0,0,2)=αZ(2) and α(0,1,1)=αX(0)−αY(2)−αZ(2). Other entries can be determined similarly. ∎
In higher levels, marginal distributions usually do not uniquely determine the joint distribution.This is the cause of a loss in moduli in the analysis of higher powers, which can be reduced by the refined laser method [AW21b]. Given marginal distributions αX,αY,αZ, define D(αX,αY,αZ)⊆D to be the set of joint distributions inducing marginal distributions αX,αY,αZ:
For convenience, we further define Dα:=D(αX,αY,αZ) to be the collection of distributions that share the same marginals with α; define D∗(αX,αY,αZ):=argmaxα′∈D(αX,αY,αZ)H(α′).
(I.e., α(i,j,k)(il,jl,kl) fraction of the factors Ti,j,k split into Til,jl,kl⊗Ti−il,j−jl,k−kl.)
(The only difference from the earlier variant is that we replaced [n] with Si,j,k.)
8 Salem-Spencer Set
As in previous works, we also need the Salem-Spencer set to construct independent matrix products.
For any positive integer M, there is a set A⊂{0,⋯,M−1} with no three-term arithmetic progression modulo M, which satisfies ∣A∣>M1−o(1). (Namely if a,b,c∈A satisfy a+c≡2b(modM), then a=b=c.) A is called a Salem-Spencer set.
9 Restricted-Splitting Tensor Power
In addition to values, we also define the restricted-splitting values to capture the ability of the subtensor of Ti,j,k⊗n with a specific split distribution on Z-variable blocks. We first define the restricted-splitting tensor power. (It is a new concept introduced in this paper.)
We similarly define Ti,j,k⊗n[αX(i,j,k)] and Ti,j,k⊗n[αY(i,j,k)] to capture the cases when the split distribution of X or Y dimension is restricted.
In this paper, we often use the notation αi,j,k instead of αZ(i,j,k) to denote the Z-split distribution of component (i,j,k). Under this notation, the restricted dimension is Z by default if not otherwise stated.
Furthermore, we define the value with restricted-splitting distribution:
It is easy to verify that the above definition is equivalent to
We call this concept restricted-splitting values. We also denote by Vτ(3)(Ti,j,k,αi,j,k) the 3-symmetrized restricted-splitting value:
10 Hashing Methods
Most previous works use the hashing method with Salem-Spencer set to zero out some blocks, so that finally each block XI, YJ, or ZK only appears in at most one retained triple (XI,YJ,ZK). Here, X, Y, and Z variables are symmetric, so we call this setting symmetric hashing. In our paper, besides the symmetric setting, we also use a generalized asymmetric setting appeared in [CW90] so that an X or Y-block only appears in a single retained triple, but a Z-block can be in multiple retained triples.
The very first step is to zero out variable blocks inconsistent with αX,αY, and αZ, since these blocks do not appear in good triples. After that, let NBX be the number of remaining X-blocks XI, and define NBY,NBZ similarly. We expect that the distribution α satisfies the following:
NBX=NBY≥NBZ.
Let NαX,αY,αZ be the number of triples whose blocks are consistent with αX,αY,αZ (i.e., the remaining blocks so far). For every block XI or YJ, we require the number of triples containing it to be exactly NαX,αY,αZ/NBX, which is the same for all such blocks.
Let Nα be the number of triples consistent with the joint distribution α, i.e., the number of good triples. For every block XI or YJ, we require that the number of good triples containing it equals the same number Nα/NBX.
The number of triples containing every ZK is NαX,αY,αZ/NBZ, and the number of good triples containing every ZK is Nα/NBZ.
Pick M as a prime which is at least 4NαX,αY,αZ/NBX, and construct a Salem-Spencer set B of size M1−o(1) in which no three numbers form an arithmetic progression (modulo M). Select n+1 independently uniformly random integers 0≤b0,wt<M for t∈{0,⋯,n}. For blocks XI,YJ,ZK, compute the hash functions:
(Since M is odd, division by 2 modulo M is well defined.) We can see that for any triple (XI,YJ,ZK) in T, hX(I)+hY(J)≡2hZ(K)(modM). Zero out all blocks XI,YJ,ZK whose hash values hX(I), hY(J), or hZ(K) are not in B, then all remaining triples (XI,YJ,ZK) must satisfy hX(I)=hY(J)=hZ(K)∈B by Theorem 3.8.
We may think the hash function maps all variable blocks into buckets b∈{0,…,M−1}; for a triple (XI,YJ,ZK), it is retained in this zeroing-out step only if the three variable blocks are mapped to the same bucket b∈B.
It is easy to calculate the expected number of remaining triples after the above zeroing-out step. For each of the Nα good triples (XI,YJ,ZK), the probability that hX(I)=hY(J)=hZ(K)=b is M−2 since hZ(K) can be determined by hX(I) and hY(J). (hX(I) and hY(J) are independent because of the randomness of w0.) So the expected number of remaining good triples with hash value b is Nα/M2. Multiplied by the size ∣B∣=M1−o(1) of the Salem-Spencer set, we get Nα⋅M−1−o(1) which is the expected number of remaining good triples in total.
For each b∈B, we have a list of remaining (not necessarily good) triples (XI,YJ,ZK) satisfying hX(I)=hY(J)=hZ(K)=b. If all remaining triples with hash value b were disjoint (i.e., do not share variables), then our goal could be achieved easily. Otherwise, we resolve collisions by zeroing out some blocks. This second zeroing-out step depends on the setting: whether we allow sharing Z-blocks or not.
We first see the case where sharing Z-blocks is allowed. Then what we need to do is just to eliminate remaining triples sharing an X or Y-block. We greedily find a pair of triples sharing X or Y-blocks, and zero out any involvedFor example, when (XI,YJ,ZK) and (XI,YJ′,ZK′) share a block XI, we may zero out all of XI,YJ,YJ′, or just any of them. But we cannot zero out Z-blocks. X or Y-blocks to resolve the collision; this process is repeated until no X or Y-blocks are shared. After that, no two remaining triples can share X or Y-blocks. Finally, we zero out every XI if its triple (XI,YJ,ZK) is not consistent with α (i.e., the triple is not good).
To analyze the expected number of remaining good triples, we only need to count the number of good triples (with hash value b) that do not share X or Y-blocks with any other triple. These triples will not be removed regardless of the order of checking triples in the greedy process.
Fix a hash value b∈B. Initially there are NαM−2 good triples mapped to b in expectation. Then, assume (XI,YJ,ZK) and (XI,YJ′,ZK′) are two triples sharing an X-block, where the former one is good. If they were mapped to the same value b, the good triple (XI,YJ,ZK) no longer meets the requirement and we need to substract one from the total number of good triples.Although zeroing out XI may affect good triples other than (XI,YJ,ZK) and (XI,YJ′,ZK′), its loss will be counted when we regard it as the former triple in the pair. This probability for a fixed triple pair is M−3 according to the following lemma:
We first show that the events hX(I)=hZ(K) and hX(I′)=hZ(K) are independent. Fixing the Z-block ZK, we define
The number of such triple pairs (where the former one is a good triple) equals NBX⋅(Nα/NBX)⋅(NαX,αY,αZ/NBX)=NαNαX,αY,αZ/NBX. For each pair, with probability ∣B∣⋅M−3 we lose a good triple. The same loss is counted for triples sharing Y-blocks. Thus the expected number of remaining good triples is at least
where the first inequality holds as NαX,αY,αZ/NBX⋅M−1≤1/4. A typical value of M is Θ(NαX,αY,αZ/NBX), which keeps at least NBXNα/NαX,αY,αZ⋅2−o(n) good triples.
Hash Loss.
Ideally, when R:=Nα/NαX,αY,αZ=2−o(n), almost every of the NBX X-blocks can survive the hashing process. (Strictly, NBX⋅2−o(n) X-blocks are retained, while the factor 2−o(n) will disappear as we only care the exponent when n→∞.) Such utilization rate of X-blocks is the best possible outcome of the hashing process. However, when the factor R=2−Ω(n) is non-negligible, 1−R fraction of the X-blocks are wasted, which we call the hash loss. The quantity of the hash loss is measured by R.
Symmetric Hashing.
In most of the prior work, they do not allow Z-blocks to be shared among triples. In this case, we only need to change the greedy process a bit: Not only when X or Y-blocks are shared, but also when a Z-block ZK is shared between triples (XI,YJ,ZK) and (XI′,YJ′,ZK), we zero out all five involved blocks XI,XI′,YJ,YJ′,ZK or just any of them. This process is repeated until there are no triples sharing any variable blocks.
The symmetric hashing is only applied when NBX=NBY=NBZ. The analysis is again similar: we count the number of good triples (i.e., triples consistent with α) that do not share any blocks with other triples. The expected number of remaining good triples is at least
When we choose M=Θ(NαX,αY,αZ/Nα), we can keep NBXNα/NαX,αY,αZ⋅2−o(n) good triples. Similar to above, when R=Nα/NαX,αY,αZ=2−o(n), we cannot utilize all the variables due to the hash loss.
More general settings.
s is a constant integer, and T1,…,Ts are P-partitioned tensors with the same P.
For each region r∈[s], a joint distribution α(r) over the components of Tr is given in advance, with marginals αX(r), αY(r), and αZ(r).
Let NBX be the number of X-blocks XI that is consistent with αX(r) in all regions r∈[s]. Similarly define NBY and NBZ. We require NBX=NBY≥NBZ (for the asymmetric hashing) or NBX=NBY=NBZ (for the symmetric hashing).
Let NαX,αY,αZ be the number of triples consisting of variable blocks satisfying the distribution constraint (there are NBX,NBY,NBZ many such blocks). The number of such triples containing each XI or YJ is the same number NαX,αY,αZ/NBX. The number of such triples containing each ZK is NαX,αY,αZ/NBZ.
Let Nα be the number of triples consistent with α(r) in all regions r. We call these triples good triples. The number of good triples containing each XI or YJ should be the same number Nα/NBX. That of Z-blocks ZK is Nα/NBZ.
Then, we can apply the hashing method to obtain NBXNα/NαX,αY,αZ⋅2−o(n) independent good triples where n:=n1+⋯+ns. The proof of the more general setting is the same as above, so we omit it here.
Improving the Second Power of CW Tensor
This section offers a formal analysis of the second power to illustrate our main ideas. We will obtain a bound ω<2.375234 by analyzing the second power, which beats the previous best bound on the second power (ω<2.375477 in [CW90]).Since the optimization problem for the second power can be solved exactly by hand, such an improvement can only come from new ideas, rather than new heuristics for optimization. The technique will be generalized to higher powers in later sections. To help the reader keep track of the notation, we will summarize all the notations that will be used in Table 1.
Formally, if (XI,YJ,ZK) is a triple retained in the hashing method, then (1) α(i,j,k) equals the proportion of positions t∈[n] which satisfies (It,Jt,Kt)=(i,j,k), and (2) the blocks XI,YJ, and ZK do not appear in any other retained triples.
Degenerate each retained triple to a direct sum of matrix multiplication tensors. Specifically, we will use the value lower bounds from Step 1 and obtain the value lower bound of each triple. (This implicitly gives a degeneration into matrix multiplications.)
where 3a+3b=1. Let αX,αY,αZ be its marginal distributions. By Lemma 3.6, α is the only distribution consistent with these marginal distributions, which allows us to use the hashing method described in Section 3.10 without a hash loss. We can see that αX(0)=a+2b,αX(1)=2a,αX(2)=b. Since α is symmetric, αY and αZ are the same as αX. Let NBX be the number of X-blocks consistent with αX.
After hashing and zeroing out, the number of remaining triples is
Note the value Vτ(3)(Ti,j,k) is defined (in Definition 3.3) using the symmetrization of Ti,j,k, i.e. sym3(Ti,j,k)=Ti,j,k⊗Tj,k,i⊗Tk,i,j. This implies that to use these values, we must ensure that α(i,j,k)=α(j,k,i)=α(k,i,j) in Step 2.These constraints are incompatible with our algorithm which relies on the asymmetric hashing method. We will relax them in Section 4.2 and Section 4.3. Specifically, Vτ(3)(Ti,j,k) captures the capability of sym3(Ti,j,k)⊗m for matrix multiplication, as m→∞. If we want to apply it to Ti,j,k⊗α(i,j,k)n⊗Tj,k,i⊗α(j,k,i)n⊗Tk,i,j⊗α(k,i,j)n, we must ensure α(i,j,k)n=α(j,k,i)n=α(k,i,j)n=m.
Next, in step 2, we pick a symmetric distribution α over all level-2 components Ti,j,k where i+j+k=4:
Step 3 uses the symmetric hashing method to zero out some level-2 triples.
Here is one subtlety (that readers may skip for the first read). Zeroing out can only distinguish between different marginal distributions but not joint distributions (See e.g. [AW21b]). Hence all joint distributions consistent with αX,αY,αZ will remain after zeroing out. If α is not the maximum entropy distribution among all joint distributions consistent with αX,αY,αZ (which we denote by D∗(αX,αY,αZ)), the symmetric hashing method would incur an extra hash loss. For Coppersmith and Winograd’s analysis, α indeed equals D∗(αX,αY,αZ).
Notice that αX(0)=2a+2b+c,αX(1)=2b+2d,αX(2)=2c+d,αX(3)=2b,αX(4)=a. Same for αY and αZ. Hence after Step 3, the number of retained triples is
Coppersmith and Winograd [CW90] found that when a=0.000233,b=0.012506,c=0.102546,d=0.205542, and q=6, we can get ω<2.375477.
2 Non-rotational Values
As explained in Remark 4.2, to apply Vτ(3)(Ti,j,k), we need the distribution α to be symmetric. However, to apply the asymmetric hashing method in our improved algorithm, at least for some Ti,j,k’s, the distribution α has to be asymmetric. Hence we must consider the values of some Ti,j,k’s without such symmetrization. We call them non-rotational values.
The non-rotational value of a tensor T, denoted by Vτ(nrot)(T), is defined as
The only difference between this definition and the original definition of values is that we do not allow T to be symmetrized before degeneration.
Also, recall the definition of restricted-splitting values Vτ(3)(Ti,j,k,α) in Section 3.9. We further define the non-rotational version of it.
The non-rotational restricted-splitting value is defined as
For matrix multiplication tensors, T0,j,k, their non-rotational value matches its symmetrized value. This is stated in the following lemma. Moreover, for T1,1,2, we only give a lower bound on its symmetrized restricted-splitting value. Since almost all the contributions are from the most typical splitting distribution, it is not surprising that its restricted-splitting value matches the original value. We defer the proof of this lemma to Appendix A.
In Lemma 4.6, we presented the restricted-splitting values for those Ti,j,k’s with k=2, and these values match their original values in Lemma 4.1. Intuitively, this means that, for any level-2 triple (XI,YJ,ZK), within ZK, the only useful level-1 Z-blocks are those with a specific splitting distribution over the positions {t∈[n]∣Kt=2}. When one such level-1 Z-block is useful for (XI,YJ,ZK), we say that they are compatible.
Before we give the formal definition, we first set up some notations. For each triple (XI,YJ,ZK), we let S2 be the set of positions t where Kt=2. We define Si,j,k={t∈[n]∣(It,Jt,Kt)=(i,j,k)}. Then S2=S0,2,2∪S2,0,2∪S1,1,2. Let ZK be a level-1 Z-block in ZK. We define its split distribution over a subset of positions as follows.
Fix a level-1 Z-block ZK where K is the level-1 index sequence (K1,K2,⋯,K2n). For any subset S⊆[n], we define split(K,S) to be the (marginal) split distribution of positions of S in K.
Since we are only considering the split distribution of 2, we require that S⊆S2 and kl=0,1,2. It has support {(0,2),(1,1),(2,0)}. For simplicity, we write split(K,S)(kl):=split(K,S)(kl,2−kr). (split(I,S) and split(J,S) can be defined similarly.)
Now we are ready to state the condition for ZK to be useful for (XI,YJ,ZK).
A level-1 block ZK is said to be compatible with a level-2 triple (XI,YJ,ZK) obeying distribution α if the following conditions are satisfied:
split(K,S1,1,2)=αA;
split(K,S0,2,2)=split(K,S2,0,2)=αB.
Here αA and αB are defined as in Lemma 4.6.
Definition 4.8 directly implies that, in order for a level-1 block ZK to be compatible with any triple (XI,YJ,ZK) obeying α, it must satisfy
We will call this quantity αavg. To see that this equality holds, note that split(K.S1,1,2)=αA and ∣S1,1,2∣/∣S2∣=α(1,1,2)+2α(0,2,2)α(1,1,2). Similarly for split(K,S0,2,2) and split(K,S2,0,2).
Next, we will analyze the probability for a fixed ZK∈ZK to be compatible with a random triple (XI,YJ,ZK). (Here the randomness is over I,J.) We will call it pcomp. This probability is exactly the “combination loss”: Suppose ZK is only in one remaining triple after hashing. Inside ZK, each ZK has only pcomp probability of being compatible with that triple. Hence intuitively, 1−pcomp fraction of ZK’s are simply wasted.
Fix a level-2 block ZK and a level-1 block ZK∈ZK satisfying (4.3). Let (XI,YJ,ZK) be a uniformly random triple among all triples that obey α and contain ZK. Suppose α(0,2,2)=α(2,0,2)=c and α(1,1,2)=d. Then we have
where αA, αB, and αavg are defined in (9), (10), and (4.3), respectively. This probability is the same for any fixed ZK.
Consider the following distribution: (XI,YJ,ZK) is a random level-2 triple consistent with α, and ZK is a random level-1 Z-block inside ZK satisfying (4.3). We have
In the second line, the content inside the expectation notation is independent of I due to symmetry. Thus we can calculate this probability for any fixed triple (XI,YJ,ZK) consistent with α:
4 Variant of the Coppersmith-Winograd Algorithm
We now present a slightly modified version of the Coppersmith-Winograd algorithm, which results in the same bound of ω. It contains an additional zeroing-out step which explicitly emphasizes that only compatible Z-blocks contribute to the algorithm. Illustrating this important idea is to prepare for our improved algorithm in the next subsection. Compared to the original version of the CW algorithm, here are two main differences:
We only ensure that α(1,1,2)=α(1,2,1)=α(2,1,1) for T1,1,2. For all other Ti,j,k’s we do not require such symmetry since we will apply their non-rotational value. Here T1,1,2 is special because it is the only component that is not a matrix multiplication tensor. As a result, in Lemma 4.6, it is the only component without a non-rotational value bound. Hence we need such symmetry to apply its value bound. This is crucial for our improved algorithm which benefits from asymmetric hashing.
For those Ti,j,k with k=2, we replace the use of its value with its restricted-splitting value. Such change explicitly emphasizes the fact that only a few compatible level-1 blocks are used in each level-2 triple (XI,YJ,ZK).
In Step 2, we have to ensure that α(1,1,2)=α(1,2,1)=α(2,1,1). For other i,j,k’s, α may not be symmetric. Moreover, we also require that we get the same number of level-2 X, Y, and Z variables blocks obeying α, i.e., NBX=NBY=NBZ.
As a result, in Step 3, we can still apply symmetric hashing. After hashing, we have independent level-2 triple (XI,YJ,ZK)’s. Every level-2 variable block can only appear in a single triple. That is, we get a subtensor ⨁I,J,KT∣XI,YJ,ZK, where the direct sum is taken over all remaining triples (I,J,K), and T∣XI,YJ,ZK is the subtensor of T over variable sets XI,YJ,ZK. Each T∣XI,YJ,ZK is isomorphic to Tα:=⨂i+j+k=4Ti,j,k⊗nα(i,j,k).
Before Step 4, we additionally zero out all level-1 blocks ZK∈ZK that are not compatible with (XI,YJ,ZK), where (XI,YJ,ZK) is the unique remaining triple containing the level-2 block ZK. Let Si,j,k and compatibility be defined as in Definition 4.8. ZK survives such zeroing-out only when split(K,S1,1,2)=αA, split(K,S0,2,2)=split(K,S2,0,2)=αB. Hence the remaining subtensor in each T∣XI,YJ,ZK is isomorphic to
This additional step allows us to restrict the split distribution of all remaining ZK.
Finally, in Step 4, we will use the following values:
For T0,2,2⊗nα(0,2,2)[αB], we use its non-rotational restricted-splitting value Vτ(nrot)(T0,2,2,αB). Similar for T2,0,2⊗nα(2,0,2)[αB].
Recall that α(1,1,2)=α(1,2,1)=α(2,1,1)=d. For sym3(T1,1,2⊗nα(1,1,2)), we use its restricted-splitting value Vτ(3)(T1,1,2,αA).
For other components Ti,j,k, we use their non-rotational value Vτ(nrot)(Ti,j,k).
Note that the values in Lemma 4.6 match the values in the original analysis. So this analysis gives exactly the same bound on ω as the original analysis from the original parameter α. The difference is that now from (4.4), we can explicitly see that only those level-1 blocks ZK∈ZK with a specific splitting distribution are involved. (More specifically, T0,2,2’s and T2,0,2’s must split according to αB while T1,1,2’s must split according to αA.) All other level-1 blocks are wasted (which we call combination loss) in both the original version and the variant. This motivates our improvement.
5 Our Improved Algorithm
Finally, we are ready to present the improved algorithm for the second power. The algorithm follows almost the same steps as Section 4.4 with the following differences.
Symmetric hashing in Step 3 is replaced with asymmetric hashing. Hence each level-2 block ZK is now in multiple remaining triples after Step 3. This is the crucial step that compensates for the “combination loss”.
Additional Zeroing-Out Step 1 is an adaptation of the additional zeroing-out step in Section 4.4. The difference is that now ZK might be in multiple remaining triples. Fix one of them, say (XI,YJ,ZK). We cannot simply zero out all level-1 blocks ZK∈ZK that are incompatible with this triple, because there might be another remaining triple (XI′,YJ′,ZK) that ZK is compatible with.
There is one more step which we call the Additional Zeroing-Out Step 2. In this step, we zero out all the level-1 blocks in ZK that are compatible with more than one remaining triples. This guarantees the independence of these triples.
After the Additional Zeroing-Out Step 2, there will be holes in Z-variables. We have to fix them in Step 4 with the random shuffling technique similar to [KK19].
Similar as Section 4.4, we use the lower bounds given by Lemma 4.6. Note that for T1,1,2 we only have a bound on its symmetrized value, so in Step 2, we must have α(1,1,2)=α(1,2,1)=α(2,1,1).
Step 2: Choose a distribution.
We specify the component distribution α by
where 2a+b+3c+3d+6e=1. Although for (i,j,k)’s other than (1,1,2), the distribution α does not necessarily have to be symmetric, we still make some of them symmetric just to reduce the number of our parameters.
Note the joint distribution here may not be the maximum entropy distribution that has the same marginals, i.e. α=D∗(αX,αY,αZ). This may incur the hash loss mentioned in Section 3.10 and Remark 4.3. We will take such loss into account in the analysis (specifically, in Remark 4.15).
The marginal distributions can be calculated accordingly:
By symmetry between X and Y, we always have αY=αX.
Denote by NBX,NBY,NBZ the number of X, Y, and Z-blocks in T consistent with these marginal distributions, given by
We require that NBX=NBY>NBZ.
Step 3: Asymmetric Hashing.
As explained in Step 2, the distribution α may not equal to D∗(αX,αY,αZ). In this case, asymmetric hashing can still be applied with a proper modulus M at the cost of introducing an extra hash loss. (We will explicitly consider it in Remark 4.15.)
Additional Zeroing-Out Step 1.
Fix any level-2 triple (XI,YJ,ZK) and level-1 block ZK∈ZK. Similar to the additional zeroing-out step in Section 4.4, this step aims to ensure that, if ZK is not compatible with (XI,YJ,ZK), there will be no terms between XI,YJ and ZK. In other words, for all XI∈XI, YJ∈YJ such that I+J+K=(2,2,…,2), at least one of the level-1 blocks XI, YJ and ZK has to be zeroed out.
In Section 4.4, since each ZK was in a unique triple, we just zeroed out all ZK’s that are not compatible with XI and YJ. Now ZK might be in multiple triples due to asymmetric hashing. Even when ZK is not compatible with XI and YJ, we still cannot zero it out because it might be compatible with some other XI′ and YJ′.
The fix is to zero out XI or YJ instead. For any level-2 block XI (or YJ), there is a unique remaining triple (XI,YJ,ZK) containing it. Recall that we have defined Si,j,k={t∈[n]∣(It,Jt,Kt)=(i,j,k)} and S2=S0,2,2∪S2,0,2∪S1,1,2.
Suppose XI∈XI and YJ∈YJ satisfy I+J+K=(2,2,…,2). When Jt=0, since (I2t−1,I2t)+(J2t−1,J2t)+(K2t−1,K2t)=(2,2), we must have (I2t−1,I2t)=(2−K2t−1,2−K2t). This implies that split(I,S2,0,2)(i′)=split(K,S2,0,2)(2−i′). Let αB(rev) be the marginal split distribution defined by
Suppose ZK is not compatible with XI,YJ (violating Definition 4.8) due to split(K,S2,0,2)=αB. Then by zeroing out all XI∈XI where split(I,S2,0,2)=αB(rev), we can make sure that there is no term between XI,YJ and ZK.
Similarly, if ZK is not compatible with XI,YJ due to split(K,S0,2,2)=αB, we zero out all YJ∈YJ with split(K,S0,2,2)=αB(rev). Finally, if ZK is incompatible with XI,YJ due to split(K,S1,1,2)=αA while split(K,S0,2,2)=split(K,S2,0,2)=αB, we must have split(K,S2)=αavg. In this case, ZK cannot be compatible with any XI,YJ, and we simply zero out ZK.
Formally, in this step, we do the following:
For all level-2 block XI and level-1 block XI∈XI, define Si,j,k={t∈[n]∣(It,Jt,Kt)=(i,j,k)} with respect to the unique remaining triple (XI,YJ,ZK) that XI is in. We zero out XI if and only if split(I,S2,0,2)=αB(rev).
For all level-2 block YJ and all level-1 block YJ∈YJ, define Si,j,k with respect to the unique remaining triple (XI,YJ,ZK) that YJ is in. We zero out YJ if and only if split(J,S0,2,2)=αB(rev).
For all level-2 block ZK and level-1 block ZK∈ZK, let S2={t∈[n]∣Kt=2}. We zero out ZK if and only if split(K,S2)=αavg.
From our discussion above, we can conclude the following lemma. Its formal proof is deferred to Appendix A.
Let (XI,YJ,ZK) be a remaining level-2 triple. For all XI∈XI,YJ∈YJ,ZK∈ZK such that I+J+K=(2,2,…,2), if ZK is not compatible with XI,YJ, at least one of XI,YJ,ZK is zeroed out in Additional Zeroing-Out Step 1.
Fix a remaining triple (XI,YJ,ZK). In the modified CW algorithm described in Section 4.4, after additional zeroing out, the remaining subtensor in T∣XI,YJ,ZK is isomorphic to T∗:
The following lemma says that this is also the case here.
Let (XI,YJ,ZK) be a remaining level-2 triple. Let T(1) be the tensor obtained after Additional Zeroing-Out Step 1. We have
Fix any level-1 triple (XI,YJ,ZK). In T(1)∣XI,YJ,ZK, it survives if and only if (1) split(K,S2)=αavg; and (2) split(I,S2,0,2)=split(J,S0,2,2)=αB(rev).
First of all, since I+J+K=(2,2,…,2), we know (2) is equivalent to split(K,S0,2,2)=split(K,S2,0,2)=αB. Moreover, given (2) holds, (1) is equivalent to
Thus (1) and (2) together are equivalent to split(K,S1,1,2)=αA and split(K,S0,2,2)=split(K,S2,0,2)=αB. The survived level-1 triples (XI,YJ,ZK) are exactly those in T∗. ∎
Additional Zeroing-Out Step 2.
In this step, we zero out all level-1 Z-blocks ZK that are compatible with more than one remaining level-2 triples. Namely, we zero out ZK∈ZK if and only if ZK is compatible with both XI,YJ and XI′,YJ′ for some I=I′,J=J′, while (XI,YJ,ZK) and (XI′,YJ′,ZK) both remained in hashing. We call the obtained tensor T(2).
Now, for a remaining triple (XI,YJ,ZK), the subtensor T(2)∣XI,YJ,ZK may not be isomorphic to T∗, (in contrast with T(1)∣XI,YJ,ZK and Lemma 4.11). But it is almost T∗ except that some level-1 Z-blocks are zeroed out. We call these level-1 Z-blocks “holes”. In Section 4.6, we will show that the fraction of holes phole<1/2. Strictly, phole is defined as the probability of each level-1 Z-block being a hole. The formal definition will be presented later. Using this fact, we can fix the holes in Step 4.
Step 4: Degenerate Each Triple Independently and Fix Holes.
If there are no such holes, we can simply follow Step 4 in Section 4.4. We will use the same values as Section 4.4:
For T0,2,2⊗nα(0,2,2)[αB], we use its non-rotational restricted-splitting value Vτ(nrot)(T0,2,2,αB). Similar for T2,0,2⊗nα(2,0,2)[αB].
Recall that α(1,1,2)=α(1,2,1)=α(2,1,1)=c. For sym3(T1,1,2⊗nα(1,1,2)), we use its restricted-splitting value Vτ(3)(T1,1,2,αA).
For other components Ti,j,k’s, we use their non-rotational value Vτ(nrot)(Ti,j,k).
If we ignore the holes, we can directly use these values to get the bound
Any lower bound Vτ(nrot)(T∗)≥v, by Definition 4.4, gives a degeneration T∗⊵⨁i=1s⟨ai,bi,ci⟩ with ∑i=1s(aibici)τ≥v. Strictly speaking, it gives a degeneration (T∗)⊗m⊵⨁i=1s⟨ai,bi,ci⟩ with \big{(}\sum_{i=1}^{s}(a_{i}b_{i}c_{i})^{\tau}\big{)}^{1/m}\geq v. It is easy to see that as n→∞, we can without loss of generality let m=1 for T∗. To fix the holes, it is not enough to only use the lower bound (13). We need to open the black box and use the following lemma about the corresponding degeneration. We also defer its proof to Appendix A.
The degeneration given by the lower bound (13) produces matrix multiplication tensors of the same size, i.e., T∗⊵⨁i=1s⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩. Moreover, the degeneration is simply a zeroing out.
Now we start to fix the holes. We call a matrix multiplication tensor with holes broken. We will fix them with the following lemma. The idea is straightforward: Suppose half of the Z-variables in a matrix multiplication tensor are holes. Then this broken tensor gives us the correct answer to half of the entries in the result matrix. If we can randomly permute the holes and repeat multiple times, then with high probability, we will get all the entries correct. The proof of Lemma 4.13 will be given in Section 4.7.
Let s be an integer. For each i∈[s], Ti′ is a broken copy of the matrix multiplication tensor ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩ in which (1−ηi) fraction of Z-variables are holes. If ∑i=1sηi≥log(\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P)+1, then
That is, from the direct sum of broken matrix multiplication tensors, we can degenerate to an unbroken one.
In this step, we first observe that each remaining triple gives an independent broken copy of T∗. For triple (XI,YJ,ZK) and level-1 block ZK∈ZK, we formally define phole(K,I,J,K) as the probability that ZK is a hole, conditioned on (XI,YJ,ZK) is retained in the hashing step, and provided that ZK∈ZK is compatible with (XI,YJ,ZK). In Section 4.6, we will show that phole(K,I,J,K)<1/2 for any fixed (XI,YJ,ZK) and ZK.
We then apply Lemma 4.12 to degenerate these broken copies of T∗ into broken matrix multiplication tensors of the same size. Since the degeneration is simply zeroing out, each entry in the broken matrix multiplication tensor is mapped from a single variable in T∗. Since phole(K,I,J,K)<1/2, each entry in the Z-matrices is a hole with probability less than a half. There are no X or Y holes.
Formally, we divide T1′,…,Tm′ into groups in which the sum of ηi’s satisfies log(\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P)+1≤∑ηi≤log(\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P)+2. We independently apply Lemma 4.13 to each group of tensors, and each group will degenerate to a complete ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩.
In this analysis, we require that α(1,1,2)=α(1,2,1)=α(2,1,1) because we do not have a lower bound for T1,1,2’s non-symmetric value in Lemma 4.6. We also required α to be symmetric for T0,0,4,T0,1,3 just to minimize the number of parameters.
We would like to point out this is not optimal. Breaking the symmetry of T0,0,4,T0,1,3 could help improve the bound. Another natural attempt would be to further break the symmetry for T1,1,2: The challenge is that we do not have a non-rotational value for T1,1,2. One attempt is to do another symmetrization of T(2) and consider sym3(T(2))=T(2)⊗(T(2))rot⊗(T(2))rotrot. But as T(2) has holes in its Z-variables, the symmetrization sym3(T(2)) would have holes not only in Z-variables but also in X and Y-variables, then one can no longer apply Lemma 4.13 to fix them. This is why we consider non-rotational values in this section to avoid such symmetrization. To solve this issue, we will introduce a more general Hole Lemma in Section 5, which can fix the holes in T(2) before we symmetrize it. After that, we may break the symmetry for T1,1,2, T1,2,1 and T2,1,1, obtaining better bounds than the current section. (See Section 6.3.)
6 Analysis
NBX,NBY,NBZ denote the number of X, Y, and Z-blocks consistent with αX,αY,αZ, respectively.
Nα is the number of triples (XI,YJ,ZK) whose joint distribution is consistent with α, while NαX,αY,αZ is the number of triples (XI,YJ,ZK) whose marginal distributions are consistent with αX,αY,αZ.
pcomp is the probability that a uniformly random triple obeying α and containing ZK is consistent with a fixed level-1 block ZK∈ZK.
We will use Nret to denote the number of retained triples with joint distribution α that we get after asymmetric hashing.
Since α may not be the maximum entropy joint distribution over all joint distributions consistent with marginals αX,αY,αZ (i.e. α=D∗(αX,αY,αZ)), we might have NαX,αY,αZ>Nα, which incurs the hash loss (see Section 3.10 for details). As a result, after hashing and zeroing out, only NBX⋅NαX,αY,αZNα triples consistent with α are retained.
By Lemma 4.9, since here α(0,2,2)=α(2,0,2)=a,α(1,1,2)=c, we have
(Note this is the same equation as Lemma 4.9 but with a different set of parameters for α.) The parameters we select will satisfy the additional assumption
so that after we apply asymmetric hashing method, each level-2 Z-block ZK will be matched to at most NBX/NBZ≤1/pcomp many level-2 X/Y blocks on average. Then by the definition of pcomp, each level-1 block ZK∈ZK will in expectation be consistent with at most one of them.
Probability of Being a Hole.
Let (XI,YJ,ZK) be a triple retained in the hashing step, and ZK∈ZK be some level-1 block that is compatible with (XI,YJ,ZK). Now we analyze the probability for ZK to be a hole, denoted by phole(K,I,J,K).
A necessary condition for ZK to be a hole is that there exist some other blocks XI′ and YJ′(I′=I) such that (1) (XI′,YJ′,ZK) forms a triple consistent with α; (2) hX(I′)=hX(I)=hZ(K), i.e., I′ has the same hash value as the triple (XI,YJ,ZK); and (3) ZK is compatible with (XI′,YJ′,ZK). (Note that J′ is determined by I′.) We will count the expected number of such I′ using the following two facts:
The choice of M and Assumption (4.6) implies that
where I′ on the fourth line is chosen uniformly at random to let (XI′,YJ′,ZK) form a triple consistent with α.
Bounding the Value.
Here we follow the notation of [AW21b] and use αVτ to denote the lower bound on n→∞lim((\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P)τ⋅s)1/n, that is, the total volume of matrix multiplication tensors we finally get normalized by taking the n-th root.
From T, we can get in total m=sNret matrix multiplication tensors with holes, and further fix the holes to obtain m′ copies of ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩ without holes. Recall that for all i∈[m], we let ηi be the fraction of non-hole entries in the i-th matrix multiplication tensor we get. From Lemma 4.13, we know that
Let v:=m′(\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P)τ be the total volume of the matrix multiplication tensors we get. We have
How to Verify Our Numerical Results.
αBX:=n→∞limNBX1/n, i.e. the number of level-2 X/Y-blocks normalized by taking n-th root.
Similarly, αBZ:=n→∞limNBZ1/n is that of the Z-blocks.
αN:=n→∞limNα1/n is the number of triples that have joint distribution α.
αP:=n→∞limpcomp1/n is the (normalized) probability that a uniformly random triple obeying α and containing ZK is consistent with a fixed level-1 block ZK∈ZK.
In such notations, α′∈DαmaxαN′=n→∞limNαX,αY,αZ1/n as proved in Lemma 3.12.
Assumption (4.6) can be verified by checking
where αA,αB are defined in Lemma 4.6 and are independent of α; αavg depends on a=α(0,2,2) and c=α(1,1,2). Specifically, αavg=c+2acαA+c+2a2aαB as defined in (4.3).
Note that in Step 2, the objective αN′ is log-concave which allows efficient solvers that guarantee optimality. Although we have limitations on α so that it is determined by 5 variables a,b,c,d,e (4 of which are free variables), α′ has a much larger degree of freedom. For example, we require α(1,1,2)=α(2,1,1)=α(1,2,1) since we need to use the 3-rotational value of T1,1,2, but α′ is allowed to violate such symmetry. Hence, maxα′∈DααN′ is usually strictly larger than αN.
Finding Good Parameters.
To find these parameters a,b,c,d,e, we need to optimize the following program:
However, this optimization problem is non-convex and has a complicated form. Instead of solving it perfectly, we will use heuristics described in Appendix B to get a feasible (but not necessarily optimal) bound.
Although we use more complicated optimization techniques than prior work, it is clear that our improvement of ω comes from the new theoretical ideas instead of better calculation – when applying the prior approach on the second power of the CW tensor, the optimal parameters are easy to derive and prove optimality (see [CW90]). I.e., better calculation can only improve the bound on higher powers, but not the second power. The best known bound by analyzing the second power remains unchanged since [CW90].
Numerical Results.
We use (15) together with Schönhage’s τ theorem (Theorem 3.2) to obtain an upper bound of ω.The optimization and verification code for this section is available at https://osf.io/dta6p/?view_only=cf30d3e1ca2f4fe5b4142f65d28b92fd. Set
Given the parameters, the bound can be verified via Section 4.6. According to the definitions, one can calculate
hence (4.6) is satisfied. Also, by running Section 4.6 we can see that αN/maxα′∈DααN′≈1−2.49×10−7, which means the hash loss is very small (and thus the first heuristic in Appendix B is very accurate). The implied bound is ω<2.375234.
7 Proof of Matrix Hole Lemma.
The last ingredient of our analysis is the proof of Lemma 4.13. Guided by the explanation in the previous subsection, we formally state its proof. We first recall the lemma:
Let SU denote the symmetric group over U. For each Tt′, we sample σ1(t)∈S[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N], σ2(t)∈S[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M], and σ3(t)∈S[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P] uniformly. Then, let Tt′′ be the degeneration of Tt′ with the following mappings:
Here Tt′ is a tensor over {xi,j(t)},{yj,k(t)}, and {zk,i(t)}, for i∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N], j∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M], and k∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P]; Tt′′ is over {\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111xi,j(t)},{\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111yj,k(t)}, and {\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111zk,i(t)}. Such degeneration is intuitively a “renaming” of the variables. The only effect of this degeneration is to shuffle the positions of the holes. One can observe that the preimage of some variable \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111zk,i(t) is uniformly random over all Z-variables in Tt′, i.e., {zk′,i′(t)}k′∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P],i′∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N]. As a corollary,
Moreover, events of this type are independent for different t’s when k,i are fixed.
If for some pair (k,i)∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P]×[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N], there exists some t such that \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111zk,i(t) is not a hole in Tt′′, we call (k,i) a good position; otherwise we call it a bad position. The probability of (k,i) being a bad position is
For each position (k,i), we let tk,i be the first t such that \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111zk,i(t) is not a hole in Tt′′. Then, we make the following degeneration from ⨁t=1sTt′′ to ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩:
Here we denote by {xi,j∗},{yj,k∗}, and {zk,i∗} the variable sets of the result tensor ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩, where i∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N],j∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M], and k∈[\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P]. One can verify that the degeneration above correctly produces ⟨\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111N,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111M,\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111P⟩. Notice that the X and Y-variables in different Tt′′ are mapped to the same matrices through identification; Z-variables are zeroed out properly to avoid duplicated terms. This degeneration, combined with the fact that Tt′⊵Tt′′, concludes our proof. ∎
This section is only a minimum working example of compensating for the combination loss. It gives the bound ω<2.375234, which already improves upon the bound ω<2.375477 of Coppersmith-Winograd [CW90] for the second power. However, we can get a better bound for the second power via more careful modifications.
For example, here we require the distribution for (1,1,2) to be symmetric to get around the difficulty mentioned in Remark 4.14. In Section 5, we will extend Lemma 4.13 to broken tensors like T∗ (not only matrix multiplication tensors). With its help, we first fix holes in T∗, then symmetrize the tensor, and finally degenerate it into matrix multiplication tensors. This would allow us to also break the symmetry for (1,1,2).
Another further improvement will be modifying the split restrictions αA and αB. Recall that in this section, they are set to the distributions induced by the original parameters used in [CW90]. In later sections, we will modify these distributions αA and αB. Although the restricted-splitting values will decrease, pcomp will be significantly smaller, so that each Z-block ZK can be shared by more triples. By setting proper parameters, we finally get the bound ω<2.374631 from the second power, whose parameters will be given in Section 6.3. We will present the method for this result and its generalization to higher powers in the rest of the paper.
Hole Lemma
Notice that in such T∗, we are only restricting the Z-split distribution of those Ti,j,k’s with k=2. This was because there are two ways to split 2 (up to reflection symmetry), i.e., 2+0 (or 0+2) and 1+1. On the contrary, there is only one way to split , 1, and 3, so their split distributions are trivial. This reason is specific to the second level. We might as well just restrict the split distribution of all Ti,j,k’s in T∗, as what we will do in Definition 5.2.
Our definition of standard form tensor captures this type of tensor like T∗ above.
Let T∗ be a standard form tensor with parameters {nt,it,jt,kt,αt}t∈[m]. Set N=∑t=1mnt. A small Z-block in T∗ is indexed by sequence K=(K1,K2,…,K2N) such that the following holds:
The corresponding small Z-block in T∗ is defined as the variable set ZK1×ZK2×⋯×ZK2N=:ZK. We similarly define small X-blocks and small Y-blocks. Throughout this section, whenever we mention “blocks,” we are refering to the small blocks.
All small X and Y-blocks defined in this way exist as variables in T∗. However, some of the Z-blocks do not exist, because there is also restrictions of Z-split distributions αt. Not all small Z-blocks satisfy this restriction. This leads to the following definition.
We say a small Z-block ZK is available in T∗ if for all 1≤t≤m and k′+k′′=kt, we have
All Z-variables in T∗ is exactly the union of available small Z-blocks in T∗. Now we define the standard form tensor with holes:
A tensor T′ is a broken copy of T∗, if it can be obtained from T∗ by zeroing out several available small Z-blocks.
The zeroed-out small Z-blocks are called holes, while other available small Z-blocks are called non-hole blocks.
The proportion of holes among all available small Z-blocks in T∗ is called the fraction of holes; conversely, the proportion of non-hole blocks among all available Z-blocks is called the fraction of non-holes.
2 Fixing the Holes
Since each Tt′ has holes only in Z-blocks, the main idea of the proof is to utilize the symmetric structure in T∗ to randomly permute every Tt′, ensuring that each Z-block is non-hole in at least one (permuted) Tt′.
To begin our proof, we define the collection of permutations G that we will apply to T∗, which we call the shuffling group of the standard form tensor T∗:
Every element ϕ=(ϕ1,…,ϕm)∈G first induces a permutation over [2N]:
(That is, it first considers every 2 consecutive numbers as a unit, so [2N] is regarded as N units; then, it permutes the first n1 units according to ϕ1∈S[n1], permutes the next n2 units according to ϕ2∈S[n2], and so on.) Further, it induces a permutation over all small blocks: It maps each small block of T∗, say ZK, by reordering the entries of K according to the permutation ϕ:[2N]→[2N] above:
It also permutes X and Y-blocks while ϕ(XI) and ϕ(YJ) are defined in the same way.
So far, each element ϕ∈G gives block-level permutations over small blocks XI, YJ, ZK. However, different from X and Y-blocks, some of the Z-blocks do not appear as variables of T∗; only the available ones appear. So we add an observation that ϕ is also a permutation over all available Z-blocks:
For every ϕ∈G and Z-block ZK, let ZK′=ϕ(ZK). ZK is available if and only if ZK′ is available. This implies that ϕ restricted on all available Z-blocks is still a permutation.
The availability of ZK only depends on the frequency of occurrence of (K2s−1,K2s) accross all s∈(∑t′=1t−1nt′,∑t′=1tnt′] for every t∈[m]. This quantity remains unchanged between K and K′, as our permutation ϕ shuffles each pair of indices (K2s−1,K2s) as a unit, and its shuffling destination stays within the region ϕ(s)∈(∑t′=1t−1nt′,∑t′=1tnt′]. Thus, the claim follows. ∎
A similar observation is that (XI,YJ,ZK) is a triple in T∗ if and only if (ϕ(XI),ϕ(YJ),ϕ(ZK)) is a triple. Further, we keep the relative arrangement of variables within each block unchanged while shuffling the blocks. This induces a variable-level permutation of all variables of T∗ which we still denote by ϕ; we claim that it keeps the structure of T∗:
Let ϕ(x), ϕ(y), ϕ(z) denote the images of variables x,y,z∈T∗ under the variable-level permutation ϕ. Then, there is a term (x,y,z) in T∗ if and only if the term (ϕ(x),ϕ(y),ϕ(z)) is in T∗, which means ϕ is an automorphism of T∗.
Suppose T′ is a broken copy of T∗, i.e., some of the available Z-blocks are holes in T′. After using ϕ∈G to rename the variables in T′, we get another broken tensor denoted by ϕ(T′), but the hole blocks in ϕ(T′) is likely to be different from T′. The last property we concern about G is that a random ϕ∈G can move a hole block ZK to a random place, so that every available block of ϕ(T′) has equal probability to become a hole:
Let ZK be a fixed available Z-block in T∗. Picking ϕ∈G uniformly at random, the image ZK′=ϕ(ZK) follows the uniform distribution over all available Z-blocks in T∗.
For every pair of available Z-blocks ZK and ZK′, the number of permutations in G that maps ZK↦ZK′ is given by
which is independent of ZK,ZK′. Thus the claim holds. ∎
As an implication, for a broken standard form tensor T′ with a fraction η of non-holes, and for a fixed available block ZK, we have
(Here ϕ is taken uniformly at random from G.) With the help of (5.2), we now state the proof of Lemma 5.6.
Sample s permutations ϕ1,…,ϕs∈G independently uniformly at random from G. Let Tt′′:=ϕt(Tt′) be a tensor isomorphic to Tt′, obtained by renaming Tt′’s variables according to ϕt. From (5.2), we know that for a fixed available Z-block ZK,
Taking summation over all available small Z-blocks, we know the expected number of ZK that is a hole in all Tt′′ is at most 1/e<1. Thus, there exists a sequence of permutations ϕ1,⋯,ϕs, ensuring that every available block ZK has at least one t∈[s] for which ZK is non-hole in Tt′′, denoted as t(K).
We do the following degeneration from ⨁t=1sTt′′:
For each available small block ZK, recall that it is not a hole in Tt(K)′′. Zero out this small block in all other Tt′′′ where t′=t(K).
Identify all Tt′′ after the previous step of zeroing out.
Here “identify” means to glue all copies together (see Section 3.2). Notice that there are no holes in the X and Y-variables, so the X and Y-variables of all broken copies Tt′′ are the same. After the first step of zeroing out, each available Z-block appears in exactly one broken copy, so in the target tensor
each term on the RHS will be added exactly once from the copy Tt(K)′′ in which the block ZK is not zeroed out. It implies that the obtained tensor after the identification step is exactly T∗. ∎
Improving High-Power Global Values
This algorithm will optimize the following parameter:
1 Algorithm Description
In this section, these lower bounds are given as the input. Hence this step is trivial.
Step 2. Choose a distribution.
Step 3. Asymmetric Hashing.
Let M0 be a parameter which will be specified in Section 6.2, and M be a prime number in [M0,2M0]. We will apply the asymmetric hashing in Section 3.10 with M as the modulus. After hashing and zeroing out, for any pair of retained large block triples (XI,YJ,ZK) and (XI′,YJ′,ZK′), we have I=I′,J=J′. That is, those retained triples can only share Z-blocks. Moreover, all retained triples obey the joint distribution α.
(Note that when α∈/D∗(αX,αY,αZ), i.e., when it is not the maximum entropy distribution consistent with these marginals, there will be a certain hash loss. We already took this hash loss into account in Section 3.10. Also, we will explicitly compute the value of such hash loss in Section 6.2.)
Additional Zeroing-Out Step 1.
Here αi,j,k are given in the inputs.
A small block ZK∈ZK is said to be compatible with a large triple (XI,YJ,ZK) if the following two conditions are satisfied:
In this step, we will do the following zeroing-out on small blocks:
For each ZK, we check Item 1 and zero out ZK if the condition is not satisfied.
For each XI∈XI, since XI (if retained) is in a unique triple (XI,YJ,ZK), we can define the set Si,j,k w.r.t. that triple. For all components (i,0,k), we define
This is the X-split distribution corresponding to the Z-split distribution αi,0,k. If for any (i,0,k), split(I,Si,0,k)=αi,0,k(X), we then zero out this XI.
For each YJ, we do a similar zeroing-out as XI. For all components (0,j,k), we define
Suppose for some component (0,j,k), the split distribution split(J,S0,j,k)=α0,j,k(Y), then YJ will be zeroed out.
After Additional Zeroing-Out Step 1, a remaining small block ZK∈ZK can form a triple with remaining XI∈XI, YJ∈YJ only when ZK is compatible with triple (XI,YJ,ZK).
To see this, first notice that after Additional Zeroing-Out Step 1, all ZK that are not zeroed out satisfy Item 1 in Definition 6.1. Hence, if ZK is not compatible with (XI,YJ,ZK), it must be that for some (i,j,k) with i=0 or j=0, split(K,Si,j,k)=αi,j,k (Item 2).
We use T(1) to denote the tensor after Additional Zeroing-Out Step 1.
Additional Zeroing-Out Step 2.
Before we introduce this step, we have to make the following definition.
A small block ZK is said to be useful for a large triple (XI,YJ,ZK) if and only if the following two conditions hold:
ZK∈ZK and (I,J,K) is consistent with α;
For each large component (i,j,k), split(K,Si,j,k)=αi,j,k.
In this step, we will zero out any small Z-block ZK∈ZK such that
ZK is compatible with more than one triple, or
ZK is not useful for the unique triple (XI,YJ,ZK) that it is compatible with.
After such zeroing out, we call the obtained tensor T(2). We claim T(2)≅⨁(XI,YJ,ZK)T(2)∣XI,YJ,ZK due to the first zeroing-out rule here.
Fixing a triple (XI,YJ,ZK), the structure of T(2)∣XI,YJ,ZK is as follows. Suppose no blocks are zeroed out due to the first rule, i.e., being compatible with multiple triples. In this ideal case, T(2)∣XI,YJ,ZK is isomorphic to
However, in reality, several small Z-blocks are additionally zeroed out from T∗ due to the first rule, resulting in T(2)∣XI,YJ,ZK being a broken copy of T∗ with some holes in its Z-variables.
Step 4: Fix the holes and degenerate each triple independently.
Unlike Step 4 of Section 4.5, here we will first fix holes before degenerating into matrix multiplications. This is for two reasons: (1) The hole lemma in Section 5 allows us to directly fix holes for tensors, and (2) the degeneration here requires symmetrization, which may introduce holes to X/Y variables if they have not been fixed already. (Fixing holes is much easier when they are only in Z-variables.)
For each triple (XI,YJ,ZK), T(2)∣XI,YJ,ZK is a broken copy of T∗. The fraction of non-holes in T(2)∣XI,YJ,ZK (defined in Definition 5.5) is denoted as ηI,J,K. Letting
The algorithm concludes here, and v is the output that results in a value bound for the CW tensor. However, there is one more implicit step – symmetrization – which is hidden under the notation of Vτ(6). This occurs before degenerating into matrix multiplication tensors. This is because, by definition, Vτ(6)(T) represents the (maximized) total volume of matrix multiplications that sym6(T) degenerates into. Here we are able to perform such symmetrization because we have already fixed all the holes in the broken copies of T∗.
2 Analysis
Similar to the previous sections, we adopt the following notations:
Nα is the number of triples (XI,YJ,ZK) that are consistent with α; NαX,αY,αZ is the number of triples (XI,YJ,ZK) whose marginals are consistent with αX,αY,αZ. We have Nα=2nH(α)+o(n).
Nret represents the number of retained triples after the asymmetric hashing process (which are all consistent with α).
Let pcomp be a parameter to be defined later. Roughly speaking, it is the probability of a small block ZK being compatible with a random triple (XI,YJ,ZK).
We let M0=8⋅max(NBXNαX,αY,αZ,NBZNα⋅pcomp) and let M∈[M0,2M0] be a prime. Applying the asymmetric hashing according to Section 3.10 with modulus M, we know the number of retained triples is
Probability of being compatible.
One of the remaining task is to define and calculate pcomp. We start by defining its prerequisite:
We say a small block ZK is typical if and only if the frequency of occurrences of (K2t−1,K2t) matches the probability distribution γ, i.e.,
We show the following equivalent condition of typicalness:
Thus, ZK is typical. Similarly, if ZK is typical, we can also determine split(K,S∗,∗,k)=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111∗,∗,k. This concludes the proof. ∎
In the rest of this subsection, if a triple (XI,YJ,ZK) is consistent with the joint component distribution α that we choose, we say these blocks XI,YJ,ZK are matchable to each other. Next, we define pcomp:
Suppose ZK∈ZK is a typical block, and XI is an X-block matchable to ZK chosen uniformly at random (i.e., they form a triple (XI,YJ,ZK) consistent with α). pcomp is defined as the probability of ZK being compatible with XI,YJ. Similar to Section 4, due to symmetry, pcomp is independent of which block ZK we choose.
We calculate pcomp by the following lemma:
We have pcomp=αPn+o(n), where
and γ is the typical distribution defined above. (α+,+,k is a split distribution of Z-index k.)
Fixing a large block ZK consistent with αZ, we denote by Btypical,K the set of typical blocks within the large block ZK. Since pcomp is identical for all ZK∈Btypical,K, it will also be the same for a uniformly randomly chosen ZK∈Btypical,K. Independently, we sample a large X-block XI that is matchable to ZK (i.e., they form a triple (XI,YJ,ZK) consistent with α), also uniformly at random. Then, we have
The expectation on the last line is taken over all XI matchable to ZK. In fact, the content inside the expectation is identical for all XI due to symmetry. We arbitrarily fix an XI and further calculate the numerator and denominator, respectively.
Numerator.
We count the number of desired ZK by counting the number of ways to split all indices k in the sequence K. The constraint of being compatible with XI is equivalent to the following two conditions:
(The second condition is a requirement of both being compatible and being typical.) Then we “subtract” (a) from (b), obtaining a group of equivalent conditions as follows:
One can see that requiring (a) and (b) is equivalent to requiring (a) and (c). The advantage of doing so is that the set of positions involved in these requirements are disjoint. Specifically, all requirements of types (a) and (c) have the form split(K,S)=α for some position set S and split distribution α: For (a), they are S=Si,j,k and α=αi,j,k; for (c), they are S=S+,+,k and α=\macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111+,+,k. Every index position t∈[n] belongs to the set S of exactly one requirement.
For each of these requirements, namely split(K,S)=α, the number of ways to choose (K2t−1,K2t) for all t∈S equals
Taking product over all requirements, we have
Denominator.
To calculate the denominator ∣Btypical,K∣, we only need to notice the symmetry between different K, i.e., the size of Btypical,K should be identical for all K’s consistent with αZ. Moreover, they are disjoint for different K’s. Therefore, we may calculate
where αP is defined in the statement of Lemma 6.7. This concludes the proof. ∎
Probability of being holes.
Fixing a small block ZK that is useful for some retained triple (XI,YJ,ZK) (see Definition 6.3). Below, we analyze the probability of ZK being a hole.
Fixing a retained triple (XI,YJ,ZK) (it must be consistent with α) and a small block ZK∈ZK useful for that triple, the probability of ZK being a hole in T(2)∣XI,YJ,ZK (i.e., being compatible with a different remaining triple (XI′,YJ′,ZK)) is at most 1/8.
A necessary condition of ZK being a hole is that there exists I′=I matchable to K such that (1) ZK is compatible with XI′; and (2) I′ is hashed to the same slot as K, i.e., hX(I′)=hZ(K). We calculate the expected number of such I′ to establish an upper bound on the probability of the existence of such I′:
where the first equality above holds due to Lemma 3.11 (restated below); the third equality holds according to the definition of pcomp above. ∎
See 3.11 The proof of this lemma is in Section 3.10.
Bounding the value.
holds for all (XI,YJ,ZK). According to 5.11, these broken tensors can degenerate to
many copies of standard form tensors T∗. Combined with (6.2), we get
By the probabilistic method, we know T can degenerate to at least this many copies of T∗. Finally, we have
Similar to Section 4, we define the following notations:
αBX:=n→∞limNBX1/n=2H(αX) is the number of large X-blocks normalized by taking the n-th root. Similarly, αBZ:=n→∞limNBZ1/n=2H(αZ).
αN:=n→∞limNα1/n=2H(α) is the number of triples consistent with α.
With these notations, we have α′∈DαmaxαN′=n→∞limNαX,αY,αZ1/n according to Lemma 3.12.
αP=n→∞limpcomp1/n. Its closed form is given in Lemma 6.7.
Then, we take the n-th root on both sides of (23), obtaining
We will explain the heuristics for optimizing the parameters α in Section 8.
3 Example – Level-2 Global Value
When we set α0,2,2(0)=α0,2,2(2)=a and α0,2,2(1)=1−2a, using the method from the proof of Lemma 4.6, we have
For α2,0,2(0)=α2,0,2(2)=a and α2,0,2(1)=1−2a, V_{\tau}^{\textup{(nrot)}}\big{(}T_{2,0,2},\widetilde{\alpha}_{2,0,2}\big{)} equals the same value.
When α1,1,2(0)=α1,1,2(2)=b and α1,1,2(1)=1−2b, similarly to the proof of Lemma 4.6,
For all other components, we use the symmetric Z-marginal split distributions, that is, αi,j,1(0)=αi,j,1(1)=1/2 and αi,j,3(1)=αi,j,3(2)=1/2 for all valid i,j; for components (i,j,0) or (i,j,4), there is only one Z-marginal split distribution. So the values of all other components (including (2,2,0),(1,2,1),(2,1,1)) do not change from Section 4.
By a MATLAB program, we found the following parameters, which can lead to a better bound ω<2.374631 than Section 4.
Improving Component Values
In previous works (e.g., [Wil12, LG14]), to obtain a lower bound for a component Ti,j,k’s value, the tensor sym3(Ti,j,k⊗n)=Ti,j,k⊗n⊗Tj,k,i⊗n⊗Tk,i,j⊗n was analyzed using the laser method. Note that in this tensor, the X/Y/Z-variables are completely symmetric.
To introduce more asymmetry, rather than analyzing Ti,j,k⊗n⊗Tj,k,i⊗n⊗Tk,i,j⊗n, we will introduce three parameters A1,A2,A3∈ such that A1+A2+A3=1, and then analyze
Note that in this tensor, there is a significant asymmetry between X/Y and Z-variables. However, we still let X and Y-variables be symmetric, because in the asymmetric hashing, the X and Y-blocks are still matched one-to-one.
Restricting Split Distributions.
We will choose three (possibly) different Z-split distributions αZ,αZ,αZ. If we take exactly the same split distribution for the index k (k is fixed as the Z-index of the component Ti,j,k that we analyze), but apply it to X-variables, we will denote them as αX,αX,αX. Similarly for Y variables. Under these notations, we define
For example, the second equation holds because
The other two equations follow from similar calculations. ∎
Together with (7), this proves our desired statement below.
There exists a generation from sym6(Ti,j,k⊗n[αZ]) to sym3(T). As a result, Vτ(6)(Ti,j,k,αZ)6n≥Vτ(3)(T)3.
To get our desired lower bound on Vτ(6)(Ti,j,k,αZ), we only have to lower bound Vτ(3)(T), or equivalently, degenerate Tfinal:=sym3(T) into matrix multiplication tensors.
Specification.
Formally, the inputs to the algorithm are:
Non-negative real numbers A1,A2,A3 that sum up to 1.
Three Z-marginal split distributions of k, namely αZ,αZ,αZ, such that
Our algorithm will optimize the following parameter:
Joint split distributions α(1),α(2),α(3) of components (i,j,k),(j,k,i),(k,i,j), respectively, such that the Z-marginal of α(1) equals αZ, the Y-marginal of α(2) equals αY, and the X-marginal of α(3) equals αX.
1 Algorithm Description
The algorithm in this section follows the same steps as Section 6.1 but with a few small twists. These twists are necessary to adapt our idea to this tensor T we constructed.
As these lower bounds are given in the input, this step is trivial.
Step 2: Choose distributions.
Step 3: Asymmetric Hashing.
Same has before, we have a modulus M to be specified later. Then we apply the asymmetric hashing in Section 3.10 to the tensor T. We start by introducing some notations.
The last 3 regions are obtained from the first 3 regions by swapping the order of X and Y dimensions, so we naturally define the following:
Recall the parameters of the algorithm α(1),α(2),α(3) are joint split distributions of components (i,j,k), (j,k,i), and (k,i,j), respectively. We define α(4),α(5),α(6) to be split distributions of (j,i,k), (k,j,i), (i,k,j) obtained by swapping the X and Y dimensions of α(1),α(2),α(3), respectively. Formally, α(r+3)(i′,j′,k′)=α(r)(j′,i′,k′). We also let Ar+3:=Ar and αi′,j′,k′(r+3):=αi′,j′,k′(r) for r=1,2,3.
T contains many large triples (XI,YJ,ZK). By applying the asymmetric hashing method, we retain some large triples that do not share X or Y-blocks. Moreover, every retained triple (XI,YJ,ZK) is consistent with the split distribution α(r) in all regions r∈. Formally:
(Similar to Section 6, to ensure such consistency with joint distribution, we may have to suffer hash loss when the joint distributions α(1),α(2),α(3) are not the maximum entropy distributions given their marginals. We will take such hash loss into account in Section 7.2.)
Additional Zeroing-Out Step 1.
Fix a triple (XI,YJ,ZK). For region r∈, we use Si′,j′,k′(r) to denote the set of positions t∈S(r) such that (It,Jt,Kt)=(i′,j′,k′); use S∗,∗,k′(r) to denote the set of positions t∈S(r) such that Kt=k′. For a small block ZK∈ZK and a subset S⊆S∗,∗,k′(r) for some k′, we use splitk′(K,S) to denote the distribution of K2t−1 over all t∈S. Since for each t∈S, the index Kt splits into K2t−1+K2t, this distribution splitk′(K,S) captures the distribution of how those Kt split for t∈S. We omit the index k′ when it is clear from the context and simply write split(K,S).
For each k′, we define the following average split distribution:
A small block ZK∈ZK is said to be compatible with a large triple (XI,YJ,ZK) if the following two conditions are satisfied:
Based on this definition, we do the following zeroing out on small blocks:
For each ZK, we check Item 1 and zero out ZK if the condition is not satisfied.
α(r,X) is the X-split distribution corresponding to the Z-split distribution αi′,0,k′(r). If for any (i′,0,k′) and r∈, split(I,Si′,0,k′(r))=αi′,0,k′(r,X), we then zero out this XI.
Suppose for some component (0,j′,k′) and region r∈, split(J,S0,j′,k′(r))=α0,j′,k′(r,Y), we then zero out YJ.
Same as Section 6, it is easy to verify the following claim:
For our constructed tensor T, after Additional Zeroing-Out Step 1, a remaining small block ZK can form a small triple with XI∈XI, YJ∈YJ only when ZK is compatible with the large triple (XI,YJ,ZK).
We use the notation T(1) to denote the tensor after Additional Zeroing-Out Step 1.
Additional Zeroing-Out Step 2.
Similar to Section 6, we make the following definition.
A small block ZK is said to be useful for a large triple (XI,YJ,ZK) if the following conditions are met:
ZK∈ZK, and (XI,YJ,ZK) is consistent with α(r) for all r∈.
Based on this definition, we zero out any small Z-block ZK∈ZK such that
ZK is compatible with more than one triple, or
ZK is not useful for the unique triple (XI,YJ,ZK) that it is compatible with.
After such zeroing out, we call the obtained tensor T(2). We know it is the direct sum of disjoint triples, i.e., T(2)=⨁(XI,YJ,ZK)T(2)∣XI,YJ,ZK (due to the first rule above).
For any retained triple (XI,YJ,ZK), in the ideal case where no small blocks ZK are zeroed out due to the first rule mentioned above, we know T(2)∣XI,YJ,ZK is isomorphic to
One can see that T∗ matches Definition 5.5 with parameters
Hence we can apply the hole lemma in Section 5 to fix the holes in T(2)∣XI,YJ,ZK (similar to Section 6, the first zeroing-out rule above produces holes in Z-blocks of T(2)∣XI,YJ,ZK).
Step 4: Fix the holes and degenerate each triple independently.
For each retained triple (XI,YJ,ZK), T(2)∣XI,YJ,ZK is a broken copy of the standard form tensor T∗. The fraction of non-holes in T(2)∣XI,YJ,ZK, as defined in Definition 5.5, is denoted as ηI,J,K. Letting
It is worth noting that Vτ(3)(T)=Vτ(6)(T) because T is symmetric about X and Y variables, i.e., sym3(T)⊗2≅sym6(T).
2 Analysis
The idea of analysis is again similar to Section 6.
Nα is the number of triples (XI,YJ,ZK) that are consistent with α(r) in all regions r∈. We have Nα=2(∑r=16ArnH(α(r))+o(n)). NαX,αY,αZ is the number of triples (XI,YJ,ZK) whose marginal distributions are consistent with αX(r),αY(r),αZ(r), respectively.
Nret represents the number of retained triples after the asymmetric hashing process.
Let pcomp be a parameter to be defined later. Roughly speaking, it represents the probability of a small block ZK being compatible with a random triple.
Similar to Section 6.2, we will let M0=8⋅max(NBXNαX,αY,αZ,NBZNα⋅pcomp) and let M∈[M0,2M0] be a prime. Then we apply the asymmetric hashing with modulus M. We know
Typical distribution.
Recall that in Section 6.2, we defined the typical distribution
For a small block ZK, if γ(r) matches the frequency of occurrence of (K4t−3,K4t−2,K4t−1,K4t) in region r, we say ZK is a typical block. Formally, ZK is typical if and only if for every region r∈ and k1+k2+k3+k4=k(r),
Denote by Btypical,K the set of typical blocks ZK within a fixed large block ZK.
Recall the definition of useful blocks (Definition 7.9). We denote by Buseful(XI,YJ,ZK) the set of small blocks ZK∈ZK useful for (XI,YJ,ZK). It is worth noting that, fixing a large triple (XI,YJ,ZK), the typicalness and usefulness of a small block ZK∈ZK do not imply each other. The following lemma shows that typical blocks make up a non-negligible part of Buseful(XI,YJ,ZK), as expected:
Let (XI,YJ,ZK) be a triple consistent with α(r) in all regions r. Then,
Probability of being compatible.
Throughout the rest of this subsection, if a triple (XI,YJ,ZK) is consistent with α(r) in all regions r∈, we say these block XI,YJ,ZK are matchable to each other. Next, we define pcomp similarly to Section 6.2.
Suppose ZK∈ZK is a typical block, and XI is a large X-block matchable to ZK chosen uniformly at random. pcomp is defined as the probability of ZK being compatible with XI,YJ. Due to symmetry, pcomp is independent of the chosen small block ZK (as long as it is typical).
We calculate pcomp by the following lemma.
We fix ZK as a large block consistent with αZ(r) in all regions r, and let ZK∈Btypical,K be a uniformly random typical block in ZK. Since pcomp is the same for all typical blocks, it also has the same value for the random block ZK. As in the definition of pcomp, we let XI be a random large X-block that is matchable to ZK, which is independent of ZK conditioned on ZK. We have
The content inside the expectation is identical for all XI due to symmetry, so we arbitrarily fix an XI and continue the calculation.
Numerator.
We now count the number of (not necessarily typical) small blocks ZK compatible with XI′. Recall that Si′,j′,k′(r) denotes the set of positions t∈S(r)⊂[2n] where (It,Jt,Kt)=(i′,j′,k′). Let
ZK is compatible with XI if and only if:
(Recall that \macc@depth\frozen@everymath\macc@group\macc@set@skewchar\macc@nested@a111∗,∗,k′(r) is defined in (27).) Similar to Section 6.2, we transform these two conditions into the following equivalent conditions:
All requirements of these two types are of the form split(K,S)=α, for which there are
way to split those Kt(t∈S) into (K2t−1,K2t). Besides, the position sets of all these requirements, Si′,j′,k′(r) for the first type and S+,+,k′(r) for the second type, are disjoint. (In fact, these position sets form a partition of [2n].)
Note that ∣Si′,j′,k′(r)∣=β(r)(i′,j′,k′)⋅2Arn and ∣S+,+,k′(r)∣=β(r)(+,+,k′)⋅2Arn. Multiplying the number of ways together for all requirements, we obtain
Denominator.
To calculate the denominator ∣Btypical,K∣, like in Section 6, we use the fact that for all K that are consistent with αZ(r) for all r∈, the sets ∣Btypical,K∣ are of the same size.
Putting these two results together and combining with αP(r)=αP(r+3) (r=1,2,3) due to symmetry, we conclude the proof of this lemma. ∎
Probability of being holes.
Fixing a small block ZK that is useful for some retained triple (XI,YJ,ZK) (see Definition 7.9), we analyze the probability of ZK being a hole. There are two cases:
ZK is typical. We analyze it below.
According to Lemma 7.10, at least 2−o(n) fraction of the useful blocks are typical. For every typical block ZK, we use an approach similar to Section 6.2 to bound its probability of being holes:
Fixing a retained triple (XI,YJ,ZK) (it must be consistent with α(r) in all regions r∈) and a small typical block ZK∈Btypical,K useful for that triple, the probability of ZK being a hole in T(2)∣XI,YJ,ZK (i.e., being compatible with a different remaining triple (XI′,YJ′,ZK)) is at most 1/8.
A necessary condition of ZK being a hole is that there exists XI′=XI matchable to ZK such that (1) ZK is compatible with XI′; and (2) I′ is hashed to the same slot as K, i.e., hX(I′)=hZ(K). We calculate the expected number of such I′ to establish an upper bound on the probability of the existence of such I′:
where the first equality above holds due to Lemma 3.11; the third inequality holds according to the definition of pcomp above. It is worth noting that pcomp is defined for typical blocks ZK while this is also a premise of the current claim 7.13. ∎
Recall that for each of the Nret retained triples (XI,YJ,ZK), the fraction of non-hole blocks in T(2)∣XI,YJ,ZK is represented by ηI,J,K. That is, the fraction of useful blocks in Buseful(XI,YJ,ZK) not being a hole. Lemma 7.10 tells that at least 2−o(n) fraction of the useful blocks are typical, each of which has Ω(1) probability not to be a hole due to 7.13. Thus, we conclude that ηI,J,K≥2−o(n).
Bounding the value.
We will now obtain the bound for Vτ(6)(Ti,j,k,αZ). By 7.3, we know that Vτ(6)(Ti,j,k,αZ)6n≥Vτ(3)(T)3, i.e., Vτ(6)(Ti,j,k,αZ)2n≥Vτ(3)(T). In our algorithm, we degenerated T into tensor T(2), in which every triple T(2)∣XI,YJ,ZK is a broken copy of a standard form tensor T∗. The fraction of non-hole blocks in T(2)∣XI,YJ,ZK is ηI,J,K≥2−o(n) as shown above.
Same as Section 6, according to 5.11, T(2) can degenerate into
many copies of standard form tensors T∗. Together with (7.2), we know
\alpha_{\scriptscriptstyle\textup{BX}}^{(r)}\coloneqq 2^{H\big{(}{{\alpha}_{\scriptscriptstyle\textup{X}}^{(r)}}\big{)}}, and similarly \alpha_{\scriptscriptstyle\textup{BY}}^{(r)}\coloneqq 2^{H\big{(}{{\alpha}_{\scriptscriptstyle\textup{Y}}^{(r)}}\big{)}}, \alpha_{\scriptscriptstyle\textup{BZ}}^{(r)}\coloneqq 2^{H\big{(}{{\alpha}_{\scriptscriptstyle\textup{Z}}^{(r)}}\big{)}}. Then,
are the number of large X and Z-blocks normalized by taking the 2n-th root, respectively.
\alpha_{\scriptscriptstyle\textup{N}}\coloneqq\lim\limits_{n\to\infty}N_{\alpha}^{1/2n}=\prod_{r=1}^{6}\big{(}{\alpha_{\scriptscriptstyle\textup{N}}^{(r)}}\big{)}^{A_{r}/2}=\prod_{r=1}^{3}\big{(}{\alpha_{\scriptscriptstyle\textup{N}}^{(r)}}\big{)}^{A_{r}} is the number of triples consistent with α(r) in all regions r, where αN(r):=2H(α(r)).
αP=n→∞limpcomp1/2n. Its closed form is given in Lemma 7.12.
Then, we take the 2n-th root on both sides of (31), obtaining
Once the distributions α(r) are given, we can verify the lower bound of Vτ(6)(Ti,j,k,αZ) via Section 7.2.
3 Value from Merging When {i,j,k}𝑖𝑗𝑘\{i,j,k\} Contains Zero
In [Wil12], they gave the formula for computing the value of T0,j,k without restricted-splitting constraints:
And Vτ(6)(T0,j,k)=Vτ(6)(T0,k,j)=Vτ(6)(Tj,0,k)=Vτ(6)(Tk,0,j)=Vτ(6)(Tj,k,0)=Vτ(6)(Tk,j,0).
Then, the restricted-splitting value is exactly Vτ(6)(T0,j,k,αZ)=n→∞lim(m′)τ/n.
Heuristics and Numerical results
We start by illustrating the framework of our optimization process. For convenience, we will use the following terminology throughout this section:
Let T:=sym6(Ti,j,k⊗n). The symmetric hashing method specifies a joint split distribution α, then applies symmetric hashing to obtain some disjoint triples that are consistent with α (or its rotation) in each region. If we apply the same procedure on T′=sym6(Ti,j,k⊗n[αi,j,k]) where αi,j,k=αZ, the procedure is not affected. Therefore, a bound of the restricted-splitting value
This method is only used for level-2 components in our algorithm; the values of level-1 components are trivial.
Optimization problem.
Algorithm 1 leads to the following optimization problem: maximizing Vglob (the output of the algorithm) by choosing a feasible set of parameters. Similar to prior works, we need to actually solve this optimization problem in order to give a bound on ω. However, the optimization problem here is more challenging than that in the prior works.
We illustrate the difficulties by recalling the optimization framework in prior works (e.g., [LG14, AW21b]). They optimize the parameters level by level, component by component. For every component Ti,j,k, their goal is to maximize the lower bound of Vτ(6)(Ti,j,k), namely Vi,j,k, since it is the only property of Ti,j,k we used in subsequent levels. They solve an individual optimization (sub-)problem for maximizing Vi,j,k. Some heuristics are further applied to the subproblem so that it becomes a convex optimization problem, which enables the use of efficient solvers. The convex optimization problems are solved one by one, in the same order as Algorithm 1.
The first difference here is that we cannot simply decouple the optimization problem into different components and solve them separately. Assume for some component Ti,j,k we can achieve two value pairs, (Vi,j,k,αi,j,k) and (Vi,j,k′,αi,j,k′). Even if Vi,j,k>Vi,j,k′, we cannot simply say that the first one is better, because the split distribution αi,j,k also affects subsequent levels. Even when Vi,j,k=Vi,j,k′, it is still hard to tell whether αi,j,k is better than αi,j,k′ without providing the parameters of subsequent levels.
The second challenge is that our bounds from Sections 6 and 7 have more complicated forms than the prior works. This requires us to apply more complicated heuristics so that the objective function can become convex.
In the following subsections, we introduce our approach to address these difficulties.
1 Alternating Optimization
We still want to decouple the whole optimization problem, focusing on a single component at a time. We use a technique called alternating optimization to achieve this. It is a simple idea that has been well studied in machine learning.
Suppose we already have a feasible solution {Xglob(t),Xi,j,k(t)}. We enumerate all components (i,j,k) from lower levels to higher levels, one at a time, running a subroutine to update the parameters from Xi,j,k(t) to Xi,j,k(t+1). (We also do this for Xglob.) After the enumeration, the collection of current parameters becomes {Xglob(t),Xi,j,k(t+1)}. The above procedure is called an iteration of alternating optimization. We expect the final objective to increase contiguously if we run many iterations.
We obtain the first feasible solution by using a similar approach of previous works. For each component Ti,j,k, we solve the following subproblem:
(Our programs will store the logarithm of values for easier implementation. Consequently, the partial derivatives here are taken with respect to logarithms.) However, it incurs the following issue. Recall in Section 6, our obtained bound is
To resolve this issue, we design the following “soft-min” function:
The intuition behind this definition is that, we assume we can increase αBZ and decrease αBX while keeping αBXαBYαBZ=αBX2αBZ and other quantities in (6.2) unchanged.
Finally, we specify the objective function for subproblems as (8.1), but the partial derivatives are defined by replacing “min” with “soft-min”. The above description is only for illustrating the basic idea of this heuristic rather than defining the specific objective function. In practice, by observing how αi,j,k influences the logarithm of αP in the subsequent level, we can derive a better estimation than directly using the gradient. This improved estimation is still concave, allowing us to use convex optimization solvers. The remaining task is to solve the following optimization program for a component Ti,j,k:
We will introduce the approach in the next subsection.
2 Heuristics within a Component
The specific form of (8.1) depends on the type of Ti,j,k, or in other words, the approach used to obtain the bound Vi,j,k. Here, we illustrate the heuristics we used for the most challenging case: when Vi,j,k is obtained using the algorithm from Section 7. In this case, (8.1) is rewritten as
As discussed in the previous subsection, obj is a non-negative linear combination of logVi,j,k and αi,j,k.
Below, we introduce several heuristics to solve (8.2). We first divide the parameters into two groups, {A1,A2,A3} and {α(1),α(2),α(3)}, then apply the alternating optimization technique. That is, we first fix A1,A2,A3 as constants and optimize α(1),α(2),α(3), then do it conversely; this process is repeated multiple times to refine our solution.
This step is relatively easy, as we can rewrite
as a concave function of A1,A2,A3, where cr,cr′,cr′′ are constants that only depend on α(r). Moreover, αi,j,k is linear in the parameters A1,A2,A3. So obj is also concave in A1,A2,A3 since it is a non-negative linear combination of two concave functions. This means (8.2) is a concave maximization program (it is easy to check that all constraints on A1,A2,A3 are linear) which can be solved precisely and efficiently.
In this step, (8.2) is no longer concave, so we need to apply several heuristics to change its form. Let α(r)(old) and α(r)(new) (r=1,2,3) represent the parameters before and after the current alternating optimization step, i.e., α(r)(old) is predetermined and α(r)(new) is what we want to optimize. The basic intuition for our heuristics is that we expect α(r)(new) to be close to α(r)(old), which means several complicated quantities in (8.2) will not change too much. Then we compute these quantities with α(r)(old) and regard them as constants. Specifically:
Let R:=∏r=13(αN(r)/maxα′∈Dα(r)αN′)Ar. This factor appears in the form of Vi,j,k. We calculate this formula with the old parameters α(r)(old), and denote the result by R(old). Then, we replace R with the fixed constant R(old) in (8.2).
Similarly, we calculate αP(r) with the old parameters α(r)(old), and denote the result by αP(r)(old). We replace the occurrence of αP(r) with αP(r)(old) in (8.2).
With the two heuristics above, we estimate logVi,j,k by
Note that logαBX=H(αX) is a concave function of α. Therefore, one can check that our approximation for logVi,j,k is concave in all the parameters α(1),α(2),α(3). Then we can solve (8.2) via convex optimization tools.
Inspired by [AW21b], we can further refine α(1),α(2),α(3) by doing an optimization while fixing their marginals αX(r),αY(r),αZ(r). Since maxα′∈Dα(r)αN′ is determined by the marginal distributions, the factor R becomes a concave function of the parameters, so we no longer use the first heuristic in this further adjustment.We also replaced “min” with “soft-min” during this adjustment step, because it empirically improves the result.
3 Numerical Results
Our program differs from Algorithm 1 in that it optimizes multiple value pairs for every component instead of just one, allowing different components in the subsequent level to use different value pairs. In previous works, a single bound Vi,j,k is obtained for each component Ti,j,k: If there were multiple valid bounds, we could retain the best one and discard the others. However, this is not the case for (restricted-splitting) value pairs, so we made this adjustment. As a result, the optimization process becomes significantly slower when analyzing higher powers, which is why our analysis stops at the eighth power.
When analyzing the second and fourth tensor power of the Coppersmith-Winograd tensor using our asymmetric hashing approach, we also notice the improvement from previous works, as shown in Table 3.
We think a slightly better bound can be obtained by analyzing higher tensor powers.
References
Appendix A Missing Proofs from Section 4
(a) and (b) are clear because T0,0,4≅⟨1,1,1⟩ and T0,1,3≅⟨1,1,2q⟩.
To show (c), we let α(0,2,2) be a split distribution for the component (0,2,2):
where a′′+2b′′=1. We can write the corresponding Z-marginal distribution
Consider the tensor in which all Z-blocks inconsistent with αZ(0,2,2) are zeroed-out, i.e., T0,2,2⊗m[αZ(0,2,2)]. It is isomorphic to a matrix multiplication tensor where all remaining Z-variables are utilized:
The size of this matrix multiplication tensor on the right side is maximized at b′′=1/(2+q2), which leads to the lower bound of the non-rotational restricted-splitting value
where αB is the optimal choice of αZ(0,2,2) which is specified in Eq. 10. Thus (c) holds.
To show (d), we analyze sym3(T1,1,2⊗m) similarly to [CW90]. Let α(1,1,2) be the split distribution of component (1,1,2):
where 2a′+2b′=1. To see its restricted-splitting value, we degenerate sym3(T1,1,2⊗m[αZ(1,1,2)]) to independent matrix multiplication tensors, where
is the Z-marginal split distribution of α(1,1,2).
Let T be the tensor obtained from T1,1,2⊗m by zeroing out all blocks inconsistent with the marginal distributions of α(1,1,2). T is a subtensor of T1,1,2⊗m[αZ(1,1,2)]; it can be obtained by zeroing out X and Y-blocks from T1,1,2⊗m[αZ(1,1,2)]. Then, we take the 3-symmetrization of T, denoted by sym3(T):=T⊗Trot⊗Trotrot, which is a subtensor of sym3(T1,1,2⊗m[α(1,1,2)]). Next, symmetric hashing method is applied on sym3(T) to obtain (m/2m)2(2a′m,b′m,b′mm)⋅2−o(m) disjoint triples. Each triple is isomorphic to
From [CW90], we know that when b′=1/(2+q3τ), this is optimized at Vτ(3)(T1,1,2,αZ(1,1,2))≥22/3qτ(q3τ+2)1/3. In this case, αZ(1,1,2)=αA, where αA is defined in Eq. 9. This implies (d). ∎
We prove by contradiction. Let (XI,YJ,ZK) be a remaining level-1 triple. According to the zeroing-out rules, we know
In component (2,0,2), the split distribution in X leads to the split distribution in Z. So from Eq. 37 we know split(K,S2,0,2)=αB. Similarly we have split(K,S0,2,2)=αB. Combined with Eq. 36, we infer that split(K,S1,1,2)=αA. (Here we assume α(1,1,2)>0; otherwise the lemma is trivial.) These split distributions showed that ZK must be compatible with XI,YJ,ZK. ∎
The degeneration of T∗ provided by (13) is formed by combining the degenerations for several factors, as shown in Lemma 4.6. For each factor, it is easy to verify that its degeneration in our analysis is a zeroing out and produces a direct sum of equal-sized matrix multiplication tensors. Therefore, the degeneration of T∗, as the tensor product of the zeroing-outs of these factors, is also a zeroing-out which produces equal-sized matrix multiplication tensors. ∎
Appendix B Heuristics for Section 4
Consider the following approximated optimization program:
It has the following differences from the original program:
The ratio αN/maxα′∈DααN′ is removed from the objective. This ratio is always close to 1 for the optimal α in practice, but it makes the optimization extremely difficult, hence we remove it to simplify the objective function.
The feasibility constraint αBX≤αBZ/αP is transformed to a minimum in the objective function. In fact, this is not a heuristic: From Sections 6 and 7 we can see that such modification also leads to valid lower bounds. In this section we did not prove such complicated version of the bound since we aim for better presentation.
αP is replaced by a fixed reference value αP∗ (initially it is a function of optimization parameters). It is because αP is a complicated function of a,b,c,d,e which stops us to apply convex optimization tools. By replacing it with a fixed number, the new objective become logarithmic concave.
Imagine that we already know a distribution α(0) that is close to the optimal value. By substituting αP∗ by αP(0) and solving the approximated program, we can hopefully get a better solution α(1) than α(0). Then, we substitute αP∗ by αP(1) and solve the approximate program again, obtaining its optimal solution α(2). As shown in Algorithm 2, we repeat such procedure for a few iterations and take the output of the last iteration as our result solution. The initial solution α(0) can be obtained by solving the approximated program with αP∗=1.
Practically, for the solution α(tmax) before perturbation in line 2, we observe αBX≈αBZ/αP. Therefore a perturbation is enough to satisfy the constraint without much loss on the solution’s quality. In practice, this perturbation step is done manually.
Appendix C Mising Proofs from Section 7
Recall that we say ZK∈ZK is useful for (XI,YJ,ZK) when the Z-marginal split distribution in Si′,j′,k′(r) is the same as αi′,j′,k′(r). Further, we say ZK is strongly useful for (XI,YJ,ZK), if its marginal split distribution in Si′,j′,k′(r,L) and Si′,j′,k′(r,R) are both identical to αi′,j′,k′(r). It is a sufficient condition of usefulness. The set of ZK∈ZK that are strongly useful for (XI,YJ,ZK) is denoted by Bstrong(XI,YJ,ZK).
The concept of strong usefulness has a tight connection with typicalness. We will show
It is clear that these two inequalities together can imply Lemma 7.10. Next, we first show (39) by calculating both sides of it.
Below is an equivalent condition of ZK∈ZK being strongly useful:
For every r and (i′,j′,k′), this condition implies two constraints of the form split(K,S)=α, for which we have ([∣S∣⋅α(kl′)]kl′∣S∣)=2∣S∣⋅H(α)+o(n) ways to split the Z-indices in S. All these constraints apply on disjoint position sets. Multiplying the number of ways over all constraints, we obtain the number of strongly useful blocks ZK∈ZK:
(The last equality holds since ∣S(r,L)∣=∣S(r,R)∣.)
Consider the following sufficient condition for a block ZK∈ZK to be both strongly useful and typical:
That is, the frequency of occurrence of (K2t−1,K2t,K2t+1,K2t+2) matches the distribution αi′,j′,k′(r)×αi(r)−i′,j(r)−j′,k(r)−k′(r).
Suppose some block ZK satisfies the above condition. By summing up (42) over all (i′,j′,k′) and all r∈, we see ZK is typical. Moreover, the marginals of αi′,j′,k′(r)×αi(r)−i′,j(r)−j′,k(r)−k′(r) on k1 and k3 are identical to αi′,j′,k′(r) and αi(r)−i′,j(r)−j′,k(r)−k′(r), respectively, which implies that ZK is strongly useful.
Next, we count the number of ZK∈ZK satisfying (42) to form a lower bound of ∣Bstrong(XI,YJ,ZK)∩Btypical,K∣. Similar to above, the constraints from different (i′,j′,k′) and r are applying on disjoint sets of positions. For each of the constraints, the number of ways to split Z-indices (Kt,Kt+1)=(k′,k(r)−k′) into (k1,k2,k3,k4) equals
Multiplying these numbers over all (i′,j′,k′) and r, we obtain
which equals (41) up to a negligible factor 2o(n). Thus, Eq. 39 holds.
Proof of Eq. 40.
A similar argument is applied to show (40). We start by transforming (41) into the following equivalent form:
Then, we count the number of useful blocks ZK∈ZK:
The last equality holds due to (43) and \big{|}{S^{(r)}_{i^{\prime},j^{\prime},k^{\prime}}}\big{|}=\big{|}{S^{(r,\textup{L})}_{i^{\prime},j^{\prime},k^{\prime}}}\big{|}+\big{|}{S^{(r,\textup{R})}_{i^{\prime},j^{\prime},k^{\prime}}}\big{|}. Thus, (40) holds. Combining (40) with (39), we conclude the proof. ∎