« previous | Friday, September 7, 2012 | next »
We assume , , and eventually positive
Note: For case 3, must be regular
Matrix Multiplication
Classic algorithm
for
for i from 1 to n do:
for j from 1 to k do:
for t from 1 to m do:
end for
end for
end for
Approx
Divide and Conquer
Divide batrices and into four smaller matrices:
- 8 matrix multiplications on submatrices of and
- scalar additions
Running Time
- great, all that work for nothing.
Can we do fewer operations?
Strassen's Matrix
Just calculate 7 products and do a bunch of cheap additions
Integer Multiplication
Elementary school algorithm
Multiplication of 2 -bit numbers takes .
Kolmogrov (at one of his seminars) conjectured that we can't do better, but Karatsuba proved him wrong a week later.
Dividery and Conquery
Split and into two smaller parts: their most significant and least significant parts:
- , where and are n/2-bit algorithms
- , where and are n/2-bit algorithms
- still
What if we multiply ? Just correct the terms:
This has only 3 multiplications, so
Summary of Dividery and Conquery
- Split into two parts and
- Split into two parts and
- calculate , , and
- shift each of the results by a certain amount and add all of those together