下午好,
我正在尝试:
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数组
答案 0 :(得分:2)
如果x
的形状为(N, 1)
,那么我认为你想要:
t = dia_matrix((x.T, 0), shape=(x.size, x.size))
如果x
的形状为(N,)
(即它是一维数组),则无需在上面设置x
的转置。