Skip to content

Commit 1083e66

Browse files
committed
Fixed error in matrix multiplication that didn't multiple non-square matrices. Also added checks for invalid dimensions
1 parent 066f374 commit 1083e66

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

matrix/matrix_multiplication_addition.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,19 @@ def scalarMultiply(matrix , n):
1515

1616
def multiply(matrix_a, matrix_b):
1717
matrix_c = []
18-
n = len(matrix_a)
19-
for i in range(n):
18+
num_rows_a = len(matrix_a)
19+
num_cols_a = len(matrix_a[0])
20+
num_rows_b = len(matrix_b)
21+
num_cols_b = len(matrix_b[0])
22+
23+
if num_cols_a != num_rows_b :
24+
raise ValueError('Cannot multiply matrix of dimensions {},{} and {},{}'.format(num_rows_a,num_cols_a,num_rows_b,num_cols_b))
25+
26+
for i in range(num_rows_a):
2027
list_1 = []
21-
for j in range(n):
28+
for j in range(num_cols_b):
2229
val = 0
23-
for k in range(n):
30+
for k in range(num_rows_a):
2431
val = val + matrix_a[i][k] * matrix_b[k][j]
2532
list_1.append(val)
2633
matrix_c.append(list_1)

0 commit comments

Comments
 (0)