enhancedmath
Version:
This package contains some enhanced mathematical operations
26 lines (25 loc) • 713 B
JavaScript
import { getDimensions } from '../Helpers/index';
/**
* Calculates the matrix product of 2 matrices
* @param A Matrix a
* @param B Matrix b
*/
const matrix_product = (A, B) => {
const dimsA = getDimensions(A);
const dimsB = getDimensions(B);
if (dimsA.cols !== dimsB.rows) {
return undefined;
}
const result = new Array(dimsA.rows);
for (let i = 0; i < dimsA.rows; i++) {
result[i] = new Array(dimsB.cols);
for (let j = 0; j < dimsB.cols; j++) {
result[i][j] = 0;
for (let k = 0; k < dimsA.cols; k++) {
result[i][j] += A[i][k] * B[k][j];
}
}
}
return result;
};
export default matrix_product;