- 
                Notifications
    
You must be signed in to change notification settings  - Fork 27
 
Open
Description
julia> x = rand(BigFloat,4,4)
4×4 Array{BigFloat,2}:
 0.632329  0.143291  0.140398  0.932326
 0.682252  0.833668  0.170542  0.776611
 0.213518  0.324609  0.610383  0.130877
 0.277469  0.558703  0.215871  0.299646
julia> eigmin(Hermitian(x + x'))
ERROR: MethodError: no method matching eigvals!(::Hermitian{BigFloat,Array{BigFloat,2}}, ::UnitRange{Int64})
Closest candidates are:
  eigvals!(::SymTridiagonal{#s664,V} where V<:AbstractArray{#s664,1} where #s664<:Union{Float32, Float64}, ::UnitRange) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/tridiag.jl:248
  eigvals!(::Union{Hermitian{#s664,#s663}, Hermitian{Complex{#s664},#s663}, Symmetric{#s664,#s663}} where #s663<:(Union{DenseArray{T,2}, Base.ReinterpretArray{T,2,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray}, Base.ReshapedArray{T,2,A,MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{Base.ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray}, SubArray{T,2,A,I,L} where L where I<:Tuple{Vararg{Union{Int64, AbstractRange{Int64}, Base.AbstractCartesianIndex},N} where N} where A<:Union{Base.ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray} where N where T, Base.ReshapedArray{T,N,A,MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{Base.ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Union{Tuple{Vararg{Real,N} where N}, Tuple{AbstractUnitRange,Vararg{Any,N} where N}} where A<:DenseArray where N where T, DenseArray} where N where T, DenseArray}} where T) where #s664<:Union{Float32, Float64}, ::UnitRange) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:732
  eigvals!(::Hermitian; tol, debug) at /home/eric/.julia/packages/GenericLinearAlgebra/sJLhE/src/eigenSelfAdjoint.jl:566
Stacktrace:
 [1] eigvals(::Hermitian{BigFloat,Array{BigFloat,2}}, ::UnitRange{Int64}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:763
 [2] eigmin(::Hermitian{BigFloat,Array{BigFloat,2}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:806
 [3] top-level scope at REPL[108]:1
 [4] eval(::Module, ::Any) at ./boot.jl:331
 [5] eval_user_input(::Any, ::REPL.REPLBackend) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:86
 [6] run_backend(::REPL.REPLBackend) at /home/eric/.julia/packages/Revise/XFtoQ/src/Revise.jl:1162
 [7] top-level scope at none:0
 [8] eval(::Module, ::Any) at ./boot.jl:331
 [9] eval_user_input(::Any, ::REPL.REPLBackend) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:86
 [10] run_backend(::REPL.REPLBackend) at /home/eric/.julia/packages/Revise/XFtoQ/src/Revise.jl:1162
 [11] top-level scope at none:0Some piracy fixes it in the BigFloat case:
LinearAlgebra.eigmin(A::LinearAlgebra.RealHermSymComplexHerm{BigFloat,<:StridedMatrix}) = minimum(eigvals(A))But maybe a generic solution is desired?
Metadata
Metadata
Assignees
Labels
No labels