Accord.Statistics.Kernels.Quadratic.Distance C# (CSharp) Method

Distance() public method

Computes the squared distance in input space between two points given in feature space.
public Distance ( double x, double y ) : double
x double Vector x in feature (kernel) space.
y double Vector y in feature (kernel) space.
return double
        public override double Distance(double[] x, double[] y)
        {
            if (x == y)
                return 0.0;

            double sumx = constant, sumy = constant, sum = constant;

            for (int i = 0; i < x.Length; i++)
            {
                sumx += x[i] * x[i];
                sumy += y[i] * y[i];
                sum += x[i] * y[i];
            }

            return sumx * sumx + sumy * sumy - 2 * sum * sum;
        }

Usage Example

Example #1
0
        public void DistanceTest()
        {
            Quadratic target = new Quadratic(1);

            double[] x = new double[] { 1, 1 };
            double[] y = new double[] { 1, 1 };

            double expected = 0;
            double actual = target.Distance(x, y);
            Assert.AreEqual(expected, actual);


            x = new double[] { 0.5, 2.0 };
            y = new double[] { 1.3, -0.2 };

            expected = 31.8904;
            actual = target.Distance(x, y);

            Assert.AreEqual(expected, actual);


            target = new Quadratic(3);

            x = new double[] { 9.4, 22.1 };
            y = new double[] { -6.21, 4 };

            expected = 337265.44515681011;
            actual = target.Distance(x, y);
            Assert.AreEqual(expected, actual);
        }
All Usage Examples Of Accord.Statistics.Kernels.Quadratic::Distance