Find Product Between Lower Triangular & Upper Triangular Matrix in Java


In Java, Array is an object. It is a non-primitive data type which stores values of similar data type. The matrix in java is nothing but a multi-dimensional array which represents multiple rows and columns.

  • Triangular Matrix − A square matrix is called as a triangular matrix if all the elements above or below the diagonal of that matrix are zeros.

  • Lower- Triangular Matrix − A square matrix is called as a Lower- Triangular Matrix if all the elements above the diagonal of that matrix are zeros.

  • Upper- Triangular Matrix − A square matrix is called as a Upper - Triangular Matrix if all the elements below the diagonal of that matrix are zeros.

As per the problem statement we have to find product between both the given lower triangular and upper triangular matrix.

Formula

Matrix-1:

A	B
C	D

Matrix-2:

	
E	F
G	H

Product:

Matrix-1 * Matrix-2: 	
AE+BG	      AF+BH
CE+DG	      CF+DH

Let’s deep dive into this article, to know how it can be done by using Java programming language.

To show you some instances

Instance-1

Suppose the Lower- Triangular Matrix is =

{{12, 0, 0},
{43, 3, 0},
{3, 8, 9}}

Suppose the Upper- Triangular Matrix is =

{{5, 2, 1},
{0, 7, 10},
{0, 0, 4}}

The product of these two matrices is:

60    24    12    
215   107   73    
15    62    119

Instance-2

Suppose the Lower- Triangular Matrix is =

{{1, 0, 0},
{2, 3, 0},
{4, 5, 6}}

Suppose the Upper- Triangular Matrix is =

{{7, 8, 9},
{0, 10, 11},
{0, 0, 12}}

The product of these two matrices is:

7    8    9    
14    46    51    
28    82    163

Algorithm

  • Step-1 − Declare and initialize two integer type multi-dimensional array.

  • Step-2 − Take nested for loop to perform product procedure as per the formula.

  • Step-3 − After every calculation store the elements in respective rows and columns inside the product matrix array.

  • Step-4 − Print the calculated product matrix as output.

Syntax

To get the length of an array (number of elements in that array), there is an inbuilt property of array i.e length

Below refers to the syntax of it −

array.length

where, ‘array’ refers to the array reference.

Multiple Approaches

We have provided the solution in different approaches.

  • By Using Static Initialization of Array Elements

  • By Using User Defined Method

Let’s see the program along with its output one by one.

Approach-1: By Using Static Initialization of Array Elements

In this approach, the multi- dimensional array elements will be initialized in the program. Then as per the algorithm the product of the Lower- Triangular matrix and Upper- Triangular matrix will be printed as output.

Example

public class Main {
   public static void main(String[] args) {
      int r, c;
      
      // Declare and initializing two matrices
      int[][] LowerTriMat = {{12, 0, 0},
         {43, 3, 0},
         {3, 8, 9}};
      int[][] upperTriMat = {{5, 2, 1},
         {0, 7, 10},
         {0, 0, 4}};
      
      // Calculating the number of rows and columns present in matrices
      r = LowerTriMat.length;
      c = LowerTriMat[0].length;
      
      // Declare the product matrix
      int[][] prodMatrix = new int[r][c];
      
      //initiating the loop to find the product of two matrices
      for(int i = 0; i < r; i++) {
         for (int j = 0; j < c; j++) {
            for (int k = 0; k < c; k++) {
               prodMatrix[i][j] += LowerTriMat[i][k] * upperTriMat[k][j];
            }
         }
      }
      
      // output result
      System.out.println("The Product matrix of two matrices is: ");
      for(int[] row : prodMatrix) {
         for (int column : row) {
            System.out.print(column + "    ");
         }
         System.out.println();
      }
   }
}

Output

The Product matrix of two matrices is: 
60     24     12    
215    107    73    
15     62    119    

Approach-2: By Using User Defined Method

In this approach, array elements will be initialized in the program. Then call a user defined method by passing the array as parameter and inside method as per the algorithm the product of the Lower- Triangular matrix and Upper- Triangular matrix will be printed as output.

Program

public class Main {
   public static void main(String[] args){
      
      // Declare and initializing two matrices
      int[][] LowerTriangularMatrix = { {1, 0, 0},
         {2, 3, 0},
         {4, 5, 6} };
      int[][] upperTriangularMatrix = { {7, 8, 9},
         {0, 10, 11},
         {0, 0, 12} };
      productMat(LowerTriangularMatrix, upperTriangularMatrix);
   }  
   public static void productMat(int[][] LowerTriMat,int[][] upperTriMat) {
      
      // declare the variables 
      //and store the number of rows and columns present in matrices
      int r = LowerTriMat.length;
      int c = LowerTriMat[0].length;
      
      // Declare and initialize the product matrix
      int[][] prodMatrix = new int[r][c];
      
      //initiating the loop to find the product of two matrices
      for(int i = 0; i < r; i++) {
         for (int j = 0; j < c; j++) {
            for (int k = 0; k < c; k++) {
               prodMatrix[i][j] += LowerTriMat[i][k] * upperTriMat[k][j];
            }
         }
      }
      
      // output result
      System.out.println("The Product matrix of two matrices is: ");
      for(int[] row : prodMatrix){
         for (int column : row) {
            System.out.print(column + "    ");
         }
         System.out.println();
      }
   }
}

Output

The Product matrix of two matrices is: 
7      8      9    
14    46     51    
28    82    163    

In this article, we explored different approaches to find the product between lower triangular and upper triangular matrix by using Java programming language.

Updated on: 04-May-2023

92 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements