【请教】关于JL1.0版本之后的SparseArrays.spdiagm()的写法


#1
using SparseArrays
function hp_filter(y::Vector{Float64}, lambda::Float64)
    n = length(y)
    @assert n >= 4

    diag2 = lambda*ones(n-2)
    diag1 = [ -2lambda; -4lambda*ones(n-3); -2lambda ]
    diag0 = [ 1+lambda; 1+5lambda; (1+6lambda)*ones(n-4); 1+5lambda; 1+lambda ]
#请问:在JL1.0版本,下面这句该如何改写呢?(查了一些资料,没整明白,非常感谢!)
    D = spdiagm((diag2, diag1, diag0, diag1, diag2), (-2,-1,0,1,2))

    D\y
end

#2

问题解决。感觉老版本的写法更简洁。