rewrote jacobi precondition matrix so that it could be inlined