python – 2D数组每列的外积,形成一个3D数组 – NumPy
发布时间:2020-05-27 20:45:20 所属栏目:Python 来源:互联网
导读:令X为M×N矩阵.将xi表示为X的第i列.我想创建由M×M矩阵xi.dot(xi.T)组成的3维N×M×M阵列. 我怎么能用numpy最优雅地做到这一点?是否可以仅使用矩阵运算,没有循环? broadcasting的一种方法 – X.T[:,:,None]*X.T[:,None] 另一个有广播和交换轴后 – (X[:,Non
|
令X为M×N矩阵.将xi表示为X的第i列.我想创建由M×M矩阵xi.dot(xi.T)组成的3维N×M×M阵列. 我怎么能用numpy最优雅地做到这一点?是否可以仅使用矩阵运算,没有循环? 解决方法broadcasting的一种方法 –
X.T[:,:,None]*X.T[:,None] 另一个有广播和交换轴后 – (X[:,None,:]*X).swapaxes(0,2) 另一个广播和之后的多维转置 – (X[:,:]*X).T 使用 np.einsum('ij,kj->jik',X,X)
所有这些方法的基本思想是我们展开最后一个轴,使元素相乘相互保持第一轴对齐.我们通过将X扩展到两个3D阵列版本来实现这种相互对立的过程. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python中的easy_install工具在linux安装与使用解析
- UnitTesting GAE中的webapp.RequestHandler – Python
- python-高级切片:给定索引列表,从numpy数组中选择不同的元
- python – 使用iPhone加速度计数据获取图像的自上而下视图
- python操作日期和时间的方法
- python监控本机cpu的利用百分比情况
- python – 由Paramiko无法识别由ssh-keygen生成的SSH密钥
- Python socket编程实例详解
- 30个Python技巧(2)
- python – TypeError:__ init __()缺少1个必需的位置参数:
