LinearOperator acting like a [batch] square diagonal matrix.

Inherits From: LinearOperator, Module

Used in the notebooks

Used in the tutorials

This operator acts like a [batch] diagonal matrix A with shape [B1,...,Bb, N, N] for some b >= 0. The first b indices index a batch member. For every batch index (i1,...,ib), A[i1,...,ib, : :] is an N x N matrix. This matrix A is not materialized, but for purposes of broadcasting this shape will be relevant.

LinearOperatorDiag is initialized with a (batch) vector.

# Create a 2 x 2 diagonal linear operator.
diag = [1., -1.]
operator = LinearOperatorDiag(diag)

==> [[1.,  0.]
     [0., -1.]