Computes the value of the penalizer (centered at x_0) at any x.

def _d_hammer_function(self, x, X_batch, r_x0, s_x0):
        """
        Computes the value of the penalizer (centered at x_0) at any x.
        """
        dx = np.atleast_2d(x)[:,None,:]-np.atleast_2d(X_batch)[None,:,:]
        nm = np.sqrt((np.square(dx)).sum(-1))
        z = (nm- r_x0)/s_x0
        h_func = norm.cdf(z)

        d = 1./(s_x0*np.sqrt(2*np.pi)*h_func)*np.exp(-np.square(z)/2)/nm
        d[h_func<1e-50] = 0.
        d = d[:,:,None]
        return d.sum(axis=1)