# Preconditioning symmetric Schur complement

Consider a $2\times 2$ block matrix and a linear system of equations associated to it:

$$\begin{pmatrix} - A & B \\ B^t & C \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} \phi \\ \psi \end{pmatrix}$$

Assume that $A$ and $C$ are symmetric, and symmetric positive semi-definite, and that $A$ is even invertible. One can construct the Schur complement system $(C + B^t A^{-1} B ) y = \psi - B^t A^{-1} \phi$ where $S = C + B^t A^{-1} B$ is symmetric positive-definite, by assumption.

How do you precondition such a system in general? I have noted that preconditioners for $S$ are derived from block matrix preconditioners for the original block matrix. Is there a general consensus how such a block matrix preconditioner looks like?

## 2 Answers

You won't find any black-box scalable solutions because $S$ is typically dense and thus cannot be formed. If your problem comes from a mature research area, there might be experience in the literature demonstrating how to approximate Schur complements. One common technique is to use approximate commutator arguments. There are a quite a few papers on this topic by Elman and others for incompressible flow. You can also see Benzi, Golub, and Liesen, Numerical Solution of Saddle Point Problems (2005) for a (slightly dated) broader review.

It is most often problem dependent. For example, the matrix $S$ might actually correspond to an operator that could be individually discretized.

To see an example of what one can do, you could take a look at step-20 of the deal.II tutorials (https://www.dealii.org/developer/doxygen/deal.II/step_20.html). It's not an example intended to show how to build the best performing preconditioner, but how one can think about preconditioners and stack and nest them.

(Disclaimer: I wrote step-20. I also confess that it's not my best tutorial program.)