我正在尝试使用 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;博士
使用函数pheig
不pheigfact
返回值和向量的元组
完整答案
我没有这个包,但从文档中看起来pheigfact
返回一个元素,您可以使用getindex(x,ind::Symbol)
从中访问值/向量。
例如
F = pheigfact(A)
values=F[:values]
vectors=F[:vectors]
如果您尝试将单个元素分配给管子,它将尝试迭代不支持它的类型,从而给您错误(即该类型没有方法start
(。我可能会在执行x,y = :onetwo
或start(:onetwo)
时遇到类似的错误
溶液
使用函数pheig
返回元组。
E, F = pheig(A)