1.7 Stiffness and Implicit Methods

1.7.3 Implicit Methods for Linear Systems of ODE's

Measurable Outcome 1.9, Measurable Outcome 1.11, Measurable Outcome 1.12, Measurable Outcome 1.13

While implicit methods can allow significantly larger timesteps, they do involve more work than explicit methods. Consider the forward method applied to \(u_ t = Au\) where \(A\) is a \(d \times d\) matrix.

\[v^{n+1} = v^ n + {\Delta t}A v^ n.\] (1.122)

In this explicit algorithm, the largest computational cost is the matrix vector multiply, \(A v^ n\) which is an \(O(d^2)\) operation. Now, for backward Euler,

\[v^{n+1} = v^ n + {\Delta t}A v^{n+1}.\] (1.123)

Re-arranging to solve for \(v^{n+1}\) gives:

  \(\displaystyle v^{n+1}\) \(\displaystyle =\) \(\displaystyle v^ n + {\Delta t}A v^{n+1},\)   (1.124)
  \(\displaystyle v^{n+1} - {\Delta t}A v^{n+1}\) \(\displaystyle =\) \(\displaystyle v^ n,\)   (1.125)
  \(\displaystyle \left(I - {\Delta t}A\right)v^{n+1}\) \(\displaystyle =\) \(\displaystyle v^ n,\)   (1.126)

Thus, to find \(v^{n+1}\) requires the solution of a \(d \times d\) system of equations which is an \(O(d^3)\) cost. As a result, for large systems, the cost of the \(O(d^3)\) linear solution may begin to outweigh the benefits of the larger timesteps that are possible when using implicit methods.