I would like to understand the flow of these loops for at each round, since according to what I understood of matrix multiplication and according to the loop: in the first round
i, j and k
would have a value of zero, therefore in
result [i] [j] that is: result [0] [0]
would be stored the result of the multiplication of X [i] [k] * Y [k] [j], that is, 12 * 5 = 60. and when printing gives 144 according to the output I have put down. and so on with everyone and I do not understand why.
a greeting!
# Program to multiply two matrices using nested loops
# 3x3 matrix
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
# 3x4 matrix
Y = [[5,8,1,2],
[6,7,3,0],
[4,5,9,1]]
# result is 3x4
result = [[0,0,0,0],
[0,0,0,0],
[0,0,0,0]]
# iterate through rows of X
for i in range(len(X)):
# iterate through columns of Y
for j in range(len(Y[0])):
# iterate through rows of Y
for k in range(len(Y)):
result[i][j] += X[i][k] * Y[k][j]
for r in result:
print(r)
#output:
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]