code: def rsdl_r(self, AX, Y):
          
  
          if not hasattr(self, '_cnst_c0'):
              self._cnst_c0 = self.cnst_c0()
          if not hasattr(self, '_cnst_c1'):
              self._cnst_c1 = self.cnst_c1()
          return AX - self.block_cat(self.var_y0() + self._cnst_c0,
                                     self.var_y1() + self._cnst_c1)
docs: Compute primal residual vector.
  
          Overriding this method is required if methods :meth:`cnst_A`,
          :meth:`cnst_AT`, :meth:`cnst_c0` and :meth:`cnst_c1` are not
          overridden.