code: def evaluate(self):
          
  
          if self.opt['AccurateDFid']:
              D = self.dstep.var_y()
              X = self.xstep.var_y()
              S = self.xstep.S
              dfd = 0.5*np.linalg.norm((D.dot(X) - S))**2
              rl1 = np.sum(np.abs(X))
              return dict(DFid=dfd, RegL1=rl1, ObjFun=dfd+self.xstep.lmbda*rl1)
          else:
              return None
docs: Evaluate functional value of previous iteration