Skip to content

Commit 120dc24

Browse files
committed
Add tests
1 parent 07b1090 commit 120dc24

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/operators.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ function LinearAlgebra.hermitian(v::AbstractPolynomialLike, ::Symbol)
434434
)
435435
return v
436436
end
437-
LinearAlgebra.ishermitian(::AbstractPolynomialLike) = isreal(v)
437+
LinearAlgebra.ishermitian(p::AbstractPolynomialLike) = p == conj(p)
438438

439439
LinearAlgebra.transpose(v::AbstractVariable) = v
440440
LinearAlgebra.transpose(m::AbstractMonomial) = m

test/commutative/complex.jl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,23 @@
8282
4x + 8y^2 - 6x^3,
8383
[x, real(y)] => [2 + 4im, 9 + 0 * x^0],
8484
) == 1184 + 112im + 144im * imag(y) - 8imag(y)^2
85+
86+
@testset "Symmetric and Hermitian" begin
87+
p = a + 1
88+
P = typeof(p)
89+
@test LinearAlgebra.symmetric_type(P) == P
90+
@test LinearAlgebra.issymmetric(p)
91+
@test LinearAlgebra.symmetric(p, :U) === p
92+
@test LinearAlgebra.symmetric(p, :L) === p
93+
@test LinearAlgebra.hermitian_type(P) == P
94+
@test LinearAlgebra.ishermitian(p)
95+
@test LinearAlgebra.hermitian(p, :U) === p
96+
@test LinearAlgebra.hermitian(p, :L) === p
97+
@test !LinearAlgebra.ishermitian(a + im)
98+
q = x + 1
99+
@test !LinearAlgebra.ishermitian(q)
100+
err = ErrorException("Complex-valued polynomials cannot be interpreted as hermitian scalars")
101+
@test_throws err LinearAlgebra.hermitian(q, :U)
102+
@test_throws err LinearAlgebra.hermitian(q, :L)
103+
end
85104
end

0 commit comments

Comments
 (0)