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:24 UTC

[44/50] [abbrv] [math] Fixed field-based Dormand-Prince 8(5, 3) integrator constants.

Fixed field-based Dormand-Prince 8(5,3) integrator constants.

Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/d9bb79e2
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/d9bb79e2
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/d9bb79e2

Branch: refs/heads/MATH_3_X
Commit: d9bb79e268b3eab012590c5c67c38e87837bce63
Parents: 84b95dc
Author: Luc Maisonobe <lu...@apache.org>
Authored: Wed Dec 9 13:29:24 2015 +0100
Committer: Luc Maisonobe <lu...@apache.org>
Committed: Wed Dec 9 13:29:24 2015 +0100

----------------------------------------------------------------------
 .../DormandPrince853FieldIntegrator.java        | 54 ++++++++++----------
 1 file changed, 27 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/d9bb79e2/src/main/java/org/apache/commons/math3/ode/nonstiff/DormandPrince853FieldIntegrator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math3/ode/nonstiff/DormandPrince853FieldIntegrator.java b/src/main/java/org/apache/commons/math3/ode/nonstiff/DormandPrince853FieldIntegrator.java
index 2c872e8..a3cdaf3 100644
--- a/src/main/java/org/apache/commons/math3/ode/nonstiff/DormandPrince853FieldIntegrator.java
+++ b/src/main/java/org/apache/commons/math3/ode/nonstiff/DormandPrince853FieldIntegrator.java
@@ -230,7 +230,7 @@ public class DormandPrince853FieldIntegrator<T extends RealFieldElement<T>>
         a[ 0][ 0] = sqrt6.add(-6).divide(-67.5);
 
         a[ 1][ 0] = sqrt6.add(-6).divide(-180);
-        a[ 1][ 1] = sqrt6.add(-6).divide( -40);
+        a[ 1][ 1] = sqrt6.add(-6).divide( -60);
 
         a[ 2][ 0] = sqrt6.add(-6).divide(-120);
         a[ 2][ 1] = getField().getZero();
@@ -259,7 +259,7 @@ public class DormandPrince853FieldIntegrator<T extends RealFieldElement<T>>
         a[ 6][ 2] = getField().getZero();
         a[ 6][ 3] = sqrt6.multiply( 4784).add(51544).divide(371293);
         a[ 6][ 4] = sqrt6.multiply(-4784).add(51544).divide(371293);
-        a[ 6][ 5] = fraction(-5688, 371283);
+        a[ 6][ 5] = fraction(-5688, 371293);
         a[ 6][ 6] = fraction( 3072, 371293);
 
         a[ 7][ 0] = fraction(58656157643.0, 93983540625.0);
@@ -320,47 +320,47 @@ public class DormandPrince853FieldIntegrator<T extends RealFieldElement<T>>
         a[11][11] = fraction(137909.0, 3084480.0);
 
         // the following stages are for interpolation only
-        a[12][ 0] = fraction(      13481885573.0, 240030000000.0)     .subtract(a[11][0]);
+        a[12][ 0] = fraction(      13481885573.0, 240030000000.0);
         a[12][ 1] = getField().getZero();
         a[12][ 2] = getField().getZero();
         a[12][ 3] = getField().getZero();
         a[12][ 4] = getField().getZero();
-        a[12][ 5] = getField().getZero()                              .subtract(a[11][5]);
-        a[12][ 6] = fraction(     139418837528.0, 549975234375.0)     .subtract(a[11][6]);
-        a[12][ 7] = fraction(  -11108320068443.0, 45111937500000.0)   .subtract(a[11][7]);
-        a[12][ 8] = fraction(-1769651421925959.0, 14249385146080000.0).subtract(a[11][8]);
-        a[12][ 9] = fraction(         57799439.0, 377055000.0)        .subtract(a[11][9]);
-        a[12][10] = fraction(     793322643029.0, 96734250000000.0)   .subtract(a[11][10]);
-        a[12][11] = fraction(       1458939311.0, 192780000000.0)     .subtract(a[11][11]);
+        a[12][ 5] = getField().getZero();
+        a[12][ 6] = fraction(     139418837528.0, 549975234375.0);
+        a[12][ 7] = fraction(  -11108320068443.0, 45111937500000.0);
+        a[12][ 8] = fraction(-1769651421925959.0, 14249385146080000.0);
+        a[12][ 9] = fraction(         57799439.0, 377055000.0);
+        a[12][10] = fraction(     793322643029.0, 96734250000000.0);
+        a[12][11] = fraction(       1458939311.0, 192780000000.0);
         a[12][12]  = fraction(            -4149.0, 500000.0);
 
-        a[13][ 0] = fraction(    1595561272731.0, 50120273500000.0)   .subtract(a[11][0]);
+        a[13][ 0] = fraction(    1595561272731.0, 50120273500000.0);
         a[13][ 1] = getField().getZero();
         a[13][ 2] = getField().getZero();
         a[13][ 3] = getField().getZero();
         a[13][ 4] = getField().getZero();
-        a[13][ 5] = fraction(     975183916491.0, 34457688031250.0)   .subtract(a[11][5]);
-        a[13][ 6] = fraction(   38492013932672.0, 718912673015625.0)  .subtract(a[11][6]);
-        a[13][ 7] = fraction(-1114881286517557.0, 20298710767500000.0).subtract(a[11][7]);
-        a[13][ 8] = getField().getZero()                              .subtract(a[11][8]);
-        a[13][ 9] = getField().getZero()                              .subtract(a[11][9]);
-        a[13][10] = fraction(   -2538710946863.0, 23431227861250000.0).subtract(a[11][10]);
-        a[13][11] = fraction(       8824659001.0, 23066716781250.0)   .subtract(a[11][11]);
+        a[13][ 5] = fraction(     975183916491.0, 34457688031250.0);
+        a[13][ 6] = fraction(   38492013932672.0, 718912673015625.0);
+        a[13][ 7] = fraction(-1114881286517557.0, 20298710767500000.0);
+        a[13][ 8] = getField().getZero();
+        a[13][ 9] = getField().getZero();
+        a[13][10] = fraction(   -2538710946863.0, 23431227861250000.0);
+        a[13][11] = fraction(       8824659001.0, 23066716781250.0);
         a[13][12] = fraction(     -11518334563.0, 33831184612500.0);
         a[13][13] = fraction(       1912306948.0, 13532473845.0);
 
-        a[14][ 0] = fraction(     -13613986967.0, 31741908048.0)      .subtract(a[11][0]);
+        a[14][ 0] = fraction(     -13613986967.0, 31741908048.0);
         a[14][ 1] = getField().getZero();
         a[14][ 2] = getField().getZero();
         a[14][ 3] = getField().getZero();
         a[14][ 4] = getField().getZero();
-        a[14][ 5] = fraction(      -4755612631.0, 1012344804.0)       .subtract(a[11][5]);
-        a[14][ 6] = fraction(   42939257944576.0, 5588559685701.0)    .subtract(a[11][6]);
-        a[14][ 7] = fraction(   77881972900277.0, 19140370552944.0)   .subtract(a[11][7]);
-        a[14][ 8] = fraction(   22719829234375.0, 63689648654052.0)   .subtract(a[11][8]);
-        a[14][ 9] = getField().getZero()                              .subtract(a[11][9]);
-        a[14][10] = getField().getZero()                              .subtract(a[11][10]);
-        a[14][11] = getField().getZero()                              .subtract(a[11][11]);
+        a[14][ 5] = fraction(      -4755612631.0, 1012344804.0);
+        a[14][ 6] = fraction(   42939257944576.0, 5588559685701.0);
+        a[14][ 7] = fraction(   77881972900277.0, 19140370552944.0);
+        a[14][ 8] = fraction(   22719829234375.0, 63689648654052.0);
+        a[14][ 9] = getField().getZero();
+        a[14][10] = getField().getZero();
+        a[14][11] = getField().getZero();
         a[14][12] = fraction(      -1199007803.0, 857031517296.0);
         a[14][13] = fraction(     157882067000.0, 53564469831.0);
         a[14][14] = fraction(    -290468882375.0, 31741908048.0);
@@ -373,7 +373,7 @@ public class DormandPrince853FieldIntegrator<T extends RealFieldElement<T>>
     @Override
     public T[] getB() {
         final T[] b = MathArrays.buildArray(getField(), 16);
-        b[ 0] = fraction(104257, 1929240);
+        b[ 0] = fraction(104257, 1920240);
         b[ 1] = getField().getZero();
         b[ 2] = getField().getZero();
         b[ 3] = getField().getZero();