You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2015/12/09 17:17:30 UTC
[50/50] [abbrv] [math] Notify availability of field-based ode.
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/MATH_3_X
Commit: 10c271f2cb800ceb4d649cf988f870720841c579
Parents: 4edbcc7
Author: Luc Maisonobe <lu...@apache.org>
Authored: Wed Dec 9 17:00:03 2015 +0100
Committer: Luc Maisonobe <lu...@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>