Convex.jl icon indicating copy to clipboard operation
Convex.jl copied to clipboard

trace_mpower with BigFloat

Open blegat opened this issue 2 years ago • 0 comments

https://github.com/jump-dev/Convex.jl/blob/c6a21df2979dc1eaf60674f7f4b1324a4f30f8b8/src/atoms/sdp_cone/trace_mpower.jl#L78 is failing with BigFloat with

  MethodError: no method matching eigen!(::Symmetric{Double64, Matrix{Double64}}; sortby::Nothing)
  
  Closest candidates are:
    eigen!(::Union{Hermitian{T, var"#s967"}, Hermitian{Complex{T}, var"#s967"}, Symmetric{T, var"#s967"}} where var"#s967"<:(StridedMatrix{T} where T), ::AbstractMatrix{T}; sortby) where T<:Number
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetriceigen.jl:167
    eigen!(::StridedMatrix{T}; permute, scale, sortby) where T<:Union{Float32, Float64}
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/eigen.jl:149
    eigen!(::StridedMatrix{T}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32}
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/eigen.jl:172
    ...
  
  Stacktrace:
   [1] eigen(A::Symmetric{Double64, Matrix{Double64}}; sortby::Nothing)
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetriceigen.jl:13
   [2] eigen(A::Symmetric{Double64, Matrix{Double64}})
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetriceigen.jl:11
   [3] ^
     @ /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetric.jl:686 [inlined]
   [4] ^(A::Matrix{Double64}, p::Rational{Int64})
     @ LinearAlgebra /opt/hostedtoolcache/julia/1.9.0/x64/share/julia/stdlib/v1.9/LinearAlgebra/src/dense.jl:540
   [5] trace_mpower(A::Matrix{Double64}, t::Rational{Int64}, C::Matrix{Float64})
     @ Convex ~/.julia/packages/Convex/tSTAW/src/atoms/sdp_cone/trace_mpower.jl:78
   [6] evaluate(atom::Convex.TraceMpower)
     @ Convex ~/.julia/packages/Convex/tSTAW/src/atoms/sdp_cone/trace_mpower.jl:66

See https://github.com/ericphanson/SDPAFamily.jl/pull/66 I looked at older version of GenericLinearAlgebra all the way to v0.1 and Julia all the way to v1.0 but couldn't find a version where Matrix{BigFloat}^Rational{Int} is working.

blegat avatar Jun 20 '23 05:06 blegat