Python Sage中的稀疏矩阵

Python Sage中的稀疏矩阵,python,matrix,sparse-matrix,sage,Python,Matrix,Sparse Matrix,Sage,所以我有一个非常大的矩阵n=70.000,充满了RDF。这当然是不可能的正常矩阵。所以我想使用某种形式的稀疏矩阵,矩阵列中的元素在很多情况下都是0或者都是相同的低RDF 例如: 0 | 0.1 | 0.2 | 0 0 | 0.1 | 0.2 | 0.1 0.1 | 0 | 0 | 0.1 0 | 0.1 | 0.2 | 0 在本例中,第一列为3乘以0,第二列为3乘以0.1 如何在Sage/Python中初始化这样的矩阵?scipy具有稀疏矩阵。您可以选择稀疏的行矩阵或列矩阵

所以我有一个非常大的矩阵n=70.000,充满了RDF。这当然是不可能的正常矩阵。所以我想使用某种形式的稀疏矩阵,矩阵列中的元素在很多情况下都是0或者都是相同的低RDF

例如:

0   | 0.1 | 0.2 | 0
0   | 0.1 | 0.2 | 0.1
0.1 | 0   | 0   | 0.1
0   | 0.1 | 0.2 | 0
在本例中,第一列为3乘以0,第二列为3乘以0.1


如何在Sage/Python中初始化这样的矩阵?

scipy具有稀疏矩阵。您可以选择稀疏的行矩阵或列矩阵。
scipy具有稀疏矩阵。您可以选择稀疏的行矩阵或列矩阵。
Sage的稀疏矩阵不会利用非零项重复的事实,但它们会利用非零项不多的事实。要定义一个,请使用键为整数对的字典
(行、列)

sage:m=矩阵(4,4,{(1,1):2.1,(2,3):-0.5})
圣人:m
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000   2.10000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000 -0.500000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
鼠尾草:类型(m)
圣人:m.is_稀疏()
真的

您还可以使用
mat.sparse\u matrix()
将任何矩阵从稠密转换为稀疏,另一种转换方法是
mat.dense\u matrix()

Sage的稀疏矩阵不会利用非零项重复的事实,但他们将利用这样一个事实,即没有多少非零条目。要定义一个,请使用键为整数对的字典
(行、列)

sage:m=矩阵(4,4,{(1,1):2.1,(2,3):-0.5})
圣人:m
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000   2.10000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000 -0.500000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
鼠尾草:类型(m)
圣人:m.is_稀疏()
真的
您还可以使用
mat.sparse\u matrix()
将任意矩阵从稠密转换为稀疏,另一种转换方法是
mat.dense\u matrix()

sage: m = matrix(4, 4, {(1, 1): 2.1, (2,3): -0.5})
sage: m
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000   2.10000000000000  0.000000000000000  0.000000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000 -0.500000000000000]
[ 0.000000000000000  0.000000000000000  0.000000000000000  0.000000000000000]
sage: type(m)
<type 'sage.matrix.matrix_generic_sparse.Matrix_generic_sparse'>
sage: m.is_sparse()
True