You are on page 1of 1

STRASSENS MATRIX MULTIPLICATION ( ALGORITHM )

1. Uses Divide & Conquer Approach


2. ALGORITHM:
Strassen_mul (A, B, n)
1. if n == 1
2.
return A B
3. else
4.
//Compute A11, B11, . . . ,A22, B22 % by computing m = n/2
5.
S1 = B12 B22
6.
S2 = A11 + A12
7.
S3 = A21 + A22
8.
S4 = B21 B11
9.
S5 = A11 + A22
10.
S6 = B11 + B22
11.
S7 = A12 A22
12.
S8 = B21 + B22
13.
S9 = A11 A21
14.
S10= B11 + B12
15.
P1 = Strassen_mul (A11, S1 , n/2)
16.
P2 = Strassen_mul (S2, B22, n/2)
17.
P3 = Strassen_mul (S3 , B11, n/2)
18.
P4 = Strassen_mul (A22, S4 , n/2)
19.
P5 = Strassen_mul (S5 , S6 , n/2)
20.
P6 = Strassen_mul (S7 , S8 , n/2)
21.
P7 = Strassen_mul (S9 , S10 , n/2)
22.
C11 = P5 + P4 P2 + P6
23.
C12 = P1 + P2
24.
C21 = P3 + P4
25.
C22 = P1 + P5 P3 P7
26.
return C
3. COMPLEXITY:

_____________________________________________________________________________
**Reference: Cormen et al. for algorithms.

You might also like