function proposed_multiply(a, b) {
let aRows = a.length;
let aCols = a[0].length;
let bCols = b[0].length;
let result = new Array(aRows);
for (let r = 0; r < aRows; ++r) {
const row = new Array(bCols);
result[r] = row;
const ar = a[r];
for (let c = 0; c < bCols; ++c) {
let sum = 0.;
for (let i = 0; i < aCols; ++i) {
sum += ar[i] * b[i][c];
}
row[c] = sum;
}
}
return result;
}
function schoolbook_multiply(m1, m2) {
var result = [];
for (var i = 0; i < m1.length; i++) {
result[i] = [];
for (var j = 0; j < m2[0].length; j++) {
var sum = 0;
for (var k = 0; k < m1[0].length; k++) {
sum += m1[i][k] * m2[k][j];
}
result[i][j] = sum;
}
}
return result;
}
function random_2d_array(width, height){
let result = [];
for (let i = 0 ; i < width; i++) {
result[i] = [];
for (let j = 0; j < height; j++) {
result[i][j] = Math.random();
}
}
return result;
}
const size = 16
const A = random_2d_array(size , size);
const B = random_2d_array(size , size);
const A_matrix = math.matrix(A);
const B_matrix = math.matrix(B);
A_tensor = tf.tensor(A)
B_tensor = tf.tensor(B)