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

Reply via email to