矩阵求逆方法总结(参考国内论文)

Contents

4×4矩阵分块

也就是说,为了求M的逆矩阵,还需要两个矩阵的逆矩阵,这两个矩阵为矩阵求逆 - 图1矩阵求逆 - 图2,这里我们不妨记为,容易知道,两个矩阵的维度是一样的。

矩阵求逆 - 图3%20%5Ctriangleq%20%5Cbold%7BM%7D_1%5Ea%0A#card=math&code=%5Cleft%28%5Cbold%7BM%7D_4-%5Cbold%7BM%7D_3%5Cbold%7BM%7D_1%5E%7B-1%7D%5Cbold%7BM%7D_2%20%5Cright%29%20%5Ctriangleq%20%5Cbold%7BM%7D_1%5Ea%0A&id=UCn4Q)

迭代过程如下,这里分析矩阵求逆 - 图4,类似的可分析矩阵求逆 - 图5

矩阵求逆 - 图6

也就是说,为了求M的逆矩阵,还需要两个矩阵的逆矩阵,这两个矩阵为矩阵求逆 - 图7矩阵求逆 - 图8

以此循环下去,直到最后的矩阵为2×2,2×2矩阵有直接的求逆公式,这里不在赘述。


3×3矩阵分块

  1. However, since the BRI computes one only block of the inverse, namely the
  2. upper left block for computing the complete inverse, it is necessary to run the algorithm $k^2$ times with suitable permutation of rows and columns in order to compute all blocks of the inverse.[然而,为了计算完整的逆矩阵,尽管BRI只计算了逆矩阵的一块,即上左块,有必要运行该算法$k^2$次,借助于合适的交换行和列,从而完成所有块的逆矩阵操作。permutation这里是交换的意思,这个单词在pytorch中应用较为常见。]

矩阵求逆 - 图9

第一步,分成四块,这四块分别为

矩阵求逆 - 图10

第二步,反向迭代一步组合成新矩阵

矩阵求逆 - 图11

矩阵求逆 - 图12

矩阵求逆 - 图13

第三步,计算左上角小块矩阵的逆矩阵

矩阵求逆 - 图14%5E%7B-1%7D%0A#card=math&code=N_%7B11%7D%20%3D%20%5Cleft%28m_1%20-%20m_2m_4%5E%7B-1%7Dm_3%20%5Cright%29%5E%7B-1%7D%0A&id=bRMrV)

第四步,交换矩阵的第一行和第二行,采用上面的方法,计算左上小块逆矩阵,即矩阵求逆 - 图15,如下

矩阵求逆 - 图16

以此类推,直到所有的小块矩阵求逆 - 图17全都计算完成,整个逆矩阵计算完毕。


4×4矩阵分块2

矩阵求逆 - 图18

第一步,将矩阵分成4块,这4块分别是[注意分块的角标顺序问题]

矩阵求逆 - 图19

矩阵求逆 - 图20

第二步,每一个子块再分成4个小子块,相当于3子块计算方法中的矩阵求逆 - 图21

矩阵求逆 - 图22

矩阵求逆 - 图23

矩阵求逆 - 图24

矩阵求逆 - 图25

第三步,相当于3子块中的矩阵求逆 - 图26

矩阵求逆 - 图27

矩阵求逆 - 图28

矩阵求逆 - 图29

矩阵求逆 - 图30

第四步,相当于3子块计算方法中的矩阵求逆 - 图31

矩阵求逆 - 图32

矩阵求逆 - 图33

第五步,相当于3子块中的矩阵求逆 - 图34

矩阵求逆 - 图35

第六步

矩阵求逆 - 图36

第七步

矩阵求逆 - 图37%5E%7B-1%7D%0A#card=math&code=N_%7B11%7D%20%3D%20%5Cleft%28A-BD%5E%7B-1%7DC%20%5Cright%29%5E%7B-1%7D%0A&id=IBs4U)

假设原矩阵矩阵求逆 - 图38,分成的小子块矩阵矩阵求逆 - 图39,那么如果我们把小子块当成一个新元素,那么新矩阵的维度为矩阵求逆 - 图40,公式中矩阵求逆 - 图41,另外需要补充说明的是,通常我们为了避免直接矩阵求逆,通常令矩阵求逆 - 图42,这样有公式可直接求

总体上而言,三子块只需要一次从矩阵求逆 - 图43的过程,四子块需要两次,以此类推,8子块需要6次,100子块需要98次。三子块没有角标序号的问题,四子块及其以上须注意角标序号的问题。


矩阵求逆 - 图44

矩阵求逆 - 图45%5E%7B-1%7D%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%20%26%20-%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%5Cleft(%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright)%5E%7B-1%7D%20%20%5C%5C%0A%20-%5Cleft(%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright)%5E%7B-1%7D%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%20%26%20%5Cleft(%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright)%5E%7B-1%7D%20%20%20%20%0A%5Cend%7Bbmatrix%7D%0A#card=math&code=%5Cbold%7BM%7D_1%5E%7B-1%7D%20%3D%20%5Cbegin%7Bbmatrix%7D%0A%5Cbold%7BA%7D%5E%7B-1%7D%2B%20%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%5Cleft%28%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright%29%5E%7B-1%7D%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%20%26%20-%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%5Cleft%28%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright%29%5E%7B-1%7D%20%20%5C%5C%0A%20-%5Cleft%28%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright%29%5E%7B-1%7D%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%20%26%20%5Cleft%28%5Cbold%7BD%7D-%5Cbold%7BC%7D%5Cbold%7BA%7D%5E%7B-1%7D%5Cbold%7BB%7D%20%5Cright%29%5E%7B-1%7D%20%20%20%20%0A%5Cend%7Bbmatrix%7D%0A&id=tOV4K)

可参考上面的方式进行,循环往复,一直到2×2矩阵即可。M1的逆矩阵有四种判断方法,可通过论文查找。