矩阵求逆方法总结(参考国内论文)
Contents
- 4×4矩阵分块
- 3×3矩阵分块
- 4×4矩阵分块2
- Available recipes
- Supported datasets
- Pretrained models
- Calls for contributions
- Citing us
4×4矩阵分块
也就是说,为了求M的逆矩阵,还需要两个矩阵的逆矩阵,这两个矩阵为和,这里我们不妨记为,容易知道,两个矩阵的维度是一样的。
%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)
迭代过程如下,这里分析,类似的可分析
也就是说,为了求M的逆矩阵,还需要两个矩阵的逆矩阵,这两个矩阵为和
以此循环下去,直到最后的矩阵为2×2,2×2矩阵有直接的求逆公式,这里不在赘述。
3×3矩阵分块
However, since the BRI computes one only block of the inverse, namely the
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中应用较为常见。]
第一步,分成四块,这四块分别为
第二步,反向迭代一步组合成新矩阵
第三步,计算左上角小块矩阵的逆矩阵
%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)
第四步,交换矩阵的第一行和第二行,采用上面的方法,计算左上小块逆矩阵,即,如下
以此类推,直到所有的小块全都计算完成,整个逆矩阵计算完毕。
4×4矩阵分块2
第一步,将矩阵分成4块,这4块分别是[注意分块的角标顺序问题]
第二步,每一个子块再分成4个小子块,相当于3子块计算方法中的
第三步,相当于3子块中的
第四步,相当于3子块计算方法中的
第五步,相当于3子块中的
第六步
第七步
%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)
假设原矩阵,分成的小子块矩阵,那么如果我们把小子块当成一个新元素,那么新矩阵的维度为,公式中,另外需要补充说明的是,通常我们为了避免直接矩阵求逆,通常令,这样有公式可直接求
总体上而言,三子块只需要一次从的过程,四子块需要两次,以此类推,8子块需要6次,100子块需要98次。三子块没有角标序号的问题,四子块及其以上须注意角标序号的问题。
%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的逆矩阵有四种判断方法,可通过论文查找。