A square matrix is said to be diagonal matrix if the elements of matrix except main diagonal are zero. A square null matrix is also a diagonal matrix whose main diagonal elements are zero.
Examples :
Input :
Mat[4][0] = {{4, 0, 0, 0},
{0, 5, 0, 0},
{0, 0, 2, 0},
{0, 0, 0, 1}}
Output : Yes
Mat[4][0] = {{6, 10, 12, 0},
{0, 5, 0, 0},
{0, 0, 9, 0},
{0, 0, 0, 1}}
Output : No
CPP
// Program to check matrix is diagonal matrix or not. #include <bits/stdc++.h> #define N 4 using namespace std; // Function to check matrix is diagonal matrix // or not. bool isDiagonalMatrix(int mat[N][N]) { for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) // condition to check other elements // except main diagonal are zero or not. if ((i != j) && (mat[i][j] != 0)) return false; return true; } // Driver function int main() { int mat[N][N] = { { 4, 0, 0, 0 }, { 0, 7, 0, 0 }, { 0, 0, 5, 0 }, { 0, 0, 0, 1 } }; if (isDiagonalMatrix(mat)) cout << "Yes" << endl; else cout << "No" << endl; return 0; } |
Java
// Program to check matrix is // diagonal matrix or not. import java.io.*; class GFG { static int N = 4; // Function to check matrix // is diagonal matrix // or not. static boolean isDiagonalMatrix(int mat[][]) { for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) // condition to check // other elements // except main diagonal // are zero or not. if ((i != j) && (mat[i][j] != 0)) return false; return true; } // Driver function public static void main(String args[]) { int mat[][] = { { 4, 0, 0, 0 }, { 0, 7, 0, 0 }, { 0, 0, 5, 0 }, { 0, 0, 0, 1 } }; if (isDiagonalMatrix(mat)) System.out.println("Yes"); else System.out.println("No" ); } } // This code is contributed by // Nikita Tiwari. |
Python3
# Python3 Program to check if matrix # is diagonal matrix or not. N = 4 # Function to check matrix # is diagonal matrix # or not. def isDiagonalMatrix(mat) : for i in range(0, N): for j in range(0, N) : # condition to check # other elements # except main diagonal # are zero or not. if ((i != j) and (mat[i][j] != 0)) : return False return True # Driver function mat = [[ 4, 0, 0, 0 ], [ 0, 7, 0, 0 ], [ 0, 0, 5, 0 ], [ 0, 0, 0, 1 ]] if (isDiagonalMatrix(mat)) : print("Yes") else : print("No") # This code is contributed by Nikita Tiwari. |
C#
// Program to check matrix is // diagonal matrix or not. using System; class GFG { static int N = 4; // Function to check matrix // is diagonal matrix // or not. static bool isDiagonalMatrix(int [,]mat) { for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) // condition to check // other elements // except main diagonal // are zero or not. if ((i != j) && (mat[i,j] != 0)) return false; return true; } // Driver function public static void Main() { int [,]mat = { { 4, 0, 0, 0 }, { 0, 7, 0, 0 }, { 0, 0, 5, 0 }, { 0, 0, 0, 1 } }; if (isDiagonalMatrix(mat)) Console.WriteLine("Yes"); else Console.WriteLine("No" ); } } // This code is contributed by // vt_m. |
PHP
<?php // Program to check matrix is // diagonal matrix or not. $N= 4; // Function to check matrix is // diagonal matrix or not. function isDiagonalMatrix($mat) { global $N; for ($i = 0; $i < $N; $i++) for ($j = 0; $j < $N; $j++) // condition to check // other elements // except main diagonal // are zero or not. if (($i != $j) && ($mat[$i][$j] != 0)) return false; return true; } // Driver Code $mat = array(array(4, 0, 0, 0), array(0, 7, 0, 0), array(0, 0, 5, 0), array(0, 0, 0, 1)); if (isDiagonalMatrix($mat)) echo "Yes" ,"\n"; else echo "No","\n"; // This code is contributed by jit_t ?> |
Output:
Yes
A square matrix is said to be scalar matrix if all the main diagonal elements are equal and other elements except main diagonal are zero. Scalar matrix can also be written in form of n * I, where n is any real number and I is the identity matrix.
Examples:
Input :
Mat[4][4] = {{4, 0, 0, 0},
{0, 4, 0, 0},
{0, 0, 4, 0},
{0, 0, 0, 4}}
Output : Yes
Mat[4][4] = {{4, 0, 0, 0},
{0, 4, 0, 0},
{0, 0, 1, 0},
{0, 0, 0, 4}}
Output : No
CPP
// Program to check matrix is scalar matrix or not. #include <bits/stdc++.h> #define N 4 using namespace std; // Function to check matrix is scalar matrix or not. bool isScalarMatrix(int mat[N][N]) { // Check all elements except main diagonal are // zero or not. for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) if ((i != j) && (mat[i][j] != 0)) return false; // Check all diagonal elements are same or not. for (int i = 0; i < N - 1; i++) if (mat[i][i] != mat[i + 1][i + 1]) return false; return true; } // Driver function int main() { int mat[N][N] = { { 2, 0, 0, 0 }, { 0, 2, 0, 0 }, { 0, 0, 2, 0 }, { 0, 0, 0, 2 } }; // Function call if (isScalarMatrix(mat)) cout << "Yes" << endl; else cout << "No" << endl; return 0; } |
Java
// Program to check matrix // is scalar matrix or not. import java.io.*; class GFG { static int N = 4; // Function to check matrix // is scalar matrix or not. static boolean isScalarMatrix(int mat[][]) { // Check all elements // except main diagonal are // zero or not. for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) if ((i != j) && (mat[i][j] != 0)) return false; // Check all diagonal elements // are same or not. for (int i = 0; i < N - 1; i++) if (mat[i][i] != mat[i + 1][i + 1]) return false; return true; } // Driver function public static void main(String args[]) { int mat[ ][ ] = { { 2, 0, 0, 0 }, { 0, 2, 0, 0 }, { 0, 0, 2, 0 }, { 0, 0, 0, 2 } }; // Function call if (isScalarMatrix(mat)) System.out.println("Yes"); else System.out.println("No"); } } // This code is contributed // by Nikita tiwari. |
Python3
# Program to check matrix # is scalar matrix or not. N = 4 # Function to check matrix is # scalar matrix or not. def isScalarMatrix(mat) : # Check all elements # except main diagonal are # zero or not. for i in range(0,N) : for j in range(0,N) : if ((i != j) and (mat[i][j] != 0)) : return False # Check all diagonal # elements are same or not. for i in range(0,N-1) : if (mat[i][i] != mat[i + 1][i + 1]) : return False return True # Driver function mat = [[ 2, 0, 0, 0 ], [ 0, 2, 0, 0 ], [ 0, 0, 2, 0 ], [ 0, 0, 0, 2 ]] # Function call if (isScalarMatrix(mat)): print("Yes") else : print("No") # This code is contributed by # Nikita tiwari. |
C#
// Program to check matrix // is scalar matrix or not. using System; class GFG { static int N = 4; // Function to check matrix // is scalar matrix or not. static bool isScalarMatrix(int [,]mat) { // Check all elements // except main diagonal are // zero or not. for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) if ((i != j) && (mat[i,j] != 0)) return false; // Check all diagonal elements // are same or not. for (int i = 0; i < N - 1; i++) if (mat[i, i] != mat[i + 1, i + 1]) return false; return true; } // Driver function public static void Main() { int [,]mat = { { 2, 0, 0, 0 }, { 0, 2, 0, 0 }, { 0, 0, 2, 0 }, { 0, 0, 0, 2 } }; // Function call if (isScalarMatrix(mat)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed // by vt_m. |
PHP
<?php // Program to check matrix // is scalar matrix or not. $N = 4; // Function to check matrix // is scalar matrix or not. function isScalarMatrix($mat) { global $N; // Check all elements except // main diagonal are zero or not. for ($i = 0; $i < $N; $i++) for ($j = 0; $j < $N; $j++) if (($i != $j) && ($mat[$i][$j] != 0)) return false; // Check all diagonal elements // are same or not. for ($i = 0; $i < $N - 1; $i++) if ($mat[$i][$i] != $mat[$i + 1][$i + 1]) return false; return true; } // Driver Code $mat = array(array(2, 0, 0, 0), array(0, 2, 0, 0), array(0, 0, 2, 0), array(0, 0, 0, 2)); // Function call if (isScalarMatrix($mat)) echo "Yes"; else echo "No" ; // This code is contributed by mits ?> |
Output :
Yes
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
Recommended Posts:
- Program for scalar multiplication of a matrix
- Program to swap upper diagonal elements with lower diagonal elements of matrix.
- Filling diagonal to make the sum of every row, column and diagonal equal of 3x3 matrix
- Maximum sum of elements in a diagonal parallel to the main diagonal of a given Matrix
- Length of a Diagonal of a Parallelogram using the length of Sides and the other Diagonal
- Program to convert given Matrix to a Diagonal Matrix
- Check if two elements of a matrix are on the same diagonal or not
- Construct a square Matrix whose parity of diagonal sum is same as size of matrix
- Program to convert the diagonal elements of the matrix to 0
- Program to find the Product of diagonal elements of a matrix
- Find a Symmetric matrix of order N that contain integers from 0 to N-1 and main diagonal should contain only 0's
- Find sum of all Boundary and Diagonal element of a Matrix
- Program to calculate area of a rhombus whose one side and diagonal are given
- Check if string is right to left diagonal or not
- Print matrix in diagonal pattern
- Mirror of matrix across diagonal
- Squares of Matrix Diagonal Elements
- Reverse Diagonal elements of matrix
- Sum of non-diagonal parts of a square Matrix
- Print numbers in matrix diagonal pattern
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

