code: def dlogpdf_link_dvar(self, link_f, y, Y_metadata=None):
          
          e = y - link_f
          s_4 = 1.0/(self.variance**2)
          dlik_dsigma = -0.5/self.variance + 0.5*s_4*np.square(e)
          return dlik_dsigma
docs: Gradient of the log-likelihood function at y given link(f), w.r.t variance parameter (noise_variance)
  
          .. math::
              \\frac{d \\ln p(y_{i}|\\lambda(f_{i}))}{d\\sigma^{2}} = -\\frac{N}{2\\sigma^{2}} + \\frac{(y_{i} - \\lambda(f_{i}))^{2}}{2\\sigma^{4}}
  
          :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: derivative of log likelihood evaluated at points link(f) w.r.t variance parameter
          :rtype: float