📜  如何使用 Numpy 查找矩阵的辅因子

📅  最后修改于: 2022-05-13 01:54:35.505000             🧑  作者: Mango

如何使用 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.]]