Julia:对角线次稀疏矩阵

Julia: Diagonal times Sparse Matrix

A = sparse([4 0 0; 0 0 0; 4 0 0])
D = Diagonal([1;3;4])
D*A

报错没有执行此操作的方法*。有没有简单的操作方法?

转换:

julia> convert(SparseMatrixCSC{Int64,Int64},D)*A
3x3 sparse matrix with 2 Int64 entries:
    [1, 1]  =  4
    [3, 1]  =  16

一般解决方法,从报错信息看:

julia> f(a,b)
ERROR: MethodError: `f` has no method matching f(::T1, ::T2)

做:

julia> f(convert(T2,a),b)