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

Distance() public method

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

            double sumx = constant;
            double sumy = constant;
            double 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];
            }

            int d = degree;

            return Math.Pow(sumx, d) + Math.Pow(sumy, d) - 2 * Math.Pow(sum, d);
        }

Usage Example

Example #1
0
        public void DistanceTest()
        {
            Polynomial target = new Polynomial(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 = 5.48;
            actual = target.Distance(x, y);

            Assert.AreEqual(expected, actual);


            target = new Polynomial(3);

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

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