24 lines
614 B
JavaScript
24 lines
614 B
JavaScript
// returns a new matrix
|
|
Matrix.prototype.mult = function(other) {
|
|
if (this.width != other.height) {
|
|
throw "error: incompatible sizes";
|
|
}
|
|
|
|
var result = [];
|
|
for (var i = 0; i < this.height; i++) {
|
|
result[i] = [];
|
|
for (var j = 0; j < other.width; j++) {
|
|
var sum = 0;
|
|
for (var k = 0; k < this.width; k++) {
|
|
sum += this.mtx[i][k] * other.mtx[k][j];
|
|
}
|
|
result[i][j] = sum;
|
|
}
|
|
}
|
|
return new Matrix(result);
|
|
}
|
|
|
|
var a = new Matrix([[1,2],[3,4]])
|
|
var b = new Matrix([[-3,-8,3],[-2,1,4]]);
|
|
print(a.mult(b));
|