Iterative methods and preconditioning for large and sparse linear systems with applications. ([2018])