Ejemplo n.º 1
0
    def test_gaussian_from_dict(self):
        width = 2.0
        kernel = PyGaussianKernel(width)
        dict_repr = kernel.to_dict()

        x0 = -0.34
        k0 = kernel.evaluate(x0)
        kernel.from_dict(dict_repr)
        self.assertAlmostEqual(k0, kernel.evaluate(x0))
Ejemplo n.º 2
0
    def test_gaussian_kernel(self):

        width = 2.0
        kernel = PyGaussianKernel(width)

        # Confirm that the integral is 1
        w = np.linspace(-10 * width, 10 * width, 20000).tolist()

        values = [kernel.evaluate(x) for x in w]
        integral = np.trapz(values, dx=w[1] - w[0])
        self.assertAlmostEqual(integral, 1.0, places=4)

        # Check some values
        expected = np.exp(-0.5) * 0.5 / np.sqrt(2 * np.pi)
        self.assertAlmostEqual(kernel.evaluate(width), expected)
        self.assertAlmostEqual(kernel.evaluate(-width), expected)

        # Check derivatives
        self.assertAlmostEqual(kernel.deriv(0.0), 0.0)
        self.assertAlmostEqual(kernel.deriv(width), -expected / width)