朱莉娅:对角线时间稀疏矩阵

时间:2016-05-07 00:19:42

标签: julia sparse-matrix diagonal

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

给出错误,即没有方法*来执行此操作。有没有简单的方法来执行操作?

1 个答案:

答案 0 :(得分:1)

使用转换:

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)