I need to (computationally) solve a system of equations, for the purposes of an interior point method, of the form
$$ \left[\begin{array}{cc}B & A^T \\ A & 0\end{array}\right] \left[\begin{array}{c}x\\y\end{array}\right] = \left[\begin{array}{c}c_x \\ c_y\end{array}\right] $$
where $A$ and $B$ are large and sparse, and $B$ is Hermitian positive definite. By assumption, $A$ has full row rank. My current approach goes:
- Compute the Cholesky factor $B = L L^T$.
- Solve $L W = A^{T}$ for $W$, producing $W=L^{-1}A^T$ so that $W^T W = A L^{-T} L^{-1} A^T$
- Compute the Cholesky factor of $W^T W$
- Use this to solve $A L^{-T} L^{-1} A^T y = A L^{-T} L^{-1} c_x - c_y$
- Recover $x$ from $L L^T x = c_x - A^T y$
The problem that I'm running into is that $W$, in step 2, may be dense and its sparsity structure indeterminate based on the sparsity of $A$ and $B$. The sparsity of $W$ is dependent on the actual numerical values of $A$ and $L$, which is hard to optimize for.
Is there a way to avoid materializing $W$? I'd like to avoid having to invert $A$, as while $A$ itself usually has a sparse structure, its inverse is not guaranteed to be sparse.