python矩阵点乘和叉乘_NumPy点积:取向量积的乘积(而不是求和)
假设我有两个矩阵:M是2x3,而{}是3x4。。。在import numpy as np
M = np.matrix([ [1,2,3], [4,5,6]])
C = np.matrix([ [1,1,2,2], [1,2,1,2], [2,1,1,1]])
我需要把这些矩阵相乘得到2x4大小的结果。使用np.dot(M, C)这很容易,但是我想将向量积相乘,而不是求和。在
例如,普通的点积可以:
^{pr2}$
我只想用乘法符号代替加号。。。在result[0,0] = (M[0,0]*C[0,0]) * (M[0,1]*C[1,0]) * (M[0,2]*C[2,0])
# result[0,0] = (1*1) * (2*1) * (3*2)
# result[0,0] = 12
我的最佳解决方案是在M行上循环——result = np.empty( (2,4) )
for i in range(2):
result[i,:] = np.prod(np.multiply(np.tile(M[i,:].T , (1,4)), C) , axis=0)
分解后,M的每一行被转置,然后平铺(使用np.tile),这样它的大小与C(即3x4)相同。然后我把矩阵的元素相乘,取每列的乘积。在
在我编写的实际程序中,M和{}不一定是整数,可以是任何大小,并且这个计算要执行数千次。我想知道有没有人知道一种快速易读的方法。在
更新
@Warren Weckesser提供了一个很好的解决方案。但现在我有了一个新的挑战——具体来说,如果我想在乘以向量积之前先从向量积中减去一个数,会怎么样?在
在我之前的解决方案中可以这样做:result1 = np.empty( (2,4) )
for i in range(2):
result1[i,:] = np.prod( 1 - np.multiply( np.tile(M[i,:].T , (1,4)), C) , axis=0)
我反复研究过@Warren Weckesser提供的解决方案,但是没有用。我绝对愿意想出更优雅的东西!在
python矩阵点乘和叉乘_NumPy点积:取向量积的乘积(而不是求和)相关推荐
- python矩阵点乘和叉乘_【python笔记】1.3numpy矩阵点乘与叉乘
1.矩阵乘法dot函数 矩阵的乘法就是矩阵a的第一行乘以矩阵b的第一列,各个元素对应相乘然后求和作为第一元素的值.矩阵只有当左边矩阵的列数等于右边矩阵的行数时,它们才可以相乘,乘积矩阵的行数等于左边矩 ...
- 【Python学习笔记】多个矩阵点乘和叉乘
[Python学习笔记]多个矩阵点乘和叉乘 一.定义 二.代码实现 一.定义 点乘,对应元素相乘,点乘对象的行数必须相等,且前者的列数必须与后者相等,或为1,具有广播机制. 叉乘,前者的列数必须和后者 ...
- python矩阵组合_用产品组合矩阵平衡您的产品组合
python矩阵组合 产品组合矩阵是一个方便的工具,可以帮助您做出正确的产品组合决策. 这篇文章说明了如何有效地将其用于管理数字产品组合. 重装上阵 产品投资组合矩阵 (也称为增长份额和BCG矩阵)希 ...
- Python矩阵相乘
目录 1 引言 2 Python里向量和矩阵的概念 3 矩阵相乘--Python 4 Python矩阵相乘举例说明 4.1 对位乘积举例说明 4.2 矩阵乘法 4.3 向量内积 1 引言 矩阵相乘分为 ...
- python中的[:-1] [:,:-1] python矩阵numpy中array的冒号 逗号
如何理解[:-1] [:,:-1] data = np.loadtxt('data.csv', delimiter = ',') X = data[:,:-1] #取所有行,取列到倒数 ...
- python 矩阵中的冒号 逗号
python 矩阵中的冒号 逗号 https://blog.csdn.net/Strive_0902/article/details/78225691?utm_source=blogxgwz0 pyt ...
- python矩阵相加_【python矩阵相加怎么做,这可是证明python功能的大好机会】- 环球网校...
[摘要]今天的python实践内容是为了让大家了解python矩阵相加方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...
- python矩阵中插入矩阵_Python | 矩阵的痕迹
python矩阵中插入矩阵 The sum of diagonal elements of a matrix is commonly known as the trace of the matrix. ...
- python矩阵转置_Python 矩阵转置的几种方法小结
我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): fo ...
最新文章
- HTTP报文简单介绍
- python好找工作么-python和django掌握到什么水平才好找工作?
- 第四次游戏革命:全息游戏 from:http://www.cnblogs.com/alamiye010/archive/2012/08/15/2640881.html...
- html5 居中 字体 字号,css字体水平居中
- Android Binder漏洞挖掘技术与案例分享
- 负责指挥与控制整台电子计算机,2011秋季计算机应用基础期末考试卷(修改)
- 吴恩达机器学习作业Python实现(三):多类分类和前馈神经网络
- 模拟恶劣网络环境常用的几种解决方案
- Java第二章:数据类型和运算符
- swift扩展_Swift扩展
- 2018网易校招前端笔试考后总结
- Python3的opencv环境搭建简易教程
- el-table的使用总结
- jsp+servlet+mysql 学生选课系统
- 史上最强NLP知识集合:知识结构、发展历程、导师名单
- ajax回调的data,。。。Ajax的回调函数function(data)中,data的返回类型。。。
- 5g的八大关键指标_5G的七大关键性能指标5G对生活的改变新5G时代的来临身边巨变...
- 2345加速浏览器有哪些特点
- 并发编程 — AtomicStampedReference 详解
- 医院信息化的三种演进建设模式