public void CovarianceTest()
{
double[,] matrix = new double[,]
{
{ 4.0, 2.0, 0.60 },
{ 4.2, 2.1, 0.59 },
{ 3.9, 2.0, 0.58 },
{ 4.3, 2.1, 0.62 },
{ 4.1, 2.2, 0.63 }
};
double[,] expected = new double[,]
{
{ 0.02500, 0.00750, 0.00175 },
{ 0.00750, 0.00700, 0.00135 },
{ 0.00175, 0.00135, 0.00043 },
};
double[,] actual = Measures.Covariance(matrix);
Assert.IsTrue(Matrix.IsEqual(expected, actual, 0.0001));
actual = Measures.Covariance(matrix, 0);
Assert.IsTrue(Matrix.IsEqual(expected, actual, 0.0001));
matrix = matrix.Transpose();
actual = Measures.Covariance(matrix, 1);
Assert.IsTrue(Matrix.IsEqual(expected, actual, 0.0001));
}