# 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

50 Views