如何使用 Numpy 查找矩阵的辅因子
在本文中,我们将看到如何使用 NumPy 找到给定矩阵的辅因子。没有直接的方法可以使用 Numpy 找到给定矩阵的辅因子。
在Numpy中使用矩阵的逆推导公式以找到辅因子
求矩阵逆的公式:
A-1 = ( 1 / det(A) )* Adj(A) ----(1)
Adj(A) 是 A 的伴随矩阵,可以通过对 A 的辅因子矩阵进行转置得到:
Adj(A) = (cofactor(A))T ----(2)
将等式 2 代入等式 1,我们得到以下结果:
A-1 = ( 1/det(A) ) * (cofactor(A))T
将 det(A) 发送到等式的另一侧:
det(A) * A-1 = (cofactor(A))T
删除方程右侧 (RHS) 的转置将导致应用方程左侧 (LHS) 的转置。我们可以在 A -1乘以 det(A) 后应用转置,但为了简单起见,我们将转置应用到 A -1然后乘以 det(A),然而,两个结果是相同的。
det(A) * (A-1)T = cofactor(A)
最后,我们推导出了求矩阵的辅因子的公式:
cofactor(A) = (A-1)T * det(A)
在 Numpy 中的实现:
所需步骤:
- 找到给定矩阵的行列式。
- 找到矩阵的逆矩阵并转置它。
示例 1:在 2D 矩阵中查找辅因子
Python3
# code to find the cofactor of given matrix
import numpy as np
def matrix_cofactor(matrix):
cofactor = None
cofactor = np.linalg.inv(matrix).T * np.linalg.det(matrix)
# return cofactor matrix of the given matrix
return cofactor
print(matrix_cofactor([[1, 2], [3, 4]]))
Python3
# code to find the cofactor of given matrix
import numpy as np
def matrix_cofactor(matrix):
cofactor = None
cofactor = np.linalg.inv(matrix).T * np.linalg.det(matrix)
# return cofactor matrix of the given matrix
return cofactor
print(matrix_cofactor([[1, 9, 3],
[2, 5, 4],
[3, 7, 8]]))
输出:
[[ 4. -3.]
[-2. 1.]]
示例 2:查找辅因子 3D 矩阵
蟒蛇3
# code to find the cofactor of given matrix
import numpy as np
def matrix_cofactor(matrix):
cofactor = None
cofactor = np.linalg.inv(matrix).T * np.linalg.det(matrix)
# return cofactor matrix of the given matrix
return cofactor
print(matrix_cofactor([[1, 9, 3],
[2, 5, 4],
[3, 7, 8]]))
输出:
[[ 12. -4. -1.]
[-51. -1. 20.]
[ 21. 2. -13.]]