Skip to content

Diagonal Linear Bijector¤

distreqx.bijectors.diag_linear.DiagLinear (AbstractLinearBijector) ¤

Linear bijector with a diagonal weight matrix.

The bijector is defined as f(x) = Ax where A is a DxD 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__(self, diag: Array) ¤

Initializes the bijector.

Arguments:

  • diag: a vector of length D, the diagonal of matrix A.