Useful features
thibmonsel opened this issue · comments
Thibault Monsel commented
It could probably useful to have some diagonal and triangular block matrices operators lineax.DiagonalBlockMatricesLinearOperator
and lineax.TriangularlBlockMatricesLinearOperator
?
Patrick Kidger commented
Our thinking on this front is to introduce a lineax.BlockLinearOperator
, which you might call as e.g.
op1 = lineax.MatrixLinearOperator(...)
op2 = lineax.MatrixLinearOperator(...)
op = lineax.BlockLinearOperator([[op1, 0], [0, op2]])
which in the above case is diagonal. It uses nested linear operators to represent the nonzero parts and uses literal 0
s to represent the zero parts of the overall operator.
Right now this is on the to-do list, see #4.