计算对称密集矩阵 ( 2000 * 2000
) 的逆矩阵的对角线的最佳方法是什么?目前我首先使用 solve(x)
计算逆然后提取对角线 ( diag(y)
)。即使它有效,但我想知道是否有更好的方法可以使代码运行得更快。我试过 chol2inv()
但它不起作用,因为我的矩阵不是正定的。
更新:
对于可能感兴趣的任何人,我能够通过使用优化的数学库 Intel MKL 来加速矩阵求逆。在我的机器上反转一个 2000 * 2000 矩阵需要 3 秒。英特尔 MKL 可用于 Microsoft R Open。
最佳答案
如果您的矩阵没有对称、对角线或正定等良好属性,那么遗憾的是,您唯一的选择是 sum(diag(solve(x)))
在你的矩阵上运行需要多长时间?
关于r - 计算矩阵逆对角线的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45176793/