/** * Produces a {@link VectorFunction} which builds a {@link ParameterizedCurve} from the input vector * (treated as curve parameters), then samples the curve at the smaplePoints, to produce the output vector. * * @param samplePoints the points where we sample the curve * @return a {@link ParameterizedCurveVectorFunction} */ @Override public VectorFunction from(double[] samplePoints) { return new ParameterizedCurveVectorFunction(samplePoints, _pCurve); }
@Override public DoubleMatrix calculateJacobian(DoubleArray x) { Function<Double, DoubleArray> sense = _curve.getYParameterSensitivity(x); return DoubleMatrix.ofArrayObjects( getLengthOfRange(), getLengthOfDomain(), i -> sense.apply(_samplePoints[i])); }
@Override public VectorFunction from(final double[] x) { final ParameterizedCurveVectorFunction vf = new ParameterizedCurveVectorFunction(x, curve); return vf; } };