Program to check diagonal matrix and scalar matrix

13 Jul, 2022
A square matrix is said to be a diagonal matrix if the elements of the matrix except the main diagonal are zero. A square null matrix is also a diagonal matrix whose main diagonal elements are zero. 
Examples: 
Input: 
Mat[4][4] = {{4, 0, 0, 0},
             {0, 5, 0, 0},
             {0, 0, 2, 0},
             {0, 0, 0, 1}}
Output: Yes

Input:
Mat[4][4] = {{6, 10, 12, 0},
             {0, 5, 0, 0},
             {0, 0, 9, 0},
             {0, 0, 0, 1}}
Output: No
Below is the implementation:
CPP
Java
Python3
C#
PHP
Javascript
// Program to check matrix is diagonal matrix or not. #include <bits/stdc++.h>#define N 4using 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 functionint 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;}
// 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 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 functionmat = [[ 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.
// 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// 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?>
<script> // JavaScript program to check matrix is// diagonal matrix or not. let N = 4;           // Function to check matrix    // is diagonal matrix    // or not.    function isDiagonalMatrix(mat)    {        for (let i = 0; i < N; i++)            for (let 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         let mat = [[ 4, 0, 0, 0 ],                          [ 0, 7, 0, 0 ],                          [ 0, 0, 5, 0 ],                          [ 0, 0, 0, 1 ]];                if (isDiagonalMatrix(mat))            document.write("Yes");        else            document.write("No" ); </script>
Yes
Time Complexity: O(N2), where N represents the number of rows and columns of the given matrix.Auxiliary Space: O(1), no extra space is required, so it is a constant.
A square matrix is said to be a scalar matrix if all the main diagonal elements are equal and other elements except main diagonal are zero. The 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

Input:
Mat[4][4] = {{4, 0, 0, 0},
             {0, 4, 0, 0},
             {0, 0, 1, 0},
             {0, 0, 0, 4}} 
Output: No
Below is the implementation:
CPP
Java
Python3
C#
PHP
Javascript
// Program to check matrix is scalar matrix or not.#include <bits/stdc++.h>#define N 4using 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 functionint 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;}
// 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.
# 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 functionmat = [[ 2, 0, 0, 0 ],       [ 0, 2, 0, 0 ],       [ 0, 0, 2, 0 ],       [ 0, 0, 0, 2 ]] # Function callif (isScalarMatrix(mat)):    print("Yes")else :    print("No")          # This code is contributed by# Nikita tiwari.
// 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// 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 callif (isScalarMatrix($mat))    echo "Yes";else    echo "No" ; // This code is contributed by mits?>
<script>// Javascript Program to check matrix// is scalar matrix or not.   let N = 4;        // Function to check matrix    // is scalar matrix or not.    function isScalarMatrix(mat)    {             // Check all elements        // except main diagonal are        // zero or not.        for (let i = 0; i < N; i++)            for (let j = 0; j < N; j++)                if ((i != j)                  && (mat[i][j] != 0))                    return false;               // Check all diagonal elements        // are same or not.        for (let i = 0; i < N - 1; i++)            if (mat[i][i] != mat[i + 1][i + 1])                return false;        return true;    }           // Driver Code    let mat = [[ 2, 0, 0, 0 ],                          [ 0, 2, 0, 0 ],                          [ 0, 0, 2, 0 ],                          [ 0, 0, 0, 2 ]];                                   // Function call        if (isScalarMatrix(mat))            document.write("Yes");        else            document.write("No"); // This code is contributed by souravghosh0416.</script>
Yes
Time Complexity: O(N2), where N represents the number of rows and columns of the given matrix.Auxiliary Space: O(1), no extra space is required, so it is a constant.
jit_t
Mithun Kumar
code_hunt
souravghosh0416
tamanna17122007
harendrakumar123
Mathematical
Matrix
Mathematical
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.