如何使用 SAGE 保存大量数据?

计算科学 智者
2021-11-30 01:08:38

我试图在 SAGE 中保存一个“大”有理矩阵,但我遇到了问题。在计算了大小为 5 x 10,000 且每个条目包含分数形式的有理数且分子和分母的总位数超过 10 页的矩阵 A 之后,我运行以下命令:

保存(A,数据+'A')。这给了我以下错误消息:

Traceback(最近一次调用最后一次):... RuntimeError:分段错误。我尝试了使用“较小”矩阵的相同保存命令,效果很好。我还应该注意,我使用的是配备 64 位操作系统、基于 x64 的处理器、Windows 8、i7 CPU @ 2.40 GHz 和 8 GB RAM 的笔记本电脑。我在分配了 5237 MB 的虚拟机上运行 SAGE。如果您需要更多信息,请告诉我。我的问题是:

为什么我不能保存我的矩阵?为什么我会收到上述错误消息?这是什么意思?

如何使用此命令保存矩阵 A?有没有其他方法可以保存它?

我在另一个专门处理 SAGE 的论坛上问过这些相同的问题,但我没有在那里得到答案。我也花了很多时间在网上搜索这个问题,但还没有看到有人遇到同样的问题。

1个回答

为什么我不能保存我的矩阵?为什么我会收到上述错误消息?这是什么意思?

最有可能的是,这意味着您的内存不足。底层的大整数库有时会出现段错误,而不是提供更有用的内存不足错误。

您可以尝试单独保存矩阵的每一行,例如,第 0 行是 A[0],所以尝试

save(A[0], DATA + 'A0')

如果这可行,您可以加载每一行并从行中制作矩阵。

- 威廉