Julia 中的 LowRankApprox 问题



我正在尝试使用 Julia v0.6.0 中 LowRankApprox.jl 包提供的 pheigfact 函数进行埃尔米特特征分解。基本上,它只是一行代码,如下所示:

(E, F) = pheigfact(A);

其中 A 是实对称正定矩阵。但是,我收到以下错误:

MethodError: no method matching
start(::LowRankApprox.PartialHermitianEigen{Float64,Float64})
Closest candidates are:
start(!Matched::SimpleVector) at essential.jl:258
start(!Matched::Base.MethodList) at reflection.jl:560
start(!Matched::ExponentialBackOff) at error.jl:107 

感谢任何帮助!

TL;博士

使用函数pheigpheigfact返回值和向量的元组


完整答案

我没有这个包,但从文档中看起来pheigfact返回一个元素,您可以使用getindex(x,ind::Symbol)从中访问值/向量。

例如

F = pheigfact(A)
values=F[:values]
vectors=F[:vectors]

如果您尝试将单个元素分配给管子,它将尝试迭代不支持它的类型,从而给您错误(即该类型没有方法start(。我可能会在执行x,y = :onetwostart(:onetwo)时遇到类似的错误

溶液

使用函数pheig返回元组。

E, F = pheig(A)

最新更新