示例#1
0
        public void ExpandReverseDistanceTest()
        {
            Linear kernel = new Linear(42);

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

            var phi_x = kernel.Transform(x);
            var phi_y = kernel.Transform(y);

            double d = Distance.SquareEuclidean(x, y);
            double phi_d = kernel.ReverseDistance(phi_x, phi_y);

            Assert.AreEqual(phi_d, d, 1e-10);
            Assert.IsFalse(double.IsNaN(phi_d));
            Assert.IsFalse(double.IsNaN(d));
        }
示例#2
0
        public void ReverseDistanceTest()
        {
            var linear = new Linear(1);

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

            double actual = linear.ReverseDistance(x, y);
            double expected = 0;

            Assert.AreEqual(expected, actual);


            linear = new Linear(0);

            x = new double[] { 0.2, 0.5 };
            y = new double[] { 0.3, -0.7 };

            actual = linear.ReverseDistance(x, y);
            expected = Accord.Math.Distance.SquareEuclidean(x, y);

            Assert.AreEqual(expected, actual);
        }