Python函数:np.dot()

Python基本函数:np.dot()

        常用于矩阵乘法计算,以下用法分为两种情况来介绍!
格式:np.dot(a,b)、np.dot(a,b.T)
注意:文中用到了arange、dot、reshape函数、转置(.T)以及翻转。

一、用法

1、如果处理的是一维数组,则得到的是两数组的內积(相应的元素相乘)

In :       	d = np.arange(0,5)
Out:      	array([0, 1, 2, 3, 4])      	#得到一个数组[0, 1, 2, 3, 4]

In :       	e = d[::-1]                     #将d翻转排列
Out: 		array([4, 3, 2, 1, 0])
 
In : 		np.dot(d,e) 
Out: 		10                          	# 10 = 0*4 + 1*3 + 2*2 + 3*1 + 4*0

2、如果是二维矩阵之间的运算,则得到的是矩阵积。

  Example one:

In : 		a = np.arange(1,5).reshape(2,2)
Out:		array ([[1, 2],
       				[3, 4]])   				#得到一个2*2的四元素(1~4)方阵
 
In : 		b = np.arange(5,9).reshape(2,2)
Out: 		array ([[5, 6],
            		[7, 8]])            	#得到一个2*2的四元素(5~8)方阵
 
In : 		np.dot(a,b)						#将a和b进行正常矩阵相乘,而不是元素相乘
Out:		array ([[19, 22],               #例如  19 = 1 * 5 + 2 * 7
       				[43, 50]])

  Example two:

In : 		a = np.arange(1,5).reshape(2,2)
Out:		array ([[1, 2],
       				[3, 4]])   				#得到一个2*2的四元素(1~4)方阵
 
In : 		b = np.arange(5,9).reshape(2,2)
Out: 		array ([[5, 6],
            		[7, 8]])            	#得到一个2*2的四元素(5~8)方阵
 
In : 		np.dot(a,b.T)					#将a和b的转置进行正常矩阵相乘,而不是元素相乘
Out:		array ([[17, 23],               #例如  17 = 1 * 5 + 2 * 6
       				[39, 53]])

二、注意事项

1、 np.dot(a,b) a.dot(b) 效果相同。因为dot除了可以numpy库调用,还可以由数组实例对象进行调用。
2、由线性代数可知 np.dot(a,b) np.dot(b,a) 得到的结果可能不一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值