@@ -151,116 +151,116 @@ end
151151(* )(Da:: Diagonal , Db:: Diagonal ) = Diagonal (Da. diag .* Db. diag)
152152(* )(D:: Diagonal , V:: AbstractVector ) = D. diag .* V
153153
154- (* )(A:: AbstractTriangular , D:: Diagonal ) = mul1 ! (copy (A), D)
155- (* )(D:: Diagonal , B:: AbstractTriangular ) = mul2 ! (D, copy (B))
154+ (* )(A:: AbstractTriangular , D:: Diagonal ) = rmul ! (copy (A), D)
155+ (* )(D:: Diagonal , B:: AbstractTriangular ) = lmul ! (D, copy (B))
156156
157157(* )(A:: AbstractMatrix , D:: Diagonal ) =
158158 mul! (similar (A, promote_op (* , eltype (A), eltype (D. diag)), size (A)), A, D)
159159(* )(D:: Diagonal , A:: AbstractMatrix ) =
160160 mul! (similar (A, promote_op (* , eltype (A), eltype (D. diag)), size (A)), D, A)
161161
162- function mul1 ! (A:: AbstractMatrix , D:: Diagonal )
162+ function rmul ! (A:: AbstractMatrix , D:: Diagonal )
163163 A .= A .* transpose (D. diag)
164164 return A
165165end
166166
167- function mul2 ! (D:: Diagonal , B:: AbstractMatrix )
167+ function lmul ! (D:: Diagonal , B:: AbstractMatrix )
168168 B .= D. diag .* B
169169 return B
170170end
171171
172- mul1 ! (A:: Union{LowerTriangular,UpperTriangular} , D:: Diagonal ) = typeof (A)(mul1 ! (A. data, D))
173- function mul1 ! (A:: UnitLowerTriangular , D:: Diagonal )
174- mul1 ! (A. data, D)
172+ rmul ! (A:: Union{LowerTriangular,UpperTriangular} , D:: Diagonal ) = typeof (A)(rmul ! (A. data, D))
173+ function rmul ! (A:: UnitLowerTriangular , D:: Diagonal )
174+ rmul ! (A. data, D)
175175 for i = 1 : size (A, 1 )
176176 A. data[i,i] = D. diag[i]
177177 end
178178 LowerTriangular (A. data)
179179end
180- function mul1 ! (A:: UnitUpperTriangular , D:: Diagonal )
181- mul1 ! (A. data, D)
180+ function rmul ! (A:: UnitUpperTriangular , D:: Diagonal )
181+ rmul ! (A. data, D)
182182 for i = 1 : size (A, 1 )
183183 A. data[i,i] = D. diag[i]
184184 end
185185 UpperTriangular (A. data)
186186end
187187
188- function mul2 ! (D:: Diagonal , B:: UnitLowerTriangular )
189- mul2 ! (D, B. data)
188+ function lmul ! (D:: Diagonal , B:: UnitLowerTriangular )
189+ lmul ! (D, B. data)
190190 for i = 1 : size (B, 1 )
191191 B. data[i,i] = D. diag[i]
192192 end
193193 LowerTriangular (B. data)
194194end
195- function mul2 ! (D:: Diagonal , B:: UnitUpperTriangular )
196- mul2 ! (D, B. data)
195+ function lmul ! (D:: Diagonal , B:: UnitUpperTriangular )
196+ lmul ! (D, B. data)
197197 for i = 1 : size (B, 1 )
198198 B. data[i,i] = D. diag[i]
199199 end
200200 UpperTriangular (B. data)
201201end
202202
203203* (D:: Adjoint{<:Any,<:Diagonal} , B:: Diagonal ) = Diagonal (adjoint .(D. parent. diag) .* B. diag)
204- * (A:: Adjoint{<:Any,<:AbstractTriangular} , D:: Diagonal ) = mul1 ! (copy (A), D)
204+ * (A:: Adjoint{<:Any,<:AbstractTriangular} , D:: Diagonal ) = rmul ! (copy (A), D)
205205function * (adjA:: Adjoint{<:Any,<:AbstractMatrix} , D:: Diagonal )
206206 A = adjA. parent
207207 Ac = similar (A, promote_op (* , eltype (A), eltype (D. diag)), (size (A, 2 ), size (A, 1 )))
208208 adjoint! (Ac, A)
209- mul1 ! (Ac, D)
209+ rmul ! (Ac, D)
210210end
211211
212212* (D:: Transpose{<:Any,<:Diagonal} , B:: Diagonal ) = Diagonal (transpose .(D. parent. diag) .* B. diag)
213- * (A:: Transpose{<:Any,<:AbstractTriangular} , D:: Diagonal ) = mul1 ! (copy (A), D)
213+ * (A:: Transpose{<:Any,<:AbstractTriangular} , D:: Diagonal ) = rmul ! (copy (A), D)
214214function * (transA:: Transpose{<:Any,<:AbstractMatrix} , D:: Diagonal )
215215 A = transA. parent
216216 At = similar (A, promote_op (* , eltype (A), eltype (D. diag)), (size (A, 2 ), size (A, 1 )))
217217 transpose! (At, A)
218- mul1 ! (At, D)
218+ rmul ! (At, D)
219219end
220220
221221* (D:: Diagonal , B:: Adjoint{<:Any,<:Diagonal} ) = Diagonal (D. diag .* adjoint .(B. parent. diag))
222- * (D:: Diagonal , B:: Adjoint{<:Any,<:AbstractTriangular} ) = mul2 ! (D, collect (B))
223- * (D:: Diagonal , adjQ:: Adjoint{<:Any,<:Union{QRCompactWYQ,QRPackedQ}} ) = (Q = adjQ. parent; mul1 ! (Array (D), adjoint (Q)))
222+ * (D:: Diagonal , B:: Adjoint{<:Any,<:AbstractTriangular} ) = lmul ! (D, collect (B))
223+ * (D:: Diagonal , adjQ:: Adjoint{<:Any,<:Union{QRCompactWYQ,QRPackedQ}} ) = (Q = adjQ. parent; rmul ! (Array (D), adjoint (Q)))
224224function * (D:: Diagonal , adjA:: Adjoint{<:Any,<:AbstractMatrix} )
225225 A = adjA. parent
226226 Ac = similar (A, promote_op (* , eltype (A), eltype (D. diag)), (size (A, 2 ), size (A, 1 )))
227227 adjoint! (Ac, A)
228- mul2 ! (D, Ac)
228+ lmul ! (D, Ac)
229229end
230230
231231* (D:: Diagonal , B:: Transpose{<:Any,<:Diagonal} ) = Diagonal (D. diag .* transpose .(B. parent. diag))
232- * (D:: Diagonal , B:: Transpose{<:Any,<:AbstractTriangular} ) = mul2 ! (D, copy (B))
232+ * (D:: Diagonal , B:: Transpose{<:Any,<:AbstractTriangular} ) = lmul ! (D, copy (B))
233233function * (D:: Diagonal , transA:: Transpose{<:Any,<:AbstractMatrix} )
234234 A = transA. parent
235235 At = similar (A, promote_op (* , eltype (A), eltype (D. diag)), (size (A, 2 ), size (A, 1 )))
236236 transpose! (At, A)
237- mul2 ! (D, At)
237+ lmul ! (D, At)
238238end
239239
240240* (D:: Adjoint{<:Any,<:Diagonal} , B:: Adjoint{<:Any,<:Diagonal} ) =
241241 Diagonal (adjoint .(D. parent. diag) .* adjoint .(B. parent. diag))
242242* (D:: Transpose{<:Any,<:Diagonal} , B:: Transpose{<:Any,<:Diagonal} ) =
243243 Diagonal (transpose .(D. parent. diag) .* transpose .(B. parent. diag))
244244
245- mul1 ! (A:: Diagonal , B:: Diagonal ) = Diagonal (A. diag .*= B. diag)
246- mul2 ! (A:: Diagonal , B:: Diagonal ) = Diagonal (B. diag .= A. diag .* B. diag)
245+ rmul ! (A:: Diagonal , B:: Diagonal ) = Diagonal (A. diag .*= B. diag)
246+ lmul ! (A:: Diagonal , B:: Diagonal ) = Diagonal (B. diag .= A. diag .* B. diag)
247247
248- function mul2 ! (adjA:: Adjoint{<:Any,<:Diagonal} , B:: AbstractMatrix )
248+ function lmul ! (adjA:: Adjoint{<:Any,<:Diagonal} , B:: AbstractMatrix )
249249 A = adjA. parent
250- return mul2 ! (conj (A. diag), B)
250+ return lmul ! (conj (A. diag), B)
251251end
252- function mul2 ! (transA:: Transpose{<:Any,<:Diagonal} , B:: AbstractMatrix )
252+ function lmul ! (transA:: Transpose{<:Any,<:Diagonal} , B:: AbstractMatrix )
253253 A = transA. parent
254- return mul2 ! (A. diag, B)
254+ return lmul ! (A. diag, B)
255255end
256256
257- function mul1 ! (A:: AbstractMatrix , adjB:: Adjoint{<:Any,<:Diagonal} )
257+ function rmul ! (A:: AbstractMatrix , adjB:: Adjoint{<:Any,<:Diagonal} )
258258 B = adjB. parent
259- return mul1 ! (A, conj (B. diag))
259+ return rmul ! (A, conj (B. diag))
260260end
261- function mul1 ! (A:: AbstractMatrix , transB:: Transpose{<:Any,<:Diagonal} )
261+ function rmul ! (A:: AbstractMatrix , transB:: Transpose{<:Any,<:Diagonal} )
262262 B = transB. parent
263- return mul1 ! (A, B. diag)
263+ return rmul ! (A, B. diag)
264264end
265265
266266# Get ambiguous method if try to unify AbstractVector/AbstractMatrix here using AbstractVecOrMat
0 commit comments