double ProcrustesDistance(double[,] samples1, double[,] samples2)
{
double sum = 0;
// Only calculate the distance for the maximal common number of points (i.e. the Min between samples1 and samples2 number of points)
for (int i = 0; i < System.Math.Min(samples1.GetLength(0), samples2.GetLength(0)); i++)
{
sum += Norm.SquareEuclidean(samples1.GetRow(i).Subtract(samples2.GetRow(i)));
}
return System.Math.Sqrt(sum);
}