-
-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5th order Rosenbrock refactor #2448
Conversation
Okay. Working on the changes |
the interpolates still need some fixing. |
@oscardssmith what can be a possible fix here ?? merge the constant caches of rodas4 and rodas5 ?? |
@ChrisRackauckas What changes do I need to make to the interpolant parts exactly ?? What can be a possible fix here ?? |
You should merge the constant caches as well, and then you need to change the ode_interpolant code to look at the alg order rather than the cache type (and ideally also be generic over alg order) |
got it. |
@oscardssmith I think there is a slight discrepancy with respect to the size of the vectors and matrices in Rodas4 and Rodas5. When I was merging the two the sizes of vectors and matrices in case of Rodas5 was 1 more than those in rodas4. The tests failing here seem to point to the same thing. For one solver the size of the vectors and matrices is appropriate while for the other solver it's smaller by one. |
The Rodas5 matrices should all be bigger than those for Rodas4. If you get them to be the right size, however the math should all work out. |
Yeah. I think they should be brought to the same sizes in such a way that, the math that goes inside is not affected. But what values can be added ?? 1 or 0 ?? |
You accidentally had added the last stage of |
@oscardssmith What changes must be made here ? The size of the k vector is found to be 2 but it accesses the 3rd element. and I didn't find where the k is defined other than as a parameter. |
do I need to add some check for this ?? @oscardssmith |
the problem is you're mashing together the 4th and 5th order interpolants, You need to make this method check the order and do the appropriate interpolation (see the 4th order ones higher up in the file). |
@oscardssmith and just one more question (sorry for so many question, just trying to understand everything well), any algorithm has two cache, the normal one and the constant cache. How they should be handled ?? because algorithm is same, so will be the alg_order, but caches and their corresponding interpolants are different at some places |
the interpolants are the same. The difference is just whether it's using an in place or out of place computation. |
@oscardssmith anything left on this PR to be done ?? I saw only precision based errors where the tests are failing |
It's not yet ready to merge, but I think I can take it from here. There is something fascinating going wrong with |
@oscardssmith meanwhile, should I start fixing the other solvers ? |
If you want to make another PR for the 3rd order rosenbrock methods that would be great (make the PR on top of this one) |
@oscardssmith a new PR started for refactor of 3rd order rosenbrock #2463 |
@oscardssmith any fixes to make here ?? |
I think I need to talk with @ChrisRackauckas tomorrow about some of the details of this PR. |
1454af9
to
0054db2
Compare
Checklist
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
Additional context
Add any other context about the problem here.
solves a part of #233