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)); }
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); }