📅  最后修改于: 2020-10-27 03:37:44             🧑  作者: Mango
Numpy提供以下功能,以对输入数据执行不同的代数计算。
SN | Function | Definition |
---|---|---|
1 | dot() | It is used to calculate the dot product of two arrays. |
2 | vdot() | It is used to calculate the dot product of two vectors. |
3 | inner() | It is used to calculate the inner product of two arrays. |
4 | matmul() | It is used to calculate the matrix multiplication of two arrays. |
5 | det() | It is used to calculate the determinant of a matrix. |
6 | solve() | It is used to solve the linear matrix equation. |
7 | inv() | It is used to calculate the multiplicative inverse of the matrix. |
此函数用于返回两个矩阵的点积。它类似于矩阵乘法。考虑以下示例。
import numpy as np
a = 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]
此函数用于计算两个向量的点积。可以将其定义为多维数组的相应元素的乘积之和。
考虑以下示例。
import numpy as np
a = np.array([[100,200],[23,12]])
b = np.array([[10,20],[12,21]])
vdot = np.vdot(a,b)
print(vdot)
输出:
5528
np.vdot(a,b) = 100 *10 + 200 * 20 + 23 * 12 + 12 * 21 = 5528
此函数返回一维数组的内部元素乘积的总和。对于n维数组,它返回最后一个轴上元素乘积的总和。
考虑以下示例。
import numpy as np
a = np.array([1,2,3,4,5,6])
b = np.array([23,23,12,2,1,2])
inner = np.inner(a,b)
print(inner)
输出:
130
它用于返回两个矩阵的相乘。如果两个矩阵的形状都未对齐以进行乘法运算,则会产生错误。考虑以下示例。
import numpy as np
a = 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)
矩阵的行列式可以使用对角线元素来计算。以下2 X 2矩阵的行列式
A B C D
可以计算为AD-BC。
numpy.linalg.det()函数用于计算矩阵的行列式。考虑以下示例。
import numpy as np
a = np.array([[1,2],[3,4]])
print(np.linalg.det(a))
输出:
-2.0000000000000004
此函数用于求解二次方程,其中可以以矩阵形式给出值。
以下线性方程式
3X + 2 Y + Z = 10
X + Y + Z = 5
可以通过使用以下三个矩阵来表示:
3 2 1
1 1 1
X
Y
Z and
10
5.
可以将这两个矩阵传递给numpy.solve()函数,如下所示。
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
print(np.linalg.solve(a, b))
输出:
[[1. 0.]
[0. 1.]]
此函数用于计算输入矩阵的乘法逆。考虑以下示例。
import numpy as np
a = 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]]