关于python中的矩阵乘法(array和mat类型)
一、关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型;
对于这两种数据类型均有三种操作方式:
(1)乘号 *
(2)np.dot()
(3)np.multiply()
而这三种操作方式在操作这两种数据格式时又有点区别,下面一一列出来:
import numpy as np #np.array() type
#1. np.dot()
a = np.array([[1 , 2] , [3 , 4]] , dtype = np.float)
b = np.array([[1 , 2] , [3 , 4]] , dtype = np.float)
c = np.dot(a , b)
print(c)
#output:[[ 7. 10.],[ 15. 22.]] #2. *
d = a * b
print(d)
#output:[[ 1. 4.],[ 9. 16.]] #3. np.multiply()
e = np.multiply(a , b)
print(e)
#output:[[ 1. 4.],[ 9. 16.]] #np.mat() type
#4. *
A = np.mat([[1 , 2] , [3 , 4]] , dtype = np.float)
B = np.mat([[1 , 2] , [3 , 4]] , dtype = np.float)
C = A * B
print(C)
#output:[[ 7. 10.],[ 15. 22.]] #5. np.dot()
D = np.dot(A , B)
print(D)
#output:[[ 7. 10.],[ 15. 22.]] #6. np.multiply()
E = np.multiply(A , B)
print(E)
#output:[[ 1. 4.],[ 9. 16.]] # np.mat() * np.array()
F = A * a;
print(F)
#output:[[ 7. 10.],[ 15. 22.]]
由上面的代码可以总结如下:
(1)np.dot()对于这两种数据格式均为矩阵乘法;
(2)np.multiply()对于这两种数据格式均为按元素相乘;
(3)符号“*”对于array类型是矩阵乘法,对于mat类型是按元素类型相乘,而当一个array类型乘上一个mat类型时,则为矩阵乘法;
二、pytorch中的乘法:
(1)矩阵相乘:torch.mm();
(2)对应元素点乘:torch.mul();
关于python中的矩阵乘法(array和mat类型)的更多相关文章
- python中的矩阵、多维数组----numpy
https://docs.scipy.org/doc/numpy-dev/user/quickstart.html (numpy官网一些教程) numpy教程:数组创建 python中的矩阵.多维数 ...
- python中的list和array的不同之处 2
版权声明:本文为博主非原创文章,未经博主允许可以转载. Python中的list和array的不同之处 python中的list是python的内置数据类型,list中的数据类不必相同的,而a ...
- [转]Python中的矩阵转置
Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...
- python中的list和array的不同之处 及转换
python中的list和array的不同之处list是列表,可以通过索引查找数值,但是不能对整个列表进行数值运算 In [96]: b=[1,2] In [97]: b[1]Out[97]: 2In ...
- Python中,如何初始化不同的变量类型为空值
参考文章 Python中,如何初始化不同的变量类型为空值 常见的数字,字符,很简单,不多解释. 列表List的其值是[x,y,z]的形式 字典Dictionary的值是{x:a, y:b, z:c} ...
- python中的矩阵、多维数组
2. 创建一般的多维数组 import numpy as np a = np.array([1,2,3], dtype=int) # 创建1*3维数组 array([1,2,3]) type(a ...
- 2.python中的矩阵、多维数组----numpy
最近在将一个算法由matlab转成python,初学python,很多地方还不熟悉,总体感觉就是上手容易,实际上很优雅地用python还是蛮难的.目前为止,觉得就算法仿真研究而言,还是matlab用得 ...
- Python中的矩阵、多维数组:Numpy
Numpy 是Python中科学计算的核心库.它提供一个高性能多维数据对象,以及操作这个对象的工具.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对 ...
- python中的list和array的不同之处
原文地址: http://blog.csdn.net/liyaohhh/article/details/51055147#reply python中的list是python的内置数据类型,list中 ...
随机推荐
- 网络运维必回的模拟器-GNS软件下载和安装
网络运维必回的模拟器-GNS软件下载和安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.GNS简介 1>.什么是GNS GNS3是一款具有图形化界面可以运行在多平台( ...
- Hortonworks官网文档怎么找?
Hortonworks官网文档怎么找? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 俗话说,授人予鱼不如授人予渔,网上部署HDP的部署方式的博客有很多,看得你是眼花缭乱的.其实万 ...
- Hbase_02、Hbase的常用的shell命令&Hbase的DDL操作&Hbase的DML操作(转)
阅读目录 前言 一.hbase的shell操作 1.1启动hbase shell 1.2执行hbase shell的帮助文档 1.3退出hbase shell 1.4使用status命令查看hbase ...
- 【JQ】jq动态绑定事件.on()、解绑事件off()
#JQ 绑定与解绑事件的方法的历史演变 1. jquery1.4 及之前的版本,由.click() 或 .bind()方法绑定的事件,不能适用脚本创建的新元素:即是说页面加载完成后,再动态创建的DOM ...
- @JsonIgnore注解可以实现不返回前端字段
import com.fasterxml.jackson.annotation.JsonIgnore; /** * 密码 */ @JsonIgnore private String password;
- Hadoop记录-hadoop集群常见问题汇总
[问题1]HBase Shell:ERROR: org.apache.hadoop.hbase.IPc.ServerNotRunningYetException: Server is not runn ...
- js学习总结:DOM节点一(选择器,节点类型)
DOM:document object model 文档对象模型 DOM就是整个HTML文档的关系图谱(代表整个HTML文档),可以理解为下图: 一.查看元素节点 1.document.getElem ...
- SQL Server Management Studio 使用技巧
Ø 前言 本文主要介绍 SQL Server Management Studio 工具的使用,相信很多开发人员都比较熟悉此工具,特别是做 C# 开发的程序员,基本上都会经常使用该工具,当然也可以使用 ...
- 二十二、Linux 进程与信号---进程创建
22.1 fork 和 vfork 函数 22.1.1 函数说明 #include <unistd.h> #include <sys/types.h> pid_t fork( ...
- Spring 快速开始 Profile 和 Bean
和maven profile类似,Spring bean definition profile 有两个组件:声明和激活. [栗子:开发测试环境使用HyperSQL 生产环境使用JNDI上下文根据配置查 ...