Showing posts with label Steihaug amp; Wolfbrandt. Show all posts
Showing posts with label Steihaug amp; Wolfbrandt. Show all posts

Sunday, June 15, 2014

Error estimation for the W-method

Automatic step control and error estimation for the W-method can be implemented using a 3rd order estimate for the local truncation error, as presented by Steihaug and Wolfbrandt. Having determined k1, k2 and y(n+1) as noted earlier, the calculation proceeds with k3 and k4 as follows:
 New Picture
New Picture (1)

The error is given by
New Picture (2)

The error estimates as presented by Steihaug & Wolfbrandt do not have the “conditioned” formulation for the A matrix. Conditioning the above equations in a similar format as the one recommended by Shampine would once again avoid the matrix multiplication with the Jacobian for k4.

Once the error estimation is determined at each time step, an adaptive step-size control can be used to advance to the next time step.

Thursday, June 12, 2014

Wolfbrandt’s Rosenbrock method

A 2-stage Rosenbrock formulation was presented by Steihaug & Wolfbrandt (An attempt to avoid exact Jacobian and non-linear equations in the numerical solution of stiff DE’s, Mathematics of Computation, Vol. 33, No. 146, 1979, pp 521-534). In their famous paper, Shampine & Reichelt (The Matlab ODE Suite, SIAM Journal of Scientific Computing, Vol. 18, Issue 1, 1997) also introduce this “delightfully simple” 2-stage method, and refer to them as the W-formulas.

The two-step formulation is represented as follows:
 New Picture
New Picture (1)
New Picture (2)

 The constant
New Picture (3) .

The matrix A is the same as the one defined earlier. The step-by-step process (which is similar to the generalized RK methods) can be summarized thusly:

1)      Frame the matrix A
2)      Create the LU-decomposed form of matrix A
3)      Use LU-back substitution with f(yn) to calculate k1
4)      Perform the matrix multiplication J*k1
5)      Calculate k2
6)      Calculate y(n+1)

As the order of the matrices increases, the computational effort for the matrix multiplication may have an impact on the computational time. Reformulation of the above method to avoid the matrix multiplication is a common technique.