@@ -10,7 +10,7 @@ using FusionTensors:
1010 ndims_domain,
1111 ndims_codomain,
1212 to_fusiontensor
13- using GradedArrays: O2, U1, SectorProduct, SU2, dual, gradedrange, space_isequal
13+ using GradedArrays: × , O2, U1, SectorProduct, SU2, dual, gradedrange, space_isequal
1414using TensorAlgebra: permmortar, tuplemortar
1515
1616include (" setup.jl" )
178178 dual (gradedrange ([O2 (1 // 2 ) => 1 ])),
179179 gradedrange ([SU2 (1 // 2 ) => 1 ]),
180180 dual (gradedrange ([SU2 (1 // 2 ) => 1 ])),
181- gradedrange ([SectorProduct (SU2 (1 // 2 ), U1 (0 )) => 1 ]),
182- gradedrange ([SectorProduct (SU2 (1 // 2 ), SU2 (0 )) => 1 ]),
183181 )
184182 g2b = dual (g2)
185183 for biperm in [
201199 end
202200 end
203201end
202+
203+ @testset " SectorProduct permutedims" begin
204+ d = 2
205+ D = 3
206+ tRVB = zeros ((d, D, D, D, D)) # tensor RVB SU(2) for spin s
207+ for i in 1 : d
208+ tRVB[i, i + 1 , 1 , 1 , 1 ] = 1.0
209+ tRVB[i, 1 , i + 1 , 1 , 1 ] = 1.0
210+ tRVB[i, 1 , 1 , i + 1 , 1 ] = 1.0
211+ tRVB[i, 1 , 1 , 1 , i + 1 ] = 1.0
212+ end
213+
214+ gd = gradedrange ([SU2 (1 // 2 ) × U1 (3 ) => 1 ])
215+ gD = dual (gradedrange ([SU2 (0 ) × U1 (1 ) => 1 , SU2 (1 // 2 ) × U1 (0 ) => 1 ]))
216+ ft = to_fusiontensor (tRVB, (gd,), (gD, gD, gD, gD))
217+ @test Array (ft) ≈ tRVB
218+ for biperm in [
219+ permmortar (((1 ,), (2 , 3 , 4 , 5 ))),
220+ permmortar (((1 , 2 , 3 ), (4 , 5 ))),
221+ permmortar (((3 , 1 , 4 ), (2 , 5 ))),
222+ permmortar (((), (2 , 4 , 1 , 5 , 3 ))),
223+ permmortar (((2 , 4 , 1 , 5 , 3 ), ())),
224+ ]
225+ @test permutedims (ft, biperm) ≈ naive_permutedims (ft, biperm)
226+ end
227+ end
0 commit comments