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.



Follow us on Facebook and Twitter for latest update.