commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luc Maisonobe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-596) GraggBulirschStoerIntegrator output too low
Date Sun, 26 Jun 2011 14:58:47 GMT

    [ https://issues.apache.org/jira/browse/MATH-596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055094#comment-13055094
] 

Luc Maisonobe commented on MATH-596:
------------------------------------

Yes, I think the optional dense output feature is the only problem here.
When the step handler doesn't requirs dense output and there are no events, a dummy step interpolator
is used. This is due to the following statements in the integrator:
{code}
if (denseOutput) {
  interpolator = new GraggBulirschStoerStepInterpolator(y, yDot0,
                                                        y1, yDot1,
                                                        yMidDots, forward);
} else {
  interpolator = new DummyStepInterpolator(y, yDot1, forward);
}
{code}

So in your case, you get a DummyStepInterpolator which simply copies some intermediate states
computed earlier.

I will open a separate issue for removing optional dense output, solve the new issue and solve
this one afterwards.


> GraggBulirschStoerIntegrator output too low
> -------------------------------------------
>
>                 Key: MATH-596
>                 URL: https://issues.apache.org/jira/browse/MATH-596
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Dennis Hendriks
>         Attachments: MyTest.java, MyTest2.java
>
>
> I have the following problem:
> x(3.0) = 4.0
> x' = 3.0
> t0 = 3.0
> tend = 10.0
> ODE solving using the GraggBulirschStoerIntegrator(1e-10, 100.0, 1e-7, 1e-7) integrator,
gives me:
> t, x, x'
> 3.0, 4.0, 3.0
> 3.105840007284127, 4.0, 3.0
> 3.829973288493221, 4.31752002185238, 3.0
> 8.784328663271161, 6.489919865479664, 3.0
> 10.0, 21.35298598981348, 3.0
> Clearly, the value of x at time 3.10... should be something like 4.30... and not 4.0.
Also, the value of x at time 10.0 should be around 25.0 and not be 21.35...
> If we switch to the DormandPrince853Integrator(1e-10, 100.0, 1e-7, 1e-7), it gives me:
> 3.0, 4.0, 3.0
> 3.079933916721644, 4.239801750164932, 3.0
> 3.8792730839380845, 6.637819251814253, 3.0
> 10.0, 24.999999999999996, 3.0
> as expected.
> This seems to me like the GraggBulirschStoerIntegrator has a bug...

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message