renamed UnivariateDifferential into UnivariateDifferentiable

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1374628 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Luc Maisonobe 2012-08-18 18:08:57 +00:00
parent f175f37038
commit 93d37df3b3
3 changed files with 6 additions and 27 deletions

View File

@ -27,35 +27,14 @@ import org.apache.commons.math3.analysis.UnivariateFunction;
* @since 3.1 * @since 3.1
* @version $Id$ * @version $Id$
*/ */
public interface UnivariateDifferential { public interface UnivariateDifferentiable extends UnivariateFunction {
/** Get the primitive function associated with this differential.
* <p>Each {@link UnivariateDifferential} instance is tightly bound
* to an {@link UnivariateDifferentiable} instance. If the state of
* the primitive instance changes in any way that affects the
* differential computation, this binding allows this change to
* be immediately seen by the derivative instance, there is no need
* to differentiate the primitive again. The existing instance is aware
* of the primitive changes.</p>
* <p>In other words in the following code snippet, the three values
* f1, f2 and f3 should be equal (at least at machine tolerance level)</p>
* <pre>
* UnivariateDifferential derivative = differentiator.differentiate(derivable);
* derivable.someFunctionThatMutatesHeavilyTheInstance();
* double f1 = derivable.f(t);
* double f2 = derivative.getPrimitive().f(t);
* double f3 = derivative.f(new DerivativeStructure(variables, order, index, t)).getValue();
* </pre>
* @return primitive function bound to this derivative
*/
UnivariateFunction getPrimitive();
/** Simple mathematical function. /** Simple mathematical function.
* <p>{@link UnivariateDifferential} classes compute both the * <p>{@link UnivariateDifferentiable} classes compute both the
* value and the first derivative of the function.</p> * value and the first derivative of the function.</p>
* @param t function input value * @param t function input value
* @return function result * @return function result
*/ */
DerivativeStructure f(DerivativeStructure t); DerivativeStructure value(DerivativeStructure t);
} }

View File

@ -29,6 +29,6 @@ public interface UnivariateDifferentiator {
* @param function function to differentiate * @param function function to differentiate
* @return differential function * @return differential function
*/ */
UnivariateDifferential differentiate(UnivariateFunction function); UnivariateDifferentiable differentiate(UnivariateFunction function);
} }

View File

@ -22,11 +22,11 @@
* The core class is {@link DerivativeStructure} which holds the value and * The core class is {@link DerivativeStructure} which holds the value and
* the differentials of a function. This class handles some arbitrary number * the differentials of a function. This class handles some arbitrary number
* of free parameters and arbitrary derivation order. It is used both as * of free parameters and arbitrary derivation order. It is used both as
* the input and the output type for the {@link UnivariateDifferential} * the input and the output type for the {@link UnivariateDifferentiable}
* interface. Any differentiable function should implement this interface. * interface. Any differentiable function should implement this interface.
* </p> * </p>
* <p> * <p>
* The {@link UnivariateDifferentiator} interface defines a way to differentation * The {@link UnivariateDifferentiator} interface defines a way to differentiation
* a simple {@link org.apache.commons.math3.analysis.UnivariateFunction * a simple {@link org.apache.commons.math3.analysis.UnivariateFunction
* univariate function} and get a {@link differential function}. * univariate function} and get a {@link differential function}.
* </p> * </p>