📜  Python| Numpy np.ma.innerproduct() 方法(1)

📅  最后修改于: 2023-12-03 15:04:21.006000             🧑  作者: Mango

Python | Numpy np.ma.innerproduct() 方法

简介

NumPy(Numerical Python)是一种基于Python语言的数值计算扩展,包括:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 集成 C/C++ 和 Fortran 代码的工具
  • 线性代数、傅里叶变换和随机数生成函数

NumPy 的一个重要特性是它的数组计算。在NumPy中,数组的维度称为轴(axes),轴的个数称为秩(rank),比如在3D空间一个点的坐标 [1, 2, 1] 是一个秩为1的数组,因为它只有一个轴。那个轴的长度为3。在NumPy中,每一个线性的数组称为是一个维度(dimension)。比如说,二维(2D)数组的一个维度就是一个一维(1D)数组。

NumPy还有一个重要的特性——一个数组的元素必须是同一类型的。比如,如果一个数组的元素是整数类型,那么它就不能包含字符串或者浮点数。数组可以使用以下数据类型创建:

布尔:bool_

整数:int_, intc, intp, int8, int16, int32, int64

无符号整数:uint8, uint16, uint32, uint64

浮点数:float_, float16, float32, float64

复数:complex_, complex64, complex128

np.ma.innerproduct()方法
描述

numpy.ma.innerproduct(a, b)函数返回沿一维的成对累积和的数组。如果 a 和 b 的 shapes 不匹配,它们被广播成一个共同的形状(详情请参见 numpy.broadcast)。如果某一维的 shape 为1,这一个维度会被重用。如果两个数组都离散,离散运算符 $(a_i^H)b_i$ 用于计算内积;如果两个数组都连续,BLAS处理内积。如果一维离散,另一维连续,则使用 BLAS。如果有一个数组为空(维度为 0),则返回该数组的类型。

该函数是 numpy.ma.dot()numpy.inner() 的特殊情况,有较小的通用性。一般情况下,使用 numpy.ma.dot()numpy.vdot() 更好。

语法
numpy.ma.innerproduct(a, b)
参数

a:输入数组。

b:输入数组。

返回值

沿一维重叠求和的数组。

实例
import numpy as np

# 输入不同的数组,做测试
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]

# 利用np.ma.innerproduct()函数,求累积和
res = np.ma.innerproduct(arr1, arr2)

# 打印结果
print(res)

输出结果为:

32
注意事项
  • numpy.ma.innerproduct()不支持复数输入。
  • numpy的版本在1.15.0之前,输入的数组必须都是 1 维,从1.16.0版本开始支持类似matmul的广播。