C++ Program to check idempotent matrix
Last Updated :
29 Dec, 2022
Given N * N matrix and the task is to check matrix is an idempotent matrix or not.
Idempotent matrix: A matrix is said to be an idempotent matrix if the matrix multiplied by itself returns the same matrix. The matrix M is said to be an idempotent matrix if and only if M * M = M. In an idempotent matrix M is a square matrix.
Examples:
Input : mat[][] = {{3, -6},
{1, -2}};
Output : Idempotent Matrix
Input : mat[N][N] = {{2, -2, -4},
{-1, 3, 4},
{1, -2, -3}}
Output : Idempotent Matrix.
C++
#include<bits/stdc++.h>
#define N 3
using namespace std;
void multiply( int mat[][N], int res[][N])
{
for ( int i = 0; i < N; i++)
{
for ( int j = 0; j < N; j++)
{
res[i][j] = 0;
for ( int k = 0; k < N; k++)
res[i][j] += mat[i][k] * mat[k][j];
}
}
}
bool checkIdempotent( int mat[][N])
{
int res[N][N];
multiply(mat, res);
for ( int i = 0; i < N; i++)
for ( int j = 0; j < N; j++)
if (mat[i][j] != res[i][j])
return false ;
return true ;
}
int main()
{
int mat[N][N] = {{2, -2, -4},
{-1, 3, 4},
{1, -2, -3}};
if (checkIdempotent(mat))
cout << "Idempotent Matrix" ;
else
cout << "Not Idempotent Matrix." ;
return 0;
}
|
Time Complexity: O(N3)
Auxiliary Space: O(N2)
Please refer complete article on Program to check idempotent matrix for more details!
Share your thoughts in the comments
Please Login to comment...