numpy数组与矩阵乘法

numpy学习(12)--矩阵相乘 矩阵相乘的计算方式使用的是矩阵乘法规则。在矩阵乘法中,我们将第一个矩阵的每一行与第二个矩阵的每一列进行对应元素的乘法,并将结果相加,得到新矩阵的对应位置的元素。因此,矩阵相乘的计算方式是通过将第一个矩阵的每一行与第二个矩阵的每一列相乘,并将结果相加得到新矩阵的对应位置的元素。这是矩阵乘法的基本规则。我们有一个 numpy 数组,我们可以计算它们的乘积。 阅读详情

1 np.multiply()函数

功能:数组或矩阵的对应位置元素相乘。

  • 数组

定义二维数组 A、B

>>> A = np.array([[0,1],[2,3]])
>>> A
>>> array([[0, 1],
           [2, 3]])

>>> B = np.array([[1,2],[3,4]])
>>> B
>>> array([[1, 2],
           [3, 4]])

使用 np.multiply() 运算

>>> np.multiply(A, B)       # 数组对应位置元素相乘
>>> array([[0,  2],
           [6, 12]])
  • 矩阵

定义矩阵 A、B

>>> A = np.mat([[0,1],[2,3]])
>>> A
>>> matrix([[0, 1],
            [2, 3]])

>>> B = np.mat([[1,2],[3,4]])
>>> B
>>> matrix([[1, 2],
            [3, 4]])

使用 np.multiply() 运算

>>> np.multiply(A, B)       # 矩阵对应位置元素相乘
>>> matrix([[0,  2],
            [6, 12]])

2 np.dot() 函数

功能:矩阵乘法运算

对于一维数组,执行对应位置相乘,然后再求和;

对于秩不为1的二维数组,执行矩阵乘法运算;(超过二维的可以参考numpy库介绍)

  • 一维数组

定义一维数组 A、B

>>> A = np.array([0, 1, 2, 3])
>>> A
>>> array([0, 1,2, 3])

>>> B = np.array([1, 2, 3, 4])
>>> B
>>> array([1, 2, 3, 4])

使用 np.dot() 运算

>>> np.dot(A, B)       # 数组对应位置元素相乘再求和
>>> 20
  • 二维数组

定义二维数组 A、B

>>> A = np.array([[0,1],[2,3]])
>>> A
>>> array([[0, 1],
           [2, 3]])

>>> B = np.array([[1,2],[3,4]])
>>> B
>>> array([[1, 2],
           [3, 4]])

使用 np.dot() 运算

>>> np.dot(A, B)       # 执行矩阵乘法运算
>>> array([[3,  4],
           [11, 16]])
  • 矩阵

定义矩阵 A、B

>>> A = np.mat([[0,1],[2,3]])
>>> A
>>> matrix([[0, 1],
            [2, 3]])

>>> B = np.mat([[1,2],[3,4]])
>>> B
>>> matrix([[1, 2],
            [3, 4]])

使用 np.dot() 运算

>>> np.dot(A, B)       # 执行矩阵乘法运算
>>> matrix([[3,  4],
           [11, 16]])

3 * 运算符

功能:对数组执行对应位置元素相乘(相当于 np.multiply() 函数),对矩阵执行矩阵乘法运算(相当于 np.dot() 函数)

4 ** 运算符

功能:幂运算,故仍会转化为 * 运算符进行计算。

A**2=A^2=A*A

定义二维数组 A,矩阵 B

>>> A = np.array([[0, 1], [2, 3]])
>>> A
>>> array([[0, 1],
           [2, 3]])

>>> B = np.mat([[0, 1], [2, 3]])
>>> B
>>> matrix([[0, 1],
            [2, 3]])

使用 ** 运算

>>> A**2       # 数组对应位置元素相乘
>>> array([[0, 1],
           [4, 9]])

>>> B**2       # 矩阵乘法运算
>>> matrix([[2, 3],
            [6, 11]])

 

参考文章

[1] python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别

[2] 论numpy中matrix 和 array的区别

Numpy中数组或矩阵乘法总结 matrix是array的一个小的分支,包含于array。所以matrix 拥有array的所有特性 array可表示1~n维的数据,matrix只能表示二维数据; 两者可以通过命令np.asmatrix()和np.asarray()进行转换 乘法包括两种:对应元素相乘和矩阵相乘 总结 对应元素相乘(element-wise product):np.multiply() 矩阵相乘(和线性代数中的定义一样):np.dot(a,b) 或 np.matmul(a,b) 或a.dot(b) 或a @ b 对特殊符 阅读详情

相关推荐

Python Numpy Tutorials: 数组乘法:点乘和矩阵(数组)乘法

# -*- coding: utf-8 -*- """ Python Version: 3.5 Created on Thu May 11 16:51:20 2017 E-mail: Eric2014_Lv@sjtu.edu.cn @author: DidiLv """import numpy as npx = np.array([[1,2],[3,4]], dtype=np.float64) y

Eric2016_Lv的博客 2万+

numpy中矩阵乘法

在Python的 Numpy模块中有很多关于矩阵乘法的方法,其中重点是 矩阵的点乘和叉乘,需要区分出来。 矩阵的点乘 就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小 在 numpy 模块中 矩阵点乘是通过 multiply 函数或 * 运算符来实现 import numpy as np m = np.array([[1,2,3],[4,5,6]]) n= n...

ding_programmer的博客 1927

python实战应用讲解-【numpy专题篇】矩阵乘法和结构化数组(附python示例代码)

很多数据分析工具中,在用于两个矩阵之间的运算时称为矩阵乘法,Numpy使用dot()函数表示这类乘法,注意,它并非元素级乘法。

getusushu的博客 195

numpy 数组和矩阵的乘法的理解

1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积,  2. 当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积            3. 混合时候的情况,一般不要混合   混合的时候默认按照矩阵乘法的, multiply转化为对应

bbbeoy的专栏 4万+

【实战】ComfyUI-Impact-Subpack插件安装与UltralyticsDetectorProvider节点修复全流程

本文详细解析了ComfyUI中UltralyticsDetectorProvider节点缺失的原因,并提供了完整的ComfyUI-Impact-Subpack插件安装与修复全流程。核心在于Impact Pack插件架构调整导致节点被拆分至子插件包。指南涵盖手动安装、依赖安全配置、模型文件管理及深度排错步骤,帮助用户彻底解决节点缺失问题,恢复工作流正常运行。

weixin_29290947的博客 438

2015年全国大学生电子设计大赛综合测评题

2015年全国大学生电子设计大赛综合测评题 题目如下: 一、555产生可调方波 555定时器是一种集成电路芯片,常被用于定时器、脉冲产生器和振荡电路。555可被作为电路中的延时器件、触发器或起振元件。 555定时器可组成单稳态电路、多稳态电路和无稳态电路。产生方波其实就是制造一个无稳态电路。 555定时器的引脚功能: 其中: DIS引脚与OUT脚电平一致 TRIG: 当此引脚电压降至1/3VCC(或由控制端决定的阈值电压)时输出端给出高电平。 THR:当此引脚电压升至2/3VCC(或由控制端决定的阈值电压

m0_47066484的博客 3万+

一般矩阵乘法

** 矩阵乘法 ** 矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义 。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑地集中到了一起,所以有时候可以简便地表示一些复杂的模型,如电力系统网络模型。 运算方法: 注意事项 1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。 2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。 3、乘积C

perfectzxiny的博客 888

Ubuntu 22.04下Realtek R8125网卡驱动安装避坑指南(附DKMS自动编译配置)

本文详细介绍了在Ubuntu 22.04系统上为Realtek R8125 2.5GbE网卡安装驱动的完整流程与避坑指南。针对内核通用驱动r8169的冲突问题,重点讲解了如何通过DKMS(Dynamic Kernel Module Support)实现驱动的持久化自动编译与安装,确保系统内核升级后网卡驱动依然有效。内容包括环境准备、驱动源码获取、DKMS标准配置、驱动冲突解决(设置黑名单)以及日常维护与故障排查方法,旨在为用户提供一个一劳永逸的稳定解决方案。

echo99的专栏 1023

NumPy 矩阵乘法

NumPy 矩阵乘法 转载自:https://blog.youkuaiyun.com/u012300744/article/details/80423135 数组、矩阵 m = np.array([[1,2,3],[4,5,6]]) #m显示以下结果: array([[1, 2, 3], [4, 5, 6]]) 数乘: n = m * 0.25 #n显示以下结果: array([[ 0.25, 0.5 , 0.75], [ 1. , 1.25, 1.5

qq_41286751的博客 6208

智能座舱音频系统集成与调试:从芯片选型到音质优化实战

在智能座舱域控制器架构中,音频系统已从简单的功放加扬声器演进为SoC、数字音频总线、外部DSP与多通道功放协同的复杂子系统。TDM总线的时隙分配、PDM麦克风阵列的信号完整性,以及AEC回声消除算法如何与硬件协同,直接决定多音区体验和语音交互的可靠性。工程实践中,音频调试的关键在于先理顺供电、接地、时钟与数据路由,再针对功放削波、采样率失配、TDM slot错位等典型问题进行系统性排查。从芯片选型到系统级指标验收,只有将音频链路视为整车电子电气架构的一个协同整体,才能真正实现从“响”到“好听”的跨越。本文结

weixin_30162121的博客 371

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 443

numpy 数组和矩阵的乘法

1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2. 当为...

yleave的博客 2782

保姆级教程:用BIGEMAP和Global Mapper搞定5米精度DEM高程数据下载与处理

本文提供了一份详细的5米精度DEM高程数据处理教程,涵盖从BIGEMAP下载到Global Mapper处理的完整流程。通过实战案例和避坑指南,帮助用户掌握高效下载DEM数据、优化等高线生成及坐标系转换的关键技巧,适用于GIS新手和专业人士。

weixin_34169322的博客 391

numpy中的数组和矩阵乘法

numpy中的数组和矩阵乘法。 直接乘:数组为对应元素乘,矩阵为矩阵乘法; multiply:都是对应元素相乘; dot:都是矩阵乘法

Ten_yn的博客 1333

SAP公司间STO业务解析(包含主数据解析、后台配置解析、前台业务演示)

SAP公司间STO业务解析

ww114784的博客 1021

YOLOv11-seg 改进系列 | 引入原创 RSCD 重参数共享卷积分割头,增强 Head 表达力并压低计算量

本文提出一种改进的YOLOv11-seg分割头Segment_RSCD,通过重参数共享卷积增强表达能力。该模块在LSCD共享检测头基础上引入DiverseBranchBlock重参数卷积,保留三尺度预测与Proto掩码原型接口不变。相比原始Segment头,Segment_RSCD参数增加4%但计算量降低1.3%,在共享卷积结构中通过多分支补偿表达能力损失,同时利用Scale层保持尺度差异校准。该方法不改动Backbone/Neck结构,仅重构检测/分割头,实现训练期多路径聚合与部署期等效单分支的平衡。

qq_44224801的博客 185

python numpy数组转置和矩阵乘法

文章目录一.转置1.使用 array.T:2.使用array.transpose()方法二.矩阵乘法1.使用运算符 *2.使用numpy.multiply()方法3.使用numpy.dot()方法三.一维数组的特例 一.转置 数组转置 1.使用 array.T: 1.对于array对象,若是一维数组(行向量),array.T并不会把行向量转化成列向量,见下: import numpy as...

AI出海日记 4829

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python numpy,数组与数组的运算,sum数组元素求和,矩阵的乘法

numpy中两个多维数组之间可以进行运算的前提是: 1、shape为(4, 3, 2)可以与shape为(3, 2)的数组进行运算。(维度从后面开始算,可以成功匹配) 2、shape为(4, 3, 2)也可以与shape为(4, 3)的数组进行运算。(维度从前面开始算,可以成功匹配) 意义(好处):举个例子:每列的数据减去列的平均值的结果 demo.py(numpy,数组的运算): ...

houyanhua1的专栏 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python之numpy库中数组和矩阵的各种乘法区别(*,dot,multiply)

numpy库中两种对象,数组和矩阵(ndarray,matrix),两者都有三种不同的乘法,分别是 * , dot 和multiply 三种类型。以下分别进行介绍。 结果如下: 2.矩阵(matrix) 也不废话,继续上实例: 注[1]:矩阵相乘应满足矩阵乘法规则,即前矩阵的列数(column)和后矩阵的行数(row)相同时才有意义。结果如下: 3.总结 如果您比较细心的话,我相信您自己心中已经有了答案,如果您比较懒,您也可以看看我的总结。dot此外,从上表中不难发......

FFSVIP的博客 1500

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

numpy 数组、矩阵乘法运算

为了区分三种乘法运算的规则,具体分析如下: import numpy as np 1. np.multiply()函数 函数作用 数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 1.1数组场景 A = np.arange(1,5).reshape(2,2) A array([[1, 2], [3, 4]]) B = np.arange(0,4).r...

Darren1921的博客 2364

numpy中数组和矩阵的乘法

1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加2. 当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积          3. 混合时候的情况,一般不要混合  混合的时候默认按照矩阵乘法的,...

lq497028254的博客 9377

numpy 数组与矩阵的乘法理解

1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2. 当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 当为array时: 当为mat时: 3. 混合时候的情况,一般不要混...

weixin_38383877的博客 676

Python numpy中的一维数组和矩阵之间的点乘和矩阵乘法计算

在numpy中,一维数组是一个很奇葩的存在,在数组与矩阵计算时,很容易产生混淆,到底数组在矩阵计算时是行向量还是列向量? 经过测试,本文预先给出如下结论: 1.数组点乘矩阵时,将数组看做是行向量,按行依次与矩阵最内层方括号的内容(最后一个维度)点乘。 2.数组左乘矩阵时,将数组作为行向量。 3.数组右乘矩阵时将数组作为列向量。 4.注意: 按照上述规则,遇到长度不同时,将报错 1.数组与数组和矩阵之间的点乘 数组之间维度相同时,可以任意进行点乘和点除计算,其他的计算如,sqrt、power、l.

txh3093的博客 9984

python数组数字求和_Python numpy,数组与数组的运算,sum数组元素求和,矩阵的乘法...

numpy中两个多维数组之间可以进行运算的前提是:1、shape为(4, 3, 2)可以与shape为(3, 2)的数组进行运算。(维度从后面开始算,可以成功匹配)2、shape为(4, 3, 2)也可以与shape为(4, 3)的数组进行运算。(维度从前面开始算,可以成功匹配)意义(好处):举个例子:每列的数据减去列的平均值的结果demo.py(numpy,数组的运算):# coding=utf...

weixin_39620278的博客 3526

Numpy的一位数组、向量、矩阵以及其转置、矩阵乘法

在Numpy中对一维数组做转置,得到的还是一维数组本身。这与matlab的习惯不同。在matlab中认为一维数组是一个行向量,转置之后应该得到列向量。那么如何得到想要的向量或其转置矩阵呢?

weixin_44560088的博客 1337
上一篇: 前向和反向传播公式推导
下一篇: 理解常用的3个梯度下降法
且听风吟0618
博客等级 码龄11年 150粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值