2828
2929
3030const MatLmulVec{StyleA,StyleB} = Lmul{StyleA,StyleB,<: Union{AbstractMatrix,AbstractQ} ,<: AbstractVector }
31- const MatLmulMat{StyleA,StyleB} = Lmul{StyleA,StyleB,<: AbstractMatrix ,<: AbstractMatrix }
31+ const MatLmulMat{StyleA,StyleB} = Lmul{StyleA,StyleB,<: Union{ AbstractMatrix,AbstractQ} , <: Union{ AbstractMatrix,AbstractQ} }
3232
3333const BlasMatLmulVec{StyleA,StyleB,T<: BlasFloat } = Lmul{StyleA,StyleB,<: Union{AbstractMatrix{T},AbstractQ{T}} ,<: AbstractVector{T} }
34- const BlasMatLmulMat{StyleA,StyleB,T<: BlasFloat } = Lmul{StyleA,StyleB,<: AbstractMatrix{T} ,<: AbstractMatrix{T} }
34+ const BlasMatLmulMat{StyleA,StyleB,T<: BlasFloat } = Lmul{StyleA,StyleB,<: Union{ AbstractMatrix{T},AbstractQ{T}} , <: Union{ AbstractMatrix{T},AbstractQ{T} } }
3535
3636const MatRmulMat{StyleA,StyleB} = Rmul{StyleA,StyleB,<: AbstractMatrix ,<: AbstractMatrix }
37- const BlasMatRmulMat{StyleA,StyleB,T<: BlasFloat } = Rmul{StyleA,StyleB,<: AbstractMatrix{T} ,<: AbstractMatrix{T} }
37+ const BlasMatRmulMat{StyleA,StyleB,T<: BlasFloat } = Rmul{StyleA,StyleB,<: Union{ AbstractMatrix{T},AbstractQ{T}} , <: Union{ AbstractMatrix{T},AbstractQ{T} } }
3838
3939
4040# ###
@@ -153,3 +153,10 @@ macro layoutrmul(Typ)
153153 ArrayLayouts. @_layoutrmul UnitLowerTriangular{T, <: Transpose{T,<:$Typ{T}} } where T
154154 end )
155155end
156+
157+
158+ LinearAlgebra. lmul! (Q:: AbstractQ , v:: LayoutVecOrMat ) = lmul! (Q, v)
159+ LinearAlgebra. lmul! (Q:: Adjoint{<:Any,<:AbstractQ} , v:: LayoutVecOrMat ) = lmul! (Q, v)
160+
161+ LinearAlgebra. rmul! (A:: LayoutMatrix , Q:: AbstractQ ) = rmul! (A, Q)
162+ LinearAlgebra. rmul! (A:: LayoutMatrix , Q:: Adjoint{<:Any,<:AbstractQ} ) = rmul! (A, Q)
0 commit comments