Group-Theoretic Partial Matrix Multiplication - Department of ...
Group-Theoretic Partial Matrix Multiplication - Department of ...
Group-Theoretic Partial Matrix Multiplication - Department of ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2 Full and <strong>Partial</strong> <strong>Group</strong>-<strong>Theoretic</strong> <strong>Matrix</strong> <strong>Multiplication</strong><br />
Our main theorems describe an algorithm for multiplying matrices using triples<br />
<strong>of</strong> subsets not satisfying the triple product property (see Definition 2.4). Some<br />
entries must be set to zero, and then partial matrix multiplications are performed.<br />
This section introduces the original group-theoretic algorithm by Cohn<br />
and Umans [3], as well as the notion <strong>of</strong> ‘aliasing’, the motivation for our focus<br />
on partial matrix multiplication.<br />
2.1 Full <strong>Multiplication</strong>: The Cohn-Umans Algorithm<br />
Definition 2.1. If S, T, U are ordered subsets <strong>of</strong> a group G, then the Cohn-<br />
Umans algorithm [3] for matrix multiplication computes the product <strong>of</strong> matrices<br />
M and N <strong>of</strong> dimensions |S| × |T | and |T | × |U|, respectively, as follows.<br />
Index the rows <strong>of</strong> M by S−1 , the columns <strong>of</strong> M by T , the rows <strong>of</strong> N by<br />
T −1 , and the columns <strong>of</strong> N by U. Then let fM = <br />
−1<br />
i,j<br />
Mi,jsi tj and fN =<br />
−1<br />
j,k<br />
Nj,ktj uk. Compute fP = fM fN, and assign to Pi,k the coefficient <strong>of</strong><br />
s −1<br />
i uk in fP .<br />
Theorem 2.2. The Cohn-Umans algorithm computes, in position i, k <strong>of</strong> the<br />
product matrix, the sum <strong>of</strong> all terms Mi ′ ,jNj ′ ,k ′, where<br />
s −1<br />
i<br />
′ tjt −1<br />
i uk.<br />
j ′ uk ′ = s−1<br />
Pro<strong>of</strong>. Every term in fP is a product <strong>of</strong> a term in fM with a term in fN. The<br />
s −1<br />
i uk term is exactly the sum <strong>of</strong> all terms (zm)(z ′ n), where z, z ′ ∈ C n×n ,<br />
m ∈ S −1 T and n ∈ T −1 U, and mn = s −1<br />
i uk. But this is exactly the sum in the<br />
statement <strong>of</strong> the theorem. <br />
Corollary 2.3. The Cohn-Umans algorithm is correct if and only if for all<br />
s, s ′ ∈ S, t, t ′ ∈ T, u, u ′ ∈ U, we have that ss ′−1 tt ′−1 uu ′−1 = e implies s =<br />
s ′ , t = t ′ , u = u ′ .<br />
Pro<strong>of</strong>. This result follows from the previous theorem since<br />
s −1<br />
i<br />
′ tjt −1<br />
j ′ uk ′ = s−1 i uk<br />
implies i = i ′ , j = j ′ , u = u ′ , meaning that entry (i, k) <strong>of</strong> the product only<br />
contains terms formed by multiplying entry (i, j) by (j, k) in the left and right<br />
factor matrices, respectively. <br />
Definition 2.4. The property in 2.3 is called the triple product property [3].<br />
Example 2.5. The following sets in D12 = 〈x, y|x 6 = y 2 = 1, xy = yx −1 〉 have<br />
the triple-product property:<br />
S = {1, y}<br />
T = {1, yx 2 , x 3 , xy}<br />
U = {1, yx}<br />
4