Closed SebastianAment closed 2 years ago
While thinking about the sizes in matmul
, I noticed that the docs of BlockLinearOperator
imply that the blocks should be square. If we don't want to support rectangular blocks, I'd also add a quick check in the constructor of BlockLinearOperator
to make sure the blocks are indeed square.
This PR makes three small changes:
1) It introduces a size check in
BlockDiagLinearOperator
'smatmul
. This takes care of an edge case where the blocks of two block diagonal operators have different sizes, even though the operators have the same size. E.g. One operator has twice as many blocks of half the size as the other.2) It introduces a
deepcopy
in the generic__add__
method for addition with aZeroLinearOperator
, see the discussion here.3) It makes edits to the docs, which referenced the old
lazy
submodule, instead of the newoperators
.