r - 计算矩阵逆对角线的有效方法

标签 r matrix-inverse

计算对称密集矩阵 ( 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/

相关文章:

c++ - 求解平方根反比

r - 如何在 ggplot2 中为已指定大小美学的形状添加更大的边框?

r - 了解 sunburstR 行为

c++ - Eigen 库 : Different behaviors between static and dynamic size matrices when computing inverse

c - Lapack 在尝试反转矩阵之前是否检查矩阵是否可逆

matlab - 为什么 inv(matrix)*matrix 不是 Octave 中的精确单位矩阵?

R 求逆矩阵并求解返回错误

r - 在这个简单的情况下,如何将函数传递到 data.table 中的 j 中?

r - 如何在 Shiny App (R) 中向 SideBarPanel 添加 css 标签

pdf - 使用 Sweave 或其他 LaTeX(例如 R 友好的 PDF 生成器)进行主题化