w3resource

JavaScript: Check whether a given matrix is an identity matrix

JavaScript Basic: Exercise-117 with Solution

Write a JavaScript program to check whether a given matrix is an identity matrix.

Note: In linear algebra, the identity matrix, or sometimes ambiguously called a unit matrix, of size n is the n × n square matrix with ones on the main diagonal and zeros elsewhere.
[[1, 0, 0], [0, 1, 0], [0, 0, 1]] -> true
[[1, 0, 0], [0, 1, 0], [1, 0, 1]] -> false

Visual Presentation:

JavaScript: Check whether a given matrix is an identity matrix.

Sample Solution:

JavaScript Code:

// Function to check if the given matrix is an identity matrix
function is_identity_Matrix(matrix_data) {
  // Checks whether given matrix is a square matrix or not
  for (var i = 0; i < matrix_data.length; i++) {
    rows = matrix_data.length;
    cols = matrix_data[i].length;
    if (rows != cols) {
      console.log("Matrix should be a square matrix");
      return false;
    }
  }
  // Loop to verify if the matrix is an identity matrix
  for (var i = 0; i < matrix_data.length; i++) {
    for (var j = 0; j < matrix_data.length; j++) {
      if (matrix_data[i][j] !== 1 && i === j || matrix_data[i][j] && i !== j) {
        return false;
      }
    }
  }
  return true; // Returns true if the matrix is an identity matrix
}

// Testing the function with sample inputs
console.log(is_identity_Matrix([[1, 0, 0, 2], [0, 1, 0], [0, 0, 1]])); // Output: false (not a square matrix)
console.log(is_identity_Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])); // Output: true (identity matrix)
console.log(is_identity_Matrix([[1, 0, 1], [0, 1, 0], [0, 0, 1]])); // Output: false (not an identity matrix)  

Output:

Matrix should be a square matrix
false
true
false

Live Demo:

See the Pen javascript-basic-exercise-117 by w3resource (@w3resource) on CodePen.


Flowchart:

Flowchart: JavaScript - Check whether a given matrix is an identity matrix

ES6 Version:

// Function to check if the given matrix is an identity matrix
const is_identity_Matrix = (matrix_data) => {
  // Checks whether the given matrix is a square matrix
  for (let i = 0; i < matrix_data.length; i++) {
    const rows = matrix_data.length;
    const cols = matrix_data[i].length;
    if (rows !== cols) {
      console.log("Matrix should be a square matrix");
      return false;
    }
  }

  // Verifies if the matrix is an identity matrix
  for (let i = 0; i < matrix_data.length; i++) {
    for (let j = 0; j < matrix_data.length; j++) {
      if ((matrix_data[i][j] !== 1 && i === j) || (matrix_data[i][j] && i !== j)) {
        return false;
      }
    }
  }
  return true; // Returns true if the matrix is an identity matrix
};

// Testing the function with sample inputs
console.log(is_identity_Matrix([[1, 0, 0, 2], [0, 1, 0], [0, 0, 1]])); // Output: false (not a square matrix)
console.log(is_identity_Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])); // Output: true (identity matrix)
console.log(is_identity_Matrix([[1, 0, 1], [0, 1, 0], [0, 0, 1]])); // Output: false (not an identity matrix)

Improve this sample solution and post your code through Disqus.

Previous: JavaScript program to find all the possible options to replace the hash in a string (Consists of digits and one hash (#)) with a digit to produce an integer divisible by 3.
Next: JavaScript program to check whether a given number is in a given range.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/javascript-basic-exercise-117.php