文章目录

  • 1、导入numpy库备用
  • 2、生成两个随机矩阵
  • 3、用`list` 实现矩阵相乘
  • 4、直接采用`numpy`矩阵乘法
  • 5、算法结果比较
  • 6、结论

1、导入numpy库备用

import numpy as np

2、生成两个随机矩阵

a = np.random.rand(1000,1000)
b = np.random.rand(1000,1000)

3、用list 实现矩阵相乘

%%time
c = [[sum(i*j) for j in b.T] for i in a]
Wall time: 4min 52s

4、直接采用numpy矩阵乘法

%%time
d = a @ b
Wall time: 98.9 ms

5、算法结果比较

print(((c-d)**2).sum())
4.162550960848347e-20

6、结论

  • 由结果可见基于 list 的实现是正确的。
  • 但效率相比numpy而言相差太远

利用Python实现矩阵乘法并与numpy的结果比较相关推荐

  1. Python实现矩阵乘法

    问题 矩阵相信大家都知道,是线性代数中的知识,就是一系列数集.顾名思义,数字组成的矩形,例如: [1 2 3 4 5 67 8 9 1011 ] 现在,我们需要用python编程来实现矩阵的乘法. 输 ...

  2. 用python实现矩阵乘法

    题目:只用python的类和列表,实现矩阵乘法. 分析:先给定用户输入,再实现乘法.若有矩阵a和b,axb的规则是a的每一行乘b的每一列,每一次都要求和. class Matmul(object):# ...

  3. python三维矩阵乘法_tensorflow 二维矩阵乘以三维矩阵,高维矩阵相乘

    最近看论文时看到了一个让我费解的操作. 二维矩阵 * 三维矩阵 * 二维矩阵 得到了一个二维矩阵. 即: (n * c1) x (m * c1 * c2) x (n * c2) 得 n * m 实现主 ...

  4. numpy将所有数据变为0和1_《利用python进行数据分析》1.0——Numpy库

    目录: Tab 键自动完成 %run命令 "Ctri-C" 中断正在执行的代码 忘记输入和输出文本怎么办 创建数组 zero 和ones arange(),生成一定长度的数量 dt ...

  5. 利用分块矩阵计算矩阵乘法可以有效利用Cache

    以如下矩阵乘法为例解释分块乘法可以有效利用cache. 设: 如下两个8∗88 *88∗8的矩阵A,BA,BA,B,按4∗44*44∗4进行分块乘法. Cache有12行,每行可以存放4个Int.(目 ...

  6. 利用硬件实现矩阵乘法加速

    对于绝大多数程序员来说,优化程序往往是在算法方面.但了解一定的计算机硬件知识后,可以隐式地优化程序.下面以矩阵乘法为例,探讨计算机硬件在程序优化中的作用. 原理 学过计算机组成原理的都知道,CPU访问 ...

  7. python 轮廓矩阵_python – 在3D numpy矩阵中绘制给定值的曲面轮廓

    我有三个对应于xyz坐标空间的3D网格矩阵(X,Y,Z). 我还有一个3D Numpy矩阵A,其中A [i,j,k]包含一个与点(x,y,z)相关联的浮点数,其中x = X [i,j,k],y = Y ...

  8. python给矩阵赋值_python – 基本Numpy数组值赋值

    作为一个小练习,我开始在 python中使用数字代码,我正在尝试制作LDLT算法.只是为了"弄湿脚". 但是我似乎缺乏对numpy数组的基本理解.请参阅以下示例: def ldlt ...

  9. 利用Python输出九九乘法表

    本篇文章记录Python学习过程中遇到的一些有趣的代码 打印出常用的九九乘法表 代码如下: for i in range(1,10):for j in range(1,i+1):print(" ...

最新文章

  1. 学校APP太难用,码农爸妈们自己做出开源程序,官方却要报警
  2. BZOJ 2197 [Usaco2011 Mar]Tree Decoration
  3. win2003服务器记录文件夹,在Windows Server 2003里快速查找文件
  4. 爬虫为什么用Chrome?
  5. python 按列名称筛选_python中实现excel的高级筛选
  6. 微信支付退款回调处理 php
  7. JQuery-让Ajax变的更简单
  8. 关于 SAP UI5 应用的自动化测试方法
  9. 重读 CenterNet,一个在Github有5.2K星标的目标检测算法
  10. 利用vs10和opencv识别图片类型身份证的号码
  11. 解决办法:不在sudoers文件中此事将被报告
  12. 目标检测的图像特征提取之LBP特征
  13. Linux的目录结构及对应目录下存放的内容
  14. MYSQL实现排序分组取第一条sql
  15. OSChina 周六乱弹 —— 快上车,司机调休了
  16. 阴阳师双小小黑通关真八岐大蛇攻略——附式神配置和打法
  17. 网上得到的一个3D渲染引擎
  18. 【Atlas300T训练产品】【bert模型加载功能】推理过程ckpt中部分参数未加载
  19. 做外贸开发客户用的邮件群发软件,同行达40%~70%打开率?
  20. SocketTools 11在所有HTTP客户端组件支持

热门文章

  1. rsync常用的三种用法
  2. Oracle数据库备份与恢复的三种方法
  3. 关于mysql行级锁中MVCC的一些理解
  4. BZOJ.1032.[JSOI2007]祖码(区间DP)
  5. 【Linux网络编程】基于TCP流 I/O多路转接(poll) 的高性能http服务器
  6. iOS之runtime
  7. 15、Cocos2dx 3.0游戏开发找小三之Sprite:每一个精灵都是上辈子折翼的天使
  8. ThreadGroup其实比ExecutorService更好
  9. 介绍一种很棒的wince 如何替换系统声音的方法
  10. Android系统之Broadcom GPS 移植