public int[][] Multiply(int[][] a, int[][] b) { SquareMatrixValidator validator = new SquareMatrixValidator(); validator.ValidateMatrices(a, b); int[][] c = new int[a.Length][]; MatrixPartition aPartition = CreateDefaultPartition(a); MatrixPartition bPartition = CreateDefaultPartition(b); MatrixPartition cPartition = CreateDefaultPartition(a); c = MultiplyHelper(a, b, c, aPartition, bPartition, cPartition); return(c); }
public int[][] Multiply(int[][] a, int[][] b) { SquareMatrixValidator validator = new SquareMatrixValidator(); validator.ValidateMatrices(a, b); int[][] c = new int[a.Length][]; for (int i = 0; i < a.Length; i++) { c[i] = new int[a.Length]; for (int j = 0; j < a.Length; j++) { c[i][j] = 0; for (int k = 0; k < a.Length; k++) { c[i][j] += a[i][k] * b[k][j]; } } } return(c); }