final double[] first = firstDerivativeCalculator(intervals, slopes, initialFirst); final double[][] coefs = _solver.solve(yValuesSrt, intervals, slopes, first);
final double[] first = firstDerivativeCalculator(intervals, slopes, initialFirst);
ArgChecker.isTrue(result.getOrder() == 4, "Primary interpolant is not cubic"); final double[] initialFirst = _function.differentiate(result, xValues).rowArray(0); firstWithSensitivity[0] = DoubleArray.copyOf(firstDerivativeCalculator(intervals, slopes, initialFirst)); final double[] initialFirstUp = _function.differentiate(_method.interpolate(xValues, yValuesUp), xValues).rowArray(0); final double[] initialFirstDw = _function.differentiate(_method.interpolate(xValues, yValuesDw), xValues).rowArray(0); final double[] firstUp = firstDerivativeCalculator(intervals, slopesUp, initialFirstUp); final double[] firstDw = firstDerivativeCalculator(intervals, slopesDw, initialFirstDw); for (int j = 0; j < nDataPts; ++j) { tmp[j][i - nExtra] = 0.5 * (firstUp[j] - firstDw[j]) / den;