Sparse matrix linear-equation solver, using the conjugate gradient algorithm. Note that the
technique only applies to matrices that are symmetric and positive-definite.
See http://en.wikipedia.org/wiki/Conjugate_gradient_method for details.
The conjugate gradient method can handle very large sparse matrices, where direct
methods (such as LU decomposition) are way too expensive to be useful in practice.
Such large sparse matrices arise naturally in many engineering problems, such as
in ASIC placement algorithms and when solving partial differential equations.