HermiteInterpolator implements UnivariateDifferentiableVectorFunction { public double[] value(double x) throws NoDataException { checkInterpolation(); final double[] value = new double[topDiagonal.get(0).length]; double valueCoeff = 1; for (int i = 0; i < topDiagonal.size(); ++i) { double[] dividedDifference = topDiagonal.get(i); for (int k = 0; k < value.length; ++k) { value[k] += dividedDifference[k] * valueCoeff; } final double deltaX = x - abscissae.get(i); valueCoeff *= deltaX; } return value; } HermiteInterpolator(); void addSamplePoint(final double x, final double[] ... value); PolynomialFunction[] getPolynomials(); double[] value(double x); DerivativeStructure[] value(final DerivativeStructure x);  }
@Test(expected=NoDataException.class) public void testEmptySample() { new HermiteInterpolator().value(0.0); }