dot method

Matrix dot(
  1. Matrix matrixB
)

Dot product of two matrices

  • matrixB The matrix to perform the dot product with
  • Returns The new matrix

Implementation

Matrix dot(Matrix matrixB) {
  if (getDimensions()[1] != matrixB.getDimensions()[0]) {
    throw Exception(
      "Matrix dimensions must be in the form : MxN × NxP, ${getDimensions()[0]}x${getDimensions()[1]} × ${matrixB.getDimensions()[0]}×${matrixB.getDimensions()[1]}",
    );
  }
  Matrix newMatrix = Matrix(getDimensions()[0], matrixB.getDimensions()[1]);
  for (int i = 0; i < _matrix.length; i++) {
    for (int j = 0; j < matrixB._matrix[0].length; j++) {
      for (int k = 0; k < matrixB._matrix.length; k++) {
        newMatrix.setAt(
          i,
          j,
          value: newMatrix.getAt(i, j) + getAt(i, k) * matrixB.getAt(k, j),
        );
      }
    }
  }
  return newMatrix;
}