Some ostensibly functional conjugate gradient code, also working on getting the preconditioner working (maybe getting a matrix lib kicked off?)