在Sage中创建稀疏或黑盒矩阵

时间:2012-01-10 09:27:42

标签: sparse-matrix sage

在我看来,在Sage中,创建密集矩阵和稀疏矩阵之间的唯一区别是传递给构造函数的标志(“sparse = True”)。特别是,这意味着如果我想创建一个大小为200,000 x 200,000但只有500,000个非零条目的稀疏矩阵,我首先需要创建一个大小为40,000,000,000的列表,这是荒谬的。还有更好的方法吗?

另外,由于我只对解决由矩阵定义的线性方程系统感兴趣,我可以满意使用“黑盒子”表示(即给出函数g,使得g(v)= Av与A作为矩阵)。底层LinBox库支持这一点,但我不知道相应的Sage接口是什么。

2 个答案:

答案 0 :(得分:3)

使用字典指定稀疏矩阵

matrix(5000,5000,{(1,2): 1})

答案 1 :(得分:1)

有关矩阵构造函数的更多示例,请参阅the Sage reference manual