在我看来,在 Sage 中,创建密集矩阵和稀疏矩阵的唯一区别在于传递给构造函数的标志(“sparse=True”)。特别是,这意味着如果我想创建一个大小为 200,000 x 200,000 但只有 500,000 个非零条目的稀疏矩阵,我首先需要创建一个大小为 40,000,000,000 的列表,这是荒谬的。有没有更好的办法?
此外,由于我只对求解由矩阵定义的线性方程组感兴趣,因此我可以对使用“黑匣子”表示感到满意(即给出一个函数 g 使得 g(v)=Av 其中 A 是矩阵)。这在底层的 LinBox 库中是支持的,但我不知道对应的 Sage 接口是什么。