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);