C# Program to Check If a Matrix Is a Lower Triangular Matrix

Lower Triangular Matrix

C# program to check if a given matrix is a lower triangular has been shown here. A square matrix is considered a lower triangular matrix if all the elements above the main diagonal are Zero. The elements in the main diagonal may or may not be 0.


Examples:

Examples of Lower Triangular Matrix

In the given examples, (i), (ii), (iv) and (v) are lower triangular matrices as every element above the principal diagonal is 0 in each of these matrices. The matrix shown in (iii) is not a lower triangular matrix as one element above the principal diagonal is non-zero. The dotted lines have been drawn over the principal diagonals.






1. Algorithm to Check If a Matrix Is a Lower Triangular Matrix


1. Take a matrix $A_{m\times n}$ as input

2. Check if $m=n$

3. If step [2] is false then display "Input matrix is not a square matrix!" and exit program

4. If step [2] is true, then

5. Check if $A_{i,j} \neq 0$ for each $i < j$ and $i \in [1, m]$ and $j \in [1, n]$

6. If step [5] is true for atleast one $A_{i,j}$ then display "The matrix is not a lower triangular matrix" and exit program.

7. If step [5] is false then display "The matrix is a lower triangular matrix" and exit program.




2. Pseudocode to Check If a Matrix Is a Lower Triangular Matrix


Input: A matrix $A_{m\times n}$

Output: A is lower triangular or not

1. Procedure lowerTriangularMatrix($A_{m\times n}$):

2. If $m == n$:

3. Repeat for each $i < j$ where $i \in [1, m]$ and $j \in [1, n]$

4. If $A_{i,j} \neq 0$:

5. Return Not a lower triangular matrix

6. Return A lower triangular matrix

7. Else:

8. Return It should be a square matrix

9. End Procedure





3. Time Complexity to Check If a Matrix Is a Lower Triangular Matrix


Time Complexity: O($mn$)

Where $m$ is the number of rows and $n$ is the number of columns in the matrices.




4. C# Program to Check If a Matrix Is a Lower Triangular Matrix

Code has been copied
/**********************************
        alphabetacoder.com
  C# Program to check if a matrix 
   is a lower triangular matrix
***********************************/

using System;

namespace LowerTriangularMatrix {
    class Program {
        static void Main(string[] args) {
            // declare variables
            int m, n, i, j, flag = 0;
            int[, ] A = new int[10, 10];

            // take input
            Console.Write("Enter the number of rows of matrix = ");
            m = Convert.ToInt32(Console.ReadLine());
            Console.Write("Enter the number of columns of matrix = ");
            n = Convert.ToInt32(Console.ReadLine());

            //take input of the matrix
            Console.WriteLine("Enter the elements of matrix of order " + m + " x " + n + " = ");
            for (i = 0; i < m; i++) {
                for (j = 0; j < n; j++) {
                    Console.Write("Enter the element at row " + (i + 1) + " column " + (j + 1) + " of matrix = ");
                    A[i, j] = Convert.ToInt32(Console.ReadLine());
                }
            }

            // check if the matrix is a square matrix or not
            // if it is square matrix, check if it is lower triangular or not
            if (m != n)
                Console.WriteLine("\nInput matrix is not a square matrix!");
            else {
                // check if A is lower triangular or not by
                // finding an non-zero element above main diagonal 
                for (i = 0; i < m; i++) {
                    for (j = i + 1; j < n; j++) {
                        if (A[i, j] != 0) {
                            // non-zero element found
                            flag = 1;
                            break;
                        }
                    }
                    // break the loop as non-zero element 
                    // above main diagonal has been detected
                    if (flag == 1)
                        break;
                }

                // display the result
                if (flag == 0)
                    Console.WriteLine("\nIt is a lower triangular matrix!");
                else
                    Console.WriteLine("\nIt is not a lower triangular matrix!");
            }

            // wait for user to press any key
            Console.ReadKey();
        }
    }
}

Output


Enter the number of rows of matrix = 3

Enter the number of columns of matrix = 3

Enter the elements of matrix of order 3 x 3 =

Enter the element at row 1 column 1 of matrix = 2

Enter the element at row 1 column 2 of matrix = 0

Enter the element at row 1 column 3 of matrix = 0

Enter the element at row 2 column 1 of matrix = 1

Enter the element at row 2 column 2 of matrix = 2

Enter the element at row 2 column 3 of matrix = 0

Enter the element at row 3 column 1 of matrix = 1

Enter the element at row 3 column 2 of matrix = 1

Enter the element at row 3 column 3 of matrix = 2


It is a lower triangular matrix!