2012-01-10 53 views
0

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

回答

2

使用字典来指定稀疏矩阵

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