python实现矩阵乘法
不使用其他库的情况下实现矩阵乘法
在不使用numpy库的情况下实现矩阵乘法,看起来很简单,但这之中也是存在坑的。比如如下代码:
class mat_mul():
def mm(self,A,B):
row_len = len(A)
column_len = len(B[0])
cross_len = len(B)
res_mat = [[0] * row_len] * column_lenfor i in range(row_len):
for j in range(column_len):
for k in range(cross_len):
temp = A[i][k] * B[k][j]
res_mat[i][j] += temp
print "==="
print res_mat
def main():
A = [[1,1,1],[2,0,2]]
B = [[0,1],[1,0],[1,1]]
m = mat_mul()
m.mm(A,B)
if __name__ == '__main__':
main()
结果本应该是
可是最终程序运行完结果却是
最终将中间结果输出,发现问题出现在矩阵初始化阶段:
res_mat =