# Resolve Ax=b using preconditionner for the conjugate gradient

I would like to resolve the equation $$\left[ \begin{array}{ c c } A & B\\ B' & 0 \end{array} \right] \left[ \begin{array}{ c} x \\ y \end{array} \right] = \left[ \begin{array}{ c} b \\ 0 \end{array} \right]$$ Where $A$ is Symmetric Positive Definite.

I tried with a conjugate gradient method and it works for a very small number of data. It diverges very easily if I try to increase the size of my matrix. So I was thinking about using a preconditionner, for example the simplest Jacobi preconditionner $C(A) = diag(A)$. But $C$ contains $0$ on the diagonal therefore it is singular. Is anyone has an idea how to resolve this equation ?

-
Conjugate gradient (preconditioned or not) is not likely to converge at the coefficient matrix is indefinite, even if $A$ is spd. Try MINRES if the coefficient matrix is not too badly conditioned. –  Daryl Aug 7 '12 at 8:01
Why don't you split equations for $x$ and for $y$? –  Konrad Sakowski Aug 7 '12 at 8:06
@KonradSakowski you mean that I should resolve first $B'x=0$ and after $Ax+By=b$ ? –  Seltymar Aug 7 '12 at 8:15
@Seltymar Yes. But I realized that probably the reason is your B is not square. –  Konrad Sakowski Aug 7 '12 at 8:26
@KonradSakowski Yes, B is not square so I will have too many unknown for the number of equations. –  Seltymar Aug 7 '12 at 8:38