最近在熟悉python的科学计算,对于numpy的矩阵运算进行一些总结,和matlab还是很不一样的

import numpy as np

1、矩阵乘法

np.dot(a,b),但a,b都为一维矩阵的时候,.dot实现内积,不用考虑a,b具体是行向量还是列向量,也就是说,a,b同为行向量仍然可以计算

a.dot(b)

a@b

2、各个元素相乘

a*b                       但当a,b分别为行向量和列向量时,返回矩阵,不管a,b谁在前边都是一样的结果

np.multiply(a,b),但当a,b分别为行向量和列向量时,.multiply返回矩阵,不管a,b谁在前边都是一样的结果

3、行向量变列向量

a = np.array([1,2,3])

b=np.transpose([a])         修改b,不会对a进行修改

b = np.array([a]).T            修改b,不会对a进行修改

b = a.reshape(-1,1)          修改b,同时会对a进行修改

b = a[:,np.newaxis]           修改b,同时会对a进行修改

b=a.reshape(len(a),-1),    修改b,同时会对a进行修改

b=a[:,None].                     修改b,同时会对a进行修改

3.1、列向量变行向量

a = np.array([[2],[5],[8]])

b = np.transpose(a)         修改b,会对a进行修改

4、列向量b乘以行向量a

np.multiply(a,b)

np.multiply(b,a)

a*b

b*a

np.outer(a,b)

np.outer(b,a)

b@a会报错

5、行向量a乘以列向量b

a@b

6、需要注意

对矩阵或向量a:a[0]指的是第0行,

所以,对列向量a可以用a[0],a[1]来表示第0,1个元素,但是对行向量a必须用a[:,n]来表示第n个元素,如果对a[0]进行赋值,则是对整个行向量赋值。

参考:http://www.itkeyword.com/doc/7498360611061724524/numpy-scalar-multiplication-of-column-vector-times-row-vector

https://docs.scipy.org/doc/numpy/user/quickstart.html

https://www.cnblogs.com/bob-dong/p/6207871.html

python numpy 矩阵乘法以及列向量与行向量乘法相关推荐

  1. python numpy矩阵的数据类型转换

    在python中,numpy矩阵的数据类型转换需要调用astype(),直接修改dtype是无效的.调用astype返回数据类型修改后的矩阵,但是源数据的类型不会变,需要再对源数据的赋值进行操作才可以 ...

  2. python矩阵除法,Python numpy Python numpy矩阵处理运算工具用法汇总

    numpy是用于处理矩阵运算非常好的工具.执行效率高,因为其底层是用的是C语句 使用numpy,需要将数据转换成numpy能识别的矩阵格式. 基本用法: numpy.array(object, dty ...

  3. python numpy矩阵的旋转, 转置, 正对角线镜像, 副对角线镜像, 行交换, 列交换操作 rot90()

    引用文章: NumPy矩阵的旋转 http://liao.cpython.org/numpy13/

  4. [python] Numpy矩阵定义、运算 生成随机矩阵

    一.矩阵定义.运算 对多维数组的运算,默认情况并不运算矩阵.如果需要对数组进行矩阵运算,矩阵是继承自numpy数组对象的二维数组对象.Numpy中,矩阵计算是针对整个矩阵中每个元素进行的,与用for循 ...

  5. Python numpy 矩阵乘法multiply()、dot()、 matmul()、‘ * ‘、‘@‘辨析

    分类: 元素相乘:multply() 矩阵相乘:dot().matmul().'@' ' * ': 是特别的.在数组操作中,作为元素相乘:在矩阵操作中作为矩阵相乘. 在数组上操作的效果: a1 = n ...

  6. python numpy矩阵乘法_高维Python-Numpy矩阵乘法

    哈,只需一行即可完成:np.einsum('nmk,nkj->mj',A,B).在 不要将变量命名为sum,而是重写sum中的内部版本.在 正如@Jaime指出的,对于这些尺寸的维度,循环实际上 ...

  7. MATLAB与Python numpy矩阵操作对应表

    背景 NumPy和Matlab不一样,对于多维数组的运算,缺省情况下并不使用矩阵运算,可以调用相应的函数对数组进行矩阵运算.或者使用numpy库提供了的matrix类,用matrix类创建的是矩阵对象 ...

  8. python numpy矩阵切片_Numpy数组的索引与切片和变形拼接分裂

    1.概述 今天我们来讲一下Numpy数组的索引与切片,numpy数组的索引与切片和Python中的切片与索引的作用相同,可以快速的取出数据,进行下一步的运用或者查看,但是两种切片还有一些不同的地方.另 ...

  9. python numpy矩阵索引_python-为什么scipy csr矩阵的行索引比numpy数组...

    我在下面演示的简短答案是,构造新的稀疏矩阵非常昂贵.开销很大,不依赖于行数或特定行中非零元素的数量. 稀疏矩阵的数据表示形式与密集阵列的数据表示形式完全不同.数组将数据存储在一个连续的缓冲区中,并有效 ...

最新文章

  1. Linux基础命令---unzip
  2. 一个接口查3张表数据_“离婚冷静期”倒计时,天眼查专业版数据显示我国目前有3万余家婚姻咨询相关企业 北京市最多...
  3. MP3Player(附源码)
  4. k5b型计算机联锁知识,DS6-K5B计算机联锁系统日常维护注意事项
  5. Python set集合 - Python零基础入门教程
  6. 华为Mate8刷低Android版本,华为mate8怎么刷机 华为mate8刷机方法【图文教程】
  7. 单幅RGB图像+Depth深度图得到点云模型示例
  8. Maven 使用本地Tomcat9 一键启动和热部署
  9. 联想笔记本S10电池拆解
  10. LaTeX 参考文献的处理
  11. matlab动态图阿基米德螺旋,魔兽世界M基尔加丹阿基米德螺旋线之Matlab动图!国服加油...
  12. android app 隐藏应用,教你一招,隐藏我们手机中的APP应用!
  13. Redis的设计与实现--第一章引言
  14. 推荐背诵的10篇美文
  15. 《微软云计算Windows Azure开发与部署权威指南》——6.8 AppFabric服务总线的多播服务开发...
  16. 安卓分屏模式的简单适配
  17. 【有奖征集】地球一小时:让万物感受你的爱,用H5表达你的心!
  18. NFS共享服务搭建详细流程
  19. 键盘·由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码19)
  20. 电商运营太烦恼?不如试试RPA机器人流程自动化养号

热门文章

  1. D语言游戏编程(1):工作环境
  2. 图像描述(image caption)历年突破性论文总结
  3. MAC去掉更新小红点
  4. 使用mybatis-plus时,Feild doesn‘t have default value
  5. 下载Windows ARM版本记录
  6. 【5G系列】一文打尽 IMSI、TMSI、GUTI、P-TMSI、S-TMSI、LMSI、5G-TMSI、5G-GUTI、5G-S-TMSI
  7. 数据防泄密·工控安全保障方案
  8. 企业文件加密软件如何做到根源防止泄密?全面专业的数据防泄密方案怎么选
  9. crosstab交叉表_用Python统计推断——交叉表篇(上:crosstab与热图)
  10. Python爬虫QQ音乐数据采取,公开数据获取案例之一(1),腾讯Python开发面试记录