NumPy 线性代数

2024 年 8 月 29 日 | 阅读 3 分钟

Numpy 提供了以下函数来对输入数据执行不同的代数计算。

序号函数定义
1dot()用于计算两个数组的点积。
2vdot()用于计算两个向量的点积。
3inner()用于计算两个数组的内积。
4matmul()用于计算两个数组的矩阵乘法。
5det()用于计算矩阵的行列式。
6solve()用于求解线性矩阵方程。
7inv()用于计算矩阵的乘法逆矩阵。

numpy.dot() 函数

此函数用于返回两个矩阵的点积。它类似于矩阵乘法。 考虑以下示例。

示例

输出

[[3400 6200]
 [ 374  712]]


The dot product is calculated as:

[100 * 10 + 200 * 12, 100 * 20 + 200 * 21] [23*10+12*12, 23*20 + 12*21] 

numpy.vdot() 函数

此函数用于计算两个向量的点积。 它可以定义为多维数组的对应元素的乘积之和。

请看以下示例。

示例

输出

5528


np.vdot(a,b) = 100 *10 + 200 * 20 + 23 * 12 + 12 * 21 = 5528 

numpy.inner() 函数

此函数返回一维数组的内积元素的乘积之和。 对于 n 维数组,它返回最后一个轴上元素的乘积之和。

请看以下示例。

示例

输出

130

numpy.matmul() 函数

用于返回两个矩阵的乘积。 如果两个矩阵的形状未对齐以进行乘法,则会产生错误。 考虑以下示例。

示例

numpy 行列式

矩阵的行列式可以使用对角线元素来计算。 以下 2 X 2 矩阵的行列式

A       B
C       D

可以计算为 AD - BC。

numpy.linalg.det() 函数用于计算矩阵的行列式。 考虑以下示例。

示例

输出

-2.0000000000000004

numpy.linalg.solve() 函数

此函数用于求解二次方程,其中值可以以矩阵的形式给出。

以下线性方程组

可以使用三个矩阵表示为

这两个矩阵可以传递到 numpy.solve() 函数中,如下所示。

示例

输出

[[1. 0.]
 [0. 1.]]

numpy.linalg.inv() 函数

此函数用于计算输入矩阵的乘法逆矩阵。 考虑以下示例。

示例

输出

Original array:
 [[1 2]
 [3 4]]
Inverse:
 [[-2.   1. ]
 [ 1.5 -0.5]]

下一主题矩阵乘法