Le 2014-10-09 09:51, Dennis Hendriks a écrit :
Hi all,
Hi Dennis,
From the subject of emails of the git commits (e.g. 'git commit: fixed
too long first step in fixed Runge-Kutta integrators.'), it can no
longer be seen that the commit is for a specific sub component of
commons (e.g. 'commons-math'). It can be seen from the first line of
the email itself ('Repository: commons-math'). Would it be possible to
include the repository name as prefix of the subject? Something like:
'[commons-math] git commit: ...'? That would make email client
filtering rules etc possible.
When commons-math used Subversion in the past, it could be seen from
the path. That is, the subject of the email was 'svn commit: r1554646
- in /commons/proper/math/trunk/src:
main/java/org/apache/commons/math3/geometry/
main/java/org/apache/commons/math3/geometry/euclidean/oned/
main/java/org/apache/commons/math3/geometry/euclidean/threed/
main/java/org/apache/common...' or so, and included
'/commons/proper/math' near the beginning, usually making filtering
possible.
We are aware of this problem and have already raised an issue about it
at Apache infrastructure. You can see the issue here:
<https://issues.apache.org/jira/browse/INFRA-8382>.
best regards,
Luc
Best regards,
Dennis
On 10/08/2014 02:40 PM, l...@apache.org wrote:
Repository: commons-math
Updated Branches:
refs/heads/master 86b92b4e5 -> 69273dca6
fixed too long first step in fixed Runge-Kutta integrators.
This change is similar to the one done two years ago for adaptive step
sizes integrator.
JIRA: MATH-727
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit:
http://git-wip-us.apache.org/repos/asf/commons-math/commit/69273dca
Tree:
http://git-wip-us.apache.org/repos/asf/commons-math/tree/69273dca
Diff:
http://git-wip-us.apache.org/repos/asf/commons-math/diff/69273dca
Branch: refs/heads/master
Commit: 69273dca6188a3d7d629d0d32dcf9cdb5b6c1036
Parents: 86b92b4
Author: Luc Maisonobe <l...@apache.org>
Authored: Wed Oct 8 14:25:05 2014 +0200
Committer: Luc Maisonobe <l...@apache.org>
Committed: Wed Oct 8 14:25:05 2014 +0200
----------------------------------------------------------------------
.../ode/nonstiff/RungeKuttaIntegrator.java | 14 +++++++++++-
.../ClassicalRungeKuttaIntegratorTest.java | 24
++++++++++++++++++++
2 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-math/blob/69273dca/src/main/java/org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.java
----------------------------------------------------------------------
diff --git
a/src/main/java/org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.java
b/src/main/java/org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.java
index 68bd8b0..5f7d5d8 100644
---
a/src/main/java/org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.java
+++
b/src/main/java/org/apache/commons/math3/ode/nonstiff/RungeKuttaIntegrator.java
@@ -119,7 +119,19 @@ public abstract class RungeKuttaIntegrator
extends AbstractIntegrator {
// set up integration control objects
stepStart = equations.getTime();
- stepSize = forward ? step : -step;
+ if (forward) {
+ if (stepStart + step >= t) {
+ stepSize = t - stepStart;
+ } else {
+ stepSize = step;
+ }
+ } else {
+ if (stepStart - step <= t) {
+ stepSize = t - stepStart;
+ } else {
+ stepSize = -step;
+ }
+ }
initIntegration(equations.getTime(), y0, t);
// main integration loop
http://git-wip-us.apache.org/repos/asf/commons-math/blob/69273dca/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
----------------------------------------------------------------------
diff --git
a/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
b/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
index 8136596..c527680 100644
---
a/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
+++
b/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
@@ -310,4 +310,28 @@ public class ClassicalRungeKuttaIntegratorTest {
}, 0.0, new double[] { 0.0 }, 5.0, new double[1]);
}
+ @Test
+ public void testTooLargeFirstStep() {
+
+ RungeKuttaIntegrator integ = new
ClassicalRungeKuttaIntegrator(0.5);
+ final double start = 0.0;
+ final double end = 0.001;
+ FirstOrderDifferentialEquations equations = new
FirstOrderDifferentialEquations() {
+
+ public int getDimension() {
+ return 1;
+ }
+
+ public void computeDerivatives(double t, double[] y,
double[] yDot) {
+ Assert.assertTrue(t >= FastMath.nextAfter(start,
Double.NEGATIVE_INFINITY));
+ Assert.assertTrue(t <= FastMath.nextAfter(end,
Double.POSITIVE_INFINITY));
+ yDot[0] = -100.0 * y[0];
+ }
+
+ };
+
+ integ.integrate(equations, start, new double[] { 1.0 }, end,
new double[1]);
+
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org