先举个例子
csc_matrix(m, n, data.size(), data, indices, indptr)
data表示矩阵中不为零的数。从第一列开始,遍历到最后一列。
indices表示矩阵中不为零的数所在的行。从第一列开始,遍历到最后一列。
所以indices的数据跟data的数据是一一对应的。
即indices的第1个数表示data中的第一个数的行。
例如
data = [1 2 3 4 5 6]
indices= [0 2 2 0 1 2]
indptr表示data中哪些数是同一列。
例如:
indptr = [0 2 3 6]
意思是
第一列是data[0:2), 即 data[0], data[2-1],说明第一列有两个数
第二列是data[2,3), 即 data[2],data[3-1] ,说明第二列只有一个不为零的数
第三列是data[3,6), 即 data[3],data[4],data[6-1],说明第三列有三个数
所以,该矩阵是
1 0 4
0 0 5
2 3 6