code: def pdf_link(self, link_f, y, Y_metadata=None):
          
          #Assumes no covariance, exp, sum, log for numerical stability
          return np.exp(np.sum(np.log(stats.norm.pdf(y, link_f, np.sqrt(self.variance)))))
docs: Likelihood function given link(f)
  
          .. math::
              \\ln p(y_{i}|\\lambda(f_{i})) = -\\frac{N \\ln 2\\pi}{2} - \\frac{\\ln |K|}{2} - \\frac{(y_{i} - \\lambda(f_{i}))^{T}\\sigma^{-2}(y_{i} - \\lambda(f_{i}))}{2}
  
          :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: likelihood evaluated for this point
          :rtype: float