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.]])
为什么稀疏矩阵可以计算出一个数组应该被解释为一个列向量,而普通矩阵却不能?