Matrix is an array of Numbers. It can have any number of rows and any number of columns.
Now to multiply 2 matrices of multi-dimensions we need to take input from the user: input includes number of rows, columns, first matrix elements and second matrix elements. Then we perform multiplication on the matrices entered by the user and store it in some other matrix.
In matrix multiplication, one row element of first matrix is individually multiplied by all column elements and added. Likewise, for every row element same procedure is followed and we get the elements.
Flowchart for Matrix multiplication :
Algorithm for Matrix multiplication :
Step 1: Start
Step 2: Declare matrix A[m][n]
and matrix B[p][q]
and matrix C[m][q]
Step 3: Read m, n, p, q.
Step 4: Now check if the matrix can be multiplied or not, if n is not equal to q matrix can't be multiplied and an error message is generated.
Step 5: Read A and B
Step 4: Declare variable i=0, k=0 , j=0 and sum=0
Step 5: Repeat Step until i < m
5.1: Repeat Step until j < q
5.1.1: Repeat Step until k < p
Set sum= sum + A[i][k] * B[k][j]
Set multiply[i][j] = sum;
Set sum = 0 and k=k+1
5.1.2: Set j=j+1
5.2: Set i=i+1
Step 6: C is the required matrix.
Step 7: Stop
In the above algorithm,
- We first define three matrices A, B, C and read their respective row and column numbers in variable m, n, p and q.
- We check if the matrix can be multiplied or not, if n is not equal to q matrix can't be multiplied and an error message is generated.
- Read matrices A and B.
- First, start a loop which goes up to m giving row elements of A
Secondly, inside it again start a loop which goes up to p giving row elements of B.
At last, we define a loop which goes up to p giving column element of B
- Then, we store their corresponding multiplication by sum= sum + A[i][k] * B[k][j], which gets updated each time till k reaches p, which acts as the mathematical formula of multiplication used for matrix.
- sum is assigned into C[i][j] and likewise, C stores the multiplication result of matrix A and B