assertEquals(-Math.sin(1.0), VECTOR_PARAMS.evaluate(2.0, parms), 0.0);
final Function1D<Double, Double> func = VECTOR_PARAMS.asFunctionOfArguments(parms);
assertEquals(1.0, func.evaluate(-Math.PI), 0.0);
final ScalarFirstOrderDifferentiator diff = new ScalarFirstOrderDifferentiator();
final Function1D<Double, Double> grad = diff.differentiate(func);
assertEquals(-0.5, grad.evaluate(0.0), 1e-8);
final Function1D<DoubleMatrix1D, Double> params_func = VECTOR_PARAMS.asFunctionOfParameters(1.0);
final ScalarFieldFirstOrderDifferentiator vdiff = new ScalarFieldFirstOrderDifferentiator();
final Function1D<DoubleMatrix1D, DoubleMatrix1D> vgrad = vdiff.differentiate(params_func);