2017-08-15 21 views
1

我正在尝试使用Julia v0.6.0中的LowRankApprox.jl包提供的pheigfact函数进行厄米特征分解。基本上,它是像代码只是一个行:Julia中的LowRankApprox的问题

(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 

感谢任何帮助!

回答

2

TL; DR

使用功能pheigpheigfact返回值和矢量


完整的答案

的元组我没有包装,但从文档看,它看起来像pheigfact返回一个单元素,您可以从中使用访问值/矢量。

例如

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

,如果你尝试一个元素赋值给一个管子,它会尝试和迭代是不支持它,所以一个类型给你的错误(即类型没有方法start) 。我能得到类似的错误做任何x,y = :onetwostart(:onetwo)

解决方案

使用它确实返回一个元组的功能pheig

E, F = pheig(A) 
+0

它解决了!谢谢! – ywa136