我正在尝试使用Julia v0.6.0中的LowRankApprox.jl包提供的pheigfact函数进行Hermitian特征分解。基本上,它只是一行代码,如:
(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
感谢任何帮助!
答案 0 :(得分:2)
TL; DR
使用函数pheig
而不是pheigfact
来返回值和向量元组
完整答案
我没有该软件包,但是从文档看起来pheigfact
会返回一个元素,您可以使用getindex(x,ind::Symbol)
从中访问值/向量。
e.g。
F = pheigfact(A)
values=F[:values]
vectors=F[:vectors]
如果你尝试将一个元素分配给一个管子,它会尝试迭代一个不支持它的类型,所以给你错误(即类型没有方法start
) 。执行x,y = :onetwo
或start(:onetwo)
<强>解决方案强>
使用确实返回元组的函数pheig
。
E, F = pheig(A)