Scipy:稀疏矩阵维度错误?

1 投票
1 回答
1098 浏览
提问于 2025-04-18 01:05

下午好,

我正在尝试做:

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 进行转置就没有必要了。

撰写回答