【问题标题】:Fast algorithm for computing cofactor matrix计算辅因子矩阵的快速算法
【发布时间】:2019-11-18 20:36:48
【问题描述】:

我想知道是否有一种快速算法,例如 (O(n^3)) 用于计算 N*N 方阵的辅因子矩阵(或共轭矩阵)。是的,可以首先分别计算其行列式和逆,然后将它们相乘。但是这个方阵是不可逆的呢?

我很好奇这里接受的答案:Speed up python code for computing matrix cofactors

“这可能意味着对于不可逆矩阵,也有一些巧妙的方法来计算辅因子(即,不使用上面使用的数学公式,而是使用其他等效定义)”是什么意思。 ?

【问题讨论】:

标签: numpy matrix linear-algebra matrix-multiplication scientific-computing


【解决方案1】:

分解 M = L x D x U,其中
L 是下三角形,主对角线上有一个,
U 是主对角线上的上三角形,
D是对角线。

您可以像使用 Cholesky 分解一样使用反向替换,这很相似。那么,

M^{ -1 } = U^{ -1 } x D^{ -1 } x L^{ -1 }

然后将辅因子矩阵转置为:

Cof( M )^T = Det( U ) x Det( D ) x Det( L ) x M^{ -1 }.

如果M 是单数或几乎是单数,则D 的一个(或多个)元素将为零或接近零。将矩阵乘积中的元素替换为 0,行列式中的元素替换为 1,并将上述等式用于转置辅因子矩阵。

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2018-09-03
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多