Python的numpy矩阵乘法相关:
1.直接对array之间使用表示进行点乘,维度较低的array_x1最高纬度(设为n维)的数字,必须与纬度较高array_x2对应维度上的数字相同。x1和x2第i维度(i>n)的数字要不然相同,要不然其中一者为1,即可相加。【乘法要求矩阵最末端的唯独对齐,因此此处的维度是从右往左计算】并且矩阵点乘不分左右。(及要求对其末尾的维度即可)
eg:可行的计算:(1,3,1,1)
(3,2,5),(1,3,1,5)(3,2,5),(2,3)(1,2,1)
不可行的计算:(1,3,2,3)*(3,1,5)
2.使用matmul进行矩阵之间的相乘,(a@b或者np.matmul(x1,x2)),要求前一个矩阵的列数必须等于后一个矩阵的行数。
3.使用dot进行矩阵之间的相乘,(np.dot(x1,x2)),要求同上

2,3区别,matmul在直接匹配以后不会添加其他维度,而dot会
eg:a(1,3,2),b(1,1,2,3)
a@b.shape=(1,1,3,3)
Np.dot(a,b).shape(1,3,1,1,3)

有关einsum,两指定的维度进行相乘,没指定就求和。


```python
X = np.array([[[1, 5], [2, 6]], [[3, 7], [4, 8]]])
A = np.array([[1, 2], [3, 4], [5, 6]])
>>> X
array([[[1, 5],[2, 6]],[[3, 7],[4, 8]]])
>>> A
array([[1, 2],[3, 4],[5, 6]])
>>> X.shape
(2, 2, 2)
>>> A.shape
(3, 2)
>>> Y = np.einsum('kij, lk -> lij', X, A)
>>> Y.shape
(3, 2, 2)
>>> Y
array([[[ 7, 19],[10, 22]],[[15, 43],[22, 50]],[[23, 67],[34, 78]]])

计算过程如下


图片转不过来凑活看吧

python矩阵乘法基础小结相关推荐

  1. python 矩阵乘法

    一 np.dot() 同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. import numpy as np# 2-D ...

  2. python矩阵乘法

    原理: python中矩阵乘法,可以通过 NumPy 的np.dot()函数计算(乘积也称为点积). np.dot()接收两个NumPy数组作为参数,并返回数组的乘积.类似于数学中的两个矩阵相乘,A中 ...

  3. python矩阵乘法分治算法_矩阵乘法的Strassen算法详解 --(算法导论分治法求矩阵)...

    1 题目描述 2 思路分析 3 解法 4 小结 1 题目描述 请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法. 2 思路分析 根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数 ...

  4. python矩阵乘法菜鸟_Python中的几种矩阵乘法(转)

    一.  np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import ...

  5. python矩阵乘法 点乘_转(matlab和numpy矩阵乘法异同)

    广义的矩阵的矩阵乘法包括:矩阵相乘,矩阵点乘,向量乘法与向量点乘,内积. 对应的MATLAB有[* , .* , dot]三种运算符.分别表示的相乘,点乘和内积. 而在numpy中呢,也有*和dot两 ...

  6. python 矩阵乘法 跳过nan_奇怪的numpy矩阵运算bug

    记录一个昨晚调到4点的奇妙bug 昨晚把服务器调试正确的训练程序放到集群上跑,发现其中有个depth map转点云的函数结果不正确,正常结果点云坐标会非常小,最大值不会超过2,但是集群上数值有好几百. ...

  7. python矩阵乘法算法_Python算法|矩阵链乘法

    概述 矩阵乘法是一个满足结合律的运算.显然,对于矩阵A.B.C来说,(AB)C 与 A(BC) 是等价的,我们可以根据自己的心情选择任意的运算顺序,总之,结果都是一样的. 糟糕的是,对计算机来说可不是 ...

  8. Python:矩阵乘法函数(高教社,《Python编程基础及应用》习题4-11)

    学习记录与分享 PTA教学平台 题目 设计一个Python函数,计算两个矩阵(二维列表)的乘积. 函数接口定义 def multiply(a,b,p,q,r) a是一个p行q列的二维列表:b是一个q行 ...

  9. python矩阵乘法_鱼书——第一章 Python入门

    one 第一章 1.1 Python是什么 Python是一个简单.易读.易记的编程语言,而且是开源的,可以免费地自由使用.Python可以用类似英语的语法编写程序,编译起来也不费力,因此我们可以很轻 ...

最新文章

  1. 如何关闭事件跟踪程序
  2. 50个令人大开眼界的 Matplotlib 可视化项目
  3. bzoj 2251: [2010Beijing Wc]外星联络
  4. WordPress的默认循环
  5. show slave status\G中的Read_Master_Log_Pos和Relay_Log_Pos的(大小)关系
  6. ASP.NET Core Web API下事件驱动型架构的实现(三):基于RabbitMQ的事件总线
  7. 5中bug vue_苹果官网出BUG!这些都只要一两百元
  8. c语言文件读写_学生信息管理系统(C语言\单向链表\文件读写)
  9. LeetCode 4Sum 4个数之和
  10. 价值5000元的报表分享
  11. 信捷XC系列PLC-编程
  12. 吉林大学超星学习通05
  13. 学习笔记 | 深度学习相关研究与展望 Review of deep learning
  14. select、poll、epoll、多线程实现并发请求处理
  15. 全球首位AI评委亮相“83行代码挑战赛”,评分“快准狠”
  16. #P00603. 倒水
  17. 深入 javascript 之 call函数 用法
  18. 全景图的种类、360度三维实拍全景
  19. linux mint安装金山快盘
  20. Dubbo的使用和原理

热门文章

  1. C语言 学生管理系统 c++ 学生管理系统
  2. 新书问答:Software Wasteland
  3. Golang源码探索----GC的实现原理(6)
  4. 操作无法完成错误0x0000709再次检查打印机名称解决方法!
  5. POE交换机全方位解读(下)
  6. 5 个常用 Python 标准库
  7. 在3G中实现LBS的定位技术和GIS系统
  8. Tomcat start and process
  9. 为什么数据库表名需要表前缀
  10. 8岁上海小学生B站教编程惊动苹果公司CEO