If one attempts to solve a (block matrix) saddle point problem such as $$\begin{bmatrix} A & -B^T \\ B & 0 \end{bmatrix} \begin{bmatrix} u \\ p \end{bmatrix} = \begin{bmatrix} f \\ 0 \end{bmatrix}$$ using a Schur complement structure, then one needs to form the inverse of the Schur complement, $S = BA^{-1}B^T$. We are assuming that $A$ is nonsingular but nothing else. It may be indefinite and nonsymmetric. Additionally, $B$ may be rectangular. Herein lies my issue. Generally, we want to avoid matrix-matrix products. And so, if we have to solve something like $CDx=b$ for invertible matrices $C$ and $D$, we might do a two step process:

  1. Solve $Cy=b$.
  2. Solve $Dx=y$.

This is done all the time when using a Krylov solver with preconditioning (if I'm off base please correct me), for example.

However, to apply $S^{-1}$ to some vector $b$, we need to solve $Sx=b$ or equivalently $BA^{-1}B^Tx=b$ also without forming matrix-matrix products. There has to be a standard way of doing this, but I have not been able to track it down or come up with one on my own, since $B$ need not be nonsingular or even square. Thank you for your suggestions.

  • $\begingroup$ Thank you for the comment. I don't think I fully understand your comment. I don't know how I would implement your suggestion. What I really want is $S^{-1}b$. As is usually the case, I will compute the action of the inverse by solving $Sx=b$. Therefore, x is unknown and $B^Tx$ cannot be computed directly (at least not in the straight forward way as a matrix-vector product). $\endgroup$ Feb 18, 2022 at 19:16
  • $\begingroup$ I misread your question, never mind $\endgroup$ Feb 18, 2022 at 19:24
  • $\begingroup$ Ah ok. Thank you for the interest in my question anyway. Your comment is helpful on some level at least since a Krylov solver such as GMRES only needs access to the action of $S$ and not its inverse on various vectors. That might be the best that can be done. $\endgroup$ Feb 18, 2022 at 19:30
  • $\begingroup$ @Chessnerd321 Are you able to supply a reference re GMRES and $S$? I too am trying to invert $S$ in order precondition a system. $\endgroup$
    – Olumide
    Dec 11, 2023 at 2:41
  • $\begingroup$ @Olumide This review paper is the best reference I could find. Depending on your application, it likely has what you need. In short, what I said is basically correct. People find a problem-dependent preconditioner for $S$ and then use GMRES since it does not need access to $S$, just it's action. $\endgroup$ Dec 11, 2023 at 12:17


You must log in to answer this question.