# Check if the matrix is lower triangular using Python

In this article, we will learn a python program to check if a matrix is lower triangular.

Assume we have taken an input matrix. We will now check whether the input matrix is lower triangular using the below methods.

### Methos Used

The following are the various methods to accomplish this task −

• Using nested for loop

## What is a Lower Triangular Matrix?

If all the entries above the main/principal diagonal are zero, a square matrix is said to be lower triangular.

1 0 0 0
2 3 0 0
1 3 7 0
0 4 8 4

## Method 1: Using Nested for Loop

### Algorithm (Steps)

Following are the Algorithms/steps to be followed to perform the desired task. −

• Create a function printGivenMatrix() that prints the given matrix.

• Inside the printGivenMatrix() function Traverse through the rows of the given Matrix using For loop.

• Using another Nested For loop traverse through the columns of the current row.

• Print the corresponding matrix element at the current row and column.

• Create a function checkLowerTriangular() to check whether the input matrix is lower triangular by accepting the input matrix as an argument.

• Use the for loop to traverse through the length of rows of a matrix using the len() function(returns the number of items in an object).

• Use another nested for loop to traverse through the from (row +1) column to the end of the columns.

• Use the if conditional statement to check whether the current element is not equal to 0(So the lower triangular Condition Fails)

• Return False if the condition is true using the return statement.

• If all the nested loops get executed without returning anything then the given matrix is lower triangular so return True.

• Create a variable to store the input matrix.

• Print the given matrix by passing this as an argument to printGivenMatrix()

• Use the if conditional statement to check whether the above-defined function checkLowerTriangular() function returns true by passing the input matrix as an argument.

• Print the input matrix as a lower triangular matrix if the condition is true.

• Else print the input matrix is NOT a lower triangular matrix.

### Example

The following program returns whether the given matrix is lower triangular or not using nested For loops −

# creating a function to print the given matrix
def printGivenMatrix(inputMatrix):
# Traversing in the rows of the input matrix
for p in range(len(inputMatrix)):
# Traversing in the columns corresponding to the current row
# of the input matrix
for q in range(len(inputMatrix)):
# printing the element at the current row and column
print(inputMatrix[p][q], end=" ")
# Printing a new line to separate the rows
print()
# createing a function to check whether the matrix
# is lower triangular by accepting the input matrix as an argument
def checkLowerTriangular(inputMatrix):
# traversing through the rows of a matrix
for p in range(0, len(inputMatrix)):
# Traversing from row +1 column to last column
for q in range(p + 1, len(inputMatrix)):
# checking whether the current element is not equal to 0
if(inputMatrix[p][q] != 0):
# If the element is not zero then it cannot be considered as lower triangular
# Hence returning false if the condition is true
return False
# If the above nested loops get executed without returning False
# Hence the matrix is lower triangular so return True
return True
# input matrix
inputMatrix = [[1, 0, 0, 0],
[2, 3, 0, 0],
[1, 3, 7, 0],
[0, 4, 8, 4]]
# Printing the given input Matrix by passing the
# given matrix as an argument to printGivenMatrix() function
printGivenMatrix(inputMatrix)
# checking whether the checkLowerTriangular() returns true
if checkLowerTriangular(inputMatrix):
# If the function returns True then the matrix is lower triangular
print("Yes, the input matrix is lower triangular!!!")
else:
# else printing NOT lower triangular matrix
print("No, the input matrix is Not lower triangular!!!")

### Output

On executing, the above program will generate the following output −

1 0 0 0
2 3 0 0
1 3 7 0
0 4 8 4
Yes, the input matrix is lower triangular!!!

Time Complexity − O(n^2). In which n indicates the number of rows and columns in the specified matrix.

Auxiliary Space − O(1). as no extra space is required, hence it is a constant.

## Conclusion

We learned what a lower triangular matrix is in this article along with an example, and at the end, we wrote code with instructions on how to determine whether a given matrix is a lower triangular matrix or not.