Skip to content

Commit 3f67cf9

Browse files
committed
update ishermitian implementations
1 parent b7b3485 commit 3f67cf9

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/factorizations/factorizations.jl

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,17 @@ LinearAlgebra.svdvals!(t::AbstractTensorMap) = diagview(svd_vals!(t))
6161
#--------------------------------------------------#
6262
# Checks for hermiticity and positive definiteness #
6363
#--------------------------------------------------#
64-
function LinearAlgebra.ishermitian(t::AbstractTensorMap)
65-
domain(t) == codomain(t) || return false
66-
InnerProductStyle(t) === EuclideanInnerProduct() || return false # hermiticity only defined for euclidean
67-
for (c, b) in blocks(t)
68-
ishermitian(b) || return false
69-
end
70-
return true
64+
function MAK.ishermitian(t::AbstractTensorMap; kwargs...)
65+
return InnerProductStyle(t) === EuclideanInnerProduct() &&
66+
domain(t) == codomain(t) &&
67+
all(cb -> MatrixAlgebraKit.ishermitian(cb[2]; kwargs...), blocks(t))
68+
end
69+
function MAK.isantihermitian(t::AbstractTensorMap; kwargs...)
70+
return InnerProductStyle(t) === EuclideanInnerProduct() &&
71+
domain(t) == codomain(t) &&
72+
all(cb -> MatrixAlgebraKit.isantihermitian(cb[2]; kwargs...), blocks(t))
7173
end
74+
LinearAlgebra.ishermitian(t::AbstractTensorMap) = MAK.ishermitian(t)
7275

7376
function LinearAlgebra.isposdef(t::AbstractTensorMap)
7477
return isposdef!(copy_oftype(t, factorisation_scalartype(isposdef, t)))

0 commit comments

Comments
 (0)