Skip to content

Commit 750cbd7

Browse files
committed
Use eigencopy_oftype instead of copy_oftype
Fixes #139
1 parent 713250b commit 750cbd7

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/eigenSelfAdjoint.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -635,27 +635,27 @@ eigen2(A::Hermitian, tol = eps(float(real(one(eltype(A)))))) = eigen2!(copy(A),
635635
# LinearAlgebra but is needed for disambiguation
636636
function LinearAlgebra.eigvals(A::Hermitian{<:Real})
637637
T = typeof(sqrt(zero(eltype(A))))
638-
return eigvals!(LinearAlgebra.copy_oftype(A, T))
638+
return eigvals!(LinearAlgebra.eigencopy_oftype(A, T))
639639
end
640640
function LinearAlgebra.eigvals(A::Hermitian{<:Complex})
641641
T = typeof(sqrt(zero(eltype(A))))
642-
return eigvals!(LinearAlgebra.copy_oftype(A, T))
642+
return eigvals!(LinearAlgebra.eigencopy_oftype(A, T))
643643
end
644644
function LinearAlgebra.eigvals(A::Hermitian)
645645
T = typeof(sqrt(zero(eltype(A))))
646-
return eigvals!(LinearAlgebra.copy_oftype(A, T))
646+
return eigvals!(LinearAlgebra.eigencopy_oftype(A, T))
647647
end
648648
function LinearAlgebra.eigen(A::Hermitian{<:Real})
649649
T = typeof(sqrt(zero(eltype(A))))
650-
return eigen!(LinearAlgebra.copy_oftype(A, T))
650+
return eigen!(LinearAlgebra.eigencopy_oftype(A, T))
651651
end
652652
function LinearAlgebra.eigen(A::Hermitian{<:Complex})
653653
T = typeof(sqrt(zero(eltype(A))))
654-
return eigen!(LinearAlgebra.copy_oftype(A, T))
654+
return eigen!(LinearAlgebra.eigencopy_oftype(A, T))
655655
end
656656
function LinearAlgebra.eigen(A::Hermitian)
657657
T = typeof(sqrt(zero(eltype(A))))
658-
return eigen!(LinearAlgebra.copy_oftype(A, T))
658+
return eigen!(LinearAlgebra.eigencopy_oftype(A, T))
659659
end
660660

661661
# Aux (should go somewhere else at some point)

test/eigenselfadjoint.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,10 @@ using Test, GenericLinearAlgebra, LinearAlgebra, Quaternions
156156
@test abs.(eigen(A).vectors) == abs.(eigen(T).vectors) == abs.(eigen(A; sortby=LinearAlgebra.eigsortby).vectors) == abs.(eigen(T; sortby=LinearAlgebra.eigsortby).vectors)
157157
end
158158
end
159+
160+
@testset "#139" begin
161+
A = Hermitian(Diagonal([1.0, 2.0]))
162+
@test eigvals(A) == diag(A)
163+
@test eigen(A).values == diag(A)
164+
end
159165
end

0 commit comments

Comments
 (0)