3636KroneckerArrays.:× (a:: SectorRange , g:: AbstractUnitRange ) = cartesianrange (a, g)
3737KroneckerArrays.:× (g:: AbstractUnitRange , a:: SectorRange ) = cartesianrange (a, g)
3838
39+ function Base. isequal (a:: SectorUnitRange , b:: SectorUnitRange )
40+ return isequal (kroneckerfactors (a), kroneckerfactors (b))
41+ end
42+ function Base.:(== )(a:: SectorUnitRange , b:: SectorUnitRange )
43+ return isequal (a, b)
44+ end
45+
3946to_gradedrange (g:: SectorUnitRange ) = mortar_axis ([g])
4047
4148"""
@@ -385,10 +392,10 @@ end
385392# TODO : Define this as part of:
386393# `check_input(::typeof(mul!), ::SectorMatrix, ::SectorMatrix, ::SectorMatrix)`
387394function check_mul_axes (c:: SectorMatrix , a:: SectorMatrix , b:: SectorMatrix )
388- space_isequal ( axes (a, 2 ), dual (axes (b, 1 ) )) ||
395+ axes (a, 2 ) == dual (axes (b, 1 )) ||
389396 throw (DimensionMismatch (" $(axes (a, 2 )) != dual($(axes (b, 1 )) ))" ))
390- space_isequal ( axes (c, 1 ), axes (a, 1 ) ) || throw (DimensionMismatch ())
391- space_isequal ( axes (c, 2 ), axes (b, 2 ) ) || throw (DimensionMismatch ())
397+ axes (c, 1 ) == axes (a, 1 ) || throw (DimensionMismatch ())
398+ axes (c, 2 ) == axes (b, 2 ) || throw (DimensionMismatch ())
392399 return nothing
393400end
394401
@@ -413,6 +420,18 @@ function KroneckerArrays.:(⊗)(
413420 return SectorArray (A. sectors, collect (T, data))
414421end
415422
423+ function TensorAlgebra. add! (dest:: AbstractArray , src:: SectorArray , α:: Number , β:: Number )
424+ require_unique_fusion (src)
425+ TensorAlgebra. add! (dest, src. data, α, β)
426+ return dest
427+ end
428+
429+ function TensorAlgebra. add! (dest:: SectorArray , src:: SectorArray , α:: Number , β:: Number )
430+ _check_add_axes (dest, src)
431+ TensorAlgebra. add! (dest. data, src. data, α, β)
432+ return dest
433+ end
434+
416435# TODO : can we avoid this?
417436function Base. materialize! (dst:: SectorArray , src:: KroneckerArrays.KroneckerBroadcasted )
418437 Base. materialize! (kroneckerfactors (dst, 1 ), kroneckerfactors (src, 1 ))
0 commit comments