@@ -216,7 +216,10 @@ function eigvalsPWK!(S::SymTridiagonal{T}; tol = eps(T), sortby::Union{Function,
216216 end
217217 end
218218 end
219- LinearAlgebra. sorteig! (d, sortby)
219+
220+ # LinearAlgebra.eigvals will pass sortby=nothing but LAPACK always sort the symmetric
221+ # eigenvalue problem so we'll will do the same here
222+ LinearAlgebra. sorteig! (d, sortby === nothing ? LinearAlgebra. eigsortby : sortby)
220223end
221224
222225function eigQL! (
@@ -639,29 +642,31 @@ else
639642 LinearAlgebra. copy_oftype
640643end
641644
642- function LinearAlgebra. eigvals (A:: Hermitian{<:Real} )
643- T = typeof (sqrt (zero (eltype (A))))
644- return eigvals! (_eigencopy_oftype (A, T))
645- end
646- function LinearAlgebra. eigvals (A:: Hermitian{<:Complex} )
647- T = typeof (sqrt (zero (eltype (A))))
648- return eigvals! (_eigencopy_oftype (A, T))
649- end
650- function LinearAlgebra. eigvals (A:: Hermitian )
651- T = typeof (sqrt (zero (eltype (A))))
652- return eigvals! (_eigencopy_oftype (A, T))
653- end
654- function LinearAlgebra. eigen (A:: Hermitian{<:Real} )
655- T = typeof (sqrt (zero (eltype (A))))
656- return eigen! (_eigencopy_oftype (A, T))
657- end
658- function LinearAlgebra. eigen (A:: Hermitian{<:Complex} )
659- T = typeof (sqrt (zero (eltype (A))))
660- return eigen! (_eigencopy_oftype (A, T))
661- end
662- function LinearAlgebra. eigen (A:: Hermitian )
663- T = typeof (sqrt (zero (eltype (A))))
664- return eigen! (_eigencopy_oftype (A, T))
645+ if VERSION < v " 1.7"
646+ function LinearAlgebra. eigvals (A:: Hermitian{<:Real} )
647+ T = typeof (sqrt (zero (eltype (A))))
648+ return eigvals! (_eigencopy_oftype (A, T))
649+ end
650+ function LinearAlgebra. eigvals (A:: Hermitian{<:Complex} )
651+ T = typeof (sqrt (zero (eltype (A))))
652+ return eigvals! (_eigencopy_oftype (A, T))
653+ end
654+ function LinearAlgebra. eigvals (A:: Hermitian )
655+ T = typeof (sqrt (zero (eltype (A))))
656+ return eigvals! (_eigencopy_oftype (A, T))
657+ end
658+ function LinearAlgebra. eigen (A:: Hermitian{<:Real} )
659+ T = typeof (sqrt (zero (eltype (A))))
660+ return eigen! (_eigencopy_oftype (A, T))
661+ end
662+ function LinearAlgebra. eigen (A:: Hermitian{<:Complex} )
663+ T = typeof (sqrt (zero (eltype (A))))
664+ return eigen! (_eigencopy_oftype (A, T))
665+ end
666+ function LinearAlgebra. eigen (A:: Hermitian )
667+ T = typeof (sqrt (zero (eltype (A))))
668+ return eigen! (_eigencopy_oftype (A, T))
669+ end
665670end
666671
667672# Aux (should go somewhere else at some point)
0 commit comments