Preconditioners are vital for ensuring fast convergence and stable iterations in SDC. However, it does not appear that there is a universally best choice. In fact, developing preconditioners is still an active area of research. Here, we want to shed some light on various aspects of preconditioners, which can appear obscure.
In SDC, the interpretation of the preconditioner can become quite obscure when looking only at the simplified derivation of SDC as shown for instance in the pySDC paper.
Here, SDC is derived in four steps to solve the initial value problem
- Integrate both sides of the initial value problem with respect to time
- Discretize with a quadrature rule
- Form Picard iteration
- Precondition the system
Finally, one arrives at this formula for performing a sweep:
where
It becomes perfectly obvious that a lower triangular
To understand this, it makes sense to go through the original derivation of SDC from Dutt et al. We do not need to understand all the nuances, but the crucial point is that the update between sweeps is
where
In section 2.1, of the Dutt et al. paper, are the crucial steps outlining how to arrive at the equation for the error. We only present the result here:
where
The next step is to descretize the integrals with quadrature rules.
Since the residual only depends on the iteration that we already know, we do not need to solve any system but just evaluate the right hand side at the quadrature nodes.
While this is also not computationally free, evaluating this with very high accuracy is crucial to solving the equation for the error accurately, so we do this with the full (and dense) quadrature rule
Now for solving the error equation at
Now let's plug this into the update formula where we add the corrections:
We see that the
which becomes exactly the formula from the simple derivation if we move both
Following these extra steps makes clear that we are still solving an equation for the defect with the preconditioner and then correcting the solution with the computed defect, even though it becomes obscure in the final equation. Another fact becomes apparent: The accuracy of computing the corrections is limited by how well we can compute the residual, which, in turn, depends on the accuracy of the full quadrature rule.
🛠️ In construction ...
🛠️ In construction ...
🛠️ In construction ...