How to check if a matrix is an identity matrix (1 on the main diagonal and 0 elsewhere) in PHP

1 Answer

0 votes
$m = array(     
            array(1, 0, 0),  
            array(0, 1, 0),  
            array(0, 0, 1)  
          );  
   
$rows = count($m);  
$cols = count($m[0]);  

$flag = true;  
   
if ($rows != $cols) {  
    print("Not a square matrix <br>");  
}  
else {  
    for ($i = 0; $i < $rows; $i++) {  
        for ($j = 0; $j < $cols; $j++) {  
          if ($i == $j && $m[$i][$j] != 1) {  
              $flag = false;  
              break;  
          }  
          if ($i != $j && $m[$i][$j] != 0) {  
              $flag = false;  
              break;  
          }  
        }  
    }  
      
    if ($flag)  
        print("Identity matrix");  
    else  
        print("Not identity matrix");  
}  




 
/*
run:
 
Identity matrix
 
*/

 



answered Aug 26, 2021 by avibootz
...