diff --git a/src/diagonal.jl b/src/diagonal.jl index 9f8d54e5..932b6000 100644 --- a/src/diagonal.jl +++ b/src/diagonal.jl @@ -247,9 +247,7 @@ Base._reverse(A::Diagonal, dims) = reverse!(Matrix(A); dims) Base._reverse(A::Diagonal, ::Colon) = Diagonal(reverse(A.diag)) Base._reverse!(A::Diagonal, ::Colon) = (reverse!(A.diag); A) -ishermitian(D::Diagonal{<:Number}) = isreal(D.diag) ishermitian(D::Diagonal) = all(ishermitian, D.diag) -issymmetric(D::Diagonal{<:Number}) = true issymmetric(D::Diagonal) = all(issymmetric, D.diag) isposdef(D::Diagonal) = all(isposdef, D.diag) diff --git a/test/diagonal.jl b/test/diagonal.jl index d1f46f47..0bf17cf9 100644 --- a/test/diagonal.jl +++ b/test/diagonal.jl @@ -1454,4 +1454,11 @@ end @test opnorm(D, Inf) == opnorm(A, Inf) end +@testset "issymmetric with NaN" begin + D = Diagonal(fill(NaN,3)) + A = Array(D) + @test issymmetric(D) == issymmetric(A) + @test ishermitian(D) == ishermitian(A) +end + end # module TestDiagonal