Numpy中一些函数的功能和参数(np.outer()、np.einsum()、np.meshgrid()、np.concatenate())

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

Numpy中一些函数的功能和参数


论文入门看到很多数据都是使用的numpy的函数读取和保存的,但是有些函数名字起得让人不那么容易知道该函数功能,在看论文代码的时候遇到一些函数不太明白专门查了一下 Numpy官方文档,大致对论文代码中的函数有了基本了解,下面结合文档对一些函数功能和参数做一些讲解,并附上自己的理解。

np.outer()

该函数用来计算两个向量的外积,也就是我们通常说的叉乘
例如给定的 a = [ a 0 , a 1 , . . . , a M ] , b = [ b 0 , b 1 , . . . , b N ] a = [a0, a1, ..., aM] ,b = [b0, b1, ..., bN] a=[a0,a1,...,aM],b=[b0,b1,...,bN],那么他们的外积是:

[[a0*b0  a0*b1 ... a0*bN ]
 [a1*b0    .
 [ ...          .
 [aM*b0            aM*bN ]]

使用格式是:

numpy.outer(a, b, out=None)

其中a,b是我们传进来需要计算的向量,out用来存储结果的位置。

np.einsum()

计算操作数上的爱因斯坦求和约定。
使用爱因斯坦求和法则,许多常见的多维线性代数阵列运算可以用简单的方式表示。在隐式模式下,einsum计算这些值。在显式模式下,einsum()提供了进一步的灵活性来计算其他数组操作,这些操作可能不被认为是经典的爱因斯坦求和运算,通过禁用或强制对指定的下标标签求和。这个函数有很多用法,参数也有很多,包括但不限于以下功能:
数组的跟踪,numpy.Trace。
返回对角线,numpy.diag。
数组轴求和,numpy.sum。
换位和置换,numpy。换位。
矩阵乘法和点积,numpy.matmul numpy.dot。
向量内积和外积,numpy.inner numpy.outer。
广播,元素和标量乘法,numpy.multiply。
张量收缩,numpy.tensordot。
链式数组操作,按有效计算顺序,numpy.einsum_path。
具体参看文档
使用格式:

numpy.einsum(subscripts, *operands, out=None, dtype=None, order='K', casting='safe', optimize=False)

下面给给出一个使用用例:

>>> b = np.arange(5)
>>》 np.einsum('i,i', b, b)  #求内积
30
>>> np.einsum(b, [0], b, [0])
30
>>

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值