In the lower triangular matrix, the elements that are present above the diagonal should be 0. Given a matrix and the task is to check the matrix is in lower triangular form or not. A matrix must be a square matrix. A square matrix is called lower triangular if all the entries above the main diagonal are zero.
Example –Â
Input:
1 0 0
1 2 0
1 2 3
Output: Matrix is lower triangular matrix
Input:
1 2 2
2 1 1
2 2 2
Output: Matrix is not a lower triangular matrix
Approach:
- Check if the given matrix is square or not.
- If yes, then traverse the upper triangle part matrix.
- Check if all the entries above the main diagonal are zero.
- If yes, then print Matrix is a lower triangular matrix.
Below is the implementation of the above approach:
Java
// Java Program to check for// a lower triangular matrix.Â
import java.util.Scanner;Â
public class LowerTriangularMatrix {    public static boolean    isLowerTriangularMatrix(int[][] matrix)    {        for (int i = 0; i < matrix[0].length; i++) {            for (int j = i + 1; j < matrix[0].length; j++) {                if (matrix[i][j] != 0)                    return false;            }        }        return true;    }    public static void main(String args[])    {        int rows = 3, columns = 3;Â
        // returns true if number of rows and columns are        // equal else false        if (rows == columns) {            // initializing the matrix            int Matrix[][]                = { { 1, 0, 0 }, { 2, 3, 0 }, { 5, 6, 7 } };Â
            // Display the values of matrix            System.out.println("Matrix is : ");            for (int i = 0; i < rows; i++) {                for (int j = 0; j < columns; j++) {                    System.out.print(Matrix[i][j] + "\t");                }                System.out.println();            }Â
            // Function call            boolean result                = isLowerTriangularMatrix(Matrix);Â
            // returns true if matrix is lower triangular            // matrix else false            if (result == true) {                System.out.println(                    "Matrix is lower triangular matrix");            }            else {                System.out.println(                    "Matrix is not lower triangular matrix");            }        }        else {            System.out.println(                "Number of rows and number of columns should be equal");        }    }} |
Matrix is : 1 0 0 2 3 0 5 6 7 Matrix is lower triangular matrix
Time Complexity: O(N2), where N is the length of the row in a square matrix.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
