public void ExpandReverseDistanceTest()
{
for (int i = 1; i <= 10; i++)
{
Polynomial kernel = new Polynomial(i, 0);
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);
//int expected_size = (int)System.Math.Pow(x.Length, i);
//Assert.AreEqual(phi_x.Length, phi_y.Length);
//Assert.AreEqual(phi_x.Length, expected_size);
double d = Distance.SquareEuclidean(x, y);
double phi_d = kernel.ReverseDistance(phi_x, phi_y);
Assert.AreEqual(phi_d, d, 1e-6);
Assert.IsFalse(double.IsNaN(phi_d));
Assert.IsFalse(double.IsNaN(d));
}
}