public void MahalanobisTest5()
{
double[] x, y;
double expected, actual;
x = new double[] { 2, 4, 1 };
y = new double[] { 0, 0, 0 };
expected = Distance.Euclidean(x, y);
actual = Distance.Mahalanobis(x, y, new SingularValueDecomposition(Matrix.Identity(3)));
Assert.AreEqual(expected, actual);
x = new double[] { 0.1, 0.12, -1 };
y = new double[] { 195, 0, 2912 };
expected = Distance.Euclidean(x, y);
actual = Distance.Mahalanobis(x, y, new SingularValueDecomposition(Matrix.Identity(3)));
Assert.AreEqual(expected, actual);
x = new double[] { -2, -4, -1 };
y = new double[] { -2, -4, -1 };
expected = Distance.Euclidean(x, y);
actual = Distance.Mahalanobis(x, y, new SingularValueDecomposition(Matrix.Identity(3)));
Assert.AreEqual(expected, actual);
x = new double[] { 2, 4, 1 };
y = new double[] { 0, -7.2, 4.6 };
expected = Distance.Euclidean(x, y);
actual = Distance.Mahalanobis(x, y, new SingularValueDecomposition(Matrix.Identity(3)));
Assert.AreEqual(expected, actual);
x = new double[] { -2, 4, 1 };
y = new double[] { 0, -0.1, 4.2 };
expected = Distance.Euclidean(x, y);
actual = Distance.Mahalanobis(x, y, new SingularValueDecomposition(Matrix.Identity(3)));
Assert.AreEqual(expected, actual);
}