code: def dlogpdf_dlink(self, link_f, y, Y_metadata=None):
          
          s2_i = 1.0/self.variance
          grad = s2_i*y - s2_i*link_f
          return grad
docs: Gradient of the pdf at y, given link(f) w.r.t link(f)
  
          .. math::
              \\frac{d \\ln p(y_{i}|\\lambda(f_{i}))}{d\\lambda(f)} = \\frac{1}{\\sigma^{2}}(y_{i} - \\lambda(f_{i}))
  
          :param link_f: latent variables link(f)
          :type link_f: Nx1 array
          :param y: data
          :type y: Nx1 array
          :param Y_metadata: Y_metadata not used in gaussian
          :returns: gradient of log likelihood evaluated at points link(f)
          :rtype: Nx1 array