Check Idempotent Matrix

Check Idempotent Matrix” is a problem of matrix where we need to check whether given matrix is an idempotent matrix or not.

There are basically three different types of matrix:

  1. Identity Matrix: An identity matrix is a square matrix of size N*N which have all the diagonal element as 1 and others as 0.
  2. Idempotent Matrix: An Idempotent matrix is a matrix which is when multiplied by itself produces the same matrix.
  3. Involuntary Matrix: An involutory matrix is a matrix which when multiplied by itself gives identity matrix.

Here, we are given a square matrix of size N*N. Our task is to check whether the given matrix is idempotent matrix or not. 

Example:

INPUT:
N = 3
2  -2 -4
-1  3  4
1  -2 -3
OUTPUT:
Idempotent Matrix

The solution of check idempotent matrix is to multiply the given matrix by itself and store the result in resultant matrix. If the resultant matrix is same as the given matrix, then given matrix is said to be idempotent. Else, it is not an idempotent matrix.


C++ Program to check idempotent matrix is as follows:

/* Program to check idempotent matrix */
#include<bits/stdc++.h>  
using namespace std;  
int main()  

{  
    // Scan Dimension of the matrix  
    int n;  
    cout<<"Enter the dimesion of square matrix:\n";  
    cin>>n;  
      
    // Scan Elements of the matrix  
    int matrix[n][n];  
    cout<<"Enter the elements of square matrix:\n";  
    for(int i = 0 ; i < n ; i++)  
    for(int j = 0 ; j < n ; j++)  
    cin>>matrix[i][j];  
      
    // Initializing resultant matrix with 0  
    int resultant[n][n];  
    for(int i = 0 ; i < n ; i++)  
    for(int j = 0 ; j < n ; j++)  
    resultant[i][j] = 0;  
      
    //Multiply the matrix with itself and storing  
    // the result in resultant matrix  
    for (int i = 0 ; i < n ; i++)  
    {  
        for (int j = 0 ; j < n ; j++)  
        {  
            for (int k = 0 ; k < n ; k++)   
            {  
                resultant[i][j] += matrix[i][k] * matrix[k][j];   
            }  
        }  
    }  
      
    //Check whether the resultant matrix is   
    // equal to given matrix or not   
    bool result = true;  
    for (int i = 0 ; i < n ; i++)  
    {  
        for (int j = 0 ; j < n ; j++)  
        {  
            if(matrix[i][j] != resultant[i][j])  
            {  
                result = false;  
                break;  
            }  
        }  
        if(!result)  
        break;  
    }  
    if(result)  
    cout<<"Idempodent Matrix!!";  
    else  
    cout<<"Not Idempodent Matrix";  
}  

OUTPUT:
Enter the dimesion of square matrix: 3
Enter the elements of square matrix:
2 -2 -4
-1 3 4
1 -2 -3
Idempotent Matrix!!

Related Posts:

  1. Program to check Involuntary Matrix.
  2. Program to print matrix in zig-zag order.
  3. Program to print matrix in spiral order.
  4. Program to sort a matrix.
  5. Program to Add two Matrix.
  6. Program to Transpose a Matrix.
  7. Program to Multiply Two Matrix.
  8. Program to check Identity Matrix.
  9. Find Most Frequent Character of the String.
  10. Check Anagram Strings.
  11. Check Whether Given String is Palindromic Anagram or Not.
  12. Check Whether Given String is Panagram or Not.
  13. Find First Non-Repeating Character of the String.
  14. Find Most Frequent Element of the Array.
  15. Find Pair in an Array with Given Sum.
  16. Find First Repeating Element of an Array.
  17. Find Majority Element of an Array.
  18. Program to check if String is isogram or not.
  19. Program to Reverse Each word of the String.
  20. Program to Print All the Substring of the Given String.

You may also like...