commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Hendriks (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MATH-596) GraggBulirschStoerIntegrator output too low
Date Thu, 23 Jun 2011 09:08:47 GMT

     [ https://issues.apache.org/jira/browse/MATH-596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dennis Hendriks updated MATH-596:
---------------------------------

    Attachment: MyTest2.java

New test, with output for both dense and non-dense step handler.

Note how for the non-dense step handler, the derivatives are computed for 10.0, and the result
is 24.999999999999996. It then continues to call the step handler for time 10.0 with value
21.35298598981348, which is the value calculated for time 8.784328663271161, from before the
previous time the step handler was called. It seems the compute derivative method is called
for the appropriate times, only the output is not correctly used to set the interpolator values.

If you think this is indeed *only* caused by the optionality of dense output, or it is no
longer relevant if non-dense output is removed, then removing the non-dense option would indeed
fix this issue.

It would probably be better to create a separate issue for the removal of non-dense output.
I have no objections to the removal of non-dense output.


> 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