Added a left-preconditioned version