Check if matrix is lower triangular
A matrix is lower triangular if all the entries above the diagonal are zero. In other words, the matrix has a triangular shape where the diagonal elements and all elements below the diagonal have values, while all the elements above the diagonal are zero. This type of matrix is useful in many mathematical and scientific applications, such as solving systems of linear equations, calculating determinants, and diagonalizing matrices. In practical terms, lower triangular matrices can help simplify complex calculations and make them more efficient.
Program
/*
C Program
+ Check if matrix is lower triangular
*/
#include<stdio.h>
//Size of matrix
#define ROW 4
#define COL 4
//Display the element of given 2d matrix
void show_data(int matrix[][COL]) {
for (int i = 0; i < ROW; ++i) {
for (int j = 0; j < COL; ++j) {
printf("%4d", matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
//Check if given matrix is lower triangular or not
void lower_triangular(int matrix[ROW][COL])
{
int status=1;
for (int i = 0; i < COL && status==1; ++i)
{
for (int j = i+1; j < ROW && status==1; ++j)
{
if(matrix[i][j] != 0)
{
//When matrix is not lower triangular
status=0;
}
}
}
if(status==1)
{
printf(" Yes\n");
}
else
{
printf(" NO\n");
}
}
int main(){
int matrix[ROW][COL]= {
{ 1, 0, 0, 0 },
{ 1, 2, 0, 0 },
{ 1, 2, 3, 0 },
{ 1, 2, 3, 4 } };
show_data(matrix);
lower_triangular(matrix);
return 0;
}
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
C++ Program
Check if matrix is lower triangular
*/
#include<iostream>
#define ROW 4
#define COL 4
using namespace std;
class MyMatrix {
public:
//Display the element of given 2d matrix
void show_data(int matrix[][COL], int row, int col) {
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
cout << " " << matrix[i][j];
}
cout << "\n";
}
cout << "\n";
}
//Check if given matrix is lower triangular or not
void lower_triangular(int matrix[][COL], int row, int col) {
int status = 1;
for (int i = 0; i < col && status == 1; ++i) {
for (int j = i + 1; j < row && status == 1; ++j) {
if (matrix[i][j] != 0) {
//When matrix is not lower triangular
status = 0;
}
}
}
if (status == 1) {
cout << " Yes\n";
} else {
cout << " NO\n";
}
}
};
int main() {
MyMatrix obj ;
int matrix[][COL] = {
{
1,
0,
0,
0
},
{
1,
2,
0,
0
},
{
1,
2,
3,
0
},
{
1,
2,
3,
4
}
};
//This is size of matrix
obj.show_data(matrix, ROW, COL);
obj.lower_triangular(matrix, ROW, COL);
return 0;
}
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
Java Program
Check if matrix is lower triangular
*/
public class MyMatrix {
//Display the element of given 2d matrix
public void show_data(int [][]matrix, int row,int col) {
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
System.out.print(" "+ matrix[i][j]);
}
System.out.print("\n");
}
System.out.print("\n");
}
//Check if given matrix is lower triangular or not
public void lower_triangular(int [][]matrix, int row,int col)
{
int status=1;
for (int i = 0; i < col && status==1; ++i)
{
for (int j = i+1; j < row && status==1; ++j)
{
if(matrix[i][j] != 0)
{
//When matrix is not lower triangular
status=0;
}
}
}
if(status==1)
{
System.out.print(" Yes\n");
}
else
{
System.out.print(" NO\n");
}
}
public static void main(String[] args)
{
MyMatrix obj = new MyMatrix();
int [][]matrix = {
{ 1, 0, 0, 0 },
{ 1, 2, 0, 0 },
{ 1, 2, 3, 0 },
{ 1, 2, 3, 4 }
};
//This is size of matrix
int row = matrix.length;
int col = matrix[0].length;
obj.show_data(matrix,row,col);
obj.lower_triangular(matrix,row,col);
}
}
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
C# Program
Check if matrix is lower triangular
*/
using System;
public class MyMatrix {
//Display the element of given 2d matrix
public void show_data(int[,] matrix, int row, int col) {
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
Console.Write(" " + matrix[i,j]);
}
Console.Write("\n");
}
Console.Write("\n");
}
//Check if given matrix is lower triangular or not
public void lower_triangular(int[,] matrix, int row, int col) {
int status = 1;
for (int i = 0; i < col && status == 1; ++i) {
for (int j = i + 1; j < row && status == 1; ++j) {
if (matrix[i,j] != 0) {
//When matrix is not lower triangular
status = 0;
}
}
}
if (status == 1) {
Console.Write(" Yes\n");
} else {
Console.Write(" NO\n");
}
}
public static void Main(String[] args) {
MyMatrix obj = new MyMatrix();
int[,] matrix = {
{
1,
0,
0,
0
},
{
1,
2,
0,
0
},
{
1,
2,
3,
0
},
{
1,
2,
3,
4
}
};
//This is size of matrix
int row = matrix.GetLength(0);
int col = matrix.GetLength(1);
obj.show_data(matrix, row, col);
obj.lower_triangular(matrix, row, col);
}
}
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
<?php
/*
Php Program
Check if matrix is lower triangular
*/
class MyMatrix {
//Display the element of given 2d matrix
public function show_data($matrix, $row, $col) {
for ($i = 0; $i < $row; ++$i) {
for ($j = 0; $j < $col; ++$j) {
echo(" ". $matrix[$i][$j]);
}
echo("\n");
}
echo("\n");
}
//Check if given matrix is lower triangular or not
public function lower_triangular($matrix, $row, $col) {
$status = 1;
for ($i = 0; $i < $col && $status == 1; ++$i) {
for ($j = $i + 1; $j < $row && $status == 1; ++$j) {
if ($matrix[$i][$j] != 0) {
//When matrix is not lower triangular
$status = 0;
}
}
}
if ($status == 1) {
echo(" Yes\n");
} else {
echo(" NO\n");
}
}
};
function main() {
$obj = new MyMatrix();
$matrix = array(
array(1, 0, 0, 0),
array(1, 2, 0, 0),
array(1, 2, 3, 0),
array(1, 2, 3, 4)
);
//This is size of matrix
$row = count($matrix);
$col = count($matrix[0]);
$obj->show_data($matrix, $row, $col);
$obj->lower_triangular($matrix, $row, $col);
}
main();
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
Node Js Program
Check if matrix is lower triangular
*/
class MyMatrix {
//Display the element of given 2d matrix
show_data(matrix, row, col) {
for (var i = 0; i < row; ++i) {
for (var j = 0; j < col; ++j) {
process.stdout.write(" " + matrix[i][j]);
}
process.stdout.write("\n");
}
process.stdout.write("\n");
}
//Check if given matrix is lower triangular or not
lower_triangular(matrix, row, col) {
var status = 1;
for (var i = 0; i < col && status == 1; ++i) {
for (var j = i + 1; j < row && status == 1; ++j) {
if (matrix[i][j] != 0) {
//When matrix is not lower triangular
status = 0;
}
}
}
if (status == 1) {
process.stdout.write(" Yes\n");
} else {
process.stdout.write(" NO\n");
}
}
}
function main(args) {
var obj = new MyMatrix();
var matrix = [
[1, 0, 0, 0],
[1, 2, 0, 0],
[1, 2, 3, 0],
[1, 2, 3, 4]
];
//This is size of matrix
var row = matrix.length;
var col = matrix[0].length;
obj.show_data(matrix, row, col);
obj.lower_triangular(matrix, row, col);
}
main();
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
# Python 3 Program
# Check if matrix is lower triangular
class MyMatrix :
# Display the element of given 2d matrix
def show_data(self, matrix, row, col) :
i = 0
while (i < row) :
j = 0
while (j < col) :
print(" ", matrix[i][j], end = "")
j += 1
print("\n", end = "")
i += 1
print("\n", end = "")
# Check if given matrix is lower triangular or not
def lower_triangular(self, matrix, row, col) :
status = 1
i = 0
while (i < col and status == 1) :
j = i + 1
while (j < row and status == 1) :
if (matrix[i][j] != 0) :
# When matrix is not lower triangular
status = 0
j += 1
i += 1
if (status == 1) :
print(" Yes\n", end = "")
else :
print(" NO\n", end = "")
def main() :
obj = MyMatrix()
matrix = [
[1, 0, 0, 0],
[1, 2, 0, 0],
[1, 2, 3, 0],
[1, 2, 3, 4]
]
row = len(matrix)
col = len(matrix[0])
obj.show_data(matrix, row, col)
obj.lower_triangular(matrix, row, col)
if __name__ == "__main__":
main()
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
# Ruby Program
# Check if matrix is lower triangular
class MyMatrix
# Display the element of given 2d matrix
def show_data(matrix, row, col)
i = 0
while (i < row)
j = 0
while (j < col)
print(" ", matrix[i][j])
j += 1
end
print("\n")
i += 1
end
print("\n")
end
# Check if given matrix is lower triangular or not
def lower_triangular(matrix, row, col)
status = 1
i = 0
while (i < col && status == 1)
j = i + 1
while (j < row && status == 1)
if (matrix[i][j] != 0)
# When matrix is not lower triangular
status = 0
end
j += 1
end
i += 1
end
if (status == 1)
print(" Yes\n")
else
print(" NO\n")
end
end
end
def main()
obj = MyMatrix.new()
matrix = [
[1, 0, 0, 0],
[1, 2, 0, 0],
[1, 2, 3, 0],
[1, 2, 3, 4]
]
row = matrix.length
col = matrix[0].length
obj.show_data(matrix, row, col)
obj.lower_triangular(matrix, row, col)
end
main()
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
Scala Program
Check if matrix is lower triangular
*/
class MyMatrix {
//Display the element of given 2d matrix
def show_data(matrix: Array[Array[Int]], row: Int, col: Int): Unit = {
var i: Int = 0;
while (i < row) {
var j: Int = 0;
while (j < col) {
print(" " + matrix(i)(j));
j += 1;
}
print("\n");
i += 1;
}
print("\n");
}
//Check if given matrix is lower triangular or not
def lower_triangular(matrix: Array[Array[Int]], row: Int, col: Int): Unit = {
var status: Int = 1;
var i: Int = 0;
while (i < col && status == 1) {
var j: Int = i + 1;
while (j < row && status == 1) {
if (matrix(i)(j) != 0) {
//When matrix is not lower triangular
status = 0;
}
j += 1;
}
i += 1;
}
if (status == 1) {
print(" Yes\n");
} else {
print(" NO\n");
}
}
}
object Main {
def main(args: Array[String]): Unit = {
val obj: MyMatrix = new MyMatrix();
val matrix: Array[Array[Int]] = Array(
Array(1, 0, 0, 0),
Array(1, 2, 0, 0),
Array(1, 2, 3, 0),
Array(1, 2, 3, 4));
val row: Int = matrix.length;
val col: Int = matrix(0).length;
obj.show_data(matrix, row, col);
obj.lower_triangular(matrix, row, col);
}
}
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
/*
Swift Program
Check if matrix is lower triangular
*/
class MyMatrix {
//Display the element of given 2d matrix
func show_data(_ matrix: [
[Int]
], _ row: Int, _ col: Int) {
var i: Int = 0;
while (i < row) {
var j: Int = 0;
while (j < col) {
print(" ", matrix[i][j], terminator: "");
j += 1;
}
print("\n", terminator: "");
i += 1;
}
print("\n", terminator: "");
}
//Check if given matrix is lower triangular or not
func lower_triangular(_ matrix: [
[Int]
], _ row: Int, _ col: Int) {
var status: Int = 1;
var i: Int = 0;
while (i < col && status == 1) {
var j: Int = i + 1;
while (j < row && status == 1) {
if (matrix[i][j] != 0) {
//When matrix is not lower triangular
status = 0;
}
j += 1;
}
i += 1;
}
if (status == 1) {
print(" Yes\n", terminator: "");
} else {
print(" NO\n", terminator: "");
}
}
}
func main() {
let obj: MyMatrix = MyMatrix();
let matrix: [
[Int]
] = [
[1, 0, 0, 0],
[1, 2, 0, 0],
[1, 2, 3, 0],
[1, 2, 3, 4]
];
let row: Int = matrix.count;
let col: Int = matrix[0].count;
obj.show_data(matrix, row, col);
obj.lower_triangular(matrix, row, col);
}
main();
Output
1 0 0 0
1 2 0 0
1 2 3 0
1 2 3 4
Yes
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment