Consider the following saddle point problem originating from an interior-point method algorithm: $$ \begin{bmatrix}\mathbf{H} & \mathbf{A}^{T}\\ \mathbf{A} & \mathbf{0} \end{bmatrix}\begin{bmatrix}\mathbf{x}\\ \mathbf{y} \end{bmatrix}=\begin{bmatrix}\mathbf{f}\\ \mathbf{g} \end{bmatrix},$$ where $\mathbf{H}$ is a symmetric positive semi-definite matrix, and $\mathbf{A}$ is a full rank matrix.
How can the solution of this linear system take advantage of the fact that $\mathbf{H}$ is block diagonal: $$\mathbf{H}=\begin{bmatrix}\mathbf{H}_{1} & \mathbf{0} & \mathbf{0}\\ \mathbf{0} & \mathbf{H}_{2} & \mathbf{0}\\ \mathbf{0} & \mathbf{0} & \mathbf{H}_{3} \end{bmatrix}?$$ If each block $\mathbf{H}_{i}$ were positive definite, than the Schur complement approach could be used, where $\mathbf{H}^{-1}$ could then be efficiently computed by inverting each block matrix $\mathbf{H}_{i}$.
The problem is small to medium scale (i.e., 50 to 400 unknowns). I am not sure if a direct sparse solver would be suitable for such problem sizes. Currently I use the null-space approach where a linear system involving the reduced Hessian $\mathbf{Z}^{T}\mathbf{H}\mathbf{Z}$, where $\mathbf{A}\mathbf{Z}=\mathbf{0}$.