11.05.2013 Views

Group-Theoretic Partial Matrix Multiplication - Department of ...

Group-Theoretic Partial Matrix Multiplication - Department of ...

Group-Theoretic Partial Matrix Multiplication - Department of ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!