Skip to content

Commit 2d8c0f9

Browse files
fredrikekreararslan
authored andcommitted
add a missing method for transpose(A::Hermitian{<:Real}) (#22280)
1 parent 0061f2a commit 2d8c0f9

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

base/linalg/symmetric.jl

+1
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ issymmetric(A::Hermitian{<:Real}) = true
210210
issymmetric(A::Hermitian{<:Complex}) = isreal(A)
211211
issymmetric(A::Symmetric) = true
212212
transpose(A::Symmetric) = A
213+
transpose(A::Hermitian{<:Real}) = A
213214
ctranspose(A::Symmetric{<:Real}) = A
214215
function ctranspose(A::Symmetric)
215216
AC = ctranspose(A.data)

test/linalg/symmetric.jl

+11-5
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,20 @@ let n=10
9393
@test ishermitian(Symmetric(b + b'))
9494
end
9595

96-
#transpose, ctranspose
96+
# transpose, ctranspose
97+
S = Symmetric(asym)
98+
H = Hermitian(asym)
9799
if eltya <: Real
98-
@test transpose(Symmetric(asym)) == asym
100+
@test transpose(S) === S == asym
101+
@test ctranspose(S) === S == asym
102+
@test transpose(H) === H == asym
103+
@test ctranspose(H) === H == asym
99104
else
100-
@test transpose(Hermitian(asym)) == transpose(asym)
105+
@test transpose(S) === S
106+
@test ctranspose(S) == Symmetric(conj(asym))
107+
@test transpose(H) == Hermitian(transpose(asym))
108+
@test ctranspose(H) === H == asym
101109
end
102-
@test ctranspose(Symmetric(asym)) == Symmetric(conj(asym))
103-
@test ctranspose(Hermitian(asym)) == asym
104110

105111
#tril/triu
106112
for di in -n:n

0 commit comments

Comments
 (0)