@@ -322,7 +322,7 @@ Base.literal_pow(::typeof(^), D::Diagonal, valp::Val) =
322322 Diagonal (Base. literal_pow .(^ , D. diag, valp)) # for speed
323323Base. literal_pow (:: typeof (^ ), D:: Diagonal , :: Val{-1} ) = inv (D) # for disambiguation
324324
325- function ( * ) (Da:: Diagonal , Db:: Diagonal )
325+ function mul (Da:: Diagonal , Db:: Diagonal )
326326 matmul_size_check (size (Da), size (Db))
327327 return Diagonal (Da. diag .* Db. diag)
328328end
@@ -332,26 +332,19 @@ function (*)(D::Diagonal, V::AbstractVector)
332332 return D. diag .* V
333333end
334334
335- function _diag_adj_mul (A:: AdjOrTransAbsMat , D:: Diagonal )
335+ function mul (A:: AdjOrTransAbsMat , D:: Diagonal )
336336 adj = wrapperop (A)
337337 copy (adj (adj (D) * adj (A)))
338338end
339- function _diag_adj_mul (A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} , D:: Diagonal{<:Number} )
340- @invoke * (A:: AbstractMatrix , D:: AbstractMatrix )
339+ function mul (A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} , D:: Diagonal{<:Number} )
340+ @invoke mul (A:: AbstractMatrix , D:: AbstractMatrix )
341341end
342- function _diag_adj_mul (D:: Diagonal , A:: AdjOrTransAbsMat )
342+ function mul (D:: Diagonal , A:: AdjOrTransAbsMat )
343343 adj = wrapperop (A)
344344 copy (adj (adj (A) * adj (D)))
345345end
346- function _diag_adj_mul (D:: Diagonal{<:Number} , A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} )
347- @invoke * (D:: AbstractMatrix , A:: AbstractMatrix )
348- end
349-
350- function (* )(A:: AdjOrTransAbsMat , D:: Diagonal )
351- _diag_adj_mul (A, D)
352- end
353- function (* )(D:: Diagonal , A:: AdjOrTransAbsMat )
354- _diag_adj_mul (D, A)
346+ function mul (D:: Diagonal{<:Number} , A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} )
347+ @invoke mul (D:: AbstractMatrix , A:: AbstractMatrix )
355348end
356349
357350function rmul! (A:: AbstractMatrix , D:: Diagonal )
@@ -1037,9 +1030,6 @@ end
10371030* (x:: TransposeAbsVec , D:: Diagonal , y:: AbstractVector ) = _mapreduce_prod (* , x, D, y)
10381031/ (u:: AdjointAbsVec , D:: Diagonal ) = (D' \ u' )'
10391032/ (u:: TransposeAbsVec , D:: Diagonal ) = transpose (transpose (D) \ transpose (u))
1040- # disambiguation methods: Call unoptimized version for user defined AbstractTriangular.
1041- * (A:: AbstractTriangular , D:: Diagonal ) = @invoke * (A:: AbstractMatrix , D:: Diagonal )
1042- * (D:: Diagonal , A:: AbstractTriangular ) = @invoke * (D:: Diagonal , A:: AbstractMatrix )
10431033
10441034_opnorm1 (A:: Diagonal ) = maximum (norm (x) for x in A. diag)
10451035_opnormInf (A:: Diagonal ) = maximum (norm (x) for x in A. diag)
0 commit comments