como programar el algoritmo de strassen en java

Solutions on MaxInterview for como programar el algoritmo de strassen en java by the best coders in the world

showing results for - "como programar el algoritmo de strassen en java"
Antonio
02 May 2016
1Strassen (MA, MB)
2
3    ad_hoc
4        // Dividimos las matrices MA y MB en cuatro componentes cada una
5        // Genera los números A(MA11), B(MA12), C(MA21), D(MA22), E(MB11), F(MB12), G(MB21) y H(MB22)
6        P1 = A * (F - H)
7        P2 = (A + B) * H
8        P3 = (C + D) * E
9        P4 = D * (G - E)
10        P5 = (A + D) * (E + H)
11        P6 = (B - D) * (G + H)
12        P7 = (A - C) * (E + F)
13
14        // Creamos los cuatro elementos de la solución
15        R11 = P5 + P4 - P2 + P6
16        R12 = P1 + P2
17        R21 = P3 + P4
18        R22 = P1 + P5 - P3 - P7
19
20        R = fusion(R11, R12, R21, R22);
21        return R;
22
23    else
24        // Dividimos las matrices MA y MB en cuatro cuadrantes cada una
25        // Se generan las submatrices A, B, C, D, E, F, G y H
26
27        P1 = Strassen(A, (F - H));
28        P2 = Strassen((A + B), H);
29        P3 = Strassen((C + D), E);
30        P4 = Strassen(D, (G - E));
31        P5 = Strassen((A + D), (E + H));
32        P6 = Strassen((B - D), (G + H));
33        P7 = Strassen((A - C), (E + F));
34
35        // Creamos los cuatro elementos de la solución
36        R11 = P5 + P4 - P2 + P6
37        R12 = P1 + P2
38        R21 = P3 + P4
39        R22 = P1 + P5 - P3 - P7
40
41        R = fusion(R11, R12, R21, R22);
42        return R;
43