Introduction to the Problem Strassen’s Algorithm Intro. to Tensor Rank Bounding ω with Tensor Rank
Fast Matrix Multiplication = Calculating Tensor Rank Caltech Math 10 Presentation
Chinmay Nirkhe
November 15th, 2016
Chinmay Nirkhe Fast Matrix Multiplication 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 multiplications 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. R(T )) is the minimum number of rank 1 tensors 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 additions.
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 (Permutation invariant)
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 Product 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 (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.
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 Group 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