Diagonal Linear Bijector¤
distreqx.bijectors.DiagLinear(distreqx.bijectors.AbstractLinearBijector)
¤
Linear bijector with a diagonal weight matrix.
The bijector is defined as \(f(x) = Ax\) where \(A\) is a \(D \times D\) diagonal matrix. Additional dimensions, if any, index batches.
The Jacobian determinant is trivially computed by taking the product of the diagonal entries in \(A\). The inverse transformation \(x = f^{-1}(y)\) is computed element-wise.
The bijector is invertible if and only if the diagonal entries of A are all
non-zero. It is the responsibility of the user to make sure that this is the
case; the class will make no attempt to verify that the bijector is
invertible.
__init__(diag: Array)
¤
Initializes the bijector.
Arguments:
diag: a vector of length D, the diagonal of matrixA.