计算对称稠密矩阵求逆的对角线的最佳方法是什么(2000 * 2000
)?目前我首先使用solve(x)
计算逆,然后提取对角线(diag(y)
)。即使它可行,但我想知道是否有更好的方法来实现它,以便代码运行更快。我试过chol2inv()
,但它没有用,因为我的矩阵不是正定的。计算矩阵求逆对角线的有效方法
更新: 对于任何可能感兴趣的人,我都能够通过使用优化的数学库英特尔MKL来加速矩阵求逆。在我的机器上反转2000 * 2000矩阵需要3秒钟的时间。英特尔MKL可用于Microsoft R Open。
在短的谷歌搜索我做了我发现相当一些链接到算法和其他实现相关的这个问题。你明确需要对角线的每个元素还是打算在另一个计算中使用它?如果你想在进一步的计算中使用它,这些知识对于加快执行速度至关重要。 – Vandenman
我在其他计算中使用对角线。具体来说,我将逆矩阵的对角线的每个元素分解到另一个向量中的每个元素,并将它们相加。 – Katherine
你怎么知道逆的对角线的每个元素都是非零的?矩阵是否有保证这一点的一些属性? – dmuir