Notify availability of field-based ode. Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/10c271f2 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/10c271f2 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/10c271f2
Branch: refs/heads/field-ode Commit: 10c271f2cb800ceb4d649cf988f870720841c579 Parents: 4edbcc7 Author: Luc Maisonobe <l...@apache.org> Authored: Wed Dec 9 17:00:03 2015 +0100 Committer: Luc Maisonobe <l...@apache.org> Committed: Wed Dec 9 17:00:03 2015 +0100 ---------------------------------------------------------------------- src/changes/changes.xml | 7 +++++++ src/site/xdoc/userguide/ode.xml | 20 ++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/10c271f2/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 1276963..e5f9246 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -51,6 +51,13 @@ If the output is not quite correct, check for invisible trailing spaces! </properties> <body> <release version="3.6" date="XXXX-XX-XX" description=""> + <action dev="luc" type="add" issue="MATH-1288"> + Added a field-based version of Ordinary Differential Equations framework. + This allows integrating ode that refer to RealField elements instead of + primitive double, hence opening the way to use DerivativeStructure to + compute partial differential without using variational equations, or to solve + ode with extended precision using Dfp. + </action> <action dev="erans" type="fix" issue="MATH-1295" due-to="Luke Lindsay"> Increased default value for number of allowed evaluations in "o.a.c.m.optim.univariate.BracketFinder". http://git-wip-us.apache.org/repos/asf/commons-math/blob/10c271f2/src/site/xdoc/userguide/ode.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/userguide/ode.xml b/src/site/xdoc/userguide/ode.xml index 0cd246b..bd2bf8e 100644 --- a/src/site/xdoc/userguide/ode.xml +++ b/src/site/xdoc/userguide/ode.xml @@ -69,11 +69,27 @@ derivatives being handled be secondary ODE (see below for an example). </p> <p> + Two parallel APIs are available. The first is devoted to solve ode for which the integration free + variable t and the state y(t) are primitive double and primitive double array respectively. Starting + with version 3.6, a second API is devoted to solve ode for which the integration free + variable t and the state y(t) are <code>RealFieldElement</code> and <code>RealFieldElement</code> + array respectively. This allow for example users to integrate ode where the computation values + are for example <code>DerivativeStructure</code> elements, hence automatically computing + partial derivatives with respect to some equations parameters without a need to set up the + variational equations. Another example is to use <code>Dfp</code> elements in order to solve + ode with extended precision. As of 3.6, the API are slightly different, mainly in the way they + handle arrays. Both API will become more similar in 4.0 and future versions as the older + primitive double API will be modified to match the newer field API. This cannot be done in + 3.6 for compatibility reasons. + </p> + <p> The user should describe his problem in his own classes which should implement the <a href="../apidocs/org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a> - interface. Then he should pass it to the integrator he prefers among all the classes that implement + interface (or <a href="../apidocs/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.html">FieldFirstOrderDifferentialEquations</a> + interface). Then he should pass it to the integrator he prefers among all the classes that implement the <a href="../apidocs/org/apache/commons/math3/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a> - interface. The following example shows how to implement the simple two-dimensional problem: + interface (or the <a href="../apidocs/org/apache/commons/math3/ode/FieldFirstOrderIntegrator.html">FieldFirstOrderIntegrator</a> + interface). The following example shows how to implement the simple two-dimensional problem using double primitives: <ul> <li>y'<sub>0</sub>(t) = ω × (c<sub>1</sub> - y<sub>1</sub>(t))</li> <li>y'<sub>1</sub>(t) = ω × (y<sub>0</sub>(t) - c<sub>0</sub>)</li>