code: def dlogpdf_link_dvar(self, inv_link_f, y, Y_metadata=None):
          
          e = y - inv_link_f
          e2 = np.square(e)
          dlogpdf_dvar = self.v*(e2 - self.sigma2)/(2*self.sigma2*(self.sigma2*self.v + e2))
          return dlogpdf_dvar
docs: Gradient of the log-likelihood function at y given f, w.r.t variance parameter (t_noise)
  
          .. math::
              \\frac{d \\ln p(y_{i}|\lambda(f_{i}))}{d\\sigma^{2}} = \\frac{v((y_{i} - \lambda(f_{i}))^{2} - \\sigma^{2})}{2\\sigma^{2}(\\sigma^{2}v + (y_{i} - \lambda(f_{i}))^{2})}
  
          :param inv_link_f: latent variables link(f)
          :type inv_link_f: Nx1 array
          :param y: data
          :type y: Nx1 array
          :param Y_metadata: Y_metadata which is not used in student t distribution
          :returns: derivative of likelihood evaluated at points f w.r.t variance parameter
          :rtype: float