@@ -8,7 +8,7 @@ import LazyBandedMatrices: _krontrav_axes, _block_interlace_axes, _broadcast_sub
88import InfiniteArrays: InfFill, TridiagonalToeplitzLayout, BidiagonalToeplitzLayout, LazyArrayStyle, OneToInf
99import LazyBandedMatrices. ArrayLayouts: MemoryLayout, sublayout, RangeCumsum, Mul
1010import LazyBandedMatrices. BlockArrays: sizes_from_blocks, BlockedOneTo, BlockSlice1, BlockSlice
11- import LazyBandedMatrices. LazyArrays: BroadcastBandedLayout, AbstractPaddedLayout
11+ import LazyBandedMatrices. LazyArrays: BroadcastBandedLayout, AbstractPaddedLayout, simplifiable
1212
1313const OneToInfCumsum = RangeCumsum{Int,OneToInf{Int}}
1414
@@ -39,6 +39,7 @@ MemoryLayout(::Type{<:KronTrav{<:Any,2,<:Any,NTuple{2,BlockedOneTo{Int,OneToInfC
3939sublayout (:: InfKronTravBandedBlockBandedLayout , :: Type{<:NTuple{2,BlockSlice1}} ) = BroadcastBandedLayout {typeof(*)} ()
4040sublayout (:: InfKronTravBandedBlockBandedLayout , :: Type {<: NTuple {2 ,BlockSlice{BlockRange{1 ,Tuple{OneTo{Int}}}}}}) = KronTravBandedBlockBandedLayout ()
4141
42+ simplifiable (:: Mul{InfKronTravBandedBlockBandedLayout, InfKronTravBandedBlockBandedLayout} ) = Val (true )
4243copy (M:: Mul{InfKronTravBandedBlockBandedLayout, InfKronTravBandedBlockBandedLayout} ) = KronTrav ((krontravargs (M. A) .* krontravargs (M. B)). .. )
4344
4445_broadcast_sub_arguments (:: InfKronTravBandedBlockBandedLayout , M, V) = _broadcast_sub_arguments (KronTravBandedBlockBandedLayout (), M, V)
0 commit comments