Matrix Multiplication in java

Matrix Multiplication in Java

In this example, You will find a program for matrix multiplication in java and learn how matrix multiply calculates. In the previous article, we do matrix addition in Java. 

The program asks the user for the number of rows and the number of columns then takes elements of two matrices from the user. So we do the calculation on both matrices to find multiply.

The below points shows how the calculation works for 2*2 and 3*3 matrices multiplication in Java.

  1. The first row elements of first matrix are multiplied with all columns of second matrix.
  2. Then second row elements of first matrix are multiplied with all columns of second matrix and so on until the end of the rows of first matrix.

Now, look at the program you understand easily 2*2 or 3*3 matrix multiplication in Java programming.

Matrix Multiplication in Java


import java.util.Scanner;

public class MatrixMultiplication
{
 public static void main(String args[])
 {
    int m, n, p, q, sum = 0, c, d, k;
    Scanner in = new Scanner(System.in);
    System.out.println("Enter the number of rows and columns of first matrix");
    m = in.nextInt();
    n = in.nextInt();
    int first[][] = new int[m][n];
    System.out.println("Enter the elements of first matrix");
    for ( c = 0 ; c < m ; c++ )
        for ( d = 0 ; d < n ; d++ )
            first[c][d] = in.nextInt();
    System.out.println("Enter the number of rows and columns of second matrix");
    p = in.nextInt();
    q = in.nextInt();
    if ( n != p )
        System.out.println("Matrices with entered orders can't be multiplied with each other.");
    else
    {
        int second[][] = new int[p][q];
        int multiply[][] = new int[m][q];
        System.out.println("Enter the elements of second matrix");
        for ( c = 0 ; c < p ; c++ )
            for ( d = 0 ; d < q ; d++ )
                second[c][d] = in.nextInt();
        for ( c = 0 ; c < m ; c++ ) {
            for ( d = 0 ; d < q ; d++ ) {
                for ( k = 0 ; k < p ; k++ ) {
                     sum = sum + first[c][k]*second[k][d];
                }
                multiply[c][d] = sum;
                sum = 0;
            }
        }
        System.out.println("Product of entered matrices:-");
        for ( c = 0 ; c < m ; c++ ) {
            for ( d = 0 ; d < q ; d++ )
                System.out.print(multiply[c][d]+"\t");
                System.out.print("\n");
        }
    }
 }
}
Output

Enter the number of rows and columns of first matrix
2 2

Enter the elements of first matrix
1 3
4 2

Enter the number of rows and columns of second matrix
2 2

Enter the elements of second matrix
3 1
3 2

Product of entered matrices:-
12 7	
18 8

In the Above article, we learn about java matrix multiplication and how it works for 2*2 and 3*3 matrix multiplication.
 In upcoming tutorials, we discuss subtraction of two matrix, transpose with algorithms in detail. If you learn from the above example then try to solve these which we see in upcoming examples and comment your solution below.

If you have any doubts, Please let me know

Previous Post Next Post

Contact Form