首页 > 解决方案 > Python矩阵乘法

问题描述

我正在使用一个程序,它生成两个形状相同的矩阵,它们从 1 到 11 行不同,并且总是具有相同数量的列。我需要将这些矩阵单元逐个相乘。

例如,如果我有:

([1 1 1];[2 2 2];[3 3 3]) * ([1 2 3]; [4 5 6]; [2 4 6]) = ([1 2 3]; [8 10 12]; [6 12 9])

我在使用 A*A 时遇到问题 有人可以帮我吗?非常感谢

标签: pythonmatrixmultiplication

解决方案


你可以试试这个:

arr1=[[1,1,1],[2,2,2],[3,3,3]]
arr2 = [[1,2,3],[4,5,6],[2,4,6]]

multi = lambda a,b: [[p[i]*q[i] for i in range(len(p))] for p, q in zip(a,b)]
print(multi(arr1,arr2))

numpy用作@BrennenSprimont 的答案:

import numpy as np
first = np.array([[1,1,1],[2,2,2],[3,3,3]])
seco = np.array([[1,2,3],[4,5,6],[2,4,6]])

print(first*seco) 

推荐阅读