【发布时间】:2017-08-08 07:26:44
【问题描述】:
我需要使用另一个矩阵示例中的数字符号和坐标创建一个稀疏矩阵:
A = array([[ 1 3 -2]
[-3 4 -6]
[ 4 7 -5]])
B = array([[1 2]
[1 3]
[2 3]
[2 4]
[2 5]
[3 4]
[4 5]])
Result sparce matrix:
1 2 3 4 5 6 7
1[[ 1 -1 1 0. 0. 0. 0.]
2 [ 0. 0. -1 1 0. -1 0.]
3 [ 0. 0. 0. 1 -1 0. 1 ]]
行数由矩阵A的行数定义,列数由另一个矩阵B的行数定义,数字1或-1根据各自的个数填写列,示例:
First row matrix A [ 1 3 -2 ]
Result sparse [ 1 -1 1 0. 0. 0. 0.]
1 第一列,-1 第二列,1 第三列,其余列 0。 应该在所有行上以这种方式完成。使用矩阵 B 也必须创建一个稀疏矩阵,但以另一种方式例如:
列数必须为5,行数由矩阵B的行数定义。但是在这个矩阵B中,第一列的所有数字都必须假设(-),那么它必须在与矩阵 A 相同的方法来创建稀疏矩阵,例如:
B = array([[1 2]
[1 3]
[2 3]
[2 4]
[2 5]
[3 4]
[4 5]])
Result matrix B all numbers in the first column (-)
B = array([[-1 2]
[-1 3]
[-2 3]
[-2 4]
[-2 5]
[-3 4]
[-4 5]])
Result sparse matrix:
1 2 3 4 5
1[ -1 1 0. 0. 0.]
2[ -1 0. 1 0. 0.]
3[ 0. -1 1 0. 0.]
4[ 0. -1 0. 1 0.]
5[ 0. -1 0. 0. 1]
6[ 0. 0. -1 1 0.]
7[ 0. 0. 0. -1 1]]
提示我使用scipy.sparse.coo_matrix,尝试了几种方法都做不到
【问题讨论】:
标签: python numpy matrix scipy sparse-matrix