6767
6868function JordanMPOTensor (
6969 V:: TensorMapSumSpace{S, 2, 2} ,
70- A:: SparseBlockTensorMap{TA, E, S, 2, 2} ,
71- B:: SparseBlockTensorMap{TB, E, S, 2, 1} ,
72- C:: SparseBlockTensorMap{TC, E, S, 1, 2} ,
73- D:: SparseBlockTensorMap{TD, E, S, 1, 1}
70+ A:: SparseBlockTensorMap{TA, E, S, 2, 2} , B:: SparseBlockTensorMap{TB, E, S, 2, 1} ,
71+ C:: SparseBlockTensorMap{TC, E, S, 1, 2} , D:: SparseBlockTensorMap{TD, E, S, 1, 1}
7472 ) where {E, S, TA, TB, TC, TD}
7573 allVs = eachspace (V)
7674 VA = space (allVs[2 : (end - 1 ), 1 , 1 , 2 : (end - 1 )])
@@ -87,6 +85,18 @@ function JordanMPOTensor(
8785
8886 return JordanMPOTensor {E, S, TA, TB, TC, TD} (V, A, B, C, D)
8987end
88+ function JordanMPOTensor (
89+ V:: TensorMapSumSpace{S, 2, 2} ,
90+ A:: AbstractTensorMap{E, S, 2, 2} , B:: AbstractTensorMap{E, S, 2, 1} ,
91+ C:: AbstractTensorMap{E, S, 1, 2} , D:: AbstractTensorMap{E, S, 1, 1}
92+ ) where {E, S}
93+ return JordanMPOTensor (V,
94+ A isa SparseBlockTensorMap ? A : SparseBlockTensorMap (A),
95+ B isa SparseBlockTensorMap ? B : SparseBlockTensorMap (B),
96+ C isa SparseBlockTensorMap ? C : SparseBlockTensorMap (C),
97+ D isa SparseBlockTensorMap ? D : SparseBlockTensorMap (D)
98+ )
99+ end
90100
91101function JordanMPOTensor (W:: SparseBlockTensorMap{TT, E, S, 2, 2} ) where {TT, E, S}
92102 @assert W[1 , 1 , 1 , 1 ] isa BraidingTensor && W[end , 1 , 1 , end ] isa BraidingTensor
0 commit comments