Implement preconditioning in CG