似乎scipy稀疏矩阵类型和普通的numpy矩阵类型存在一些差异
import scipy.sparse as sp
A = sp.dia_matrix(tri(3,4))
vec = array([1,2,3,4])
print A * vec #array([ 1., 3., 6.])
print A * (mat(vec).T) #matrix([[ 1.],
# [ 3.],
# [ 6.]])
print A.todense() * vec #ValueError: matrices are not aligned
print A.todense() * (mat(vec).T) #matrix([[ 1.],
# [ 3.],
# [ 6.]])
为什么稀疏矩阵可以将数组解释为列向量,而普通矩阵却无法做到呢?
ndarray
。 - hpaulj