def d2logpdf_dlink2(self, inv_link_f, y, Y_metadata=None):
e = y - inv_link_f<EOL>hess = ((self.v + <NUM_LIT:1>)*(e**<NUM_LIT:2> - self.v*self.sigma2)) / ((self.sigma2*self.v + e**<NUM_LIT:2>)**<NUM_LIT:2>)<EOL>return hess<EOL>
Hessian at y, given link(f), w.r.t link(f)
i.e. second derivative logpdf at y given link(f_i) and link(f_j)  w.r.t link(f_i) and link(f_j)
The hessian will be 0 unless i == j

.. math::
    \\frac{d^{2} \\ln p(y_{i}|\lambda(f_{i}))}{d^{2}\\lambda(f)} = \\frac{(v+1)((y_{i}-\lambda(f_{i}))^{2} - \\sigma^{2}v)}{((y_{i}-\lambda(f_{i}))^{2} + \\sigma^{2}v)^{2}}

:param inv_link_f: latent variables inv_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: Diagonal of hessian matrix (second derivative of likelihood evaluated at points f)
:rtype: Nx1 array

.. Note::
    Will return diagonal of hessian, since every where else it is 0, as the likelihood factorizes over cases
    (the distribution for y_i depends only on link(f_i) not on link(f_(j!=i))