Posterior density 
        ** not normalized **
        This is used to plot the theoretical curve for tests.
    Inputs  :
        x : 
            input value 
    Outputs : 
        p : p(x)=pi(x)*exp{-||f(x)||^2/(2)}
            posterior probability of x

def posterior(self, x):
        """
    Posterior density 
        ** not normalized **
        This is used to plot the theoretical curve for tests.
    Inputs  :
        x : 
            input value 
    Outputs : 
        p : p(x)=pi(x)*exp{-||f(x)||^2/(2)}
            posterior probability of x
        """
        x = np.reshape(np.array(x), (-1,1))

        chi_x, f_x, J_x = self._f(x)
        if chi_x :
            p = np.exp(-la.norm(f_x)**2/2.)
            if self._prior:
                m = self._m
                H = self._H
                p = p * np.exp(-np.dot((x-m).T,np.dot(H,x-m))/2.)
            return p
        else :
            return 0