反转具有超过 2^31-1 个非零元素的大型稀疏 R 矩阵

问题描述 投票:0回答:1

我目前正在使用

Matrix::solve()
尝试反转 90000 x 90000 矩阵。内存不是问题,因为我可以访问集群。但是
Matrix::solve()
给出了错误:

Error in .local(a, b = b, ...) :
  attempt to construct sparse matrix with more than 2^31-1 nonzero elements

还有另一个 R 包可以使用吗

r linear-algebra sparse-matrix r-package
1个回答
0
投票

虚拟类

p
CsparseMatrix
RsparseMatrix
槽使用R的32位整数类型,不能表示大于
.Machine[["integer.max"]]
的正整数(目前总是2^31-1)。
p
槽的最后一个元素是稀疏矩阵中存储的条目数。推论是
CsparseMatrix
RsparseMatrix
不能存储超过 2^31-1 的条目。

所以,是的,如果需要超过 2^31-1 的条目,您应该避免计算逆函数,或者至少避免尝试使用这些类来表示逆函数。如果/一旦 R 引入 64 位整数类型,情况有望得到改善,但在此之前可能不会。

© www.soinside.com 2019 - 2024. All rights reserved.