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