Scipy:稀疏矩阵的尺寸错误?

时间:2014-04-02 23:33:04

标签: python scipy sparse-matrix

下午好,

我正在尝试:

scipy.sparse.dia_matrx(x, shape = (x.size, x.size))

但矩阵的最终形状是x.size x 1.我做错了吗?或者我错过了文档中的内容?

这很重要,因为我乘以密集矩阵/向量。

TIA

>>> 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 个答案:

答案 0 :(得分:2)

如果x的形状为(N, 1),那么我认为你想要:

 t = dia_matrix((x.T, 0), shape=(x.size, x.size))

如果x的形状为(N,)(即它是一维数组),则无需在上面设置x的转置。