code: def cnst_A(self, X):
          r
  
          return np.concatenate(
              [sl.Gax(X, ax)[..., np.newaxis] for ax in self.axes] +
              [X[..., np.newaxis],], axis=X.ndim)
docs: r"""Compute :math:`A \mathbf{x}` component of ADMM problem
          constraint. In this case :math:`A \mathbf{x} = (G_r^T \;\; G_c^T
          \;\; I)^T \mathbf{x}`.