Download presentation
Presentation is loading. Please wait.
Published byRafe Bertram Knight Modified over 9 years ago
1
1 Complete this to a Pfaffian orientation (all internal faces have an odd number of clockwise arcs).
2
2
3
3
4
4
5
5
6
6
7
7
8
8 Announcements: The deadline for the slides for the research proposal has been extended to Thursday Nov. 1.
9
9 Strassen’s Algorithm for Matrix Multiplication c 11 c 12 c 21 c 22 a 11 a 12 a 21 a 22 b 11 b 12 b 21 b 22 =*
10
10 d 1 = (a 11 +a 22 ) * (b 11 +b 22 ) d 2 = (a 12 -a 22 ) * (b 21 +b 22 ) d 3 = (a 11 -a 21 ) * (b 11 +b 12 ) d 4 = (a 11 +a 12 ) * (b 22 ) d 5 = (a 21 +a 22 ) * (b 11 ) d 6 =(a 11 ) * (b 12 -b 22 ) d 7 =(a 22 ) *(-b 11 +b 21 ) C 11 = d 1 + d 2 –d 4 + d 7 C 12 = d 4 + d 6 C 21 = d 5 + d 7 C 22 = d 1 - d 3 –d 5 + d 6
11
11 d 1 = (a 11 +a 22 ) * (b 11 +b 22 ) d 2 = (a 12 -a 22 ) * (b 21 +b 22 ) d 3 = (a 11 -a 21 ) * (b 11 +b 12 ) d 4 = (a 11 +a 12 ) * (b 22 ) d 5 = (a 21 +a 22 ) * (b 11 ) d 6 =(a 11 ) * (b 12 -b 22 ) d 7 =(a 22 ) *(-b 11 +b 21 ) 7 Multiplications C 11 = d 1 + d 2 –d 4 + d 7 C 12 = d 4 + d 6 C 21 = d 5 + d 7 C 22 = d 1 - d 3 –d 5 + d 6
12
12 d 1 = (a 11 +a 22 ) * (b 11 +b 22 ) d 2 = (a 12 -a 22 ) * (b 21 +b 22 ) d 3 = (a 11 -a 21 ) * (b 11 +b 12 ) d 4 = (a 11 +a 12 ) * (b 22 ) d 5 = (a 21 +a 22 ) * (b 11 ) d 6 =(a 11 ) * (b 12 -b 22 ) d 7 =(a 22 ) *(-b 11 +b 21 ) C 11 = d 1 + d 2 – d 4 + d 7 C 12 = d 4 + d 6 C 21 = d 5 + d 7 C 22 = d 1 - d 3 –d 5 + d 6 18 Additions or Subtractions
13
13 Strassen’s Algorithm for Matrix Multiplication C 11 C 12 C 21 C 22 A 11 A 12 A 21 A 22 B 11 B 12 B 21 B 22 =* T(n) = Time to multiply two n by n matrices. T(n)= 7 T(n/2) + 18(n/2) 2 Solution: T(n)= O( n k ) where k= log 2 (7).
14
14 Coppersmith–Winograd algorithm: named after Don Coppersmith and Shmuel Winograd, O (n 2.376 ) time. Trivial algorithm: O (n 3 ) time. Strassen’s algorithm: O (n 2.80736 ) time. It might be possible to time improve the exponent further; however, the exponent must be at least 2 (because an matrix has n 2 values, and all of them have to be read at least once to calculate the exact result).
15
15 The Coppersmith–Winograd algorithm is frequently used as a building block in other algorithms to prove theoretical time bounds. However, unlike the Strassen algorithm, it is not used in practice because it only provides an advantage for matrices so large that they cannot be processed by modern hardware.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.