python - 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 时遇到问题 有人可以帮我吗?非常感谢
解决方案
你可以试试这个:
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)
推荐阅读
- node.js - 多个 AWS Lambda 是否可以为单个 HTTP 请求提供服务?
- excel - 为 SFTP 位置中的 excel 文件自动执行宏
- c++ - 使用换行符打破c ++中的循环
- python - 在 LinkedIn 上抓取工作机会时遇到的困难
- r - 从 R 中的两个日期列生成日期范围
- d3.js - 如何为 d3.js 地球标记添加高度,模仿图钉?
- terminal - ANSI 终端将字符一层一层叠加
- javascript - 如何在表格中呈现 React 中的状态数组
- maven - 如何从通过 pom.xml 添加的 IntelliJ 中删除依赖项?
- react-native - 无法使用组件“ImageBackground”创建圆角边框