code: def evaluate(self):
          
  
          if self.opt['AccurateDFid']:
              DX = self.reconstruct()
              S = self.xstep.S
              dfd = (np.linalg.norm(self.xstep.W * (DX - S))**2) / 2.0
              if self.xmethod == 'fista':
                  X = self.xstep.getcoef()
              else:
                  X = self.xstep.var_y1()
              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.