Accord.Statistics.Distributions.DensityKernels.EpanechnikovKernel.Function C# (CSharp) Method

Function() public method

Computes the kernel density function.
public Function ( ) : double
return double
        public double Function(params double[] x)
        {
            double sum = 0.0;
            for (int i = 0; i < x.Length; i++)
                sum += x[i] * x[i];

            if (sum < 1)
                return constant * (1.0 - sum);
            return 0;
        }

Usage Example

        public void EpanechnikovKernelTest()
        {
            EpanechnikovKernel kernel = new EpanechnikovKernel(dimension: 1);

            Assert.AreEqual(3.0 / 4.0, kernel.Constant);

            double[] actual = new double[11];
            for (int i = 0; i < actual.Length; i++)
                actual[i] = kernel.Function((i - 5) / 10.0);

            double[] expected = 
            {
                0.5625, 0.63, 0.6825, 0.72, 0.74249999999999994,
                0.75,
                0.74249999999999994, 0.72, 0.6825, 0.63, 0.5625
            };

            for (int i = 0; i < actual.Length; i++)
                Assert.AreEqual(expected[i], actual[i]);
        }