Lower Triangular Matrix is a square matrix in which all the elements above the principal diagonal are 0. If the matrix is not a square matrix, it can never be called the lower triangular matrix.
Examples
Input 1: mat[][] = { {2, 1, 4},
{1, 2, 3},
{3, 6, 2}}
Output : mat[][]= {{2, 0, 0},
{1, 2, 0},
{3, 6, 2}}
Explanation : All the element below the principal diagonal needs to be 0.
Input 2 : mat[][]= {{4, 6},
{2, 8}}
Output : mat[][]= {{4, 0},
{2, 8}}
Input 3 : mat[][] = { {2, 1, 4, 6},
{1, 2, 3, 7},
{3, 6, 2, 8} }
Output : Matrix should be a Square Matrix
Approach:
- If the matrix has equal rows and columns, continue the program else exit the program.
- Run the loop over the whole matrix, and for the rows, whose column number is greater than row number, make the element at that position equal to 0.
Below is the implementation of the above approach:
Java
import java.io.*;
class GFG {
static void lowerTriangularMatrix( int matrix[][])
{
int row = matrix.length;
int col = matrix[ 0 ].length;
if (row != col) {
System.out.println(
"Matrix should be a Square Matrix" );
return ;
}
else {
for ( int i = 0 ; i < row; i++) {
for ( int j = 0 ; j < col; j++) {
if (i < j) {
matrix[i][j] = 0 ;
}
}
}
System.out.println(
"Lower Triangular Matrix is given by :-" );
for ( int i = 0 ; i < row; i++) {
for ( int j = 0 ; j < col; j++) {
System.out.print(matrix[i][j] + " " );
}
System.out.println();
}
}
}
public static void main(String[] args)
{
int mat[][]
= { { 2 , 1 , 4 }, { 1 , 2 , 3 }, { 3 , 6 , 2 } };
lowerTriangularMatrix(mat);
}
}
|
Output:
Lower Triangular Matrix is given by :-
2 0 0
1 2 0
3 6 2
- Space Complexity: Matrix can be changed in-place. i.e no extra matrix space required. 0(N^2)
- Time Complexity: 0(N^2)