code: def rsdl_r(self, AX, Y):
          
  
          # Avoid calling cnst_c() more than once in case it is expensive
          # (e.g. due to allocation of a large block of memory)
          if not hasattr(self, '_cnst_c'):
              self._cnst_c = self.cnst_c()
          return AX + self.cnst_B(Y) - self._cnst_c
docs: Compute primal residual vector.
  
          Overriding this method is required if methods :meth:`cnst_A`,
          :meth:`cnst_AT`, :meth:`cnst_B`, and :meth:`cnst_c` are not
          overridden.