【发布时间】:2014-04-04 17:59:11
【问题描述】:
我想计算一些大块对角稀疏矩阵的逆。 行数和列数略超过 50,000。 这些块是 12 x 12 并且是稀疏的(27 个非零元素)。
我尝试计算整个矩阵的逆矩阵(使用求解)。这是不可能的,整个矩阵太大了。
之后,我使用了一个 for 循环。在每次迭代中,我取出一个块,计算其逆并将其放回原处。
该方法有效,但我需要大约 5 分钟。 我想知道是否有更快的方法。
非常感谢。
【问题讨论】:
-
我想你可能会考虑在scicomp.SE 中提问,但他们可能只会告诉你不要反转任何大矩阵。为什么需要逆?顺便说一句,它这么慢的原因是移除块并将它们放回原处很慢。数学运算很快。
-
您是否已经在使用稀疏矩阵和
Matrix包中的方法?你的问题还不清楚。 -
是的,这是真的;一个 dgCMatrix
标签: r block sparse-matrix inverse diagonal