Given a N * N matrix and the task is to check matrix is idempotent matrix or not.
Idempotent matrix: A matrix is said to be idempotent matrix if matrix multiplied by itself return the same matrix. The matrix M is said to be idempotent matrix if and only if M * M = M. In 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.
Java
// Java program to check given matrix // is idempotent matrix or not. import java.io.*;
class GFG
{ static int N = 3 ;
// Function for matrix multiplication.
static void multiply( int mat[][], int res[][])
{
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];
}
}
}
// Function to check idempotent
// property of matrix.
static boolean checkIdempotent( int mat[][])
{
// Calculate multiplication of matrix
// with itself and store it into res.
int res[][] = new int [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 ;
}
// Driver code.
public static void main (String[] args)
{
int mat[][] = {{ 2 , - 2 , - 4 },
{- 1 , 3 , 4 },
{ 1 , - 2 , - 3 }};
// checkIdempotent function call.
if (checkIdempotent(mat))
System.out.println( "Idempotent Matrix" );
else
System.out.println( "Not Idempotent Matrix." );
}
} // This code is contributed by vt_m. |
Output:
Idempotent Matrix
Time complexity: O(N3)
Auxiliary space: O(N2)
Please refer complete article on Program to check idempotent matrix for more details!
Recommended Articles