From 9407982b4eed212e8d784cee7495f8037750e70b Mon Sep 17 00:00:00 2001 From: leburgel Date: Fri, 11 Sep 2026 16:29:14 +0200 Subject: [PATCH] Fix contraction of tensors with mixed elementary space types --- src/spaces/homspace.jl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/spaces/homspace.jl b/src/spaces/homspace.jl index 7f3418944..4306c08c6 100644 --- a/src/spaces/homspace.jl +++ b/src/spaces/homspace.jl @@ -321,6 +321,15 @@ function _contractedspace( return cod ← dom end +# generic fallback for mixed elementary space type: compose the intermediate spaces +function _contractedspace( + A::HomSpace, (oindA, cindA)::Index2Tuple, + B::HomSpace, (cindB, oindB)::Index2Tuple, + pAB::Index2Tuple + ) + return permute(compose(select(A, (oindA, cindA)), select(B, (cindB, oindB))), pAB) +end + function TensorOperations.tensorcontract( A::HomSpace, pA::Index2Tuple, conjA::Bool, B::HomSpace, pB::Index2Tuple, conjB::Bool,