@@ -7,17 +7,12 @@ using GradedArrays:
77 dual,
88 sector_type,
99 trivial
10- using TensorAlgebra: AbstractBlockPermutation, BlockedTuple
10+ using TensorAlgebra: TensorAlgebra, AbstractBlockPermutation, BlockedTuple
1111using TensorProducts: ⊗
1212using TypeParameterAccessors: type_parameters
1313
1414# ======================================= Misc ===========================================
1515
16- dummy_axis () = dummy_axis (TrivialSector)
17- dummy_axis (x) = dummy_axis (typeof (x))
18- dummy_axis (:: Type{T} ) where {T} = dummy_axis (sector_type (T))
19- dummy_axis (:: Type{S} ) where {S<: AbstractSector } = gradedrange ([trivial (S) => 1 ])
20-
2116promote_sector_type (legs:: Tuple ) = promote_sector_type (legs... )
2217
2318function promote_sector_type (legs... )
@@ -113,6 +108,10 @@ function GradedArrays.sector_type(::Type{FTA}) where {BT,FTA<:FusionTensorAxes{B
113108 return sector_type (type_parameters (type_parameters (BT, 3 ), 1 ))
114109end
115110
111+ # ============================== TensorAlgebra interface =================================
112+
113+ TensorAlgebra. trivial_axis (fta:: FusionTensorAxes ) = trivial_axis (sector_type (fta))
114+
116115# ============================== FusionTensor interface ==================================
117116
118117codomain_axes (fta:: FusionTensorAxes ) = fta[Block (1 )]
@@ -121,14 +120,14 @@ domain_axes(fta::FusionTensorAxes) = fta[Block(2)]
121120
122121function codomain_axis (fta:: FusionTensorAxes )
123122 if ndims_codomain (fta) == 0
124- return dummy_axis (fta)
123+ return trivial_axis (fta)
125124 end
126125 return ⊗ (codomain_axes (fta)... )
127126end
128127
129128function domain_axis (fta:: FusionTensorAxes )
130129 if ndims_domain (fta) == 0
131- return dual (dummy_axis (fta))
130+ return dual (trivial_axis (fta))
132131 end
133132 return dual (⊗ (dual .(domain_axes (fta))... ))
134133end
0 commit comments