code: def eval_linear_approx(self, Dxy, gradY):
          r
  
          return np.sum(np.real(np.conj(Dxy) * gradY))
docs: r"""Compute term :math:`\langle \nabla f(\mathbf{y}),
          \mathbf{x} - \mathbf{y} \rangle` (in frequency domain) that is
          part of the quadratic function :math:`Q_L` used for
          backtracking.  Since this class computes the backtracking in
          the DFT, it is important to preserve the DFT scaling.