Interfaces describing functional objects.

Functional objects need to implement these interfaces in order to interact with numericalMethods.

For example, an object somefunction representing a real function of several real variables would implement the interfaces {@link numericalMethods.function.DoubleValued} and {@link numericalMethods.function.DoubleArrayParametrized}. A method which minimizes such a function would have the signature

minimize({@link numericalMethods.function.DoubleArrayParametrized} p, {@link numericalMethods.function.DoubleValued} v, double[] initialGuess) .

To minimize the function represented by someFunction, one would invoke

minimize(someFunction, someFunction, someInitialGuess).