NumPy教程-NumPy线性代数
NumPy提供了以下函数来对输入数据执行不同的代数计算。
| 序号 | 函数 | 定义 |
|---|---|---|
| 1 | dot() | 用于计算两个数组的点积。 |
| 2 | vdot() | 用于计算两个向量的点积。 |
| 3 | inner() | 用于计算两个数组的内积。 |
| 4 | matmul() | 用于计算两个数组的矩阵乘法。 |
| 5 | det() | 用于计算矩阵的行列式。 |
| 6 | solve() | 用于解线性矩阵方程。 |
| 7 | inv() | 用于计算矩阵的乘法逆。 |
numpy.dot() 函数
此函数用于返回两个矩阵的点积。它类似于矩阵乘法。考虑以下示例。
示例
import numpy as npa = np.array([[100,200],[23,12]])b = np.array([[10,20],[12,21]])dot = np.dot(a,b)print(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() 函数
此函数用于计算两个向量的点积。可以定义为多维数组的相应元素的乘积的总和。
考虑以下示例。
示例
import numpy as npa = np.array([[100,200],[23,12]])b = np.array([[10,20],[12,21]])vdot = np.vdot(a,b)print(vdot)
5528np.vdot(a,b) = 100 *10 + 200 * 20 + 23 * 12 + 12 * 21 = 5528
👉点击领取:最全Python资料合集
numpy.inner() 函数
此函数返回一维数组的内积的乘积之和。对于n维数组,它返回沿最后一个轴的元素的乘积之和。
考虑以下示例。
示例
import numpy as npa = np.array([1,2,3,4,5,6])b = np.array([23,23,12,2,1,2])inner = np.inner(a,b)print(inner)
130numpy.matmul() 函数
此函数用于返回两个矩阵的乘积。如果两个矩阵的形状不对应于乘法,它会报错。考虑以下示例。
示例
import numpy as npa = np.array([[1,2,3],[4,5,6],[7,8,9]])b = np.array([[23,23,12],[2,1,2],[7,8,9]])mul = np.matmul(a,b)print(mul)
numpy 行列式
矩阵的行列式可以使用对角元素来计算。以下2 X 2矩阵的行列式
A B
C D
可以计算为AD - BC。
可以使用numpy.linalg.det()函数来计算矩阵的行列式。考虑以下示例。
示例
import numpy as npa = np.array([[1,2],[3,4]])print(np.linalg.det(a))
-2.0000000000000004numpy.linalg.solve() 函数
此函数用于解二次方程,其中值可以以矩阵的形式给出。
以下线性方程组
3X + 2 Y + Z = 10X + Y + Z = 5
3 2 11 1 1XYZ and105.
示例
import numpy as npa = np.array([[1,2],[3,4]])b = np.array([[1,2],[3,4]])print(np.linalg.solve(a, b))
输出:
[[1. 0.][0. 1.]]
numpy.linalg.inv() 函数
此函数用于计算输入矩阵的乘法逆。考虑以下示例。
示例
import numpy as npa = np.array([[1,2],[3,4]])print("Original array:\n",a)b = np.linalg.inv(a)print("Inverse:\n",b)
Original array:[[1 2][3 4]]Inverse:[[-2. 1. ][ 1.5 -0.5]]
热门推荐