public override double Function(double[] x, double[] y) { double k = 1.0; int n = 2 * order + 1; for (int p = 0; p < x.Length; p++) k *= Special.BSpline(n, x[p] - y[p]); return k; }