The mixed finite-element approximation to a second-order elliptic PDE results in a saddle-point problem and leads to an indefinite linear system of equations. The mixed system of equations can be transformed into coupled symmetric positive-definite matrix equations, or a Schur complement problem, using block Gauss elimination. A preconditioned conjugate-gradient algorithm is used for solving the Schur complement problem. The mixed finite-element method is closely related to the cell-centered finite difference scheme for solving second-order elliptic problems with variable coefficients. For the cell-centered finite difference scheme, a simple multigrid algorithm can be defined and used as a preconditioner. For distorted grids, an additional [...]