@@ -11,7 +11,7 @@ import FillArrays: AbstractFill
11
11
import BandedMatrices: BandedMatrix, _BandedMatrix, bandeddata, bandwidths
12
12
import LinearAlgebra: lmul!, ldiv!, matprod, qr, AbstractTriangular, AbstractQ, adjoint, transpose
13
13
import LazyArrays: CachedArray, DenseColumnMajor, FillLayout, ApplyMatrix, check_mul_axes, ApplyStyle, LazyArrayApplyStyle, LazyArrayStyle,
14
- CachedMatrix, CachedArray, resizedata!, MemoryLayout, mulapplystyle
14
+ CachedMatrix, CachedArray, resizedata!, MemoryLayout, mulapplystyle, LmulStyle, RmulStyle
15
15
import MatrixFactorizations: ql, ql!, QLPackedQ, getL, getR, reflector!, reflectorApply!, QL, QR, QRPackedQ
16
16
17
17
import BlockArrays: BlockSizes, cumulsizes, _find_block, AbstractBlockVecOrMat, sizes_from_blocks
@@ -60,8 +60,18 @@ include("infqr.jl")
60
60
# ##
61
61
62
62
# Fix ∞ BandedMatrix
63
- ApplyStyle (:: typeof (* ), :: Type{<:BandedMatrix{<:Any,<:AbstractFill,<:OneToInf}} ...) =
63
+ ApplyStyle (:: typeof (* ), :: Type{<:Diagonal} , :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} ) =
64
+ LmulStyle ()
65
+ ApplyStyle (:: typeof (* ), :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} , :: Type{<:Diagonal} ) =
66
+ RmulStyle ()
67
+ ApplyStyle (:: typeof (* ), :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} , :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} ) =
68
+ LazyArrayApplyStyle ()
69
+ ApplyStyle (:: typeof (* ), :: Type{<:AbstractArray} , :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} ) =
70
+ LazyArrayApplyStyle ()
71
+ ApplyStyle (:: typeof (* ), :: Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}} , :: Type{<:AbstractArray} ) =
72
+ LazyArrayApplyStyle ()
73
+ ApplyStyle (:: typeof (* ), :: Type{<:Adjoint{<:Any,<:BandedMatrix{<:Any,<:Any,<:OneToInf}}} , :: Type{<:AbstractArray} ) =
74
+ LazyArrayApplyStyle ()
75
+ ApplyStyle (:: typeof (* ), :: Type{<:Transpose{<:Any,<:BandedMatrix{<:Any,<:Any,<:OneToInf}}} , :: Type{<:AbstractArray} ) =
64
76
LazyArrayApplyStyle ()
65
-
66
-
67
77
end # module
0 commit comments