UPDATED: Added tolerance and maxiter options.  Also set drop_tol of preconditioner to 1e-1

Preconditioning now seems to work quite well, at least for the systems
I have tested.  We get about an order of magnitude speed up over the
direct methods!