【发布时间】:2017-04-10 11:21:30
【问题描述】:
使用 Julia,我使用 spzeros() 函数创建了一个稀疏矩阵,用一些句子初始化了矩阵,并尝试计算它的特征值。但是,该函数仅适用于小的稀疏矩阵(n
代码:
ns = 400 # 800
H = spzeros(Complex128, ns, ns)
#... initialization
E, x = eigs(H)
最后一句后的错误信息:
LoadError: Base.LinAlg.ARPACKException("未指定的 ARPACK 错误:1") 在加载 In[7] 时,从第 1 行开始的表达式中
在 aupd_wrapper(::Type{T}, ::Base.LinAlg.#matvecA!#69{SparseMatrixCSC{Complex{Float64},Int64}}, ::Base.LinAlg.##63#70, :: Base.LinAlg.##64#71, ::Int64, ::Bool, ::Bool, ::String, ::Int64, ::Int64, ::String, ::Float64, ::Int64, ::Int64, ::Array{Complex{Float64},1}) 在 .\linalg\arpack.jl:53 在#_eigs#62(::Int64, ::Int64, ::Symbol, ::Float64, ::Int64, ::Void, ::Array{Complex{Float64},1}, ::Bool, ::Base。 LinAlg.#_eigs, ::SparseMatrixCSC{Complex{Float64},Int64}, ::UniformScaling{Int64}) 在 .\linalg\arnoldi.jl:268 在 (::Base.LinAlg.#kw##_eigs)(::Array{Any,1}, ::Base.LinAlg.#_eigs, ::SparseMatrixCSC{Complex{Float64},Int64}, ::UniformScaling{Int64 }) 在 .\:0 在#eigs#55(::Array{Any,1}, ::Function, ::SparseMatrixCSC{Complex{Float64},Int64}, ::UniformScaling{Int64}) at .\linalg\arnoldi.jl:78 在 (::Base.LinAlg.#kw##eigs)(::Array{Any,1}, ::Base.LinAlg.#eigs, ::SparseMatrixCSC{Complex{Float64},Int64}, ::UniformScaling{Int64 }) 在 .\:0 在 #eigs#59(::Array{Any,1}, ::Function, ::SparseMatrixCSC{Complex,Int64}, ::UniformScaling{Int64}) at .\linalg\arnoldi.jl:85 在 (::Base.LinAlg.#kw##eigs)(::Array{Any,1}, ::Base.LinAlg.#eigs, ::SparseMatrixCSC{Complex,Int64}, ::UniformScaling{Int64}) 在.\:0 在 #eigs#54(::Array{Any,1}, ::Function, ::SparseMatrixCSC{Complex,Int64}) at .\linalg\arnoldi.jl:77 在 (::Base.LinAlg.#kw##eigs)(::Array{Any,1}, ::Base.LinAlg.#eigs, ::SparseMatrixCSC{Complex,Int64}) 在 .\:0
【问题讨论】:
-
最好给出一个产生错误的特定矩阵。可能在链接的 sn-p 中(例如,参见 pastebin)
标签: julia sparse-matrix eigenvalue