【问题标题】:Issues with LowRankApprox in JuliaJulia 中 LowRankApprox 的问题
【发布时间】:2018-01-23 23:32:46
【问题描述】:

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

感谢任何帮助!

【问题讨论】:

    标签: julia matrix-factorization


    【解决方案1】:

    TL;DR

    使用函数 pheig 而不是 pheigfact 返回值和向量的元组


    完整答案

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

    例如

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

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

    解决方案

    使用返回元组的函数pheig

    E, F = pheig(A)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多