public override double Function(double[] x, double[] y)
{
// Optimization in case x and y are
// exactly the same object reference.
if (x == y)
return 0.0;
double norm = 0.0;
for (int i = 0; i < x.Length; i++)
{
double d = x[i] - y[i];
norm += d * d;
}
return -System.Math.Pow(norm, degree);
}