Shampine & Reichelt (The Matlab ODE Suite) point out that the W-formulas can go “badly wrong when solving problems with solutions that exhibit very sharp changes”, especially within each time step. They propose a modified Rosenbrock Triple that advances between time steps. The Rosenbrock Triple is presented below, but re-written in a format that is scaled and conditioned.
The error estimate is given by:
For a successful step, F2 for the completed step is the same as F0 for the next step. Shampine & Reichelt refer to it the “First Same As Last” formula, or FSAL.
The implementation of the Rosenbrock Triple is fairly straight-forward, as is obvious from the one-step formulation above. The matrix inversion in the form of LU decomposition is performed once, and the ki’s are calculated by LU back substitutions.
[…] Rosenbrock Triple was employed to solve the above equations. A plot of y2 vs y1 is shown […]
[…] The initial conditions of Hairer, Norsett and Wanner were used with the above equations, and were solved using the Rosenbrock Triple. […]
[…] values were used to simulate the above equations, which were numerically integrated using the Rosenbrock […]