We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
lmul
rmul
DiagonalTensorMap
1 parent 62ca99d commit 5ecd860Copy full SHA for 5ecd860
1 file changed
src/tensors/diagonal.jl
@@ -275,6 +275,21 @@ function LinearAlgebra.mul!(dC::DiagonalTensorMap,
275
return dC
276
end
277
278
+function LinearAlgebra.lmul!(D::DiagonalTensorMap, t::AbstractTensorMap)
279
+ domain(D) == codomain(t) || throw(SpaceMismatch())
280
+ for (c, b) in blocks(t)
281
+ lmul!(block(D, c), b)
282
+ end
283
+ return t
284
+end
285
+function LinearAlgebra.rmul!(t::AbstractTensorMap, D::DiagonalTensorMap)
286
+ codomain(D) == domain(t) || throw(SpaceMismatch())
287
288
+ rmul!(b, block(D, c))
289
290
291
292
+
293
Base.inv(d::DiagonalTensorMap) = DiagonalTensorMap(inv.(d.data), d.domain)
294
function Base.:\(d1::DiagonalTensorMap, d2::DiagonalTensorMap)
295
d1.domain == d2.domain || throw(SpaceMismatch())
0 commit comments