Introduction to the Problem Strassen’s Algorithm Intro. to Bounding ω with Tensor Rank

Fast Matrix = Calculating Tensor Rank Caltech Math 10 Presentation

Chinmay Nirkhe

November 15th, 2016

Chinmay Nirkhe Fast Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Statement of the Problem

Question n×n Given two matrices A, B ∈ C , what is the algorithmic complexity of calculating C = AB? X Cij = Aik Bkj k

Assume that arithmetic operations (i.e. +, ×) of two values in C is constant time (O(1)).

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Big-O Notation

Definition (Big-O) For functions f , g : N → N, we say f ∈ O(g) (or f = O(g)) if ∃ c > 0 s.t. f (n) ≤ cg(n) for all but finitely many n.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank A na¨ıve O(n3) algorithm

Calculating each Cij can be done in O(n) computations by X Cij = Aik Bkj k

2 2 3 n such values Cij =⇒ n · O(n) = O(n ).

Chinmay Nirkhe Fast Matrix Multiplication Remark (Trivial Bounds) 2 ≤ ω ≤ 3.

We saw an O(n3) algorithm. C has n2 entries so it takes at least O(n2) computations to just write C.

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Definition of ω

Definition (Coefficient of Matrix Multiplication) We define the coefficient of matrix multiplication ω as n o ω = inf α s.t. ∀ > 0, ∃ alg. of complexity O(nα+) .

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Definition of ω

Definition (Coefficient of Matrix Multiplication) We define the coefficient of matrix multiplication ω as n o ω = inf α s.t. ∀ > 0, ∃ alg. of complexity O(nα+) .

Remark (Trivial Bounds) 2 ≤ ω ≤ 3.

We saw an O(n3) algorithm. C has n2 entries so it takes at least O(n2) computations to just write C.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Goal revisited

The goal is to (ideally) show ω = 2. The latest result by Coppersmith-Winnograd is ω ≤ 2.3728639.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank How do we improve ω?

2×2 Start by considering A, B ∈ C . Then,  C = A B + A B  11 11 11 12 21  C12 = A11B12 + A12B22 C = A B + A B  21 21 11 22 21  C22 = A21B12 + A22B22

Clearly there are 8 terms here. We are going to reduce this to 7 multiplications.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank 7 multiplications

M1 = (A11 + A22)(B11 + B22) M2 = (A21 + A22)B11  C = M + M − M + M  11 1 4 5 7 M3 = A11(B12 − B22)  C12 = M3 + M5 M4 = A22(B21 − B11) C = M + M  21 2 4 M5 = (A11 + A12)B22  C22 = M1 − M2 + M3 + M6 M6 = (A21 − A11)(B11 + B12)

M7 = (A12 − A22)(B21 + B22)

Chinmay Nirkhe Fast Matrix Multiplication 2m×2m Let f (m) be the complexity of multiplying A, B ∈ C .

m m f (m) = 7f (m − 1) + c0(2 × 2 )

f (m) = O(7m)

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank A bound on ω due to 7 multiplications and recursion

! 2m×2m A11 A12 Consider matrices A, B ∈ C , m ∈ N. Write A = A21 A22 2m−1×2m−1 for Aij ∈ C and B similarly. Use the 7 multiplication trick to recursively multiply A and B.

Chinmay Nirkhe Fast Matrix Multiplication f (m) = O(7m)

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank A bound on ω due to 7 multiplications and recursion

! 2m×2m A11 A12 Consider matrices A, B ∈ C , m ∈ N. Write A = A21 A22 2m−1×2m−1 for Aij ∈ C and B similarly. Use the 7 multiplication trick to recursively multiply A and B.

2m×2m Let f (m) be the complexity of multiplying A, B ∈ C .

m m f (m) = 7f (m − 1) + c0(2 × 2 )

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank A bound on ω due to 7 multiplications and recursion

! 2m×2m A11 A12 Consider matrices A, B ∈ C , m ∈ N. Write A = A21 A22 2m−1×2m−1 for Aij ∈ C and B similarly. Use the 7 multiplication trick to recursively multiply A and B.

2m×2m Let f (m) be the complexity of multiplying A, B ∈ C .

m m f (m) = 7f (m − 1) + c0(2 × 2 )

f (m) = O(7m)

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank A bound on ω due to 7 multiplications and recursion

Let N = 2m, then f (m) = O(Nlog2 7).

Theorem (Strassen’s)

ω ≤ log2 7 ≈ 2.8074

Chinmay Nirkhe Fast Matrix Multiplication No.

Can we find a simpler way to multiply a 3 × 3 matrix using k multiplications s.t. log3 k < log2 7?

No.

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Can we multiply C2×2 with < 7 multiplications?

Chinmay Nirkhe Fast Matrix Multiplication Can we find a simpler way to multiply a 3 × 3 matrix using k multiplications s.t. log3 k < log2 7?

No.

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Can we multiply C2×2 with < 7 multiplications?

No.

Chinmay Nirkhe Fast Matrix Multiplication No.

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Can we multiply C2×2 with < 7 multiplications?

No.

Can we find a simpler way to multiply a 3 × 3 matrix using k multiplications s.t. log3 k < log2 7?

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Can we multiply C2×2 with < 7 multiplications?

No.

Can we find a simpler way to multiply a 3 × 3 matrix using k multiplications s.t. log3 k < log2 7?

No.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank The Matrix Multiplication Tensor

Definition (The Matrix Multiplication Tensor) nm×mp×pn For fixed n, the matrix multiplication tensor T ∈ C defined by Tij0,jk0,ki 0 = 1{i=i 0,j=j0,k=k0} for i, i 0, j, j0, k, k0 ∈ {1,..., n}.

Notation The tensor is often notated as hn, m, pi.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank M.M. Tensor of h2, 2, 2i

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Strassen’s equations

M1 = (A11 + A22)(B11 + B22)

M2 = (A21 + A22)B11

M3 = A11(B12 − B22)

M4 = A22(B21 − B11)

M5 = (A11 + A12)B22

M6 = (A21 − A11)(B11 + B12)

M7 = (A12 − A22)(B21 + B22)

Chinmay Nirkhe Fast Matrix Multiplication Definition (Tensor Rank) For an arbitrary tensor T , the rank of T (not. (T )) is the minimum of rank 1 summing to T .

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Rank of a Tensor

Definition (Rank 1 Tensor) nm×mp×np A tensor T ∈ C is a rank 1 tensor if it can be expressed nm mp np as T = u ⊗ v ⊗ w where u ∈ C , v ∈ C , w ∈ C . i.e.

Tijk = ui vj wk

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Rank of a Tensor

Definition (Rank 1 Tensor) nm×mp×np A tensor T ∈ C is a rank 1 tensor if it can be expressed nm mp np as T = u ⊗ v ⊗ w where u ∈ C , v ∈ C , w ∈ C . i.e.

Tijk = ui vj wk

Definition (Tensor Rank) For an arbitrary tensor T , the rank of T (not. R(T )) is the minimum number of rank 1 tensors summing to T .

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank R(h2, 2, 2i) ≤ 7.

T1 = (1, 0, 0, 1) ⊗ (1, 0, 0, 1) ⊗ (1, 0, 0, 1)

T2 = (0, 0, 1, 1) ⊗ (1, 0, 0, 0) ⊗ (0, 0, 1, −1)

T3 = (1, 0, 0, 0) ⊗ (0, 1, 0, −1) ⊗ (0, 1, 0, 1)

T4 = (0, 0, 0, 1) ⊗ (−1, 0, 1, 0) ⊗ (1, 0, 1, 0)

T5 = (1, 1, 0, 0) ⊗ (0, 0, 0, 1) ⊗ (−1, 1, 0, 0)

T6 = (−1, 0, 1, 0) ⊗ (1, 1, 0, 0) ⊗ (0, 0, 0, 1)

T7 = (0, 1, 0, −1) ⊗ (0, 0, 1, 1) ⊗ (1, 0, 0, 0)

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Strassen’s equations

M1 = (A11 + A22)(B11 + B22) M2 = (A21 + A22)B11  C = M + M − M + M  11 1 4 5 7 M3 = A11(B12 − B22)  C12 = M3 + M5 M4 = A22(B21 − B11) C = M + M  21 2 4 M5 = (A11 + A12)B22  C22 = M1 − M2 + M3 + M6 M6 = (A21 − A11)(B11 + B12)

M7 = (A12 − A22)(B21 + B22)

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank M.M. Tensor of h2, 2, 2i

Chinmay Nirkhe Fast Matrix Multiplication r X Let T = u` ⊗ v` ⊗ w` be the rank decomposition of T . Divide `=1 nm×nm matrices A, B ∈ C into n × n equal parts A11,..., Ann and B11,..., Bnn. Compute (recursively)  n,n   n,n  X (ij) X (ij) M` =  u` Aij   v` Bij  i,j=1 i,j=1 r X Cij = w`M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Theorem For any n > 2, if r = R(hn, n, ni) where hn, n, ni is the mat.mult. tensor for n × n matrices, then ω ≤ logn r

Chinmay Nirkhe Fast Matrix Multiplication Divide

nm×nm matrices A, B ∈ C into n × n equal parts A11,..., Ann and B11,..., Bnn. Compute (recursively)  n,n   n,n  X (ij) X (ij) M` =  u` Aij   v` Bij  i,j=1 i,j=1 r X Cij = w`M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Theorem For any n > 2, if r = R(hn, n, ni) where hn, n, ni is the mat.mult. tensor for n × n matrices, then ω ≤ logn r r X Let T = u` ⊗ v` ⊗ w` be the rank decomposition of T . `=1

Chinmay Nirkhe Fast Matrix Multiplication Compute (recursively)

 n,n   n,n  X (ij) X (ij) M` =  u` Aij   v` Bij  i,j=1 i,j=1 r X Cij = w`M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Theorem For any n > 2, if r = R(hn, n, ni) where hn, n, ni is the mat.mult. tensor for n × n matrices, then ω ≤ logn r r X Let T = u` ⊗ v` ⊗ w` be the rank decomposition of T . Divide `=1 nm×nm matrices A, B ∈ C into n × n equal parts A11,..., Ann and B11,..., Bnn.

Chinmay Nirkhe Fast Matrix Multiplication r X Cij = w`M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Theorem For any n > 2, if r = R(hn, n, ni) where hn, n, ni is the mat.mult. tensor for n × n matrices, then ω ≤ logn r r X Let T = u` ⊗ v` ⊗ w` be the rank decomposition of T . Divide `=1 nm×nm matrices A, B ∈ C into n × n equal parts A11,..., Ann and B11,..., Bnn. Compute (recursively)  n,n   n,n  X (ij) X (ij) M` =  u` Aij   v` Bij  i,j=1 i,j=1

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Theorem For any n > 2, if r = R(hn, n, ni) where hn, n, ni is the mat.mult. tensor for n × n matrices, then ω ≤ logn r r X Let T = u` ⊗ v` ⊗ w` be the rank decomposition of T . Divide `=1 nm×nm matrices A, B ∈ C into n × n equal parts A11,..., Ann and B11,..., Bnn. Compute (recursively)  n,n   n,n  X (ij) X (ij) M` =  u` Aij   v` Bij  i,j=1 i,j=1 r X Cij = w`M` `=1

Chinmay Nirkhe Fast Matrix Multiplication m m f (m) = rf (m − 1) + c0(n × n )

m (logn r)m m f (m) = O(r ) = O(n ) =⇒ ω ≤ log2

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Calculation of M takes r multiplications of matrices of size m−1 m−1 2 n × n + c0N .

Chinmay Nirkhe Fast Matrix Multiplication m (logn r)m m f (m) = O(r ) = O(n ) =⇒ ω ≤ log2

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Calculation of M takes r multiplications of matrices of size m−1 m−1 2 n × n + c0N additions.

m m f (m) = rf (m − 1) + c0(n × n )

Chinmay Nirkhe Fast Matrix Multiplication m ω ≤ log2

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Calculation of M takes r multiplications of matrices of size m−1 m−1 2 n × n + c0N additions.

m m f (m) = rf (m − 1) + c0(n × n )

f (m) = O(r m) = O(n(logn r)m) =⇒

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

Calculation of M takes r multiplications of matrices of size m−1 m−1 2 n × n + c0N additions.

m m f (m) = rf (m − 1) + c0(n × n )

m (logn r)m m f (m) = O(r ) = O(n ) =⇒ ω ≤ log2

Chinmay Nirkhe Fast Matrix Multiplication r X X (`) = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 `=1 i,i 0,j,j0 r  n,n   n,n  X (ab) X (ij) X (ij) = w`  u` Aij   v` Bij  `=1 i,j=1 i,j=1 r X (ab) = w` M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

By the construction of the tensor, X Cab = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 i,i 0,j,j0

Chinmay Nirkhe Fast Matrix Multiplication r  n,n   n,n  X (ab) X (ij) X (ij) = w`  u` Aij   v` Bij  `=1 i,j=1 i,j=1 r X (ab) = w` M` `=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

By the construction of the tensor, X Cab = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 i,i 0,j,j0 r X X (`) = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 `=1 i,i 0,j,j0

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank

ω ≤ logn R(hn, n, ni)

By the construction of the tensor, X Cab = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 i,i 0,j,j0 r X X (`) = T(i,j)(i 0,j0)(a,b)Aij Bi 0j0 `=1 i,i 0,j,j0 r  n,n   n,n  X (ab) X (ij) X (ij) = w`  u` Aij   v` Bij  `=1 i,j=1 i,j=1 r X (ab) = w` M` `=1

Chinmay Nirkhe Fast Matrix Multiplication What about non cubic-tensors?

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Does this help reduce ω bound?

Theorem

For n > 2, ω ≤ logn R(hn, n, ni). The only other small n found for which this gives a stronger bound than Strassen’s is n = 70, where R = 143, 640 so ω ≤ 2.80.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Does this help reduce ω bound?

Theorem

For n > 2, ω ≤ logn R(hn, n, ni). The only other small n found for which this gives a stronger bound than Strassen’s is n = 70, where R = 143, 640 so ω ≤ 2.80.

What about non cubic-tensors?

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank The Matrix Multiplication Tensor

Definition (The Matrix Multiplication Tensor) nm×mp×pn For fixed n, the matrix multiplication tensor T ∈ C defined by Tij0,jk0,ki 0 = 1{i=i 0,j=j0,k=k0} for i, i 0, j, j0, k, k0 ∈ {1,..., n}.

Notation The tensor is often notated as hn, m, pi.

Chinmay Nirkhe Fast Matrix Multiplication Take the decomposition into rank 1 tensors and permute (u, v, w) 7→ (π(u), π(v), π(w)) for each rank 1 tensor.

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Bounding Non-Cubic Tensors

Lemma ( )

R(hn, m, pi) = R(hπ(n), π(m), π(p)i) for any π ∈ S3.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Bounding Non-Cubic Tensors

Lemma (Permutation invariant)

R(hn, m, pi) = R(hπ(n), π(m), π(p)i) for any π ∈ S3.

Take the decomposition into rank 1 tensors and permute (u, v, w) 7→ (π(u), π(v), π(w)) for each rank 1 tensor.

Chinmay Nirkhe Fast Matrix Multiplication Think of hnn0, mm0, pp0i as deconstruction into a tensor of tensors.

Pr 0 0 0 Pr 0 0 0 0 Let hn, m, pi = i=1 ui ⊗ vi ⊗ wi , hn , m , p i = j=1 uj ⊗ vj ⊗ wj . Then

r,r 0 0 0 0 X 0 0 0 hnn , mm , pp i = (ui ⊗ uj ) ⊗ (vi ⊗ vj ) ⊗ (wi ⊗ wj ) i,j=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Bounding Non-Cubic Tensors

Lemma (Tensor Upper bound)

R(hnn0, mm0, pp0i) = R(hn, m, pi ⊗ hn0, m0, p0i) ≤ R(hn, m, pi)R(hn0, m0, p0i).

Chinmay Nirkhe Fast Matrix Multiplication Pr 0 0 0 Pr 0 0 0 0 Let hn, m, pi = i=1 ui ⊗ vi ⊗ wi , hn , m , p i = j=1 uj ⊗ vj ⊗ wj . Then

r,r 0 0 0 0 X 0 0 0 hnn , mm , pp i = (ui ⊗ uj ) ⊗ (vi ⊗ vj ) ⊗ (wi ⊗ wj ) i,j=1

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Bounding Non-Cubic Tensors

Lemma ( Upper bound)

R(hnn0, mm0, pp0i) = R(hn, m, pi ⊗ hn0, m0, p0i) ≤ R(hn, m, pi)R(hn0, m0, p0i).

Think of hnn0, mm0, pp0i as deconstruction into a tensor of tensors.

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Bounding Non-Cubic Tensors

Lemma (Tensor Product Upper bound)

R(hnn0, mm0, pp0i) = R(hn, m, pi ⊗ hn0, m0, p0i) ≤ R(hn, m, pi)R(hn0, m0, p0i).

Think of hnn0, mm0, pp0i as deconstruction into a tensor of tensors.

Pr 0 0 0 Pr 0 0 0 0 Let hn, m, pi = i=1 ui ⊗ vi ⊗ wi , hn , m , p i = j=1 uj ⊗ vj ⊗ wj . Then

r,r 0 0 0 0 X 0 0 0 hnn , mm , pp i = (ui ⊗ uj ) ⊗ (vi ⊗ vj ) ⊗ (wi ⊗ wj ) i,j=1

Chinmay Nirkhe Fast Matrix Multiplication R(hnmp, nmp, nmpi) ≤ R(hn, m, pi)R(hm, p, ni)R(hp, n, mi) ≤ R(hn, m, pi)3

3 ω ≤ lognmp R(hn, m, pi) = 3 lognmp R(hn, m, pi)

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank General Tensor Bound

Theorem (General Bound)

ω ≤ 3 lognmp R(hn, m, pi)

Chinmay Nirkhe Fast Matrix Multiplication 3 ω ≤ lognmp R(hn, m, pi) = 3 lognmp R(hn, m, pi)

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank General Tensor Bound

Theorem (General Bound)

ω ≤ 3 lognmp R(hn, m, pi)

R(hnmp, nmp, nmpi) ≤ R(hn, m, pi)R(hm, p, ni)R(hp, n, mi) ≤ R(hn, m, pi)3

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank General Tensor Bound

Theorem (General Bound)

ω ≤ 3 lognmp R(hn, m, pi)

R(hnmp, nmp, nmpi) ≤ R(hn, m, pi)R(hm, p, ni)R(hp, n, mi) ≤ R(hn, m, pi)3

3 ω ≤ lognmp R(hn, m, pi) = 3 lognmp R(hn, m, pi)

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank The Quest for Tensor Rank and other methods

Computational bashing! People have tried to find tensors but non-trivial in general and no serious improvements have been achieved.

Chinmay Nirkhe Fast Matrix Multiplication Theorem

ω ≤ 3 lognmp R(hn, m, pi)

Theorem R(h2, 2, 3) = 10 =⇒ ω ≤ 2.79

Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Border Rank

(k) k nm×mp×np Let T ∈ (C[ ]) be a tensor such that as  → 0, (k) k k+1 (k) T =  T + O( ). Then, define R(T ) = mink R(T ).

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Border Rank

(k) k nm×mp×np Let T ∈ (C[ ]) be a tensor such that as  → 0, (k) k k+1 (k) T =  T + O( ). Then, define R(T ) = mink R(T ). Theorem

ω ≤ 3 lognmp R(hn, m, pi)

Theorem R(h2, 2, 3) = 10 =⇒ ω ≤ 2.79

Chinmay Nirkhe Fast Matrix Multiplication Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank Theoretic Approach

Recently, the biggest push in this subject and the way that Coppersmith and Winnograd achieved their lower bound was to find the matrix multiplication tensor embedded within the Cayley table of a group G and use properties of generators on the group to bound ω. But for another day...

Chinmay Nirkhe Fast Matrix Multiplication