top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration

Which order of loops is fastest in matrix multiplication and why ?

0 votes
51 views
for(i=0;i<n;i++)
  for(j=0;j<n;j++)
     for(k=0;k<n;k++)
        C[i][j]+=A[i][k]*B[k][j];

In this algorithm, there are 6 combinations of loops : the one given above is ijk. The others are ikj,jki,jik,kij and kji. Which one executes the fastest and why?

posted Jun 29, 2016 by anonymous

Looking for an answer?  Promote on:
Facebook Share Button Twitter Share Button LinkedIn Share Button

Similar Questions
0 votes

suppose

A(n,m) = 
1 2 3         
4 5 6                            
7 8 9

and 

B(p, q) = 
1 1
1 1

What is best method to find min of square of difference of sub-matrices of A and B e.g.

sub-matrices of A =

1 2    |     2 3   |    4 5    |   5 6
3 4    |     5 6   |    7 8    |   8 9

Difference of first sub-matrix of A with B =

(1-1)  (2-1)    = |     0 1
(3-1)  (4-1)      |     2 3

sum of square of elements = 0*0 + 1*1 + 2*2 + 3*3 = 14

similar steps for other sub-matrices of A

Please suggest looking for an alternate method or algorithm which has time complexity less than O(n*m*p*q)

+3 votes

Say we have two matrix of m*n and n*t.
Any sample code in C/C++ along with the algorithm would be helpful.

Contact Us
+91 9880187415
sales@queryhome.net
support@queryhome.net
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Bangalore-560102
Karnataka INDIA.
QUERY HOME
...