Open In App

Php Program for Identity Matrix

Improve
Improve
Like Article
Like
Save
Share
Report

Introduction to Identity Matrix :

 The dictionary definition of an Identity Matrix is a square matrix in which all the elements of the principal or main diagonal are 1’s and all other elements are zeros. In the below image, every matrix is an Identity Matrix. 
 

In linear algebra, this is sometimes called as a Unit Matrix, of a square matrix (size = n x n) with ones on the main diagonal and zeros elsewhere. The identity matrix is denoted by “ I “. Sometimes U or E is also used to denote an Identity Matrix. 
A property of the identity matrix is that it leaves a matrix unchanged if it is multiplied by an Identity Matrix.

Examples:  

Input  : 2
Output : 1 0
         0 1

Input :  4
Output : 1 0 0 0
         0 1 0 0
         0 0 1 0
         0 0 0 1
The explanation is simple. We need to make all
the elements of principal or main diagonal as 
1 and everything else as 0.

Program to print Identity Matrix : 
The logic is simple. You need to the print 1 in those positions where row is equal to column of a matrix and make all other positions as 0. 

PHP




<?php
// PHP program to print
// Identity Matrix
 
function Identity($num)
{
    $row; $col;
     
    for ($row = 0; $row < $num; $row++)
    {
        for ($col = 0; $col < $num; $col++)
        {
             
            // Checking if row is
            // equal to column
            if ($row == $col)
            echo 1," ";
            else
            echo 0," ";
        }
        echo"\n";
    }
    return 0;
}
 
    // Driver Code
    $size = 5;
    identity($size);
 
// This code is contributed by anuj_67.
?>


Output: 

1  0  0  0  0  
0  1  0  0  0  
0  0  1  0  0  
0  0  0  1  0  
0  0  0  0  1  

Time Complexity: O(n*n) where n is no of rows and columns in matrix.

Space Complexity: O(1) as no extra space is used.

Program to check if a given square matrix is Identity Matrix : 

PHP




<?php
// PHP program to check if a
// given matrix is identity
// $MAX = 100;
 
function isIdentity($mat, $N)
{
    for ($row = 0; $row < $N; $row++)
    {
        for ( $col = 0; $col < $N; $col++)
        {
            if ($row == $col and
                $mat[$row][$col] != 1)
                return false;
            else if ($row != $col &&
                     $mat[$row][$col] != 0)
                return false;
        }
    }
    return true;
}
 
    // Driver Code
    $N = 4;
    $mat = array(array(1, 0, 0, 0),
                 array(0, 1, 0, 0),
                 array(0, 0, 1, 0),
                 array(0, 0, 0, 1));
    if (isIdentity($mat, $N))
    echo "Yes ";
    else
    echo "No ";
 
// This code is contributed by anuj_67.
?>


Output:

Yes

Time complexity: O(n^2) where n is no of rows and columns in matrix

Auxiliary Space: O(1) as using constant space

 



Last Updated : 22 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads