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 2016/01/06 14:50:45 UTC
[29/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/c246b37d
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/c246b37d
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/c246b37d
Branch: refs/heads/master
Commit: c246b37dbe38b16ded570b2280af8f21fb95618a
Parents: 11df45b
Author: Luc Maisonobe <lu...@apache.org>
Authored: Wed Jan 6 13:20:25 2016 +0100
Committer: Luc Maisonobe <lu...@apache.org>
Committed: Wed Jan 6 13:20:25 2016 +0100
----------------------------------------------------------------------
src/site/xdoc/userguide/ode.xml | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-math/blob/c246b37d/src/site/xdoc/userguide/ode.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/userguide/ode.xml b/src/site/xdoc/userguide/ode.xml
index b2fe395..3dc48bc 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/math4/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/math4/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/math4/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/math4/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>