matrix multiplication

by Richard Hunter

JavaScript

var m1 = [[1, 6],
          [-3, 5]];
          
var m2 = [[4, 2], 
          [0, -1]];
          
function multiplyMatrix(m1, m2) {

	var result = [];
  
  for(var i = 0; i < m1.length; i++) {
  	result[i] = [];
  	var row = m1[i];
		for(var j = 0; j < m2.length;j++){
    	result[i][j] = multiplyRowCol(m1[i], m2[j] );
    } 
  }
  return result;
}

function multiplyRowCol(row, col) {
	if(row.length !== col.length) {
  	throw new Error('arrays must be same length');
  }
  var result = 0;
	for(var i= 0; i < row.length; i++) {
  	result += row[i] * col[i];
  }
  return result;
}
var result = multiplyMatrix(m1, m2);

console.log(result);