Skip to Main Content
Blog

Check Triangular Matrix in Python

Check Triangular Matrix in Python

def main():
	"""
	Checks and prints if a matrix is a triangular matrix.
	"""

	count = int(input("Enter length: "))
	print("Enter matrix: ")
	matrix = read_matrix(count, count)

	lt = is_lower_triangular(matrix)
	ut = is_upper_triangular(matrix)

	if lt:
		print("Lower Triangular Matrix")
	elif ut:
		print("Upper Triangular Matrix")
	else:
		print("Not a Triangular Matrix")


def is_lower_triangular(matrix: list[list[int]]):
	"""
	Checks if a matrix is a lower triangular matrix.
	"""

	n = len(matrix)
	for r in range(n):
		if len(matrix[r]) != n:
			return False
		for c in range(n):
			if r < c and matrix[r][c] != 0:
				return False
	return True


def is_upper_triangular(matrix: list[list[int]]) -> bool:
	"""
	Checks if a matrix is a upper triangular matrix.
	"""

	n = len(matrix)
	for r in range(n):
		if len(matrix[r]) != n:
			return False
		for c in range(n):
			if r > c and matrix[r][c] != 0:
				return False
	return True


def read_matrix(row_count: int, col_count: int):
	"""
	Reads a matrix from the console.
	"""

	matrix: list[list[int]] = []
	for _ in range(row_count):
		row = list(map(int, input().split()[:col_count]))
		matrix.append(row)

	return matrix


if __name__ == "__main__":
	main()