I wrote a very nice Matlab code that solves Laplace's equation on a 3-D complicated geometry. The solver is implicit, so my systems of equations is reduced to a matrix equation. I use a sparse-enabled conjugate gradient iterative solver to solve the system. The problem is that I am running out of memory when I have a large geometry. I want to conserve memory by using sinlge-precision values. It seems rather silly to use double precision for such a simple linear PDE, but Matlab's sparse matrix library doesn't seem to support single-precision (seems totally arbitrary to me). At any rate, I was wondering if there was another sparse matrix solver, written in a language other than Matlab, that is jingle-precision compatible and fairly easy to wrap into a Matlab script?