加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Numpy 线性代数介绍

发布时间:2023-07-03 09:21:47 所属栏目:教程 来源:
导读:在线性代数的范畴里,矩阵运算有很多不一样的地方,例如內积、行列式、逆运算等等。

Numpy 提供了一系列可以用于线性代数运算的函数,具体如下:

函数 描述
dot 两个数组的点积,即元素对应相乘。
vdo
在线性代数的范畴里,矩阵运算有很多不一样的地方,例如內积、行列式、逆运算等等。

Numpy 提供了一系列可以用于线性代数运算的函数,具体如下:

函数    描述
dot    两个数组的点积,即元素对应相乘。
vdot    两个向量的点积
inner    两个数组的内积
matmul    两个数组的矩阵积
determinant    数组的行列式
solve    求解线性矩阵方程
inv    计算矩阵的乘法逆矩阵

1. 二元运算
1.1 numpy.dot 函数
对于两个一维数组,dot() 函数计算的是这两个数组对应下标元素的乘积和,也称之为內积。对于二维数组,计算的是两个数组的矩阵乘积。

案例
创建两个一维数组 a 和 b:

a = np.array([, , , ])b = np.array([, , , ])
计算一维数组的內积:

np.dot(a, b)out:
创建两个二维数组:

A = np.array([[, , ], [, , ]])B = np.array([[, ], [, ], [, ]])
计算二维数组的矩阵乘积:

np.dot(A, B)out:array([[, ],   [, ]])
可以发现,对二维数组,矩阵的乘积满足如下规律:m×p的矩阵A,p×n的矩阵B,其矩阵乘积结果为大小为m×n的矩阵。

1.2 numpy.vdot 函数
numpy.vdot() 函数是求两个向量的点积,即对应位置的元素乘积求和。

案例
创建大小为 3×2 的矩阵 C:

C = np.array([[, ], [, ], [, ]])
求解点积:

np.vdot(B, C)out:
如果对于两个维度不一致的矩阵进行点积运算:

np.vdot(A, B)out:
观察发现,对于维度不一致的矩阵,如果其元素个数相等,则可以进行 vdot 点积运算;因为在 vdot运算过程中,会首先将矩阵展开。

1.3 numpy.inner 函数
numpy.inner() 函数返回一维数组的向量内积。对于更高的维度,它返回最后一个轴上的元素乘积之和。

案例
对大小为 3×2 的矩阵 B、C,求其內积:

np.inner(B, C)out:array([[ , , ],   [, , ],   [, , ]])
上述內积的计算过程为:

[*+*=, *+*=, *+*=*+*=, *+*=, *+*=*+*=, *+*=, *+*=]
1.4 numpy.matmul函数
numpy.matmul 函数返回两个数组的矩阵乘积。对于二维数组,其计算结果与dot一致。

案例
np.matmul(A, B)out:array([[, ],   [, ]])

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章