Scipy:稀疏矩阵维度错误?
下午好,
我正在尝试做:
scipy.sparse.dia_matrx(x, shape = (x.size, x.size))
但是得到的矩阵形状是 x.size x 1。我是不是做错了什么?或者我在文档中漏掉了什么?
这很重要,因为我正在和稠密矩阵/向量相乘。
谢谢!
>>> t scipy.sparse.dia_matrix(x, shape = (x.size, x.size))
>>> t
<217766x1 sparse matrix of type '<class 'numpy.float64'>'
with 217766 stored elements (217766 diagonals) in DIAgonal format>
>>> t.shape
(217766, 1)
X 是一个 217766x1 的 Numpy 数组
1 个回答
2
如果 x
的形状是 (N, 1)
,那么我觉得你想要的是:
t = dia_matrix((x.T, 0), shape=(x.size, x.size))
如果 x
的形状是 (N,)
(也就是说,它是一个一维数组),那么上面提到的对 x
进行转置就没有必要了。