Skip to content

Commit dc34c24

Browse files
committed
Correctly implement isisometry
1 parent 69fa03d commit dc34c24

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/tensors/factorizations/factorizations.jl

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import MatrixAlgebraKit: select_algorithm,
3636
left_null_svd!, right_null_svd!,
3737
left_orth!, right_orth!, left_null!, right_null!,
3838
truncate!, findtruncated, findtruncated_sorted,
39-
diagview, isisometry
39+
diagview
4040

4141
include("utility.jl")
4242
include("interface.jl")
@@ -174,9 +174,15 @@ function LinearAlgebra.isposdef!(t::TensorMap)
174174
end
175175

176176
# TODO: tolerances are per-block, not global or weighted - does that matter?
177-
function isisometry(t::AbstractTensorMap; kwargs...)
177+
function MatrixAlgebraKit.is_left_isometry(t::AbstractTensorMap; kwargs...)
178178
domain(t) codomain(t) || return false
179-
return all(x -> isisometry(x[2]; kwargs...), blocks(t))
179+
f((c, b)) = MatrixAlgebraKit.is_left_isometry(b; kwargs...)
180+
return all(f, blocks(t))
181+
end
182+
function MatrixAlgebraKit.is_right_isometry(t::AbstractTensorMap; kwargs...)
183+
domain(t) codomain(t) || return false
184+
f((c, b)) = MatrixAlgebraKit.is_right_isometry(b; kwargs...)
185+
return all(f, blocks(t))
180186
end
181187

182188
end

0 commit comments

Comments
 (0)