-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMatrix.js
43 lines (41 loc) · 1.03 KB
/
Matrix.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function multiplyMatrix(a, b) {
const ar = a.length;
const ac = a[0].length; // == br
const br = b.length;
const bc = b[0].length;
if (ac == br) {
const resultMatrix = [];
for (let row = 0; row < ar; row++) {
const rowMatrix = [];
for (let i = 0; i < bc; i++) {
rowMatrix[i] = 0;
for (let col = 0; col < ac; col++) {
rowMatrix[i] += a[row][col] * b[col][i];
}
}
resultMatrix[row] = rowMatrix;
}
return resultMatrix;
} else {
console.log("Wrong matrix multiplying");
return 0;
}
}
function multiplyMatrixPoint(a, b) {
const ar = a.length;
const ac = a[0].length; // == br
const br = b.length;
if (ac == br) {
const rowMatrix = [];
for (let row = 0; row < ar; row++) {
rowMatrix[row] = 0;
for (let col = 0; col < ac; col++) {
rowMatrix[row] += a[row][col] * b[col];
}
}
return rowMatrix;
} else {
console.log("Wrong matrix multiplying");
return 0;
}
}