}
}
double[][] resValues = interp.interpolate(x0Values, x1Values, yValues, x0Values, x1Values).getData();
final PiecewisePolynomialFunction2D func2D = new PiecewisePolynomialFunction2D();
double[][] resDiffX0 = func2D.differentiateX0(result, x0Values, x1Values).getData();
double[][] resDiffX1 = func2D.differentiateX1(result, x0Values, x1Values).getData();
final PiecewisePolynomialFunction1D func1D = new PiecewisePolynomialFunction1D();
double[][] expDiffX0 = func1D.differentiate(method.interpolate(x0Values, OG_ALGEBRA.getTranspose(new DoubleMatrix2D(yValues)).getData()), x0Values).getData();
double[][] expDiffX1 = func1D.differentiate(method.interpolate(x1Values, yValues), x1Values).getData();