python计算乘积_python中矩阵运算(乘法和数量积)

# =============================================================================

python中矩阵运算分为两种形式,一是np.array,而是np.matrix

# =============================================================================

# =============================================================================

对于np.array

数量积(即对应位置元素相乘后的积相加)使用*(或者multiply)

矩阵乘法,即矢量乘法,则必须使用.dot()或者@

# =============================================================================

# =============================================================================

对于np.matrix(情况相反)

* 和@和.dot()表示的是矢量积,

数量积方式运行,则必须使用np.multiply函数

# =============================================================================

# =============================================================================

# 对于array对象,*和np.multiply函数代表的是数量积,如果希望使用矩阵的乘法规则,则应该调用np.dot和@。

# 对于matrix对象,*和@和.dot()直接代表了原生的矩阵乘法,而如果特殊情况下需要使用数量积,则应该使用np.multiply函数。

# =============================================================================

import numpy as np

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

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

c=np.matrix([[1,2],[3,4]])

d=np.matrix([[4,3],[2,1]])

#矩阵乘法ab结果为8,5,20,13

#矩阵乘法ab结果为13,20,5,8

#数量积结果为4,6,6,4

# =============================================================================

对于np.array

a*b#结果为4,6,6,4

b*a#结果为4,6,6,4

np.multiply(a,b)#结果为4,6,6,4

a.dot(b)#结果为8,5,20,13

b.dot(a)#结果为13,20,5,8

a@b#结果为8,5,20,13

b@a#结果为13,20,5,8

# =============================================================================

对于np.matrix

c*d#结果为8,5,20,13

d*c#结果为13,20,5,8

c.dot(d)#结果为8,5,20,13

b.dot(a)#结果为13,20,5,8

c@d#结果为8,5,20,13

d@c#结果为13,20,5,8

np.multiply(c,d)#结果为4,6,6,4

# =============================================================================

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值