Julia中的LowRankApprox问题

时间:2017-08-15 23:49:50

标签: julia matrix-factorization

我正在尝试使用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 

感谢任何帮助!

1 个答案:

答案 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 = :onetwostart(:onetwo)

时,我可能会遇到类似的错误

<强>解决方案

使用确实返回元组的函数pheig

E, F = pheig(A)